o protocol.rb: Protocol#start yields self

o  smtp.rb:  use Socket.gethostname to get localhost name
p  pop.rb:  use MD5#hexdigest


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
aamine 2000-05-17 18:39:43 +00:00
parent 35e731649d
commit 3e51a5b1b5
3 changed files with 9 additions and 16 deletions

View File

@ -337,20 +337,14 @@ Net::POP3
end
def auth( acnt, pass )
def auth( account, pass )
critical {
@socket.writeline( "APOP #{acnt} #{digest(@stamp + pass)}" )
@socket.writeline sprintf( 'APOP %s %s',
account, MD5.new(@stamp + pass).hexdigest )
check_reply_auth
}
end
def digest( str )
ret = ''
MD5.new( str ).digest.each_byte {|i| ret << sprintf('%02x', i) }
ret
end
end
end

View File

@ -15,8 +15,6 @@ require 'socket'
module Net
Version = '1.1.17'
=begin
== Net::Protocol
@ -68,7 +66,7 @@ Object
class Protocol
Version = ::Net::Version
Version = '1.1.18'
class << self
@ -165,7 +163,7 @@ Object
connect
do_start *args
@active = true
yield if iterator?
yield self if iterator?
ensure
finish if iterator?
end
@ -591,7 +589,7 @@ Object
do_write_do D_CRLF
wsize = do_write_fin
@pipe << "wrote #{wsize} bytes text" if pipeon
@pipe << "wrote #{wsize} bytes text\n" if pipeon
wsize
end

View File

@ -109,9 +109,10 @@ Net::Protocol
def do_start( helodom = nil,
user = nil, secret = nil, authtype = nil )
unless helodom then
helodom = ENV['HOSTNAME'] || ENV['HOST']
helodom = ::Socket.gethostname
unless helodom then
raise ArgumentError, "cannot get hostname"
raise ArgumentError,
"cannot get localhost name; try 'smtp.start(local_host_name)'"
end
end