summaryrefslogtreecommitdiff
path: root/ext/openssl/lib
diff options
context:
space:
mode:
authorgotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-06-30 18:21:39 +0000
committergotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-06-30 18:21:39 +0000
commit907911fedadd71950413f555342bcb8a18252553 (patch)
treee6d1224b20f87d8d7cae95775ecdbabf04fc9522 /ext/openssl/lib
parent8f77ea14b47ae50245e32e4f895f681a0d8aebdf (diff)
* ext/openssl/ossl_ssl.c (ossl_ssl_read): take optional second argument
to specify a string to be written. * ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#read): take optional second argument to specify a string to be written. * ext/openssl/lib/openssl/buffering.rb (OpenSSL::Buffering#gets): refine regexp for end-of-line. * ext/opnessl/lib/openssl/ssl.rb (OpenSSL::SSL::SocketForwarder#listen): fix typo. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/openssl/lib')
-rw-r--r--ext/openssl/lib/openssl/buffering.rb11
-rw-r--r--ext/openssl/lib/openssl/ssl.rb9
2 files changed, 15 insertions, 5 deletions
diff --git a/ext/openssl/lib/openssl/buffering.rb b/ext/openssl/lib/openssl/buffering.rb
index fdbd71b..6fcb143 100644
--- a/ext/openssl/lib/openssl/buffering.rb
+++ b/ext/openssl/lib/openssl/buffering.rb
@@ -54,14 +54,19 @@ module Buffering
public
- def read(size=nil)
+ def read(size=nil, buf=nil)
fill_rbuff unless defined? @rbuffer
@eof ||= nil
until @eof
break if size && size <= @rbuffer.size
fill_rbuff
end
- consume_rbuff(size)
+ ret = consume_rbuff(size) || ""
+ if buf
+ buf.replace(ret)
+ ret = buf
+ end
+ (size && ret.empty?) ? nil : ret
end
def gets(eol=$/)
@@ -164,7 +169,7 @@ module Buffering
s = ""
args.each{|arg|
s << arg.to_s
- unless /#{$/}\Z/o =~ s
+ unless /#{$/}\z/o =~ s
s << $/
end
}
diff --git a/ext/openssl/lib/openssl/ssl.rb b/ext/openssl/lib/openssl/ssl.rb
index 811a935..629109a 100644
--- a/ext/openssl/lib/openssl/ssl.rb
+++ b/ext/openssl/lib/openssl/ssl.rb
@@ -14,7 +14,8 @@
$Id$
=end
-require 'openssl/buffering'
+require "openssl"
+require "openssl/buffering"
module OpenSSL
module SSL
@@ -42,6 +43,10 @@ module OpenSSL
def closed?
to_io.closed?
end
+
+ def do_not_reverse_lookup=(flag)
+ to_io.do_not_reverse_lookup = flag
+ end
end
class SSLSocket
@@ -63,7 +68,7 @@ module OpenSSL
@svr
end
- def listen(basklog=5)
+ def listen(backlog=5)
@svr.listen(backlog)
end