# 1.9 net/smtp.rb cram\_md5

**URL:** <https://www.ruby-forum.com/t/1-9-net-smtp-rb-cram-md5/103528>\
**Category:** Development\
**Created:** [May 7, 2007, 4:03pm UTC](https://www.ruby-forum.com/t/1-9-net-smtp-rb-cram-md5/103528 "2007-05-07T16:03:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![WATANABE\_Tetsuya](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/46a35a/32.png) [@WATANABE\_Tetsuya](https://www.ruby-forum.com/u/WATANABE_Tetsuya)\
**Post date:** [May 7, 2007, 4:03pm UTC](https://www.ruby-forum.com/t/1-9-net-smtp-rb-cram-md5/103528/1 "2007-05-07T16:03:13Z")

</div>

e$BEOJUE/Li$G$9!#e(B

ruby 1.9 e$B$Ne(B net/smtp.rb e$B$K$Fe(B CRAM-MD5  
e$B$N%a!\<%kAw?.$,%(%i!\<e(B  
e$B$K$J$j$^$7$?!#DL?.@h$Oe(B @nifty e$B$K$J$j$^$9!#e(B

* * *

## $ ruby -v ruby 1.9.0 (2007-05-07 patchlevel 0) [i686-linux]

e$B\<!$N%Q%C%A$G%a!\<%k$rAw$k$3$H$,$G$-$^$7$?$N$G!"$\*CN$i$;$7$^e(B  
e$B$9!#e(B

— [smtp.rb.org](http://smtp.rb.org) 2007-04-15 01:53:25.000000000 +0900  
+++ smtp.rb 2007-05-07 22:50:16.000000000 +0900  
@@ -745,7 +745,7 @@  
def auth\_cram\_md5(user, secret)  
check\_auth\_args user, secret  
res = critical {

- 

```
   check_auth_continue get_response('AUTH CRAM-MD5')

```

- 

```
   res = check_auth_continue get_response('AUTH CRAM-MD5')
   crammed = cram_md5_response(secret, res.cram_md5_challenge)
   get_response(base64_encode("#{user} #{crammed}"))
 }

```

@@ -793,7 +793,7 @@  
def cram\_secret(secret, mask)  
secret = Digest::MD5.digest(secret) if secret.size \> CRAM\_BUFSIZE  
buf = secret.ljust(CRAM\_BUFSIZE, “\0”)

- 

```
 0.upto(buf.size) do |i|

```

- 

```
 0.upto(buf.size - 1) do |i|
   buf[i] = (buf[i].ord ^ mask).chr
 end
 buf

```

@@ -943,6 +943,7 @@  
unless res.continue?  
raise res.exception\_class, res.message  
end

- 

```
 res

```

end

class Response

---

<div class="post-metadata">

**Author:** ![WATANABE\_Tetsuya](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/46a35a/32.png) [@WATANABE\_Tetsuya](https://www.ruby-forum.com/u/WATANABE_Tetsuya)\
**Post date:** [May 20, 2007, 8:39pm UTC](https://www.ruby-forum.com/t/1-9-net-smtp-rb-cram-md5/103528/2 "2007-05-20T20:39:07Z")

</div>

e$B@DLZ$G$9!#e(B

On 2007/05/07, at 23:02, WATANABE Tetsuya wrote:

> e$BEOJUE/Li$G$9!#e(B
> 
> ruby 1.9 e$B$Ne(B net/smtp.rb e$B$K$Fe(B CRAM-MD5 e$B$N%a!\<%kAw?.e(B  
> e$B$,%(%i!\<e(B  
> e$B$K$J$j$^$7$?!#DL?.@h$Oe(B @nifty e$B$K$J$j$^$9!#e(B

> e$B\<!$N%Q%C%A$G%a!\<%k$rAw$k$3$H$,$G$-$^$7$?$N$G!"$\*CN$i$;$7$^e(B  
> e$B$9!#e(B

e$B%Q%C%A$"$j$,$H$&$4$6$$$^$9!#e(B  
e$BBgJQCY$/$J$j$^$7$?$,BP1~$7$^$7$?!#e(B

---

<div class="post-metadata">

**Author:** ![WATANABE\_Tetsuya](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/46a35a/32.png) [@WATANABE\_Tetsuya](https://www.ruby-forum.com/u/WATANABE_Tetsuya)\
**Post date:** [May 21, 2007, 12:57am UTC](https://www.ruby-forum.com/t/1-9-net-smtp-rb-cram-md5/103528/3 "2007-05-21T00:57:34Z")

</div>

e$BEOJUE/Li$G$9!#e(B

e$B@DLZ$5$s!“BP1~$”$j$,$H$&$4$6$$$^$9!#e(B

smtp.rb e$B$de(B pop.rb e$B$$$D$b;H$o$;$F$b$i$C$F$$$^$9!#e(B

In message “[ruby-dev:30797] Re: 1.9 net/smtp.rb cram\_md5”  
on 07/05/21, Minero A. e$B$5$se(B writes:

|e$B@DLZ$G$9!#e(B

|e$B%Q%C%A$"$j$,$H$&$4$6$$$^$9!#e(B  
|e$BBgJQCY$/$J$j$^$7$?$,BP1~$7$^$7$?!#e(B
