X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=ssl%2Fssl_stat.c;h=144b81e55fe41ffc267b8c8ab6aff202ccdbbd98;hb=a54ce007e677ddd3a0cc4a3e4b47e823076117fa;hp=e8b4f56aae73a2e4a85373eff917d1f0d26333a4;hpb=a403188f92101512d4d3e45bc7b8e047d283d9d2;p=oweals%2Fopenssl.git diff --git a/ssl/ssl_stat.c b/ssl/ssl_stat.c index e8b4f56aae..144b81e55f 100644 --- a/ssl/ssl_stat.c +++ b/ssl/ssl_stat.c @@ -55,13 +55,39 @@ * copied and put under another distribution licence * [including the GNU Public Licence.] */ +/* ==================================================================== + * Copyright 2005 Nokia. All rights reserved. + * + * The portions of the attached software ("Contribution") is developed by + * Nokia Corporation and is licensed pursuant to the OpenSSL open source + * license. + * + * The Contribution, originally written by Mika Kousa and Pasi Eronen of + * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites + * support (see RFC 4279) to OpenSSL. + * + * No patent licenses or other rights except those expressly stated in + * the OpenSSL open source license shall be deemed granted or received + * expressly, by implication, estoppel, or otherwise. + * + * No assurances are provided by Nokia that the Contribution does not + * infringe the patent or other intellectual property rights of any third + * party or that the license provides you with all the necessary rights + * to make use of the Contribution. + * + * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN + * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA + * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY + * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR + * OTHERWISE. + */ #include #include "ssl_locl.h" -char *SSL_state_string_long(SSL *s) +const char *SSL_state_string_long(const SSL *s) { - char *str; + const char *str; switch (s->state) { @@ -127,6 +153,8 @@ case SSL3_ST_CR_KEY_EXCH_A: str="SSLv3 read server key exchange A"; break; case SSL3_ST_CR_KEY_EXCH_B: str="SSLv3 read server key exchange B"; break; case SSL3_ST_CR_CERT_REQ_A: str="SSLv3 read server certificate request A"; break; case SSL3_ST_CR_CERT_REQ_B: str="SSLv3 read server certificate request B"; break; +case SSL3_ST_CR_SESSION_TICKET_A: str="SSLv3 read server session ticket A";break; +case SSL3_ST_CR_SESSION_TICKET_B: str="SSLv3 read server session ticket B";break; case SSL3_ST_CR_SRVR_DONE_A: str="SSLv3 read server done A"; break; case SSL3_ST_CR_SRVR_DONE_B: str="SSLv3 read server done B"; break; case SSL3_ST_CW_CERT_A: str="SSLv3 write client certificate A"; break; @@ -172,6 +200,8 @@ case SSL3_ST_SW_KEY_EXCH_A: str="SSLv3 write key exchange A"; break; case SSL3_ST_SW_KEY_EXCH_B: str="SSLv3 write key exchange B"; break; case SSL3_ST_SW_CERT_REQ_A: str="SSLv3 write certificate request A"; break; case SSL3_ST_SW_CERT_REQ_B: str="SSLv3 write certificate request B"; break; +case SSL3_ST_SW_SESSION_TICKET_A: str="SSLv3 write session ticket A"; break; +case SSL3_ST_SW_SESSION_TICKET_B: str="SSLv3 write session ticket B"; break; case SSL3_ST_SW_SRVR_DONE_A: str="SSLv3 write server done A"; break; case SSL3_ST_SW_SRVR_DONE_B: str="SSLv3 write server done B"; break; case SSL3_ST_SR_CERT_A: str="SSLv3 read client certificate A"; break; @@ -194,14 +224,20 @@ case SSL23_ST_SR_CLNT_HELLO_A: str="SSLv2/v3 read client hello A"; break; case SSL23_ST_SR_CLNT_HELLO_B: str="SSLv2/v3 read client hello B"; break; #endif +/* DTLS */ +case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A: str="DTLS1 read hello verify request A"; break; +case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B: str="DTLS1 read hello verify request B"; break; +case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A: str="DTLS1 write hello verify request A"; break; +case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B: str="DTLS1 write hello verify request B"; break; + default: str="unknown state"; break; } return(str); } -char *SSL_rstate_string_long(SSL *s) +const char *SSL_rstate_string_long(const SSL *s) { - char *str; + const char *str; switch (s->rstate) { @@ -213,9 +249,9 @@ char *SSL_rstate_string_long(SSL *s) return(str); } -char *SSL_state_string(SSL *s) +const char *SSL_state_string(const SSL *s) { - char *str; + const char *str; switch (s->state) { @@ -341,13 +377,18 @@ case SSL23_ST_CR_SRVR_HELLO_B: str="23RSHA"; break; case SSL23_ST_SR_CLNT_HELLO_A: str="23RCHA"; break; case SSL23_ST_SR_CLNT_HELLO_B: str="23RCHB"; break; #endif +/* DTLS */ +case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A: str="DRCHVA"; break; +case DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B: str="DRCHVB"; break; +case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A: str="DWCHVA"; break; +case DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B: str="DWCHVB"; break; default: str="UNKWN "; break; } return(str); } -char *SSL_alert_type_string_long(int value) +const char *SSL_alert_type_string_long(int value) { value>>=8; if (value == SSL3_AL_WARNING) @@ -358,7 +399,7 @@ char *SSL_alert_type_string_long(int value) return("unknown"); } -char *SSL_alert_type_string(int value) +const char *SSL_alert_type_string(int value) { value>>=8; if (value == SSL3_AL_WARNING) @@ -369,9 +410,9 @@ char *SSL_alert_type_string(int value) return("U"); } -char *SSL_alert_desc_string(int value) +const char *SSL_alert_desc_string(int value) { - char *str; + const char *str; switch (value & 0xff) { @@ -387,26 +428,32 @@ char *SSL_alert_desc_string(int value) case SSL3_AD_CERTIFICATE_EXPIRED: str="CE"; break; case SSL3_AD_CERTIFICATE_UNKNOWN: str="CU"; break; case SSL3_AD_ILLEGAL_PARAMETER: str="IP"; break; - case TLS1_AD_DECRYPTION_FAILED str="DC"; break; - case TLS1_AD_RECORD_OVERFLOW str="RO"; break; - case TLS1_AD_UNKNOWN_CA str="CA"; break; - case TLS1_AD_ACCESS_DENIED str="AD"; break; - case TLS1_AD_DECODE_ERROR str="DE"; break; - case TLS1_AD_DECRYPT_ERROR str="CY"; break; - case TLS1_AD_EXPORT_RESTRICTION str="ER"; break; - case TLS1_AD_PROTOCOL_VERSION str="PV"; break; - case TLS1_AD_INSUFFICIENT_SECURITY str="IS"; break; - case TLS1_AD_INTERNAL_ERROR str="IE"; break; - case TLS1_AD_USER_CANCELLED str="US"; break; - case TLS1_AD_NO_RENEGOTIATION str="NR"; break; + case TLS1_AD_DECRYPTION_FAILED: str="DC"; break; + case TLS1_AD_RECORD_OVERFLOW: str="RO"; break; + case TLS1_AD_UNKNOWN_CA: str="CA"; break; + case TLS1_AD_ACCESS_DENIED: str="AD"; break; + case TLS1_AD_DECODE_ERROR: str="DE"; break; + case TLS1_AD_DECRYPT_ERROR: str="CY"; break; + case TLS1_AD_EXPORT_RESTRICTION: str="ER"; break; + case TLS1_AD_PROTOCOL_VERSION: str="PV"; break; + case TLS1_AD_INSUFFICIENT_SECURITY: str="IS"; break; + case TLS1_AD_INTERNAL_ERROR: str="IE"; break; + case TLS1_AD_USER_CANCELLED: str="US"; break; + case TLS1_AD_NO_RENEGOTIATION: str="NR"; break; + case TLS1_AD_UNSUPPORTED_EXTENSION: str="UE"; break; + case TLS1_AD_CERTIFICATE_UNOBTAINABLE: str="CO"; break; + case TLS1_AD_UNRECOGNIZED_NAME: str="UN"; break; + case TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE: str="BR"; break; + case TLS1_AD_BAD_CERTIFICATE_HASH_VALUE: str="BH"; break; + case TLS1_AD_UNKNOWN_PSK_IDENTITY: str="UP"; break; default: str="UK"; break; } return(str); } -char *SSL_alert_desc_string_long(int value) +const char *SSL_alert_desc_string_long(int value) { - char *str; + const char *str; switch (value & 0xff) { @@ -446,50 +493,68 @@ char *SSL_alert_desc_string_long(int value) case SSL3_AD_ILLEGAL_PARAMETER: str="illegal parameter"; break; - case TLS1_AD_DECRYPTION_FAILED + case TLS1_AD_DECRYPTION_FAILED: str="decryption failed"; break; - case TLS1_AD_RECORD_OVERFLOW + case TLS1_AD_RECORD_OVERFLOW: str="record overflow"; break; - case TLS1_AD_UNKNOWN_CA + case TLS1_AD_UNKNOWN_CA: str="unknown CA"; break; - case TLS1_AD_ACCESS_DENIED + case TLS1_AD_ACCESS_DENIED: str="access denied"; break; - case TLS1_AD_DECODE_ERROR + case TLS1_AD_DECODE_ERROR: str="decode error"; break; - case TLS1_AD_DECRYPT_ERROR + case TLS1_AD_DECRYPT_ERROR: str="decrypt error"; break; - case TLS1_AD_EXPORT_RESTRICTION + case TLS1_AD_EXPORT_RESTRICTION: str="export restriction"; break; - case TLS1_AD_PROTOCOL_VERSION + case TLS1_AD_PROTOCOL_VERSION: str="protocol version"; break; - case TLS1_AD_INSUFFICIENT_SECURITY + case TLS1_AD_INSUFFICIENT_SECURITY: str="insufficient security"; break; - case TLS1_AD_INTERNAL_ERROR + case TLS1_AD_INTERNAL_ERROR: str="internal error"; break; - case TLS1_AD_USER_CANCELLED + case TLS1_AD_USER_CANCELLED: str="user canceled"; break; - case TLS1_AD_NO_RENEGOTIATION + case TLS1_AD_NO_RENEGOTIATION: str="no renegotiation"; break; + case TLS1_AD_UNSUPPORTED_EXTENSION: + str="unsupported extension"; + break; + case TLS1_AD_CERTIFICATE_UNOBTAINABLE: + str="certificate unobtainable"; + break; + case TLS1_AD_UNRECOGNIZED_NAME: + str="unrecognized name"; + break; + case TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE: + str="bad certificate status response"; + break; + case TLS1_AD_BAD_CERTIFICATE_HASH_VALUE: + str="bad certificate hash value"; + break; + case TLS1_AD_UNKNOWN_PSK_IDENTITY: + str="unknown PSK identity"; + break; default: str="unknown"; break; } return(str); } -char *SSL_rstate_string(SSL *s) +const char *SSL_rstate_string(const SSL *s) { - char *str; + const char *str; switch (s->rstate) {