http: add IPv6 range support for NO_PROXY environment variable - #59950
http: add IPv6 range support for NO_PROXY environment variable#59950haramj wants to merge 2 commits into
Conversation
|
Review requested:
|
82b9bef to
397aac8
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #59950 +/- ##
=======================================
Coverage 90.19% 90.19%
=======================================
Files 771 771
Lines 264628 264646 +18
Branches 50237 50243 +6
=======================================
+ Hits 238683 238710 +27
+ Misses 16953 16925 -28
- Partials 8992 9011 +19
🚀 New features to boost your workflow:
|
|
This pull request has been marked as stale due to 90 days of inactivity. |
|
@haramj Can you please rebase, sign the first commit and force push? It's required as per updated instructions
|
e8735e8 to
e6bf6c6
Compare
Thanks! I’ve rebased the branch onto the latest main and added the required Signed-off-by line to both commits. |
|
@trivikr It looks like the failing test is unrelated to this change (parallel/test-repl-use-global failed with ERR_INSPECTOR_COMMAND in the BoringSSL shared-library job). Could someone please rerun the failed job? |
|
@jasnell Thanks for the review. I updated the implementation to use BlockList for IPv6 proxy bypass ranges and all CI checks are now passing. Could you please take another look when you have a chance? |
Signed-off-by: haramjeong <04harams77@gmail.com>
507dbbd to
09a474f
Compare
|
Hi @joyeecheung @jasnell, I've rebased the branch onto the latest upstream/main and force-pushed. The previous CI failures were due to the branch being significantly behind (580+ commits). Could you please take another look when CI passes? Thanks! |
Signed-off-by: haramjeong <04harams77@gmail.com>
This PR resolves the
// TODO(joyeecheung): support IPv6.comment ininternal/http.jsby adding comprehensive support for IPv6 address ranges to theNO_PROXYenvironment variable.Previously, the
ProxyConfigclass'sshouldUseProxymethod could only handle IPv4 address ranges. With this change, users can now specify IPv6 ranges (e.g.,::1-::100) to correctly bypass proxies for hosts within those ranges.The implementation involves:
ipv6ToBigIntto convert 128-bit IPv6 addresses intoBigInts for reliable numerical comparison.shouldUseProxylogic to check if a host is within a given IPv6 range.This update ensures the proxy bypass feature is robust and consistent with both IPv4 and IPv6 network standards.
New test cases have been added to
test/client-proxy/test-http-proxy-request-no-proxy-ipv6.mjsto verify the new functionality.Test
::1-::100) correctly bypasses the proxy.This ensures that the new feature works as expected and does not introduce regressions to existing functionality.
/cc @joyeecheung