summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ext/openssl/lib/openssl/buffering.rb2
-rw-r--r--ext/openssl/ossl_ssl.c1
3 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 61d22fcf57..33280ba990 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sun Aug 10 10:43:05 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
+
+ * ext/openssl/lib/openssl/buffering.rb: increase BLOCK_SIZE
+ from 1k to 16k bytes. [ruby-talk:78603]
+
+ * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): enable
+ partial write to allow interruption in SSLSocket#sysread.
+
Sun Aug 10 00:34:16 2003 WATANABE Hirofumi <eban@ruby-lang.org>
* cygwin/GNUmakefile: remove unnecessary '--drive-name=$(CC)'
diff --git a/ext/openssl/lib/openssl/buffering.rb b/ext/openssl/lib/openssl/buffering.rb
index 61eb9dcc04..f07e5bc4c1 100644
--- a/ext/openssl/lib/openssl/buffering.rb
+++ b/ext/openssl/lib/openssl/buffering.rb
@@ -17,7 +17,7 @@
module Buffering
include Enumerable
attr_accessor :sync
- BLOCK_SIZE = 1024
+ BLOCK_SIZE = 1024*16
#
# for reading.
diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
index db28ed3640..3f25a077fb 100644
--- a/ext/openssl/ossl_ssl.c
+++ b/ext/openssl/ossl_ssl.c
@@ -103,6 +103,7 @@ ossl_sslctx_s_alloc(VALUE klass)
if (!ctx) {
ossl_raise(eSSLError, "SSL_CTX_new:");
}
+ SSL_CTX_set_mode(ctx, SSL_MODE_ENABLE_PARTIAL_WRITE);
SSL_CTX_set_options(ctx, SSL_OP_ALL);
return Data_Wrap_Struct(klass, 0, ossl_sslctx_free, ctx);
}