Check other names when FFDHE returns NULL

This commit is contained in:
kaleb-himes
2019-06-21 09:27:15 -06:00
parent ce251417f5
commit 49a631996c

View File

@@ -16522,27 +16522,34 @@ static const char* wolfssl_ffdhe_name(word16 group)
*/ */
const char* wolfSSL_get_curve_name(WOLFSSL* ssl) const char* wolfSSL_get_curve_name(WOLFSSL* ssl)
{ {
const char* cName = NULL;
if (ssl == NULL) if (ssl == NULL)
return NULL; return NULL;
#ifdef HAVE_FFDHE #ifdef HAVE_FFDHE
if (ssl->namedGroup != 0) if (ssl->namedGroup != 0) {
return wolfssl_ffdhe_name(ssl->namedGroup); cName = wolfssl_ffdhe_name(ssl->namedGroup);
}
#endif #endif
if (cName == NULL) {
#ifdef HAVE_CURVE25519 #ifdef HAVE_CURVE25519
if (ssl->ecdhCurveOID == ECC_X25519_OID) if (ssl->ecdhCurveOID == ECC_X25519_OID) {
return "X25519"; cName = "X25519";
}
#endif #endif
#ifdef HAVE_ECC #ifdef HAVE_ECC
if (ssl->ecdhCurveOID == 0) if (ssl->ecdhCurveOID != 0 && cName == NULL) {
return NULL; cName = wc_ecc_get_name(wc_ecc_get_oid(ssl->ecdhCurveOID, NULL,
return wc_ecc_get_name(wc_ecc_get_oid(ssl->ecdhCurveOID, NULL, NULL)); NULL));
#else }
return NULL;
#endif #endif
} }
return cName;
}
#endif #endif