Commit graph

154 commits

Author SHA1 Message Date
technorama
1401783153 * ext/openssl/ossl_pkey_{ec,dh,dsa,rsa}.c: Remove useless warnings.
* ext/openssl/ossl_asn1.c: Simplify code.

* ext/openssl/ossl_ssl_session.c Fix compiler warnings.
  Undefine #id if SSL_SESSION_get_id is not supported.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-26 07:11:23 +00:00
technorama
00be63fca5 Mon Feb 25 17:30:29 2008 Technorama Ltd. <oss-ruby@technorama.net>
* ext/openssl/digest.c ext/openssl/lib/openssl/digest.rb:
	  Commit patch #9280 from Akinori MUSHA.
	  Simplify the OpenSSL::Digest class and make use of the
	  existing Digest framework.
	  Enhance performance.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-25 08:48:57 +00:00
technorama
55180306dd * ext/openssl/ossl_ssl.c: Only show a warning if the default
DH callback is actually used.

* ext/openssl/ossl_rand.c: New method: random_add().



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@14726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-27 01:50:50 +00:00
usa
d70762f577 * ext/openssl/lib/openssl/buffering.rb (read, readpartial): revert
r12496. handling EOF is a little differnt in ruby 1.8 and ruby 1.9.
	  [ruby-dev:31979]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-15 08:29:08 +00:00
gotoyuzo
b4b36c06fa * lib/net/http.rb, lib/open-uri.rb: remove
Net::HTTP#enable_post_connection_check.  [ruby-dev:31960]

* lib/net/imap.rb: hostname should be verified against server's
  indentity as persented in the server's certificate. [ruby-dev:31960]

* ext/openssl/lib/net/telnets.rb, ext/openssl/lib/net/ftptls.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-08 11:16:54 +00:00
gotoyuzo
80865ba2db * 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/branches/ruby_1_8@13500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-23 22:21:42 +00:00
nobu
a86b7ee462 * ext/openssl/ossl_config.c (ossl_config_set_section): do not
initialize aggregations with dynamic values.  [ruby-talk:259306]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-20 06:22:54 +00:00
nobu
f298a1a670 * ext/digest/digest.c (rb_digest_instance_update,
rb_digest_instance_finish, rb_digest_instance_reset,
  rb_digest_instance_block_length): %s in rb_raise() expects char*.
  [ruby-dev:31222]

* ext/openssl/ossl.h: include ossl_pkcs5.h.  [ruby-dev:31231]

* ext/openssl/ossl_pkcs5.h: new file for PKCS5.  [ruby-dev:31231]

* ext/openssl/ossl_x509name.c (ossl_x509name_to_s): use ossl_raise()
  instead of rb_raise().  [ruby-dev:31222]

* ext/sdbm/_sdbm.c: DOSISH platforms need io.h.  [ruby-dev:31232]

* ext/syck/syck.h: include stdlib.h for malloc() and free().
  [ruby-dev:31232]

* ext/syck/syck.h (syck_parser_set_input_type): prototype added.
  [ruby-dev:31231]

* win32/win32.c: include mbstring.h for _mbspbrk().  [ruby-dev:31232]

* win32.h (rb_w32_getcwd): prototype added.  [ruby-dev:31232]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 13:24:51 +00:00
technorama
7137a314b3 * ext/openssl/{extconf.rb,ossl_ssl_session.c}:
Fix ruby-Bugs-11513.

* ext/openssl/ossl_pkey_ec.c
  New methods EC::Point.[eql,make_affine!,invert!,on_curve?,infinity?]
  By default output the same key form as the openssl command.

* ext/openssl/ossl_rand.c
  New method Random.status?

* test/openssl/test_ec.rb
  New tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-18 09:03:15 +00:00
technorama
18342ff8e0 import OpenSSL from trunk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-08 15:02:04 +00:00
knu
7740080cdb * ext/openssl/ossl_asn1.c (Init_ossl_asn1): Let rdoc know about
externally defined modules; submitted by Technorama
  Ltd. <oss-ruby AT technorama.net> in [ruby-bugs:PR#4704].

* ext/openssl/ossl_bn.c (Init_ossl_bn): Ditto.

* ext/openssl/ossl_cipher.c (Init_ossl_cipher): Ditto.

* ext/openssl/ossl_digest.c (Init_ossl_digest): Ditto.

* ext/openssl/ossl_hmac.c (Init_ossl_hmac): Ditto.

* ext/openssl/ossl_pkey.c (Init_ossl_pkey): Ditto.

* ext/openssl/ossl_pkey_dh.c (Init_ossl_dh): Ditto.

* ext/openssl/ossl_pkey_dsa.c (Init_ossl_dsa): Ditto.

* ext/openssl/ossl_pkey_rsa.c (Init_ossl_rsa): Ditto.

* ext/openssl/ossl_rand.c (Init_ossl_rand): Ditto.

* ext/openssl/ossl_ssl.c (Init_ossl_ssl): Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-12 04:07:08 +00:00
usa
d40ee16925 * ext/openssl/extconf.rb: no need to check unistd.h and sys/time.h.
they are already checked at configure.
  reported by KOBAYASHI Yasuhiro [ruby-list:43225]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-28 09:36:06 +00:00
matz
46fa18da5b Revert r11453
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-03 03:14:57 +00:00
matz
4ee717dcae * io.c (ruby_dup): start GC on ENOMEM as well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-03 02:51:44 +00:00
gotoyuzo
228e8f2434 * ext/openssl/ossl_ocsp.c: OpenSSL::OCSP::OSCPError should be
subclass of OpenSSL::OpenSSLError. [ruby-dev:29980]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11320 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-01 22:11:51 +00:00
gotoyuzo
aa1160ada8 * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_verify): should clear error.
(fix http://bugs.debian.org/394336)

* ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-26 12:06:39 +00:00
matz
5958a6f8e1 * ext/openssl/ossl.h: move <ruby.h> inclusion point to shut up
Solaris compiler.  [ruby-core:08114]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-27 07:46:13 +00:00
akr
4c99ec8402 add extconf.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-25 12:20:27 +00:00
gotoyuzo
128eaaad11 * ext/openssl/extconf.rb: add check for OBJ_NAME_do_all_sorted.
* ext/openssl/ossl_cipher.c (ossl_s_ciphers): new method
  OpenSSL::Cipher.ciphers. it returns all the cipher names.

* ext/openssl/lib/openssl/cipher.rb:
  - add constants AES128, AES192, AES256. [ruby-dev:28610]
  - reimplement without eval()

* ext/openssl/lib/openssl/digest.rb: reimplement without eval().

* test/openssl/test_cipher.rb, test_digest: fix about reimplemented
  features.

* sample/openssl/cipher.rb: rewrite all.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-20 11:18:16 +00:00
gotoyuzo
13d16b8de4 * ext/openssl/extconf.rb: use create_header.
* ext/openssl/ossl.h, ext/openssl/openssl_missing.h:
  include RUBY_EXTCONF_H.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-02 10:03:16 +00:00
gotoyuzo
66c81f9be0 * ext/openssl/lib/openssl/ssl.rb
(OpenSSL::SSL::SocketForwarder#setsockopt,getsockopt): typo fixed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-23 18:14:05 +00:00
gotoyuzo
27a80110fc * ext/openssl/ossl_asn1.c (ossl_asn1_decode0): should initialize
flag. [ruby-core:07785]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-29 13:52:15 +00:00
gotoyuzo
8dd7e8bee6 * ext/openssl/ossl_ssl.c, ext/openssl/ossl_nsspki.c: fix typo.
[ruby-core:07571]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-17 10:10:53 +00:00
gotoyuzo
6f1c875b07 * ext/openssl/ossl_ssl.c, ext/openssl/ossl_nsspki.c: should use
"rb_str_new(0, 0)" to make empty string.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-03-15 07:42:00 +00:00
gotoyuzo
406812a796 * ext/openssl/ossl.h (OSSL_Debug): should not use __func__.
[ruby-dev:28339]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-19 16:00:04 +00:00
gotoyuzo
40761f5925 * 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/branches/ruby_1_8@9742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-26 23:31:04 +00:00
gotoyuzo
b54ab5610b * ext/openssl/extconf.rb: check for X509V3_EXT_nconf_nid.
* ext/openssl/ossl_x509ext.c (MakeX509ExtFactory): should use
  OPENSSL_malloc to allocate X509V3_CTX.

* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext): use
  X509V3_EXT_nconf_nid to avoid SEGV (and to build extensions which
  values are placed in separate section).

* test/openssl/test_x509ext.rb: new file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-22 22:29:13 +00:00
gotoyuzo
4798cd1bb3 * ext/openssl/extconf.rb: should check ERR_peek_last_error().
[ruby-dev:27597]

* ext/openssl/ossl.c (ossl_raise): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-01 01:52:13 +00:00
gotoyuzo
787d0e3254 * ext/openssl/ossl_cipher.c (ossl_cipher_update): input data must
not be empty. [ruby-talk:161220]

* test/openssl/test_cipher.rb: add test for Cipher#update("").


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-30 20:50:48 +00:00
gotoyuzo
2743a05308 * ext/openssl/ossl.c (Init_openssl): should call OpenSSL_add_ssl_algorithms().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-12 03:56:04 +00:00
akr
8b111196f1 banish a warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-24 00:33:17 +00:00
gotoyuzo
9098be4970 * ext/openssl/ossl_pkey.h, ossl_pkey_rsa.c, ossl_pkey_dsa.c:
an instance variable "private" is added to OpenSSL::PKey class.
  this ivar is a flag that shows whether there is a private key
  in the instance.

* ext/openssl/ossl_engine.c: (ossl_engine_load_privkey): set private
  key flag.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-18 22:56:11 +00:00
aamine
6db56d9a50 * lib/net/https.rb: backported from trunk, rev 1.3. [ruby-dev:25673] (again), [ruby-dev:26617] (again), [ruby-dev:27062]
* ext/openssl/lib/net/https.rb: removed.
* ext/openssl/lib/net/protocols.rb: removed.
* lib/net/http.rb: #use_ssl?, #use_ssl are moved from net/https.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-13 16:27:01 +00:00
gotoyuzo
d6f7df8db3 * ext/openssl/ossl_engine.c (ossl_engine_s_by_id):
OpenSSL::Engine.by_id calls given block before calling
  ENGINE_init (block parameter is the return value of this method
  itself).  this functionality is useful to load dynamic shared
  engines. the following code is a sample of loading a key using
  OpenSC PKCS #11 module.

        require "openssl"
        pkcs11 = OpenSSL::Engine.by_id("dynamic"){|e|
          e.ctrl_cmd("SO_PATH", "/usr/lib/opensc/engine_pkcs11.so")
          e.ctrl_cmd("LIST_ADD", "1")
          e.ctrl_cmd("LOAD")
        }
        pkcs11.ctrl_cmd("PIN", "secret")
        key = pkcs11.load_private_key

* ext/openssl/ossl_engine.c (ossl_engine_ctrl_cmd): new method
  OpenSSL::Engine#ctrl_cmd. it wraps ENGINE_ctrl_cmd_string.

* ext/openssl/ossl_engine.c (ossl_engine_get_cmds): new method
  OpenSSL::Engine#cmds. it returms engine command definitions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-10 01:19:38 +00:00
gotoyuzo
1a5d15fd08 these files were forgotten in last commit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-10 01:17:00 +00:00
gotoyuzo
748cc76f92 * ext/openssl/ossl_asn1.c (asn1str_to_str): new function.
* ext/openssl/ossl_pkcs7.c: new class OpenSSL::PKCS7::RecipientInfo.
  this class wraps PKCS7_RECIP_INFO struct.

* ext/openssl/ossl_pkcs7.c: OpenSSL::PKCS7::Signer is renamed to
  OpenSSL::PKCS7::SignerInfo. ("Signer" remains as an alias of
  SignerInfo.)

* test/openssl/test_pkcs7.rb: new file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-10 01:11:16 +00:00
gotoyuzo
5c1d0e3eb4 * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): assume that
the argument is a DER string if Base64 decoding failed.

* ext/openssl/ossl_ns_pki.c (ossl_spki_to_der): new method.

* test/openssl/test_ns_spki.rb: add new file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-10 01:08:21 +00:00
gotoyuzo
580d8dca40 * ext/openssl/lib/digest.rb: added SHA224, SHA256, SHA384 and SHA512.
these features are enabled if this library is compiled with
  OpenSSL 0.9.8 or later.

* test/openssl/test_digest.rb: add test for new digests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-10 00:57:20 +00:00
gotoyuzo
2ec654a1a0 * ext/openssl/ossl.c (ossl_raise): should use ERR_peek_last_error
to get last error on the current thread. And should report
  errors are on the stack while OpenSSL.debug is true.

* ext/openssl/ossl.c (ossl_get_errors): new method for debugging
  this library.

* ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): fix error message.

* ext/openssl/ossl_x509req.c (ossl_x509req_set_attributes): get rid
  of unused variable.

* ext/openssl/ossl_x509store.c (ossl_x509store_initialize): should
  set @time to avoid warning.

* ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths,
  X509_STORE_add_cert, X509_STORE_add_crl): should raise error if
  wrapped functions failed.

* test/openssl/test_x509store.rb: add test for errors.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-10 00:54:31 +00:00
gotoyuzo
260231d3f6 * ext/openssl/openssl/lib/openssl/buffering.rb (Buffering#do_write):
should clear data from the buffer which already been output.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-04 22:03:24 +00:00
gotoyuzo
393197aa7f * ext/openssl/openssl_missin.c: include <openssl/engine.h> before
<openssl/x509_vfy.h> to avoid compilation error of mswin32.
  suggested by NAKAMURA Usaku.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-26 03:59:39 +00:00
gotoyuzo
b6d87687e9 * ext/openssl/ossl_engine.c (ossl_engine_s_load): should check
OPENSSL_NO_STATIC_ENGINE.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-07-23 07:50:17 +00:00
gotoyuzo
36d6603e5f * ext/openssl/openssl_missing.c, ext/openssl/ossl.h,
ext/openssl/ossl_asn1.c, ext/openssl/ossl_bio.c,
  ext/openssl/ossl_pkcs12.h, ext/openssl/ossl_x509req.c: avoid
  compiler warnings. suggested by Mical Rokos.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-06-19 16:29:17 +00:00
gotoyuzo
76d714d88a * ext/openssl/ossl_x509store.c (ossl_x509stctx_set_time): should
not set internal flag directry.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-27 20:20:29 +00:00
gotoyuzo
736460bf9f * 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/branches/ruby_1_8@8498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-22 10:18:41 +00:00
gotoyuzo
efbf103388 * ext/openssl/extconf.rb: check for OPENSSL_cleanse.
* ext/openssl/openssl_missing.h: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-15 19:16:18 +00:00
gotoyuzo
0c25a62834 * ext/openssl/ossl_ssl.c: add callbacks to OpenSSL::SSL::SSLContexts.
- SSLContext#client_cert_cb=(aProc). it is called when a client
    certificate is requested by a server and no certificate was not
    set for the SSLContext. it must return an Array which includes
    OpenSSL::X509::Certificate and OpenSSL::PKey::RSA/DSA objects.
  - SSLContext#tmp_dh_callback=(aProc). it is called in key
    exchange with DH algorithm. it must return an OpenSSL::PKey::DH
    object.

* ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): ignore the
  argument if it's nil.

* ext/openssl/ossl_pkey.c
  (GetPrivPKeyPtr, ossl_pkey_sign): should call rb_funcall first.
  (DupPrivPKeyPtr): new function.

* ext/openssl/ossl_pkey_dh.c: add default DH parameters.

* ext/openssl/ossl_pkey.h: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-08 09:26:54 +00:00
gotoyuzo
36aca6e1a5 * ext/openssl/ossl_engine.c (ossl_engine_s_load): should return
value. [ruby-dev:25971]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-31 05:16:13 +00:00
gotoyuzo
1928aa3c93 * ext/openssl/ossl_engine.c (ossl_engine_s_load): should not raise
error even if the specified engine could not be loaded. (Dynamic
  engines don't have fixed name to load.)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-30 21:01:04 +00:00
gotoyuzo
279c5947d1 * ext/openssl/ossl_ssl.c (ossl_start_ssl, ossl_ssl_write): call
rb_sys_fail if errno isn't 0. [ruby-dev:25831]

* ext/openssl/lib/openssl/cipher.rb: fix typo. [ruby-dev:24285]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-09 11:26:49 +00:00