Commit graph

21 commits

Author SHA1 Message Date
akr
e14c9923b4 * ext/openssl: avoid cyclic require.
* ext/openssl/lib/openssl/ssl-internal.rb: renamed from ssl.rb

* ext/openssl/lib/openssl/x509-internal.rb: renamed from x509.rb.

* lib/net/imap.rb: require openssl, instead of openssl/ssl.

* lib/net/pop.rb: require openssl, instead of openssl/ssl.

[ruby-dev:38018]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-17 16:09:44 +00:00
gotoyuzo
40aa32a0d7 * ext/openssl/lib/net/ssl.rb (OpenSSL::SSL::SSLContext.build): removed.
* ext/openssl/lib/net/ssl.rb (OpenSSL::SSL::SSLContext#set_params):
  new method to set suitable SSL parameters.

* lib/net/pop.rb, lib/net/http.rb, lib/net/imap.rb, 
  test/openssl/test_ssl.rb: follow above change.

* test/net/http/test_https.rb: refine error case.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-22 08:31:53 +00:00
gotoyuzo
ec0340b4b6 * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLContext.build):
enable CRL checking on default cert store.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-20 16:27:14 +00:00
gotoyuzo
d99a343dfd fix typo in last commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-18 14:03:42 +00:00
gotoyuzo
bd67956690 * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#shutdown):
new method which calls TCPSocket#shutdown of the underlying socket.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-18 13:57:48 +00:00
gotoyuzo
2c03835396 * ext/openssl/ossl_ssl.c (ossl_sslctx_set_ssl_version):
new method OpenSSL::SSL::SSLContext#ssl_version to wrap
  SSL_CTX_set_ssl_version.

* ext/openssl/ossl_ssl.c (ossl_ssl_get_verify_result):
  new method OpenSSL::SSL::SSLSocket#verify_result to wrap
  SSL_get_verrify_result.

* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLContext.build):
  new method to build OpenSSL::SSL::SSLContext with Hash parameters.
  this method provides safety default parameters than SSLContext.new.

* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL.verify_cetificate_identity):
  new module function: pull out identity verification process
  from OpenSSL::SSL::SSLSocket#post_connection_check.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-17 12:18:28 +00:00
gotoyuzo
4f04f0372b * lib/net/http.rb: an SSL verification (the server hostname should
be matched with its certificate's commonName) is added.
  this verification can be skipped by
  "Net::HTTP#enable_post_connection_check=(false)".
  suggested by Chris Clark <cclark at isecpartners.com>

* lib/net/open-uri.rb: use Net::HTTP#enable_post_connection_check to
  perform SSL post connection check.

* ext/openssl/lib/openssl/ssl.c
  (OpenSSL::SSL::SSLSocket#post_connection_check): refine error message.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-23 22:21:18 +00:00
technorama
a05e89ca65 * ext/openssl/ossl_{ssl.[ch],ssl_session.c}},
ext/openssl/lib/openssl/lib/openssl/ssl.rb:
  New SSL::Session class.  Add session cb's, getter/setters,
  config, and statistics methods.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-02 22:10:12 +00:00
gotoyuzo
cffba3b471 * ext/openssl/lib/openssl/ssl.rb
(OpenSSL::SSL::SocketForwarder#setsockopt,getsockopt): typo fixed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-23 18:14:05 +00:00
gotoyuzo
6f640b29cc * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLSocket#post_connection_chech):
treat wildcard character in commonName. [ruby-dev:28121]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-26 23:26:21 +00:00
gotoyuzo
7aea792d3b * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#intialize):
should initialize session id context. [ruby-core:4663]

* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): add session id support.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-22 10:18:41 +00:00
gotoyuzo
2048950e16 * ext/openssl/lib/openssl/ssl.rb (OpenSSL::Nonblock#initialize):
native win32 platform doesn't have F_GETFL.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-16 06:14:25 +00:00
gotoyuzo
a579d8bf68 * ext/openssl/ossl_ssl.c (ossl_ssl_read, ossl_ssl_write): should
call rb_sys_fail instead of rasing SSLError if SSL_ERROR_SYSCALL
  occured.

* ext/openssl/lib/openssl/buffering.rb (Buffering#fill_rbuff):
  should rescue Errno::EAGAIN.

* ext/openssl/lib/openssl/buffering.rb (Buffering#each): fix typo.
  suggested by Brian Ollenberger.

* ext/openssl/lib/openssl/ssl.rb: set non-blocking flag to the
  underlying IO.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-15 17:50:47 +00:00
gotoyuzo
1883e41c1b * ext/openssl/lib/openssl/ssl.rb
(OpenSSL::SSL::SSLSocket#post_connection_check): new method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-14 04:14:39 +00:00
gotoyuzo
fde5c3ff92 * 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/trunk@6411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-26 18:11:29 +00:00
gotoyuzo
5bf9610130 * ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SocketForwarder):
add do_not_reverse_lookup.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-15 01:14:51 +00:00
gotoyuzo
2e0b6e28ad * ext/openssl/lib/openssl/buffering.rb (Buffering#initialize):
add new method to inherit @sync from @io.sync.

* ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): no need to
  set sync flag explicitly.

* ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): call super.

* ext/openssl/ossl_ssl.c (ossl_sslctx_setup): set extra chain
  certificates in @extra_chain_cert.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-29 17:27:59 +00:00
gotoyuzo
65652ecdb5 * lib/webrick/ssl.rb: new file; SSL/TLS enhancement for GenericServer.
* lib/webrick/https.rb: SSLSocket handling is moved to webrick/ssl.rb.

* lib/webrick/compat.rb (File::fnmatch): remove old migration code.

* lib/webrick/httpserver.rb (HTTPServer#run): ditto.

* lib/webrick/server.rb (GenericServer#listen): the body of this
  method is pull out as Utils::create_lisnteners.

* lib/webrick/utils.rb (Utils::create_lisnteners): new method.

* lib/webrick/server.rb (GenericServer#start): should not
  through unknown errors. and refine comments.

* ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): should close
  socket if SSLSocket raises error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-19 06:00:36 +00:00
gotoyuzo
ba64282cdc * 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@4407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-18 22:49:48 +00:00
gotoyuzo
39c4886fe7 * ext/openssl/lib/openssl/ssl.rb (SSLSocket#sync_close=): add a
method to specify if the underlying IO will be closed in
  SSLSocket#close.

* ext/openssl/lib/openssl/buffering.rb: add forwarders to
  setsockopt, getsockopt and fcntl.

* ext/openssl/lib/net/protocols.rb: enable sync for SSLSocket.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-17 08:22:45 +00:00
gotoyuzo
231247c010 * ext/openssl: imported.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-23 16:12:24 +00:00