渡辺哲也です。
$ ruby -v
ruby 1.9.0 (2006-08-09) [i686-linux]
にて、net/smtp.rb の cram_md5 コードが str[0] な
ことに気が付きました。
とりあえずな対応で動作の確認をしました。
------------------------------
--- lib/net/smtp.rb.~1.74.~ 2004-05-09 23:42:43.000000000 +0900
+++ lib/net/smtp.rb 2006-08-09 16:19:41.000000000 +0900
@@ -699,8 +699,10 @@
isecret = secret + "\0" * (64 - secret.size)
osecret = isecret.dup
0.upto(63) do |i|
- isecret[i] ^= 0x36
- osecret[i] ^= 0x5c
+ c = isecret[i].ord ^ 0x36
+ isecret[i] = c.chr
+ c = osecret[i].ord ^ 0x5c
+ osecret[i] = c.chr
end
tmp = Digest::MD5.digest(isecret + challenge)
tmp = Digest::MD5.hexdigest(osecret + tmp)
------------------------------
In message "[ruby-list:42645] Re: メールのSMTP認証の方法(質問)"
on 06/08/09, WATANABE Tetsuya writes:
|Net::SMTP.start(SMTP_server, 25, domain, user, password, :cram_md5) do |smtp|
|省略
|end