set dynamic flag when wolfSSL_ASN1_OBJECT_new()

This commit is contained in:
Takashi Kojo
2018-07-22 12:27:05 +09:00
committed by Go Hosohara
parent 511b59cf73
commit 89dcbd6693

View File

@@ -6934,6 +6934,7 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
} }
obj->type = BASIC_CA_OID; obj->type = BASIC_CA_OID;
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
} }
else { else {
WOLFSSL_MSG("No Basic Constraint set"); WOLFSSL_MSG("No Basic Constraint set");
@@ -6966,6 +6967,8 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
obj->type = dns->type; obj->type = dns->type;
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = (byte*)dns->name; obj->obj = (byte*)dns->name;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA ;
/* set app derefrenced pointers */ /* set app derefrenced pointers */
obj->d.ia5_internal.data = dns->name; obj->d.ia5_internal.data = dns->name;
@@ -7004,6 +7007,8 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = x509->CRLInfo; obj->obj = x509->CRLInfo;
obj->objSz = x509->CRLInfoSz; obj->objSz = x509->CRLInfoSz;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA ;
} }
else { else {
WOLFSSL_MSG("No CRL dist set"); WOLFSSL_MSG("No CRL dist set");
@@ -7025,6 +7030,8 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = x509->authInfo; obj->obj = x509->authInfo;
obj->objSz = x509->authInfoSz; obj->objSz = x509->authInfoSz;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
} }
else { else {
WOLFSSL_MSG("No Auth Info set"); WOLFSSL_MSG("No Auth Info set");
@@ -7046,6 +7053,8 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = x509->authKeyId; obj->obj = x509->authKeyId;
obj->objSz = x509->authKeyIdSz; obj->objSz = x509->authKeyIdSz;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
} }
else { else {
WOLFSSL_MSG("No Auth Key set"); WOLFSSL_MSG("No Auth Key set");
@@ -7067,6 +7076,8 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = x509->subjKeyId; obj->obj = x509->subjKeyId;
obj->objSz = x509->subjKeyIdSz; obj->objSz = x509->subjKeyIdSz;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
} }
else { else {
WOLFSSL_MSG("No Subject Key set"); WOLFSSL_MSG("No Subject Key set");
@@ -7099,6 +7110,8 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = (byte*)(x509->certPolicies[i]); obj->obj = (byte*)(x509->certPolicies[i]);
obj->objSz = MAX_CERTPOL_SZ; obj->objSz = MAX_CERTPOL_SZ;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
if (wolfSSL_sk_ASN1_OBJECT_push(sk, obj) if (wolfSSL_sk_ASN1_OBJECT_push(sk, obj)
!= WOLFSSL_SUCCESS) { != WOLFSSL_SUCCESS) {
WOLFSSL_MSG("Error pushing ASN1 object onto stack"); WOLFSSL_MSG("Error pushing ASN1 object onto stack");
@@ -7117,6 +7130,8 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = (byte*)(x509->certPolicies[i]); obj->obj = (byte*)(x509->certPolicies[i]);
obj->objSz = MAX_CERTPOL_SZ; obj->objSz = MAX_CERTPOL_SZ;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
} }
else { else {
WOLFSSL_MSG("No Cert Policy set"); WOLFSSL_MSG("No Cert Policy set");
@@ -7136,6 +7151,7 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
} }
obj->type = CERT_POLICY_OID; obj->type = CERT_POLICY_OID;
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
} }
else { else {
WOLFSSL_MSG("No Cert Policy set"); WOLFSSL_MSG("No Cert Policy set");
@@ -7161,6 +7177,8 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = (byte*)&(x509->keyUsage); obj->obj = (byte*)&(x509->keyUsage);
obj->objSz = sizeof(word16); obj->objSz = sizeof(word16);
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
} }
else { else {
WOLFSSL_MSG("No Key Usage set"); WOLFSSL_MSG("No Key Usage set");
@@ -7191,6 +7209,8 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = x509->extKeyUsageSrc; obj->obj = x509->extKeyUsageSrc;
obj->objSz = x509->extKeyUsageSz; obj->objSz = x509->extKeyUsageSz;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
} }
else { else {
WOLFSSL_MSG("No Extended Key Usage set"); WOLFSSL_MSG("No Extended Key Usage set");
@@ -30182,9 +30202,9 @@ void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl)
WOLFSSL_MSG("Issue creating WOLFSSL_ASN1_OBJECT struct"); WOLFSSL_MSG("Issue creating WOLFSSL_ASN1_OBJECT struct");
return NULL; return NULL;
} }
obj->dynamic = WOLFSSL_ASN1_DYNAMIC; obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
} else { } else {
obj->dynamic = 0; obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC;
} }
obj->type = id; obj->type = id;
obj->grp = type; obj->grp = type;