projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use the callbacks from the SSL object instead of the SSL_CTX object
[openssl.git]
/
ssl
/
ssl_cert.c
diff --git
a/ssl/ssl_cert.c
b/ssl/ssl_cert.c
index bbb6932210daf9b822ba4f39e8e059f6179b48cb..70aa69756419675ccdb74135c6bcbaba11d9f3c0 100644
(file)
--- a/
ssl/ssl_cert.c
+++ b/
ssl/ssl_cert.c
@@
-63,7
+63,7
@@
CERT *ssl_cert_new(void)
return NULL;
}
return NULL;
}
- ret->key = &(ret->pkeys[SSL_PKEY_RSA
_ENC
]);
+ ret->key = &(ret->pkeys[SSL_PKEY_RSA]);
ret->references = 1;
ret->sec_cb = ssl_security_default_callback;
ret->sec_level = OPENSSL_TLS_SECURITY_LEVEL;
ret->references = 1;
ret->sec_cb = ssl_security_default_callback;
ret->sec_level = OPENSSL_TLS_SECURITY_LEVEL;
@@
-164,12
+164,11
@@
CERT *ssl_cert_dup(CERT *cert)
/* Shared sigalgs also NULL */
ret->shared_sigalgs = NULL;
/* Copy any custom client certificate types */
/* Shared sigalgs also NULL */
ret->shared_sigalgs = NULL;
/* Copy any custom client certificate types */
- if (cert->ctype
s
) {
- ret->ctype
s = OPENSSL_malloc(cert->ctype_num
);
- if (ret->ctype
s
== NULL)
+ if (cert->ctype) {
+ ret->ctype
= OPENSSL_memdup(cert->ctype, cert->ctype_len
);
+ if (ret->ctype == NULL)
goto err;
goto err;
- memcpy(ret->ctypes, cert->ctypes, cert->ctype_num);
- ret->ctype_num = cert->ctype_num;
+ ret->ctype_len = cert->ctype_len;
}
ret->cert_flags = cert->cert_flags;
}
ret->cert_flags = cert->cert_flags;
@@
-252,7
+251,7
@@
void ssl_cert_free(CERT *c)
OPENSSL_free(c->conf_sigalgs);
OPENSSL_free(c->client_sigalgs);
OPENSSL_free(c->shared_sigalgs);
OPENSSL_free(c->conf_sigalgs);
OPENSSL_free(c->client_sigalgs);
OPENSSL_free(c->shared_sigalgs);
- OPENSSL_free(c->ctype
s
);
+ OPENSSL_free(c->ctype);
X509_STORE_free(c->verify_store);
X509_STORE_free(c->chain_store);
custom_exts_free(&c->cli_ext);
X509_STORE_free(c->verify_store);
X509_STORE_free(c->chain_store);
custom_exts_free(&c->cli_ext);