2 * Copyright (C) 2001-2012 Free Software Foundation, Inc.
4 * Author: Nikos Mavrogiannopoulos
6 * This file is part of GnuTLS.
8 * The GnuTLS is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation; either version 3 of
11 * the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>
23 #include "gnutls_int.h"
24 #include "gnutls_errors.h"
28 #include <gnutls_mpi.h>
32 _gnutls_dump_mpi (const char *prefix, bigint_t a)
35 char buf_hex[2 * sizeof (buf)];
36 size_t n = sizeof buf;
38 if (_gnutls_mpi_print (a, buf, &n))
39 strcpy (buf, "[can't print value]"); /* Flawfinder: ignore */
40 _gnutls_debug_log ("MPI: length: %d\n\t%s%s\n", (int) n, prefix,
41 _gnutls_bin2hex (buf, n, buf_hex, sizeof (buf_hex),
47 _gnutls_packet2str (content_type_t packet)
51 case GNUTLS_CHANGE_CIPHER_SPEC:
52 return "ChangeCipherSpec";
55 case GNUTLS_HANDSHAKE:
57 case GNUTLS_APPLICATION_DATA:
58 return "Application Data";
60 return "Unknown Packet";
65 _gnutls_handshake2str (gnutls_handshake_description_t handshake)
70 case GNUTLS_HANDSHAKE_HELLO_REQUEST:
71 return "HELLO REQUEST";
73 case GNUTLS_HANDSHAKE_CLIENT_HELLO:
74 return "CLIENT HELLO";
76 case GNUTLS_HANDSHAKE_CLIENT_HELLO_V2:
77 return "SSL2 CLIENT HELLO";
79 case GNUTLS_HANDSHAKE_SERVER_HELLO:
80 return "SERVER HELLO";
82 case GNUTLS_HANDSHAKE_HELLO_VERIFY_REQUEST:
83 return "HELLO VERIFY REQUEST";
85 case GNUTLS_HANDSHAKE_CERTIFICATE_PKT:
88 case GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE:
89 return "SERVER KEY EXCHANGE";
91 case GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST:
92 return "CERTIFICATE REQUEST";
94 case GNUTLS_HANDSHAKE_SERVER_HELLO_DONE:
95 return "SERVER HELLO DONE";
97 case GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY:
98 return "CERTIFICATE VERIFY";
100 case GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE:
101 return "CLIENT KEY EXCHANGE";
103 case GNUTLS_HANDSHAKE_FINISHED:
106 case GNUTLS_HANDSHAKE_SUPPLEMENTAL:
107 return "SUPPLEMENTAL";
109 case GNUTLS_HANDSHAKE_NEW_SESSION_TICKET:
110 return "NEW SESSION TICKET";
112 case GNUTLS_HANDSHAKE_CHANGE_CIPHER_SPEC:
113 return "CHANGE CIPHER SPEC";
116 return "Unknown Handshake packet";