Skip to content

net/http: no_proxy does not handle numeric IP addr/range #2158

@gopherbot

Description

@gopherbot

by Paul.A.Lalonde:

I live behind a gloriously huge firewall and proxy server.  All internal IP addresses,
on 10.0.0.0/8 should avoid the proxy server, as they don't get redirected inwards.

Normally, adding '10.0.0.0/8' to my no_proxy environment variable handles this.

Reading "http/transport.go:/^func useProxy" it's evident that the code only
handles names or literal numeric matches.  Instead, the code should resolve the input
address and match against any numeric proxies (including subnet masking).  It should
probably also do a name lookup on any numeric input addresses and match them against
string names in no_proxy.

What steps will reproduce the problem?
1. Proxy all your traffic  (set HTTP_PROXY to some proxy server)
    - Try to connect to any local go web server using your *external* facing IP address (not localhost).  This should timeout/503.

2. Make an exception for your local domain (set NO_PROXY to include 192.168.0.0/16, for
example, if you're behind a local router)
    - Try to connect again.  This will still fail, instead of succeeding.

Which compiler are you using (5g, 6g, 8g, gccgo)?
6g


Which operating system are you using?
Linux Ubuntu 10.10


Which revision are you using?  (hg identify)
d2b506b47343+ tip

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeSuggestedIssues that may be good for new contributors looking for work to do.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions