correct wolfSSL_get_state() by code review suggestion.

This commit is contained in:
Go Hosohara
2017-07-06 11:59:45 +09:00
committed by Jacob Barthelmeh
parent eb9c225304
commit 54a006f47d
2 changed files with 22 additions and 9 deletions

View File

@@ -15145,13 +15145,18 @@ static void ExternalFreeX509(WOLFSSL_X509* x509)
/* these index values are already stored in DecodedName
use those when available */
if (name->fullName.fullName && name->fullName.fullNameLen > 0) {
printf("NID = %x\n",nid);
switch (nid) {
case ASN_COMMON_NAME:
if (pos != name->fullName.cnIdx)
ret = name->fullName.cnIdx;
break;
case NID_domainComponent:
case ASN_DOMAIN_COMPONENT:
if (pos != name->fullName.dcIdx)
ret = name->fullName.dcIdx;
printf("domain_component = %s\n",name->fullName.fullName + name->fullName.dcIdx);
printf("domain_component Idx = %d\n",name->fullName.dcIdx);
printf("domain_component Len = %d\n",name->fullName.dcLen);
break;
default:
WOLFSSL_MSG("NID not yet implemented");
@@ -29324,6 +29329,14 @@ void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl)
name->cnEntry.nid = ASN_COMMON_NAME;
name->cnEntry.set = 1;
return &(name->cnEntry);
} else if (loc == name->fullName.dcIdx){
printf("domain = %s\n",name->x509->subjectCN);
name->cnEntry.data.data = name->x509->subjectCN;
name->cnEntry.data.length = name->fullName.dcLen;
name->cnEntry.data.type = CTC_UTF8;
name->cnEntry.nid = ASN_DOMAIN_COMPONENT;
name->cnEntry.set = 1;
return &(name->cnEntry);
}
/* additionall cases to check for go here */
@@ -30088,6 +30101,13 @@ int wolfSSL_get_state(const WOLFSSL* ssl)
return SSL_FAILURE;
}
if (ssl->options.handShakeState != HANDSHAKE_DONE){
if (ssl->options.side == WOLFSSL_SERVER_END)
return ssl->options.serverState;
else if (ssl->options.side == WOLFSSL_CLIENT_END)
return ssl->options.clientState;
}
return ssl->options.handShakeState;
}
#endif /* HAVE_LIGHTY || HAVE_STUNNEL || WOLFSSL_MYSQL_COMPATIBLE */