Use return "" not set a var and return.

Reviewed-by: Emilia Käsper <emilia@openssl.org>
This commit is contained in:
Rich Salz 2016-03-22 10:52:13 -04:00
parent 1fab06a665
commit 475965f2ef
2 changed files with 146 additions and 305 deletions

View File

@ -250,44 +250,30 @@ void SSL_set_default_read_buffer_len(SSL *s, size_t len)
const char *SSL_rstate_string_long(const SSL *s) const char *SSL_rstate_string_long(const SSL *s)
{ {
const char *str;
switch (s->rlayer.rstate) { switch (s->rlayer.rstate) {
case SSL_ST_READ_HEADER: case SSL_ST_READ_HEADER:
str = "read header"; return "read header";
break;
case SSL_ST_READ_BODY: case SSL_ST_READ_BODY:
str = "read body"; return "read body";
break;
case SSL_ST_READ_DONE: case SSL_ST_READ_DONE:
str = "read done"; return "read done";
break;
default: default:
str = "unknown"; return "unknown";
break;
} }
return (str);
} }
const char *SSL_rstate_string(const SSL *s) const char *SSL_rstate_string(const SSL *s)
{ {
const char *str;
switch (s->rlayer.rstate) { switch (s->rlayer.rstate) {
case SSL_ST_READ_HEADER: case SSL_ST_READ_HEADER:
str = "RH"; return "RH";
break;
case SSL_ST_READ_BODY: case SSL_ST_READ_BODY:
str = "RB"; return "RB";
break;
case SSL_ST_READ_DONE: case SSL_ST_READ_DONE:
str = "RD"; return "RD";
break;
default: default:
str = "unknown"; return "unknown";
break;
} }
return (str);
} }
int ssl3_read_n(SSL *s, int n, int max, int extend, int clearold) int ssl3_read_n(SSL *s, int n, int max, int extend, int clearold)

View File

@ -86,448 +86,303 @@
const char *SSL_state_string_long(const SSL *s) const char *SSL_state_string_long(const SSL *s)
{ {
const char *str; if (ossl_statem_in_error(s))
if (ossl_statem_in_error(s)) {
return "error"; return "error";
}
switch (SSL_get_state(s)) { switch (SSL_get_state(s)) {
case TLS_ST_BEFORE: case TLS_ST_BEFORE:
str = "before SSL initialization"; return "before SSL initialization";
break;
case TLS_ST_OK: case TLS_ST_OK:
str = "SSL negotiation finished successfully"; return "SSL negotiation finished successfully";
break;
/* SSLv3 additions */
case TLS_ST_CW_CLNT_HELLO: case TLS_ST_CW_CLNT_HELLO:
str = "SSLv3/TLS write client hello"; return "SSLv3/TLS write client hello";
break;
case TLS_ST_CR_SRVR_HELLO: case TLS_ST_CR_SRVR_HELLO:
str = "SSLv3/TLS read server hello"; return "SSLv3/TLS read server hello";
break;
case TLS_ST_CR_CERT: case TLS_ST_CR_CERT:
str = "SSLv3/TLS read server certificate"; return "SSLv3/TLS read server certificate";
break;
case TLS_ST_CR_KEY_EXCH: case TLS_ST_CR_KEY_EXCH:
str = "SSLv3/TLS read server key exchange"; return "SSLv3/TLS read server key exchange";
break;
case TLS_ST_CR_CERT_REQ: case TLS_ST_CR_CERT_REQ:
str = "SSLv3/TLS read server certificate request"; return "SSLv3/TLS read server certificate request";
break;
case TLS_ST_CR_SESSION_TICKET: case TLS_ST_CR_SESSION_TICKET:
str = "SSLv3/TLS read server session ticket"; return "SSLv3/TLS read server session ticket";
break;
case TLS_ST_CR_SRVR_DONE: case TLS_ST_CR_SRVR_DONE:
str = "SSLv3/TLS read server done"; return "SSLv3/TLS read server done";
break;
case TLS_ST_CW_CERT: case TLS_ST_CW_CERT:
str = "SSLv3/TLS write client certificate"; return "SSLv3/TLS write client certificate";
break;
case TLS_ST_CW_KEY_EXCH: case TLS_ST_CW_KEY_EXCH:
str = "SSLv3/TLS write client key exchange"; return "SSLv3/TLS write client key exchange";
break;
case TLS_ST_CW_CERT_VRFY: case TLS_ST_CW_CERT_VRFY:
str = "SSLv3/TLS write certificate verify"; return "SSLv3/TLS write certificate verify";
break;
case TLS_ST_CW_CHANGE: case TLS_ST_CW_CHANGE:
case TLS_ST_SW_CHANGE: case TLS_ST_SW_CHANGE:
str = "SSLv3/TLS write change cipher spec"; return "SSLv3/TLS write change cipher spec";
break;
case TLS_ST_CW_FINISHED: case TLS_ST_CW_FINISHED:
case TLS_ST_SW_FINISHED: case TLS_ST_SW_FINISHED:
str = "SSLv3/TLS write finished"; return "SSLv3/TLS write finished";
break;
case TLS_ST_CR_CHANGE: case TLS_ST_CR_CHANGE:
case TLS_ST_SR_CHANGE: case TLS_ST_SR_CHANGE:
str = "SSLv3/TLS read change cipher spec"; return "SSLv3/TLS read change cipher spec";
break;
case TLS_ST_CR_FINISHED: case TLS_ST_CR_FINISHED:
case TLS_ST_SR_FINISHED: case TLS_ST_SR_FINISHED:
str = "SSLv3/TLS read finished"; return "SSLv3/TLS read finished";
break;
case TLS_ST_SR_CLNT_HELLO: case TLS_ST_SR_CLNT_HELLO:
str = "SSLv3/TLS read client hello"; return "SSLv3/TLS read client hello";
break;
case TLS_ST_SW_HELLO_REQ: case TLS_ST_SW_HELLO_REQ:
str = "SSLv3/TLS write hello request"; return "SSLv3/TLS write hello request";
break;
case TLS_ST_SW_SRVR_HELLO: case TLS_ST_SW_SRVR_HELLO:
str = "SSLv3/TLS write server hello"; return "SSLv3/TLS write server hello";
break;
case TLS_ST_SW_CERT: case TLS_ST_SW_CERT:
str = "SSLv3/TLS write certificate"; return "SSLv3/TLS write certificate";
break;
case TLS_ST_SW_KEY_EXCH: case TLS_ST_SW_KEY_EXCH:
str = "SSLv3/TLS write key exchange"; return "SSLv3/TLS write key exchange";
break;
case TLS_ST_SW_CERT_REQ: case TLS_ST_SW_CERT_REQ:
str = "SSLv3/TLS write certificate request"; return "SSLv3/TLS write certificate request";
break;
case TLS_ST_SW_SESSION_TICKET: case TLS_ST_SW_SESSION_TICKET:
str = "SSLv3/TLS write session ticket"; return "SSLv3/TLS write session ticket";
break;
case TLS_ST_SW_SRVR_DONE: case TLS_ST_SW_SRVR_DONE:
str = "SSLv3/TLS write server done"; return "SSLv3/TLS write server done";
break;
case TLS_ST_SR_CERT: case TLS_ST_SR_CERT:
str = "SSLv3/TLS read client certificate"; return "SSLv3/TLS read client certificate";
break;
case TLS_ST_SR_KEY_EXCH: case TLS_ST_SR_KEY_EXCH:
str = "SSLv3/TLS read client key exchange"; return "SSLv3/TLS read client key exchange";
break;
case TLS_ST_SR_CERT_VRFY: case TLS_ST_SR_CERT_VRFY:
str = "SSLv3/TLS read certificate verify"; return "SSLv3/TLS read certificate verify";
break;
/* DTLS */
case DTLS_ST_CR_HELLO_VERIFY_REQUEST: case DTLS_ST_CR_HELLO_VERIFY_REQUEST:
str = "DTLS1 read hello verify request"; return "DTLS1 read hello verify request";
break;
case DTLS_ST_SW_HELLO_VERIFY_REQUEST: case DTLS_ST_SW_HELLO_VERIFY_REQUEST:
str = "DTLS1 write hello verify request"; return "DTLS1 write hello verify request";
break;
default: default:
str = "unknown state"; return "unknown state";
break;
} }
return (str);
} }
const char *SSL_state_string(const SSL *s) const char *SSL_state_string(const SSL *s)
{ {
const char *str; if (ossl_statem_in_error(s))
if (ossl_statem_in_error(s)) {
return "SSLERR"; return "SSLERR";
}
switch (SSL_get_state(s)) { switch (SSL_get_state(s)) {
case TLS_ST_BEFORE: case TLS_ST_BEFORE:
str = "PINIT "; return "PINIT ";
break;
case TLS_ST_OK: case TLS_ST_OK:
str = "SSLOK "; return "SSLOK ";
break;
case TLS_ST_CW_CLNT_HELLO: case TLS_ST_CW_CLNT_HELLO:
str = "TWCH"; return "TWCH";
break;
case TLS_ST_CR_SRVR_HELLO: case TLS_ST_CR_SRVR_HELLO:
str = "TRSH"; return "TRSH";
break;
case TLS_ST_CR_CERT: case TLS_ST_CR_CERT:
str = "TRSC"; return "TRSC";
break;
case TLS_ST_CR_KEY_EXCH: case TLS_ST_CR_KEY_EXCH:
str = "TRSKE"; return "TRSKE";
break;
case TLS_ST_CR_CERT_REQ: case TLS_ST_CR_CERT_REQ:
str = "TRCR"; return "TRCR";
break;
case TLS_ST_CR_SRVR_DONE: case TLS_ST_CR_SRVR_DONE:
str = "TRSD"; return "TRSD";
break;
case TLS_ST_CW_CERT: case TLS_ST_CW_CERT:
str = "TWCC"; return "TWCC";
break;
case TLS_ST_CW_KEY_EXCH: case TLS_ST_CW_KEY_EXCH:
str = "TWCKE"; return "TWCKE";
break;
case TLS_ST_CW_CERT_VRFY: case TLS_ST_CW_CERT_VRFY:
str = "TWCV"; return "TWCV";
break;
case TLS_ST_SW_CHANGE: case TLS_ST_SW_CHANGE:
case TLS_ST_CW_CHANGE: case TLS_ST_CW_CHANGE:
str = "TWCCS"; return "TWCCS";
break;
case TLS_ST_SW_FINISHED: case TLS_ST_SW_FINISHED:
case TLS_ST_CW_FINISHED: case TLS_ST_CW_FINISHED:
str = "TWFIN"; return "TWFIN";
break;
case TLS_ST_SR_CHANGE: case TLS_ST_SR_CHANGE:
case TLS_ST_CR_CHANGE: case TLS_ST_CR_CHANGE:
str = "TRCCS"; return "TRCCS";
break;
case TLS_ST_SR_FINISHED: case TLS_ST_SR_FINISHED:
case TLS_ST_CR_FINISHED: case TLS_ST_CR_FINISHED:
str = "TRFIN"; return "TRFIN";
break;
case TLS_ST_SW_HELLO_REQ: case TLS_ST_SW_HELLO_REQ:
str = "TWHR"; return "TWHR";
break;
case TLS_ST_SR_CLNT_HELLO: case TLS_ST_SR_CLNT_HELLO:
str = "TRCH"; return "TRCH";
break;
case TLS_ST_SW_SRVR_HELLO: case TLS_ST_SW_SRVR_HELLO:
str = "TWSH"; return "TWSH";
break;
case TLS_ST_SW_CERT: case TLS_ST_SW_CERT:
str = "TWSC"; return "TWSC";
break;
case TLS_ST_SW_KEY_EXCH: case TLS_ST_SW_KEY_EXCH:
str = "TWSKE"; return "TWSKE";
break;
case TLS_ST_SW_CERT_REQ: case TLS_ST_SW_CERT_REQ:
str = "TWCR"; return "TWCR";
break;
case TLS_ST_SW_SRVR_DONE: case TLS_ST_SW_SRVR_DONE:
str = "TWSD"; return "TWSD";
break;
case TLS_ST_SR_CERT: case TLS_ST_SR_CERT:
str = "TRCC"; return "TRCC";
break;
case TLS_ST_SR_KEY_EXCH: case TLS_ST_SR_KEY_EXCH:
str = "TRCKE"; return "TRCKE";
break;
case TLS_ST_SR_CERT_VRFY: case TLS_ST_SR_CERT_VRFY:
str = "TRCV"; return "TRCV";
break;
/* DTLS */
case DTLS_ST_CR_HELLO_VERIFY_REQUEST: case DTLS_ST_CR_HELLO_VERIFY_REQUEST:
str = "DRCHV"; return "DRCHV";
break;
case DTLS_ST_SW_HELLO_VERIFY_REQUEST: case DTLS_ST_SW_HELLO_VERIFY_REQUEST:
str = "DWCHV"; return "DWCHV";
break;
default: default:
str = "UNKWN "; return "UNKWN ";
break;
} }
return (str);
} }
const char *SSL_alert_type_string_long(int value) const char *SSL_alert_type_string_long(int value)
{ {
value >>= 8; switch (value >> 8) {
if (value == SSL3_AL_WARNING) case SSL3_AL_WARNING:
return ("warning"); return "warning";
else if (value == SSL3_AL_FATAL) case SSL3_AL_FATAL:
return ("fatal"); return "fatal";
else default:
return ("unknown"); return "unknown";
}
} }
const char *SSL_alert_type_string(int value) const char *SSL_alert_type_string(int value)
{ {
value >>= 8; switch (value >> 8) {
if (value == SSL3_AL_WARNING) case SSL3_AL_WARNING:
return ("W"); return "W";
else if (value == SSL3_AL_FATAL) case SSL3_AL_FATAL:
return ("F"); return "F";
else default:
return ("U"); return "U";
}
} }
const char *SSL_alert_desc_string(int value) const char *SSL_alert_desc_string(int value)
{ {
const char *str;
switch (value & 0xff) { switch (value & 0xff) {
case SSL3_AD_CLOSE_NOTIFY: case SSL3_AD_CLOSE_NOTIFY:
str = "CN"; return "CN";
break;
case SSL3_AD_UNEXPECTED_MESSAGE: case SSL3_AD_UNEXPECTED_MESSAGE:
str = "UM"; return "UM";
break;
case SSL3_AD_BAD_RECORD_MAC: case SSL3_AD_BAD_RECORD_MAC:
str = "BM"; return "BM";
break;
case SSL3_AD_DECOMPRESSION_FAILURE: case SSL3_AD_DECOMPRESSION_FAILURE:
str = "DF"; return "DF";
break;
case SSL3_AD_HANDSHAKE_FAILURE: case SSL3_AD_HANDSHAKE_FAILURE:
str = "HF"; return "HF";
break;
case SSL3_AD_NO_CERTIFICATE: case SSL3_AD_NO_CERTIFICATE:
str = "NC"; return "NC";
break;
case SSL3_AD_BAD_CERTIFICATE: case SSL3_AD_BAD_CERTIFICATE:
str = "BC"; return "BC";
break;
case SSL3_AD_UNSUPPORTED_CERTIFICATE: case SSL3_AD_UNSUPPORTED_CERTIFICATE:
str = "UC"; return "UC";
break;
case SSL3_AD_CERTIFICATE_REVOKED: case SSL3_AD_CERTIFICATE_REVOKED:
str = "CR"; return "CR";
break;
case SSL3_AD_CERTIFICATE_EXPIRED: case SSL3_AD_CERTIFICATE_EXPIRED:
str = "CE"; return "CE";
break;
case SSL3_AD_CERTIFICATE_UNKNOWN: case SSL3_AD_CERTIFICATE_UNKNOWN:
str = "CU"; return "CU";
break;
case SSL3_AD_ILLEGAL_PARAMETER: case SSL3_AD_ILLEGAL_PARAMETER:
str = "IP"; return "IP";
break;
case TLS1_AD_DECRYPTION_FAILED: case TLS1_AD_DECRYPTION_FAILED:
str = "DC"; return "DC";
break;
case TLS1_AD_RECORD_OVERFLOW: case TLS1_AD_RECORD_OVERFLOW:
str = "RO"; return "RO";
break;
case TLS1_AD_UNKNOWN_CA: case TLS1_AD_UNKNOWN_CA:
str = "CA"; return "CA";
break;
case TLS1_AD_ACCESS_DENIED: case TLS1_AD_ACCESS_DENIED:
str = "AD"; return "AD";
break;
case TLS1_AD_DECODE_ERROR: case TLS1_AD_DECODE_ERROR:
str = "DE"; return "DE";
break;
case TLS1_AD_DECRYPT_ERROR: case TLS1_AD_DECRYPT_ERROR:
str = "CY"; return "CY";
break;
case TLS1_AD_EXPORT_RESTRICTION: case TLS1_AD_EXPORT_RESTRICTION:
str = "ER"; return "ER";
break;
case TLS1_AD_PROTOCOL_VERSION: case TLS1_AD_PROTOCOL_VERSION:
str = "PV"; return "PV";
break;
case TLS1_AD_INSUFFICIENT_SECURITY: case TLS1_AD_INSUFFICIENT_SECURITY:
str = "IS"; return "IS";
break;
case TLS1_AD_INTERNAL_ERROR: case TLS1_AD_INTERNAL_ERROR:
str = "IE"; return "IE";
break;
case TLS1_AD_USER_CANCELLED: case TLS1_AD_USER_CANCELLED:
str = "US"; return "US";
break;
case TLS1_AD_NO_RENEGOTIATION: case TLS1_AD_NO_RENEGOTIATION:
str = "NR"; return "NR";
break;
case TLS1_AD_UNSUPPORTED_EXTENSION: case TLS1_AD_UNSUPPORTED_EXTENSION:
str = "UE"; return "UE";
break;
case TLS1_AD_CERTIFICATE_UNOBTAINABLE: case TLS1_AD_CERTIFICATE_UNOBTAINABLE:
str = "CO"; return "CO";
break;
case TLS1_AD_UNRECOGNIZED_NAME: case TLS1_AD_UNRECOGNIZED_NAME:
str = "UN"; return "UN";
break;
case TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE: case TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE:
str = "BR"; return "BR";
break;
case TLS1_AD_BAD_CERTIFICATE_HASH_VALUE: case TLS1_AD_BAD_CERTIFICATE_HASH_VALUE:
str = "BH"; return "BH";
break;
case TLS1_AD_UNKNOWN_PSK_IDENTITY: case TLS1_AD_UNKNOWN_PSK_IDENTITY:
str = "UP"; return "UP";
break;
default: default:
str = "UK"; return "UK";
break;
} }
return (str);
} }
const char *SSL_alert_desc_string_long(int value) const char *SSL_alert_desc_string_long(int value)
{ {
const char *str;
switch (value & 0xff) { switch (value & 0xff) {
case SSL3_AD_CLOSE_NOTIFY: case SSL3_AD_CLOSE_NOTIFY:
str = "close notify"; return "close notify";
break;
case SSL3_AD_UNEXPECTED_MESSAGE: case SSL3_AD_UNEXPECTED_MESSAGE:
str = "unexpected_message"; return "unexpected_message";
break;
case SSL3_AD_BAD_RECORD_MAC: case SSL3_AD_BAD_RECORD_MAC:
str = "bad record mac"; return "bad record mac";
break;
case SSL3_AD_DECOMPRESSION_FAILURE: case SSL3_AD_DECOMPRESSION_FAILURE:
str = "decompression failure"; return "decompression failure";
break;
case SSL3_AD_HANDSHAKE_FAILURE: case SSL3_AD_HANDSHAKE_FAILURE:
str = "handshake failure"; return "handshake failure";
break;
case SSL3_AD_NO_CERTIFICATE: case SSL3_AD_NO_CERTIFICATE:
str = "no certificate"; return "no certificate";
break;
case SSL3_AD_BAD_CERTIFICATE: case SSL3_AD_BAD_CERTIFICATE:
str = "bad certificate"; return "bad certificate";
break;
case SSL3_AD_UNSUPPORTED_CERTIFICATE: case SSL3_AD_UNSUPPORTED_CERTIFICATE:
str = "unsupported certificate"; return "unsupported certificate";
break;
case SSL3_AD_CERTIFICATE_REVOKED: case SSL3_AD_CERTIFICATE_REVOKED:
str = "certificate revoked"; return "certificate revoked";
break;
case SSL3_AD_CERTIFICATE_EXPIRED: case SSL3_AD_CERTIFICATE_EXPIRED:
str = "certificate expired"; return "certificate expired";
break;
case SSL3_AD_CERTIFICATE_UNKNOWN: case SSL3_AD_CERTIFICATE_UNKNOWN:
str = "certificate unknown"; return "certificate unknown";
break;
case SSL3_AD_ILLEGAL_PARAMETER: case SSL3_AD_ILLEGAL_PARAMETER:
str = "illegal parameter"; return "illegal parameter";
break;
case TLS1_AD_DECRYPTION_FAILED: case TLS1_AD_DECRYPTION_FAILED:
str = "decryption failed"; return "decryption failed";
break;
case TLS1_AD_RECORD_OVERFLOW: case TLS1_AD_RECORD_OVERFLOW:
str = "record overflow"; return "record overflow";
break;
case TLS1_AD_UNKNOWN_CA: case TLS1_AD_UNKNOWN_CA:
str = "unknown CA"; return "unknown CA";
break;
case TLS1_AD_ACCESS_DENIED: case TLS1_AD_ACCESS_DENIED:
str = "access denied"; return "access denied";
break;
case TLS1_AD_DECODE_ERROR: case TLS1_AD_DECODE_ERROR:
str = "decode error"; return "decode error";
break;
case TLS1_AD_DECRYPT_ERROR: case TLS1_AD_DECRYPT_ERROR:
str = "decrypt error"; return "decrypt error";
break;
case TLS1_AD_EXPORT_RESTRICTION: case TLS1_AD_EXPORT_RESTRICTION:
str = "export restriction"; return "export restriction";
break;
case TLS1_AD_PROTOCOL_VERSION: case TLS1_AD_PROTOCOL_VERSION:
str = "protocol version"; return "protocol version";
break;
case TLS1_AD_INSUFFICIENT_SECURITY: case TLS1_AD_INSUFFICIENT_SECURITY:
str = "insufficient security"; return "insufficient security";
break;
case TLS1_AD_INTERNAL_ERROR: case TLS1_AD_INTERNAL_ERROR:
str = "internal error"; return "internal error";
break;
case TLS1_AD_USER_CANCELLED: case TLS1_AD_USER_CANCELLED:
str = "user canceled"; return "user canceled";
break;
case TLS1_AD_NO_RENEGOTIATION: case TLS1_AD_NO_RENEGOTIATION:
str = "no renegotiation"; return "no renegotiation";
break;
case TLS1_AD_UNSUPPORTED_EXTENSION: case TLS1_AD_UNSUPPORTED_EXTENSION:
str = "unsupported extension"; return "unsupported extension";
break;
case TLS1_AD_CERTIFICATE_UNOBTAINABLE: case TLS1_AD_CERTIFICATE_UNOBTAINABLE:
str = "certificate unobtainable"; return "certificate unobtainable";
break;
case TLS1_AD_UNRECOGNIZED_NAME: case TLS1_AD_UNRECOGNIZED_NAME:
str = "unrecognized name"; return "unrecognized name";
break;
case TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE: case TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE:
str = "bad certificate status response"; return "bad certificate status response";
break;
case TLS1_AD_BAD_CERTIFICATE_HASH_VALUE: case TLS1_AD_BAD_CERTIFICATE_HASH_VALUE:
str = "bad certificate hash value"; return "bad certificate hash value";
break;
case TLS1_AD_UNKNOWN_PSK_IDENTITY: case TLS1_AD_UNKNOWN_PSK_IDENTITY:
str = "unknown PSK identity"; return "unknown PSK identity";
break;
default: default:
str = "unknown"; return "unknown";
break;
} }
return (str);
} }