diff options
| author | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-08-18 22:49:48 +0000 |
|---|---|---|
| committer | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-08-18 22:49:48 +0000 |
| commit | e986e7123643b91ece134ea47db9935670108ca2 (patch) | |
| tree | f2a04d9bf6592f11b1d81a233991d4b75b0faeaa /ext/openssl/sample | |
| parent | f713c829dfc3339b15848907fde9fdd82a8a8b5d (diff) | |
| download | ruby-e986e7123643b91ece134ea47db9935670108ca2.tar.gz ruby-e986e7123643b91ece134ea47db9935670108ca2.tar.xz ruby-e986e7123643b91ece134ea47db9935670108ca2.zip | |
* ext/openssl/ossl_ssl.c: sync_close is moved to SSLSocket as
a builtin.
* ext/openssl/lib/openssl/buffering.rb (Buffering#close): ditto.
* ext/openssl/lib/openssl/buffering.rb (Buffering#puts): should
add a return to the tails of each line.
* ext/openssl/lib/openssl/ssl.rb: new class OpenSSL::SSL::SSLServer.
* ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): use sync_close.
* ext/openssl/sample/echo_svr.rb: use SSLServer.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/openssl/sample')
| -rw-r--r-- | ext/openssl/sample/echo_cli.rb | 5 | ||||
| -rw-r--r-- | ext/openssl/sample/echo_svr.rb | 12 |
2 files changed, 8 insertions, 9 deletions
diff --git a/ext/openssl/sample/echo_cli.rb b/ext/openssl/sample/echo_cli.rb index 87dacaf54..29b356a7a 100644 --- a/ext/openssl/sample/echo_cli.rb +++ b/ext/openssl/sample/echo_cli.rb @@ -26,11 +26,12 @@ end s = TCPSocket.new(host, port) ssl = OpenSSL::SSL::SSLSocket.new(s, ctx) -ssl.connect +ssl.connect # start SSL session +ssl.sync_close = true # if true the underlying socket will be + # closed in SSLSocket#close. (default: false) while line = $stdin.gets ssl.write line print ssl.gets end ssl.close -s.close diff --git a/ext/openssl/sample/echo_svr.rb b/ext/openssl/sample/echo_svr.rb index e35ad12a1..be8e10fa2 100644 --- a/ext/openssl/sample/echo_svr.rb +++ b/ext/openssl/sample/echo_svr.rb @@ -51,14 +51,12 @@ else $stderr.puts "!!! WARNING: PEER CERTIFICATE WON'T BE VERIFIED !!!" end -svr = TCPServer.new(port) +tcps = TCPServer.new(port) +ssls = OpenSSL::SSL::SSLServer.new(tcps, ctx) loop do - ns = svr.accept - ssl = OpenSSL::SSL::SSLSocket.new(ns, ctx) - ssl.accept - while line = ssl.gets - ssl.write line + ns = ssls.accept + while line = ns.gets + ns.write line end - ssl.close ns.close end |
