summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/net/imap.rb4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 97c41063b2..130730aab3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Feb 3 12:09:08 2009 Shugo Maeda <shugo@ruby-lang.org>
+
+ * lib/net/imap.rb (hmac_md5): should use String#ord to get ascii
+ code from the one-character string.
+
Mon Feb 2 17:05:55 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* file.c (rb_find_file_ext): should not be infected from other
diff --git a/lib/net/imap.rb b/lib/net/imap.rb
index 09b5349298..d07dd42722 100644
--- a/lib/net/imap.rb
+++ b/lib/net/imap.rb
@@ -3151,8 +3151,8 @@ module Net
k_ipad = key + "\0" * (64 - key.length)
k_opad = key + "\0" * (64 - key.length)
for i in 0..63
- k_ipad[i] ^= 0x36
- k_opad[i] ^= 0x5c
+ k_ipad[i] = (k_ipad[i].ord ^ 0x36).chr
+ k_opad[i] = (k_opad[i].ord ^ 0x5c).chr
end
digest = Digest::MD5.digest(k_ipad + text)