From: "vmi (Motonori IWAMURO)" Date: 2013-10-23T17:29:19+09:00 Subject: [ruby-dev:47772] [ruby-trunk - Bug #9045] URIに含まれるエンコードされたID/パスワードがデコードされない Issue #9045 has been updated by vmi (Motonori IWAMURO). 追記。 #8979 のそもそもの原因はこれだと思うのですが、あっちは rubygems の方直してるんですね……。 (こちらもgemが通らなくて調べてたのですが) 利用側でデコードするのと、提供側でデコードするのと、どちらが適切なんでしょう? ---------------------------------------- Bug #9045: URIに含まれるエンコードされたID/パスワードがデコードされない https://bugs.ruby-lang.org/issues/9045#change-42562 Author: vmi (Motonori IWAMURO) Status: Open Priority: Normal Assignee: Category: lib Target version: ruby -v: 1.9.3p448 Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN URI(プロキシ設定も含む)にID/パスワードを含めるとき、IDやパスワードに「@」や「:」等がある場合はURIエンコードする必要がありますが、uriライブラリがこれをデコードしてくれません。 そのため、認証プロキシでIDに「@」が含まれていると認証に失敗するなどの問題が生じます。 ソースを追っかけて uri/generic.rb の問題だろうというところまでは調べたのですが、user/passwordを取り扱う部分がたくさんあるので、何処でエンコード/デコードすればいいのかよくわからない状況です。 とりあえず手元ではdef user と def password に URI.decode_www_form_component を突っ込んでますが、たぶんこれでは片手落ちと思われます。 -- http://bugs.ruby-lang.org/