-/* ssl/ssl_asn1.c */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
ASN1_OCTET_STRING *comp_id;
ASN1_OCTET_STRING *master_key;
ASN1_OCTET_STRING *session_id;
-#ifndef OPENSSL_NO_KRB5
- ASN1_OCTET_STRING *krb5_princ;
-#endif
ASN1_OCTET_STRING *key_arg;
long time;
long timeout;
X509 *peer;
ASN1_OCTET_STRING *session_id_context;
long verify_result;
-#ifndef OPENSSL_NO_TLSEXT
ASN1_OCTET_STRING *tlsext_hostname;
long tlsext_tick_lifetime_hint;
ASN1_OCTET_STRING *tlsext_tick;
-#endif
-#ifndef OPENSSL_NO_TLSEXT
+#ifndef OPENSSL_NO_PSK
ASN1_OCTET_STRING *psk_identity_hint;
ASN1_OCTET_STRING *psk_identity;
#endif
ASN1_SIMPLE(SSL_SESSION_ASN1, cipher, ASN1_OCTET_STRING),
ASN1_SIMPLE(SSL_SESSION_ASN1, session_id, ASN1_OCTET_STRING),
ASN1_SIMPLE(SSL_SESSION_ASN1, master_key, ASN1_OCTET_STRING),
-#ifndef OPENSSL_NO_KRB5
- ASN1_OPT(SSL_SESSION_ASN1, krb5_princ, ASN1_OCTET_STRING),
-#endif
ASN1_IMP_OPT(SSL_SESSION_ASN1, key_arg, ASN1_OCTET_STRING, 0),
ASN1_EXP_OPT(SSL_SESSION_ASN1, time, ZLONG, 1),
ASN1_EXP_OPT(SSL_SESSION_ASN1, timeout, ZLONG, 2),
ASN1_EXP_OPT(SSL_SESSION_ASN1, peer, X509, 3),
ASN1_EXP_OPT(SSL_SESSION_ASN1, session_id_context, ASN1_OCTET_STRING, 4),
ASN1_EXP_OPT(SSL_SESSION_ASN1, verify_result, ZLONG, 5),
-#ifndef OPENSSL_NO_TLSEXT
ASN1_EXP_OPT(SSL_SESSION_ASN1, tlsext_hostname, ASN1_OCTET_STRING, 6),
-#endif
#ifndef OPENSSL_NO_PSK
ASN1_EXP_OPT(SSL_SESSION_ASN1, psk_identity_hint, ASN1_OCTET_STRING, 7),
ASN1_EXP_OPT(SSL_SESSION_ASN1, psk_identity, ASN1_OCTET_STRING, 8),
#endif
-#ifndef OPENSSL_NO_TLSEXT
ASN1_EXP_OPT(SSL_SESSION_ASN1, tlsext_tick_lifetime_hint, ZLONG, 9),
ASN1_EXP_OPT(SSL_SESSION_ASN1, tlsext_tick, ASN1_OCTET_STRING, 10),
-#endif
ASN1_EXP_OPT(SSL_SESSION_ASN1, comp_id, ASN1_OCTET_STRING, 11),
#ifndef OPENSSL_NO_SRP
ASN1_EXP_OPT(SSL_SESSION_ASN1, srp_username, ASN1_OCTET_STRING, 12),
#endif
ASN1_EXP_OPT(SSL_SESSION_ASN1, flags, ZLONG, 13)
-} ASN1_SEQUENCE_END(SSL_SESSION_ASN1)
+} static_ASN1_SEQUENCE_END(SSL_SESSION_ASN1)
IMPLEMENT_STATIC_ASN1_ENCODE_FUNCTIONS(SSL_SESSION_ASN1)
unsigned char comp_id_data;
#endif
-#ifndef OPENSSL_NO_TLSEXT
ASN1_OCTET_STRING tlsext_hostname, tlsext_tick;
-#endif
-
-#ifndef OPENSSL_NO_KRB5
- ASN1_OCTET_STRING krb5_princ;
-#endif
#ifndef OPENSSL_NO_SRP
ASN1_OCTET_STRING srp_username;
ssl_session_oinit(&as.session_id_context, &sid_ctx,
in->sid_ctx, in->sid_ctx_length);
-#ifndef OPENSSL_NO_KRB5
- if (in->krb5_client_princ_len) {
- ssl_session_oinit(&as.krb5_princ, &krb5_princ,
- in->krb5_client_princ, in->krb5_client_princ_len);
- }
-#endif /* OPENSSL_NO_KRB5 */
as.time = in->time;
as.timeout = in->timeout;
as.peer = in->peer;
-#ifndef OPENSSL_NO_TLSEXT
ssl_session_sinit(&as.tlsext_hostname, &tlsext_hostname,
in->tlsext_hostname);
if (in->tlsext_tick) {
}
if (in->tlsext_tick_lifetime_hint > 0)
as.tlsext_tick_lifetime_hint = in->tlsext_tick_lifetime_hint;
-#endif /* OPENSSL_NO_TLSEXT */
#ifndef OPENSSL_NO_PSK
ssl_session_sinit(&as.psk_identity_hint, &psk_identity_hint,
in->psk_identity_hint);
/* Utility functions for d2i_SSL_SESSION */
-/* BUF_strndup an OCTET STRING */
+/* OPENSSL_strndup an OCTET STRING */
static int ssl_session_strndup(char **pdst, ASN1_OCTET_STRING *src)
{
- if (*pdst) {
- OPENSSL_free(*pdst);
- *pdst = NULL;
- }
+ OPENSSL_free(*pdst);
+ *pdst = NULL;
if (src == NULL)
return 1;
- *pdst = BUF_strndup((char *)src->data, src->length);
+ *pdst = OPENSSL_strndup((char *)src->data, src->length);
if (*pdst == NULL)
return 0;
return 1;
if (as == NULL)
goto err;
- if (0) {
- i2d_SSL_SESSION_ASN1(NULL, NULL);
- }
-
if (!a || !*a) {
ret = SSL_SESSION_new();
if (ret == NULL)
ret->master_key_length = tmpl;
-#ifndef OPENSSL_NO_KRB5
- if (!ssl_session_memcpy(ret->krb5_client_princ, &ret->krb5_client_princ_len,
- as->krb5_princ, SSL_MAX_PRINCIPAL_LENGTH))
- goto err;
-#endif /* OPENSSL_NO_KRB5 */
-
if (as->time != 0)
ret->time = as->time;
else
/* NB: this defaults to zero which is X509_V_OK */
ret->verify_result = as->verify_result;
-#ifndef OPENSSL_NO_TLSEXT
if (!ssl_session_strndup(&ret->tlsext_hostname, as->tlsext_hostname))
goto err;
-#endif /* OPENSSL_NO_TLSEXT */
#ifndef OPENSSL_NO_PSK
if (!ssl_session_strndup(&ret->psk_identity_hint, as->psk_identity_hint))
goto err;
#endif
-#ifndef OPENSSL_NO_TLSEXT
ret->tlsext_tick_lifetime_hint = as->tlsext_tick_lifetime_hint;
if (as->tlsext_tick) {
ret->tlsext_tick = as->tlsext_tick->data;
} else {
ret->tlsext_tick = NULL;
}
-#endif /* OPENSSL_NO_TLSEXT */
#ifndef OPENSSL_NO_COMP
if (as->comp_id) {
if (as->comp_id->length != 1) {