Bug #4388

open-uriで環境変数http_proxyを使うときに認証付きのProxyが使えません

Added by あつし よしだ about 3 years ago. Updated almost 3 years ago.

[ruby-dev:43186]
Status:Rejected
Priority:Normal
Assignee:-
Category:lib
Target version:-
ruby -v:- Backport:

Description

=begin
内容はタイトルのままです。
パッチを添付しますのでよろしくお願いします。
=end

open-uri_with_http_proxy.patch Magnifier (2.99 KB) あつし よしだ, 02/10/2011 02:15 PM


Related issues

Related to ruby-trunk - Feature #6546: Net::HTTP to check for HTTP_PROXY environment setting. Closed 06/04/2012
Related to Ruby 1.8 - Bug #435: open-uri.rb 407 Proxy Authentication Required (OpenURI::H... Rejected 08/13/2008

History

#1 Updated by Akira Tanaka about 3 years ago

=begin
2011年2月10日14:15 あつし よしだ redmine@ruby-lang.org:

Bug #4388: open-uriで環境変数http_proxyを使うときに認証付きのProxyが使えません
http://redmine.ruby-lang.org/issues/show/4388

内容はタイトルのままです。

マルチユーザ環境において環境変数は他人から見られるものであり、
パスワードを入れるのに適切な場所ではないので、
この変更は受け入れられません。
--
[田中 哲][たなか あきら][Tanaka Akira]

=end

#2 Updated by あつし よしだ about 3 years ago

=begin
環境変数にパスワードを入れるかどうかは使用者の判断と責任ではないでしょうか。
不適切だと言うのであればユーザー名、パスワードのみを無視するのは挙動としておかしくないですか?
「認証があっても無くてもhttp_proxyを無視する」か「ユーザー名がはいっていた場合例外か警告を出す」としたほうが利用者の混乱が少なくなると思います。

=end

#3 Updated by Akira Tanaka about 3 years ago

=begin
2011年2月11日12:59 あつし よしだ redmine@ruby-lang.org:

チケット #4388 が更新されました。 (by あつし よしだ)

環境変数にパスワードを入れるかどうかは使用者の判断と責任ではないでしょうか。
不適切だと言うのであればユーザー名、パスワードのみを無視するのは挙動としておかしくないですか?

とくにおかしいとは思いません。
http_proxy は URI ですが、query や fragment など他にも無視するところは
たくさんあります。
--
[田中 哲][たなか あきら][Tanaka Akira]

=end

#4 Updated by Shota Fukumori about 3 years ago

=begin
#ruby-ja @ircnetでも出ていましたが、warningを出力しながらも使用するというのはどうでしょうか。
patchも書きました

2011/2/11 Tanaka Akira akr@fsij.org:

とくにおかしいとは思いません。
http_proxy は URI ですが、query や fragment など他にも無視するところは
たくさんあります。

--
Shota Fukumori a.k.a. @sora_h - http://codnote.net/

Attachment: open-uriwithhttp_proxy2.patch
=end

#5 Updated by Yukihiro Matsumoto about 3 years ago

=begin
まつもと ゆきひろです

In message "Re: Re: [Ruby 1.9-Bug#4388] open-uriで環境変数http_proxyを使うときに認証付きのProxyが使えません"
on Fri, 11 Feb 2011 20:08:51 +0900, Mitsuru Ogino ogino@verama.net writes:

|Tanaka Akira said the following on 11/02/10 17:00:
|> マルチユーザ環境において環境変数は他人から見られるものであり、
|> パスワードを入れるのに適切な場所ではないので、
|> この変更は受け入れられません。
|
|「環境変数が他人から見られる」というのは OS 依存ではないでしょうか。一部
|の OS でセキュリティが確保されていないからというのも個人としては違和感が
|あります。

「一部のOS」で危険であれば採用しない理由として十分に有効だと
思いますよ。

|いずれにせよユーザとしては環境変数 http_proxy の取扱いは一般的なコマンド
|に倣って欲しいと思うのですが。こういう意見もあるということで。

「一般的なコマンド」では環境変数にパスワードをいれる形でHTTP
プロキシを利用しているのですか。その「一般的なコマンド」の例
を教えていただけませんか?

=end

#6 Updated by Akira Tanaka about 3 years ago

=begin
2011年2月11日23:08 Mitsuru Ogino ogino@verama.net:

そういう意見もあるとは思います。なにが危険かというのをライブラリ側が決め
るかユーザが決めるかという問題でもありますが。環境変数が他のユーザに公開
される OS(BSD系?)でも、会社などではローカルユーザにはプロキシサーバの
パスワードを秘密にする必要がないところもあると思います。

危険がない状況が存在する事自体はわかっています。
でも「マルチユーザ環境」と書きましたが、
シングルユーザ環境ではまず問題ないでしょう。

しかし、open-uri.rb はそういう状況に限定して使われるものではないので、
サポートしないという方針です。

「一般的なコマンド」では環境変数にパスワードをいれる形でHTTP
プロキシを利用しているのですか。その「一般的なコマンド」の例
を教えていただけませんか?

ググった範囲で申し訳ありませんが、以下のようなコマンドが対応しているよう
です。

他のアプリケーションについては、設定ファイルに記述できることを願っています。
--
[田中 哲][たなか あきら][Tanaka Akira]

=end

#7 Updated by あつし よしだ about 3 years ago

=begin
よしだあつしです。

Rubyのポリシーとして環境変数にパスワードは書いてはいけないということはわかりました。
ただ私が問題だと思ったのはcurlやwgetでは受け入れられているものが
「何も言わずに無視される」点です。
無視するにしてもせめてwarningを出すということは無理なのでしょうか?

On Mon, 14 Feb 2011 13:00:27 +0900
Tanaka Akira akr@fsij.org wrote:

2011年2月11日23:08 Mitsuru Ogino ogino@verama.net:

そういう意見もあるとは思います。なにが危険かというのをライブラリ側が決め
るかユーザが決めるかという問題でもありますが。環境変数が他のユーザに公開
される OS(BSD系?)でも、会社などではローカルユーザにはプロキシサーバの
パスワードを秘密にする必要がないところもあると思います。

危険がない状況が存在する事自体はわかっています。
でも「マルチユーザ環境」と書きましたが、
シングルユーザ環境ではまず問題ないでしょう。

しかし、open-uri.rb はそういう状況に限定して使われるものではないので、
サポートしないという方針です。

「一般的なコマンド」では環境変数にパスワードをいれる形でHTTP
プロキシを利用しているのですか。その「一般的なコマンド」の例
を教えていただけませんか?

ググった範囲で申し訳ありませんが、以下のようなコマンドが対応しているよう
です。

他のアプリケーションについては、設定ファイルに記述できることを願っています。

[田中 哲][たなか あきら][Tanaka Akira]

--
http://github.com/yalab

よしだあつし rudeboyjet@gmail.com
http://ya-lab.org あなたのハートにinject

=end

#8 Updated by Akira Tanaka about 3 years ago

  • ruby -v changed from ruby 1.9.2p136 (2010-12-25 revision 30365) [i686-linux] to -

#9 Updated by Akira Tanaka about 3 years ago

=begin
2011年2月17日16:13 よしだあつし rudeboyjet@gmail.com:

ただ私が問題だと思ったのはcurlやwgetでは受け入れられているものが
「何も言わずに無視される」点です。
無視するにしてもせめてwarningを出すということは無理なのでしょうか?

穏やかに移行するには警告は邪魔なんじゃないですかねぇ。
--
[田中 哲][たなか あきら][Tanaka Akira]
=end

#10 Updated by あつし よしだ about 3 years ago

=begin
もう説得の材料が思いつかないのであきらめます。チケットもクローズしてください。
=end

#11 Updated by Shota Fukumori about 3 years ago

  • Status changed from Open to Rejected

=begin

=end

#12 Updated by Hiroshi Nakamura about 3 years ago

=begin
open-uri.rbのproxy auth周りのAPIがイケてない、少なくとも覚えられない、というのも関係していると思います。
汎用的に書こうとするとこんな感じ。
https://github.com/nahi/odrk-http-client/blob/master/sample/sample_open-uri.rb
one-linerで思い出しつつ書くのも至難の業でしょう。田中さんとしてはこれも意図的ですかね?

アクセス先フィルタリングと利用記録のためにproxy auth使ったりする企業もありますから、
APIが覚えられない、汎用的に書きにくい、one-linerで書けないってのは、open-uri.rbの利用シーンを
それなりに制限しそうではあります。
=end

Also available in: Atom PDF