Граф коммитов

125 Коммитов

Автор SHA1 Сообщение Дата
gotoyuzo 8d881def1a * ext/openssl/ossl_x509name.c (ossl_x509name_add_entry): third
argument become optional.

* ext/openssl/ossl_x509name.c (ossl_x509name_initialize): ditto.

* ext/openssl/ossl_x509name.c (Init_x509name): emailAddress and
  domainComponent should be IA5String.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-25 10:05:26 +00:00
gotoyuzo 5e24c11a28 * ext/openssl/ossl_x509hame.c (ossl_x509name_initialize): change
second argument. it expected to be a Hash not an Integer.

* ext/openssl/ossl_x509name.c (ossl_x509name_add_entry): add new
  function for OpenSSL::X509::Name#add_entry.

* ext/openssl/ossl_x509name.c (Init_ossl_x509name): add constants
  OpenSSL::X509::Name::DEFAULT_OBJECT_TYPE and OBJECT_TYPE_TEMPLATE.

* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#initialize):
  second argument takes OBJECT_TYPE_TEMPLATE by default.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-24 04:24:06 +00:00
gotoyuzo 91482546b5 * ext/openssl/extconf.rb: should check <openssl/conf_api.h> instead
of OPENSSL_VERSION_NUMBER. [ruby-list:39056]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-20 05:49:14 +00:00
gotoyuzo 0ecdbb65a8 * ext/openssl/extconf.rb: add check for OpenSSL version.
[ruby-list:39054]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-19 17:55:18 +00:00
gotoyuzo 54d29aaba9 * ext/openssl/ossl_pkey.c (ossl_pkey_to_der): removed; it returns
public key only.

* ext/openssl/ossl_pkey_dh.c (ossl_dh_to_der): new function for
  OpenSSL::PKey::DH#to_der.

* ext/openssl/ossl_pkey_dsa.c (ossl_dsa_to_der): new function for
  OpenSSL::PKey::DSA#to_der.

* ext/openssl/ossl_pkey_rsa.c (ossl_rsa_to_der): new function for
  OpenSSL::PKey::RSA#to_der.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-08 12:24:22 +00:00
gotoyuzo 932075e82e * ext/openssl/ossl_ssl.c (ossl_ssl_read): should check for error
status by SSL_get_error().

* ext/openssl/ossl_ssl.c (ossl_ssl_write): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-24 07:29:40 +00:00
usa 8e43498222 * ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): first argument
of rb_protect should take an argument of VALUE.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-15 00:30:12 +00:00
gotoyuzo ab2e1c141f * ext/openssl/ossl_pkcs12.[ch]: new files. add OpenSSL::PKCS12.
* ext/openssl/ossl_ossl.[ch]: ditto.

* ext/openssl/MANIFEST: add ossl_pkcs12.[ch].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-11 12:29:08 +00:00
gotoyuzo 7cc4f065fa no need to care SSL_ERROR_NONE and SSL_ERROR_WANT_X509_LOOKUP.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-06 14:33:52 +00:00
gotoyuzo 70daacc533 * ext/openssl/ossl_ssl.c (ossl_start_ssl): new function to wrap
SSL_connect and SSL_accept; if SSL_connect (or SSL_accept) returned
  but not finished the handshake process, we should retry it.

* ext/openssl/ossl_ssl.c (ossl_ssl_connect): call ossl_start_ssl.

* ext/openssl/ossl_ssl.c (ossl_ssl_accept): ditto.

* ext/openssl/ossl_ssl.c (ossl_ssl_read): allow signal traps.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-06 13:59:31 +00:00
gotoyuzo 7d6e215393 * ext/openssl/ossl_asn1.c (asn1time_to_time): should check that
the underlying value of ASN1_TIME isn't NULL.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-04 00:21:31 +00:00
gotoyuzo abbffef10c * /ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext):
refine error message.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-15 13:19:17 +00:00
gotoyuzo a3845916c0 * ext/openssl/ossl_x509req.c (ossl_x509req_to_der): add function for
X509::Request#to_der.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-13 07:48:20 +00:00
gotoyuzo ed2a386f58 * ext/openssl/ossl.c (ossl_x509_sk2ary, ossl_x509crl_sk2ary): add
functions to convert STACK into Array.

* ext/openssl/ossl.h: add prototypes.

* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_set_certificates,
  ossl_pkcs7_get_certificates, ossl_pkcs7_get_crls,
  ossl_pkcs7_set_crls): add functions for PKCS7#certificates=
  PKCS7#certificates, PKCS7#crls= and PKCS7#crls.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-11 21:20:20 +00:00
gotoyuzo 09306bcead * lib/ext/openssl/ossl_conf.c (ossl_config_get_value): return nil
if the specified value doesn't exist.

* lib/ext/openssl/ossl_conf.c (ossl_config_get_section): return
  a empty hash if the specified section doesn't exist.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-10 18:31:36 +00:00
gotoyuzo d193b90d54 * lib/webrick/https.rb (HTTPRequest#parse): set @client_cert_chain.
* lib/webrick/https.rb (HTTPRequest#meta_vars): create
  SSL_CLIENT_CERT_CHAIN_n from @client_cert_chain.

* ext/openssl/ossl_ssl.c (ossl_ssl_get_peer_cert_chain): return nil
  if no cert-chain was given.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-04 23:48:13 +00:00
gotoyuzo fc133b8997 * ext/openssl/ossl_ssl.c (ossl_ssl_peer_cert_chain): add new method
SSLSocket#peer_cert_chain.

* ext/openssl/ossl_x509req.c (GetX509ReqPtr): new function
  which returns underlying X509_REQ.

* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_issuer_cert,
  ossl_x509extfactory_set_subject_cert, ossl_x509extfactory_set_crl,
  ossl_x509extfactory_set_subject_req, ossl_x509extfactory_set_config):
  use underlying C struct without duplication not to leak momory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-01 09:24:55 +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 80549d5f17 * ext/openssl/ossl_x509name.c (ossl_x509name_initialize): add
optional argument to specify the DirectoryString type
  (ASN1::UTF8STRING by default). RFC3280 deprecates PrintableString
  for DirectoryString, and strongly requires to use UTF8String for
  all certificates issued after December, 31 2003.

* ext/openssl/lib/openssl/x509.rb (X509::Name::parse): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-09 16:20:22 +00:00
gotoyuzo 0dd4fde745 * ext/openssl/ossl_asn1.c (ossl_asn1_get_asn1type): use appropriate
free function for ASN1_OBJECT.

* ext/openssl/ossl_asn1.c (ossl_asn1obj_get_sn): add new function for
  ASN1::ObjectId#sn; it returns short name text representation of OID.

* ext/openssl/ossl_asn1.c (ossl_asn1obj_get_ln): add new function for
  ASN1::ObjectId#ln; it returns long name text representation of OID.

* ext/openssl/ossl_asn1.c (ossl_asn1obj_get_oid): add new function for
  ASN1::ObjectId#oid; it returns numerical representation of OID.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-06 16:55:00 +00:00
gotoyuzo f58812a7e2 * lib/ext/openssl/extconf.rb: add check for some engine functions
unavailable in OpenSSL-0.9.6.

* lib/ext/openssl/ossl_engine.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-05 13:58:02 +00:00
gotoyuzo d0dd2997f3 * ext/openssl/ossl_asn1.h: global symbols should be declared
as external.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-04 18:45:53 +00:00
matz 415283ac95 * marshal.c (w_object): instance variable dump do not cause error
for objects that cannot be dumped, if they traversed from
  marshal_dump.  they are just ignored.

* gc.c (Init_stack): cast "space" (doble value) into unsigned
  int.  should run on PowerPC.

* eval.c (rb_eval): should not execute else part if any exception
  is caught. [ruby-dev:21482]

* parse.y (f_args): should allow unparenthesized block argument.

* parse.y (f_rest_arg): should allow unparenthesized rest
  argument.

* lib/irb/ruby-lex.rb (RubyLex::identify_identifier): support
  'class ::Foo' syntax. [ruby-talk:83514]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-04 17:51:11 +00:00
gotoyuzo 7d18f560f5 * ext/openssl/extconf.rb: add check for X509V3_set_nconf.
* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_set_config):
  cannot implement if X509V3_set_nconf doesn't exist.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-03 19:29:13 +00:00
gotoyuzo 9d04d1df14 ossl_asn1.h was included twice.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-03 17:59:44 +00:00
gotoyuzo 5af0a758d4 * ext/openssl/ossl_asn1.c: add DER encoder and decoder.
* ext/openssl/ossl_asn1.h: add OpenSSL::ASN1 module.

* ext/openssl/ossl.c (Init_openssl): call Init_ossl_asn1.

* ext/openssl/ossl.h: include ossl_asn1.h.

* ext/openssl/extconf.rb: check if X509_ATTRIBUTE has field "single".

* ext/openssl/ossl_x509attr.c (ossl_x509attr_set_value): accept
  DER encoded data argument.

* ext/openssl/ossl_x509attr.c (ossl_x509attr_get_value): return
  DER encoded data in OpenSSL::ASN1 types.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-03 08:58:01 +00:00
gotoyuzo 56db4c8fb0 ENGINE_load_public_key takes four arguments since OpenSSL-0.9.7
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-02 14:26:43 +00:00
gotoyuzo 08ba967d26 ENGINE_load_private_key takes four arguments since OpenSSL-0.9.7
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-02 13:56:05 +00:00
gotoyuzo d77b606edd * ext/openssl/ossl_engine.c: add a new module OpenSSL::Engine.
it supports OpenSSL hardware cryptographic engine interface.

* ext/openssl/ossl_engine.h: ditto.

* ext/openssl/MANIFEST: add ossl_engine.c and ossl_engine.h.

* ext/openssl/extconf.rb: add check for openssl/engine.h.

* ext/openssl/ossl.c: call Init_ossl_engine().

* ext/openssl/ossl.h: include openssl/engine.h.

* ext/openssl/ossl_pkey_{rsa,dsa,dh}.c: check if underlying
  EVP_PKEY referes engine.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-02 08:47:11 +00:00
usa 3a9772f651 * ext/openssl/ossl.c (ossl_buf2str): fix type of 1st argument for
rb_protect.

	* ext/openssl/ossl_hmac.c (ossl_hmac_digest): should return meaningful
	  value.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-25 08:49:36 +00:00
nobu 5747a6c480 * ext/win32ole/win32ole.c, ext/openssl/ossl_pkey_dsa.c,
ext/openssl/ossl_pkey_rsa.c, ext/bigdecimal/bigdecimal.h: must
  not use C++ or C99 style comment yet.  (ruby-bugs:PR#1184)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-24 22:55:33 +00:00
gotoyuzo ca8be43f0e * ext/openssl/ossl_ocsp.c (ossl_ocspreq_initialize): the argument
should be a String.

* ext/openssl/ossl_ocsp.c (ossl_ocspres_initialize): ditt.

* ext/openssl/ossl_x509attr.c (ossl_x509attr_initialize): ditto.

* ext/openssl/ossl_x509ext.c (ossl_x509ext_initialize): ditto.

* ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-20 19:18:22 +00:00
gotoyuzo 45ca1d0754 should check retuen value of rb_protect.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-17 09:40:17 +00:00
gotoyuzo ad143475b9 fix command line in 'dep'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-17 09:09:31 +00:00
gotoyuzo 30103702c3 * ext/openssl: all files are reviewed to simplify and avoid memory leak.
* ext/openssl/extconf.rb: add check for assert.h.

* ext/openssl/ossl.c (ossl_buf2str): new function to convert
  C buffer to String and free buffer.

* ext/openssl/ossl.c (ossl_x509_ary2sk): new function to convert
  Array of OpenSSL::X509 to STACK_OF(X509) with exception safe.

* ext/openssl/ossl.c (ossl_to_der, ossl_to_der_if_possible): new
  functions to convert object to DER string.

* ext/openssl/ossl.h: ditto.

* ext/openssl/ossl_bio.c (ossl_membio2str): new function to convert
  BIO to String object and free BIO.

* ext/openssl/ossl_bio.h: ditto.

* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_to_der): add for "to_der".

* ext/openssl/ossl_x509name.c (ossl_x509name_to_der): ditto.

* ext/openssl/ossl_x509ext.c (ossl_x509ext_to_der): ditto.

* ext/openssl/ossl_x509ext.c (create_ext_from_array): removed
  and reimplement in openssl/x509.rb.

* ext/openssl/ossl_x509attr.c: reimplemented and disable some
  method temporarily. this class doesn't work fine without ASN.1
  data support;-) I'll rewrite in near future.

* ext/openssl/lib/openssl/x509.c (X509::Attribute): get rid off
  unused code.

* ext/openssl/lib/openssl/x509.c (X509::ExtensionFactory): refine all.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-17 09:05:02 +00:00
michal bd96b4c8cc OpenSSL update
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-12 13:46:48 +00:00
gotoyuzo fb65eed72e * ext/openssl/ossl.h: define OSSL_NO_CONF_API for win32 platform.
libeay32.dll doesn't export functions defined in conf_api.h.
  this workaround is to avoid link error.

* ext/openssl/ossl_config.c (ossl_config_initialize): ditto.

* ext/openssl/ossl_config.c (ossl_config_add_value): ditto.

* ext/openssl/ossl_config.c (set_conf_section_i): should check
  if the argument is Array.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-10 13:58:31 +00:00
usa 3587c1c725 * eval.c (win32_get_exception_list): avoid VC7 warning.
[ruby-win32:577]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-10 13:43:27 +00:00
gotoyuzo 9edcc5e99a * ext/openssl/ossl_config.rb: avoid compile error in OpenSSL-0.9.6.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-08 20:19:01 +00:00
eban 4b98d17022 * ext/openssl/ossl_config.c (ext/openssl/ossl_config.c): typofix (ossl_raise).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-08 11:02:35 +00:00
gotoyuzo 78ff3833fb * ext/openssl/ossl.h: include openssl/conf.h and openssl/conf_api.h.
* ext/openssl/ossl_config.c: refine all with backward compatibility.

* ext/openssl/ossl_config.h: export GetConfigPtr() and DupConfigPtr().

* ext/openssl/ossl_x509.c: added new constants under X509 module.
  DEFAULT_CERT_AREA, DEFAULT_CERT_DIR, DEFAULT_CERT_FILE,
  DEFAULT_CERT_DIR_ENV, DEFAULT_CERT_FILE_ENV and DEFAULT_PRIVATE_DIR.

* ext/openssl/ossl_x509ext.c (ossl_x509extfactory_free): don't free
  the members of the struct. it's left to GC.

* ext/openssl/ossl_x509ext.c (ossl_x509_set_config): add for config=.

* ext/openssl/ossl_x509ext.c (Xossl_x509extfactory_initialize):
  add attr readers: issuer_certificate, subject_certificate,
  subject_request, crl and config.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-08 10:31:38 +00:00
gotoyuzo 40fce3e7ee * ext/openssl/ruby_missing.c: rid of unnecessary backward
compatibility stuff.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-06 08:56:57 +00:00
gotoyuzo 256d273e69 * ext/openssl/ruby_missing.c: rid of unnecessary backward
compatibility stuff. and remove DEFINE_ALLOC_WRAPPER from
  all sources.

* ext/openssl/ossl_x509ext.c (X509::Extension.new): new method.

* ext/openssl/ossl_x509ext.c (X509::Extension#oid=): new method.

* ext/openssl/ossl_x509ext.c (X509::Extension#value=): new method.

* ext/openssl/ossl_x509ext.c (X509::Extension#critical=): new method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-06 08:56:09 +00:00
gotoyuzo d9f38cbee8 * ext/openssl/lib/openssl/x509.rb: new method X509::Name::parse.
* ext/openssl/ossl_digest.c: add ossl_digest_new().

* ext/openssl/ossl_digest.h: ditto.

* ext/openssl/ossl_cipher.c: add ossl_cipher_new().

* ext/openssl/ossl_cipher.h: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-05 09:08:40 +00:00
nahi 0d1896a88f * MANIFEST: add and remove entries for the previous ext/openssl/sample move.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-04 10:59:15 +00:00
nahi a6663a94e5 * ext/io/wait/.cvsignore: added.
* ext/openssl/.cvsignore: added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-04 10:39:29 +00:00
nahi 5f84c80fc5 * sample/openssl: added. Sample of standard distribution library should be
locate in sample/{module_name}/*.

* ext/openssl/sample/*: removed.  move to sample/openssl/*.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-04 10:31:29 +00:00
gotoyuzo 28e962d92c * ext/openssl/lib/net/protocols.rb (SSLIO#ssl_connect): warning
for skipping server verification.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-09-02 11:41:33 +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
nobu c7b5c0489b * ext/openssl/extconf.rb (HAVE_VA_ARGS_MACRO): need to compile.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-17 14:40:00 +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
nobu 8695612caf * marshal.c (w_symbol, w_object): get rid of warnings.
* re.c (rb_memsearch): ditto.

* time.c (time_dump): ditto.

* ext/extmk.rb (extmake): not continue making when extconf.rb
  failed.

* ext/openssl/extconf.rb: check __VA_ARGS__ macro more precisely.

* ext/openssl/ossl.h: remove version.h dependency.

* ext/openssl/ruby_missing.h: ditto.

* lib/mkmf.rb (pkg_config): use --libs output except with
  only-L for other options.  [ruby-list:38099]

* lib/mkmf.rb (create_makefile): separate rule for static
  library from shared object.

* win32/Makefile.sub, bcc32/Makefile.sub, wince/Makefile.sub:
  define exec_prefix and libdir.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-16 14:58:34 +00:00
gotoyuzo 923044bba2 * 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-10 01:54:05 +00:00
nobu 63f5a7164b * lib/mkmf.rb (pkg_config): get configuration by pkg-config. [new]
* ext/openssl/extconf.rb: use pkg_config.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-02 05:54:00 +00:00
nobu a222ce3000 *** empty log message ***
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-01 08:20:20 +00:00
nobu 2c2e81ff98 * ext/openssl/extconf.rb: should replace literally.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4264 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-01 08:13:29 +00:00
gotoyuzo 00dfd7d7cc * ext/openssl/extconf.rb: move gmake specific features
into GNUmakefile.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-31 05:22:06 +00:00
gotoyuzo c9b177327d * ext/openssl/ossl_ssl.c (ossl_sslctx_initialize): should initialize
instance variables. [ruby-talk:77362]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-30 06:58:43 +00:00
gotoyuzo ea837fc6fe * ext/openssl/lib/net/https.rb (use_ssl=): raise ProtocolError if
connection is set up already.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-28 19:06:31 +00:00
eban 906ab8e25d * ext/openssl/extconf.rb: check again after pkg-config for MinGW on
Cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-28 09:55:12 +00:00
eban 39bc97b078 * ext/openssl/extconf.rb: better support MinGW. add
dir_config("kerberos") and with_config("pkg-config).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-27 12:19:18 +00:00
usa b431230396 * io.c (rb_fdopen): set errno if it's zero on win32 platforms.
* ext/openssl/ossl_ssl.c (TO_SOCKET): define special version when
  _WIN32 is defined. this is ruby's problem, not OpenSSL.

* win32/win32.c: remove some old comments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-26 12:27:04 +00:00
gotoyuzo 0a39c57489 * ext/openssl/ossl.h: fix comment.
* ext/openssl/ossl.c (ossl_debug): should enable if no va-args
  macro supplied.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-25 20:40:57 +00:00
gotoyuzo d89358aba3 * ext/openssl/extconf.rb: refine va-args macro detection.
[ruby-talk:76983]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-25 19:16:19 +00:00
usa 2b15bd05d3 * ext/openssl/ossl_ssl.c (ossl_ssl_setup): need to pass the real
socket to SSL_get_fd on native win32 platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-25 16:40:26 +00:00
nahi ec75bfe364 * Added samples.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-25 15:19:51 +00:00
nahi ccdc8d302a * ext/openssl/sample: Add samples.
- cert2text.rb: Dump certificate file as text.
  - crlstore.rb: CRL store implementation.  Fetch CRL via HTTP when
    http-access2 is installed.
  - certstore.rb: Certificate store implementation.
  - cert_store_view.rb: Certificate store viewer with FXRuby.  Uses
    c_rehash.rb, crlstore.rb and certstore.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-25 15:12:26 +00:00
gotoyuzo b35031495a * ext/openssl/extconf.rb: add check for BN_rand_range() and
BN_pseudo_rand_range().

* ext/openssl/ossl_bn.c (ossl_bn_s_rand_range): should raise
  NotImplementedError if BN_rand_range() wan not defined.

* ext/openssl/ossl_bn.c (ossl_bn_s_pseudo_rand_range): should raise
  NotImplementedError if BN_pseudo_rand_range() wan not defined.

* ext/openssl/ossl_pkcs7.c (ossl_pkcs7_s_encrypt): avoid compiler
  warning for OpenSSL-0.9.6.

* ext/openssl/ossl_pkcs7.c (ossl_pkcs7si_initialize): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-25 06:50:55 +00:00
gotoyuzo c9aad4c098 * ext/openssl/extconf.rb: add check for libsocket and libnsl.
* ext/openssl/extconf.rb: use pkg-config to build CFLAGS and LDFLAGS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-24 17:58:56 +00:00
gotoyuzo c1008ab51b * ext/openssl/extconf.rb: add check for win32 OpenSSL libraries.
* ext/openssl/extconf.rb: add check for __VA_AEGS__.

* ext/openssl/ossl.h: avoid non C99 compiler errors.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-24 06:56:02 +00:00
eban 3150436c85 * ext/openssl/extconf.rb: revert use of dir_config.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-24 02:10:04 +00:00
gotoyuzo f00c14ca25 * ext/openssl/ssl.h: undef X509_NAME and PKCS7_SIGNER_INFO to
avoid name confliction on mswin32.

* ext/openssl/ssl.c (ossl_protect_obj2bio): avoid VC++ warnings
  in function prototype.

* ext/openssl/ssl.c (ossl_protect_membio2str): ditto.

* ext/openssl/ssl.c (ossl_protect_x509_ary2sk): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-23 19:08:35 +00:00
michal 3f71dcc79b Cut check for OpenSSL version
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-23 18:48:07 +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