Add unique error codes to verify failures

This commit is contained in:
Eric Blankenhorn
2019-11-14 16:02:02 -06:00
parent caaab11f60
commit 8c6c4e2432
2 changed files with 7 additions and 4 deletions

View File

@@ -9351,7 +9351,7 @@ static int DoVerifyCallback(WOLFSSL* ssl, int ret, ProcPeerCertArgs* args)
if (args->dCert->altNames != NULL) {
if (CheckAltNames(args->dCert, ssl->param->hostName) == 0 ) {
if (ret == 0) {
ret = VERIFY_CERT_ERROR;
ret = DOMAIN_NAME_MISMATCH;
}
}
}
@@ -9361,7 +9361,7 @@ static int DoVerifyCallback(WOLFSSL* ssl, int ret, ProcPeerCertArgs* args)
args->dCert->subjectCNLen,
ssl->param->hostName) == 0) {
if (ret == 0) {
ret = VERIFY_CERT_ERROR;
ret = DOMAIN_NAME_MISMATCH;
}
}
}
@@ -9373,7 +9373,7 @@ static int DoVerifyCallback(WOLFSSL* ssl, int ret, ProcPeerCertArgs* args)
(ssl->param != NULL) && (XSTRLEN(ssl->param->ipasc) > 0)) {
if (CheckIPAddr(args->dCert, ssl->param->ipasc) != 0) {
if (ret == 0) {
ret = VERIFY_CERT_ERROR;
ret = IPADDR_MISMATCH;
}
}
}
@@ -16863,6 +16863,9 @@ const char* wolfSSL_ERR_reason_error_string(unsigned long e)
case DOMAIN_NAME_MISMATCH :
return "peer subject name mismatch";
case IPADDR_MISMATCH :
return "peer ip address mismatch";
case WANT_READ :
case WOLFSSL_ERROR_WANT_READ :
return "non-blocking socket wants data to be read";

View File

@@ -57,7 +57,7 @@ enum wolfSSL_ErrorCodes {
DOMAIN_NAME_MISMATCH = -322, /* peer subject name mismatch */
WANT_READ = -323, /* want read, call again */
NOT_READY_ERROR = -324, /* handshake layer not ready */
IPADDR_MISMATCH = -325, /* peer ip address mismatch */
VERSION_ERROR = -326, /* record layer version error */
WANT_WRITE = -327, /* want write, call again */
BUFFER_ERROR = -328, /* malformed buffer input */