summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--lib/uri/generic.rb6
2 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a51132181b..572c5c91b5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Wed Feb 14 03:14:42 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * lib/uri/generic.rb (URI::Generic::userinfo): should support
+ empty password. [ruby-core:10290]
+
+ * lib/uri/generic.rb (URI::Generic::set_password): password can be
+ cleared by nil. [ruby-core:10290]
+
Wed Feb 14 00:30:07 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* ext/socket/socket.c (init_unixsock): path may contain NUL for
diff --git a/lib/uri/generic.rb b/lib/uri/generic.rb
index d166757fef..cae6169190 100644
--- a/lib/uri/generic.rb
+++ b/lib/uri/generic.rb
@@ -337,7 +337,7 @@ module URI
protected :set_user
def set_password(v)
- set_userinfo(@user, v)
+ @password = v
v
end
protected :set_password
@@ -356,7 +356,9 @@ module URI
private :escape_userpass
def userinfo
- if !@password
+ if @user.nil? or @user.empty?
+ nil
+ elsif @password.nil? or @password.empty?
@user
else
@user + ':' + @password