From: Tadashi Kadowaki Date: 2006-04-15T12:56:37+09:00 Subject: [ruby-dev:28563] Proxy authentication patches for open-uri and rubygems 門脇と申します。 gemsを使おうとして不便を感じたので、パッチを作りました。 一つ目は、環境変数http_proxyが"http://user:password@foo.baa.org:8080"となっている 場合にうまく認証ができていない件に対するパッチです。CVSにある1.44に対する差分です。 もう一つは、rubygems-0.8.11 に対するパッチです。これで、認証付のproxyからも rubygemsが使えます。こちらは、CVSのrubygemsはソースを見た限り、次のリリースでは パッチの必要はなさそうです。 gemsには、/usr/lib/ruby/site_ruby/1.8/rubygems/open-uri.rbというファイルがあるので これも置き換える必要があります。 ---------------------------------------- *** /usr/lib/ruby/1.8/open-uri.rb.org 2006-02-20 00:17:16.000000000 +0900 --- /usr/lib/ruby/1.8/open-uri.rb 2006-04-14 19:07:03.000000000 +0900 *************** *** 233,235 **** if proxy ! proxy_uri, proxy_user, proxy_pass = proxy raise "Non-HTTP proxy URI: #{proxy_uri}" if proxy_uri.class != URI::HTTP --- 233,241 ---- if proxy ! if proxy[0].user && proxy[0].password ! proxy_uri = proxy[0] ! proxy_user = proxy[0].user ! proxy_pass = proxy[0].password ! else ! proxy_uri, proxy_user, proxy_pass = proxy ! end raise "Non-HTTP proxy URI: #{proxy_uri}" if proxy_uri.class != URI::HTTP ---------------------------------------- ---------------------------------------- *** /usr/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb 2006-04-14 17:22:19.000000000 +0900 --- /usr/lib/ruby/site_ruby/1.8/rubygems/remote_installer.rb 2006-04-14 19:14:30.000000000 +0900 *************** *** 72,74 **** proxy_uri = URI.parse(@http_proxy) ! Net::HTTP::Proxy(proxy_uri.host, proxy_uri.port).new(host, port) else --- 72,74 ---- proxy_uri = URI.parse(@http_proxy) ! Net::HTTP::Proxy(proxy_uri.host, proxy_uri.port, proxy_uri.user, proxy_uri.password).new(host, port) else ---------------------------------------- -- 門脇 正史 (Tadashi Kadowaki) tadakado@gmail