summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-01 15:31:59 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-01 15:31:59 +0000
commitadf015d4c49b33296f2c986772f4303acf5c0c35 (patch)
tree5692b32cf4ede51575ceb44760d69b70d3b99706
parent5c8507449a678ca56f4feb8da3b46e447a4b5825 (diff)
downloadruby-adf015d4c49b33296f2c986772f4303acf5c0c35.tar.gz
ruby-adf015d4c49b33296f2c986772f4303acf5c0c35.tar.xz
ruby-adf015d4c49b33296f2c986772f4303acf5c0c35.zip
* lib/open-uri.rb (URI::Generic#find_proxy): return nil on loopback
address. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@5606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--lib/open-uri.rb9
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index df345f3c2..ca3c867c6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
-Mon Feb 2 00:01:19 2004 Tanaka Akira <akr@m17n.org>
+Mon Feb 2 00:28:54 2004 Tanaka Akira <akr@m17n.org>
+
+ * lib/open-uri.rb (URI::Generic#find_proxy): return nil on loopback
+ address.
* lib/resolv-replace.rb (BasicSocket#send): don't replace because
it has no hostname argument.
diff --git a/lib/open-uri.rb b/lib/open-uri.rb
index e601c5cf5..c6bfd7a50 100644
--- a/lib/open-uri.rb
+++ b/lib/open-uri.rb
@@ -488,6 +488,15 @@ module URI
proxy_uri = ENV[name] || ENV[name.upcase]
end
+ if proxy_uri && self.host
+ require 'socket'
+ begin
+ addr = IPSocket.getaddress(self.host)
+ proxy_uri = nil if /\A127\.|\A::1\z/ =~ addr
+ rescue SocketError
+ end
+ end
+
if proxy_uri
proxy_uri = URI.parse(proxy_uri)
unless URI::HTTP === proxy_uri