From 281b955b43e5aea756d8757ddc92f4fbb68e15a6 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Thu, 21 Feb 2002 20:42:27 +0000 Subject: Added gnutls_alert_str (allows printing alert number descriptions) --- lib/debug.c | 87 ++--------------------------------------------------- lib/debug.h | 5 ++-- lib/gnutls.h.in.in | 1 + lib/gnutls_alert.c | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 93 insertions(+), 88 deletions(-) (limited to 'lib') diff --git a/lib/debug.c b/lib/debug.c index 32e65b3617..8e048153d2 100644 --- a/lib/debug.c +++ b/lib/debug.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000 Nikos Mavroyanopoulos + * Copyright (C) 2000,2002 Nikos Mavroyanopoulos * * This file is part of GNUTLS. * @@ -70,89 +70,8 @@ void _gnutls_print_state(GNUTLS_STATE state) } -const char* _gnutls_alert2str( int alert) { -static char str[512]; - - switch(alert) { - case GNUTLS_A_CLOSE_NOTIFY: - strcpy(str, "Close Notify"); - break; - case GNUTLS_A_UNEXPECTED_MESSAGE: - strcpy(str, "Unexpected message"); - break; - case GNUTLS_A_BAD_RECORD_MAC: - strcpy(str, "Bad record MAC"); - break; - - case GNUTLS_A_DECRYPTION_FAILED: - strcpy(str, "Decryption Failed"); - break; - case GNUTLS_A_RECORD_OVERFLOW: - strcpy(str, "Record Overflow"); - break; - - case GNUTLS_A_DECOMPRESSION_FAILURE: - strcpy(str, "Decompression Failed"); - break; - - case GNUTLS_A_HANDSHAKE_FAILURE: - strcpy(str, "Handshake failed"); - break; - case GNUTLS_A_BAD_CERTIFICATE: - strcpy(str, "Certificate is bad"); - break; - case GNUTLS_A_UNSUPPORTED_CERTIFICATE: - strcpy(str, "Certificate is not supported"); - break; - case GNUTLS_A_CERTIFICATE_REVOKED: - strcpy(str, "Certificate was revoked"); - break; - case GNUTLS_A_CERTIFICATE_EXPIRED: - strcpy(str, "Certificate is expired"); - break; - case GNUTLS_A_CERTIFICATE_UNKNOWN: - strcpy(str, "Unknown Certificate"); - break; - case GNUTLS_A_ILLEGAL_PARAMETER: - strcpy(str, "Illegal Parameter"); - break; - case GNUTLS_A_UNKNOWN_CA: - strcpy(str, "CA is not known"); - break; - case GNUTLS_A_ACCESS_DENIED: - strcpy(str, "Access was denied"); - break; - case GNUTLS_A_DECODE_ERROR: - strcpy(str, "Decode error"); - break; - case GNUTLS_A_DECRYPT_ERROR: - strcpy(str, "Decrypt error"); - break; - case GNUTLS_A_EXPORT_RESTRICTION: - strcpy(str, "Export Restriction"); - break; - case GNUTLS_A_PROTOCOL_VERSION: - strcpy(str, "Error in protocol version"); - break; - case GNUTLS_A_INSUFFICIENT_SECURITY: - strcpy(str, "Insufficient Security"); - break; - case GNUTLS_A_USER_CANCELED: - strcpy(str, "User Canceled"); - break; - case GNUTLS_A_NO_RENEGOTIATION: - strcpy(str, "No renegotiation is allowed"); - break; - default: - strcpy(str, "Unknown Alert"); - - } - return str; - -} - -char* _gnutls_packet2str( int packet) { +const char* _gnutls_packet2str( int packet) { static char str[512]; switch(packet) { @@ -177,7 +96,7 @@ static char str[512]; } -char* _gnutls_handshake2str( int handshake) { +const char* _gnutls_handshake2str( int handshake) { static char str[512]; switch(handshake) { diff --git a/lib/debug.h b/lib/debug.h index f95145d84d..471f94f36d 100644 --- a/lib/debug.h +++ b/lib/debug.h @@ -22,8 +22,7 @@ void _gnutls_print_state(GNUTLS_STATE state); char * _gnutls_bin2hex(const unsigned char *old, const size_t oldlen); void _gnutls_dump_mpi(char* prefix,MPI a); -char* _gnutls_packet2str( int packet); -char* _gnutls_alert2str( int alert); -char* _gnutls_handshake2str( int handshake); +const char* _gnutls_packet2str( int packet); +const char* _gnutls_handshake2str( int handshake); char* GET_CN( gnutls_datum); #endif diff --git a/lib/gnutls.h.in.in b/lib/gnutls.h.in.in index ceff03b222..f936b7d436 100644 --- a/lib/gnutls.h.in.in +++ b/lib/gnutls.h.in.in @@ -108,6 +108,7 @@ int gnutls_rehandshake( GNUTLS_STATE state); GNUTLS_AlertDescription gnutls_alert_get_last( GNUTLS_STATE state); int gnutls_alert_send( GNUTLS_STATE, GNUTLS_AlertLevel, GNUTLS_AlertDescription); int gnutls_alert_send_appropriate( GNUTLS_STATE state, int err); +const char* gnutls_alert_str( int alert); /* get information on the current state */ GNUTLS_BulkCipherAlgorithm gnutls_cipher_get( GNUTLS_STATE state); diff --git a/lib/gnutls_alert.c b/lib/gnutls_alert.c index 1aa4bd6e2e..b8e8f6602e 100644 --- a/lib/gnutls_alert.c +++ b/lib/gnutls_alert.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2000,2001 Nikos Mavroyanopoulos + * Copyright (C) 2000,2001,2002 Nikos Mavroyanopoulos * * This file is part of GNUTLS. * @@ -127,3 +127,89 @@ int ret = GNUTLS_E_UNIMPLEMENTED_FEATURE; GNUTLS_AlertDescription gnutls_alert_get_last( GNUTLS_STATE state) { return state->gnutls_internals.last_alert; } + +/** + * gnutls_alert_str - Returns a string describing the alert number given + * @alert: is an alert number &GNUTLS_STATE structure. + * + * Returns a string that describes the given alert number. + * See. gnutls_alert_get_last(). + * + **/ +const char* gnutls_alert_str( int alert) { + + switch(alert) { + case GNUTLS_A_CLOSE_NOTIFY: + return "Close Notify"; + break; + case GNUTLS_A_UNEXPECTED_MESSAGE: + return "Unexpected message"; + break; + case GNUTLS_A_BAD_RECORD_MAC: + return "Bad record MAC"; + break; + + case GNUTLS_A_DECRYPTION_FAILED: + return "Decryption Failed"; + break; + case GNUTLS_A_RECORD_OVERFLOW: + return "Record Overflow"; + break; + + case GNUTLS_A_DECOMPRESSION_FAILURE: + return "Decompression Failed"; + break; + + case GNUTLS_A_HANDSHAKE_FAILURE: + return "Handshake failed"; + break; + case GNUTLS_A_BAD_CERTIFICATE: + return "Certificate is bad"; + break; + case GNUTLS_A_UNSUPPORTED_CERTIFICATE: + return "Certificate is not supported"; + break; + case GNUTLS_A_CERTIFICATE_REVOKED: + return "Certificate was revoked"; + break; + case GNUTLS_A_CERTIFICATE_EXPIRED: + return "Certificate is expired"; + break; + case GNUTLS_A_CERTIFICATE_UNKNOWN: + return "Unknown Certificate"; + break; + case GNUTLS_A_ILLEGAL_PARAMETER: + return "Illegal Parameter"; + break; + case GNUTLS_A_UNKNOWN_CA: + return "CA is not known"; + break; + case GNUTLS_A_ACCESS_DENIED: + return "Access was denied"; + break; + case GNUTLS_A_DECODE_ERROR: + return "Decode error"; + break; + case GNUTLS_A_DECRYPT_ERROR: + return "Decrypt error"; + break; + case GNUTLS_A_EXPORT_RESTRICTION: + return "Export Restriction"; + break; + case GNUTLS_A_PROTOCOL_VERSION: + return "Error in protocol version"; + break; + case GNUTLS_A_INSUFFICIENT_SECURITY: + return "Insufficient Security"; + break; + case GNUTLS_A_USER_CANCELED: + return "User Canceled"; + break; + case GNUTLS_A_NO_RENEGOTIATION: + return "No renegotiation is allowed"; + break; + default: + return "Unknown Alert"; + + } +} -- cgit v1.2.1