diff options
Diffstat (limited to 'ext/openssl')
-rw-r--r-- | ext/openssl/lib/openssl/cipher.rb | 2 | ||||
-rw-r--r-- | ext/openssl/ossl_ssl.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/ext/openssl/lib/openssl/cipher.rb b/ext/openssl/lib/openssl/cipher.rb index 11153104ee..9f8776d6fc 100644 --- a/ext/openssl/lib/openssl/cipher.rb +++ b/ext/openssl/lib/openssl/cipher.rb @@ -20,7 +20,7 @@ module OpenSSL module Cipher - %w(AES Cast5 BF DES Idea RC2 RC4 RC5).each{|cipher| + %w(AES CAST5 BF DES IDEA RC2 RC4 RC5).each{|cipher| eval(<<-EOD) class #{cipher} < Cipher def initialize(*args) diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c index 01b44f3210..efe2eb83ab 100644 --- a/ext/openssl/ossl_ssl.c +++ b/ext/openssl/ossl_ssl.c @@ -462,7 +462,7 @@ ossl_start_ssl(VALUE self, int (*func)()) rb_io_wait_readable(fileno(fptr->f)); continue; case SSL_ERROR_SYSCALL: - rb_sys_fail(0); + if (errno) rb_sys_fail(0); default: ossl_raise(eSSLError, NULL); } @@ -567,7 +567,7 @@ ossl_ssl_write(VALUE self, VALUE str) rb_io_wait_readable(fileno(fptr->f)); continue; case SSL_ERROR_SYSCALL: - rb_sys_fail(0); + if (errno) rb_sys_fail(0); default: ossl_raise(eSSLError, "SSL_write:"); } |