diff options
author | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-02-22 16:58:33 +0000 |
---|---|---|
committer | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-02-22 16:58:33 +0000 |
commit | 68ca73a1b1374a0bf828b060fc69186b5fb44f93 (patch) | |
tree | 8605c9fca177941cbbdcfc1b5d6444047844d58e /lib/net | |
parent | 5c05c6577e779b3991f0449964e172c44dc02c8e (diff) |
* lib/net/imap.rb (initialize): handle certs correctly. Thanks,
NABEYA Kenichi. (backported from CVS HEAD)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/net')
-rw-r--r-- | lib/net/imap.rb | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/net/imap.rb b/lib/net/imap.rb index 640f2bd566..29b6359e0e 100644 --- a/lib/net/imap.rb +++ b/lib/net/imap.rb @@ -885,15 +885,16 @@ module Net raise "SSL extension not installed" end @usessl = true - @sock = SSLSocket.new(@sock) # verify the server. - @sock.ca_file = certs if certs && FileTest::file?(certs) - @sock.ca_path = certs if certs && FileTest::directory?(certs) - @sock.verify_mode = VERIFY_PEER if verify + context = SSLContext::new() + context.ca_file = certs if certs && FileTest::file?(certs) + context.ca_path = certs if certs && FileTest::directory?(certs) + context.verify_mode = VERIFY_PEER if verify if defined?(VerifyCallbackProc) - @sock.verify_callback = VerifyCallbackProc + context.verify_callback = VerifyCallbackProc end + @sock = SSLSocket.new(@sock, context) @sock.connect # start ssl session. else @usessl = false |