summaryrefslogtreecommitdiffstats
path: root/ossl_ssl.c
diff options
context:
space:
mode:
authorGOTOU Yuuzou <gotoyuzo@notwork.org>2002-10-15 10:16:17 +0000
committerGOTOU Yuuzou <gotoyuzo@notwork.org>2002-10-15 10:16:17 +0000
commit61cd7c6870fdf6ced31477133cd6b6cd81ae0883 (patch)
tree6a594356339c02a571cb333c85ef2a67ec81af1f /ossl_ssl.c
parentae036910ee7206c85c67da9f9fb91b5b959fc84a (diff)
downloadruby-openssl-history-61cd7c6870fdf6ced31477133cd6b6cd81ae0883.tar.gz
*** empty log message ***
Diffstat (limited to 'ossl_ssl.c')
-rw-r--r--ossl_ssl.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/ossl_ssl.c b/ossl_ssl.c
index 387364d..a9117e9 100644
--- a/ossl_ssl.c
+++ b/ossl_ssl.c
@@ -32,7 +32,7 @@ VALUE cSSLSocket;
#define ossl_sslctx_set_cert_file(o,v) rb_iv_set((o),"@cert_file",(v))
#define ossl_sslctx_set_key(o,v) rb_iv_set((o),"@key",(v))
#define ossl_sslctx_set_key_file(o,v) rb_iv_set((o),"@key_file",(v))
-#define ossl_sslctx_set_ca(o,v) rb_iv_set((o),"@ca_cert",(v))
+#define ossl_sslctx_set_ca_cert(o,v) rb_iv_set((o),"@ca_cert",(v))
#define ossl_sslctx_set_ca_file(o,v) rb_iv_set((o),"@ca_file",(v))
#define ossl_sslctx_set_ca_path(o,v) rb_iv_set((o),"@ca_path",(v))
#define ossl_sslctx_set_timeout(o,v) rb_iv_set((o),"@timeout",(v))
@@ -45,7 +45,7 @@ VALUE cSSLSocket;
#define ossl_sslctx_get_cert_file(o) rb_iv_get((o),"@cert_file")
#define ossl_sslctx_get_key(o) rb_iv_get((o),"@key")
#define ossl_sslctx_get_key_file(o) rb_iv_get((o),"@key_file")
-#define ossl_sslctx_get_ca(o) rb_iv_get((o),"@ca_cert")
+#define ossl_sslctx_get_ca_cert(o) rb_iv_get((o),"@ca_cert")
#define ossl_sslctx_get_ca_file(o) rb_iv_get((o),"@ca_file")
#define ossl_sslctx_get_ca_path(o) rb_iv_get((o),"@ca_path")
#define ossl_sslctx_get_timeout(o) rb_iv_get((o),"@timeout")
@@ -184,7 +184,7 @@ static VALUE
ossl_sslctx_setup(VALUE self)
{
ossl_sslctx_st *p = NULL;
- X509 *cert = NULL, *ca = NULL;
+ X509 *cert = NULL, *ca_cert = NULL;
EVP_PKEY *key = NULL;
char *ca_path = NULL, *ca_file = NULL;
int verify_mode;
@@ -202,7 +202,6 @@ ossl_sslctx_setup(VALUE self)
cert = NIL_P(val) ? NULL : GetX509CertPtr(val); /* NO DUP NEEDED */
val = ossl_sslctx_get_key(self);
key = NIL_P(val) ? NULL : GetPKeyPtr(val); /* NO NEED TO DUP */
-
if (cert && key) {
if (!SSL_CTX_use_certificate(p->ctx, cert)) {
/* Adds a ref => Safe to FREE */
@@ -217,19 +216,19 @@ ossl_sslctx_setup(VALUE self)
}
}
- val = ossl_sslctx_get_ca(self);
- ca = NIL_P(val) ? NULL : GetX509CertPtr(val); /* NO DUP NEEDED. */
- val = ossl_sslctx_get_ca_file(self);
- ca_file = NIL_P(val) ? NULL : StringValuePtr(val);
- val = ossl_sslctx_get_ca_path(self);
- ca_path = NIL_P(val) ? NULL : StringValuePtr(val);
-
- if (ca){
- if (!SSL_CTX_add_client_CA(p->ctx, ca)){
+ val = ossl_sslctx_get_ca_cert(self);
+ ca_cert = NIL_P(val) ? NULL : GetX509CertPtr(val); /* NO DUP NEEDED. */
+ if (ca_cert){
+ if (!SSL_CTX_add_client_CA(p->ctx, ca_cert)){
/* Copies X509_NAME => FREE it. */
ossl_raise(eSSLError, "SSL_CTX_add_client_CA");
}
}
+
+ val = ossl_sslctx_get_ca_file(self);
+ ca_file = NIL_P(val) ? NULL : StringValuePtr(val);
+ val = ossl_sslctx_get_ca_path(self);
+ ca_path = NIL_P(val) ? NULL : StringValuePtr(val);
if ((!SSL_CTX_load_verify_locations(p->ctx, ca_file, ca_path) ||
!SSL_CTX_set_default_verify_paths(p->ctx))) {
rb_warning("can't set verify locations");