diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2002-08-25 19:06:43 +0000 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2002-08-25 19:06:43 +0000 |
commit | aa30b611753cee8834af624821848ce27ab28453 (patch) | |
tree | 648488c038aee72526638182e5abd8acc644450b | |
parent | 6e7aa8929787d4bae6e867bb26015a08a53ffb46 (diff) | |
download | gnutls-aa30b611753cee8834af624821848ce27ab28453.tar.gz |
improvements in server html output
-rw-r--r-- | src/serv.c | 40 | ||||
-rw-r--r-- | src/tests.c | 18 | ||||
-rw-r--r-- | src/tests.h | 1 | ||||
-rw-r--r-- | src/tls_test.c | 1 |
4 files changed, 42 insertions, 18 deletions
diff --git a/src/serv.c b/src/serv.c index 60c19d7740..f00699d4ad 100644 --- a/src/serv.c +++ b/src/serv.c @@ -94,7 +94,7 @@ char *x509_crlfile = NULL; "\n" \ "<HTML><BODY>\n" \ "<CENTER><H1>This is <a href=\"http://www.gnu.org/software/gnutls\">" \ - "GNUTLS</a></H1>\n\n" + "GNUTLS</a></H1></CENTER>\n\n" #define RENEGOTIATE @@ -292,7 +292,7 @@ static char DEFAULT_DATA[] = "This is the default message reported " /* Creates html with the current state information. */ #define tmp2 &http_buffer[strlen(http_buffer)] -char* peer_print_info(GNUTLS_STATE state, int *ret_length) +char* peer_print_info(GNUTLS_STATE state, int *ret_length, const char* header) { const char *tmp; unsigned char sesid[32]; @@ -336,35 +336,43 @@ char* peer_print_info(GNUTLS_STATE state, int *ret_length) gnutls_dh_get_prime_bits(state)); } + if (gnutls_kx_get(state) == GNUTLS_KX_DHE_RSA + || gnutls_kx_get(state) == GNUTLS_KX_DHE_DSS) { + sprintf(tmp2, + "Ephemeral DH using prime of <b>%d</b> bits.<br>\n", + gnutls_dh_get_prime_bits(state)); + } + /* print state information */ strcat(http_buffer, "<P>\n"); tmp = gnutls_protocol_get_name(gnutls_protocol_get_version(state)); - sprintf(tmp2, "Protocol version: <b>%s</b><br>\n", tmp); + sprintf(tmp2, "<TABLE border=1><TR><TD>Protocol version:</TD><TD>%s</TD></TR>\n", tmp); if (gnutls_auth_get_type(state) == GNUTLS_CRD_CERTIFICATE) { tmp = gnutls_cert_type_get_name(gnutls_cert_type_get(state)); - sprintf(tmp2, "Certificate Type: <b>%s</b><br>\n", tmp); + sprintf(tmp2, "<TR><TD>Certificate Type:</TD><TD>%s</TD></TR>\n", tmp); } tmp = gnutls_kx_get_name(gnutls_kx_get(state)); - sprintf(tmp2, "Key Exchange: <b>%s</b><br>\n", tmp); - - if (gnutls_kx_get(state) == GNUTLS_KX_DHE_RSA - || gnutls_kx_get(state) == GNUTLS_KX_DHE_DSS) { - sprintf(tmp2, - "Ephemeral DH using prime of <b>%d</b> bits.<br>\n", - gnutls_dh_get_prime_bits(state)); - } + sprintf(tmp2, "<TR><TD>Key Exchange:</TD><TD>%s</TD></TR>\n", tmp); tmp = gnutls_compression_get_name(gnutls_compression_get(state)); - sprintf(tmp2, "Compression: <b>%s</b><br>\n", tmp); + sprintf(tmp2, "<TR><TD>Compression</TD><TD>%s</TD></TR>\n", tmp); tmp = gnutls_cipher_get_name(gnutls_cipher_get(state)); - sprintf(tmp2, "Cipher: <b>%s</b><br>\n", tmp); + sprintf(tmp2, "<TR><TD>Cipher</TD><TD>%s</TD></TR>\n", tmp); tmp = gnutls_mac_get_name(gnutls_mac_get(state)); - sprintf(tmp2, "MAC: <b>%s</b><br>\n", tmp); + sprintf(tmp2, "<TR><TD>MAC</TD><TD>%s</TD></TR>\n", tmp); + + tmp = gnutls_cipher_suite_get_name( gnutls_kx_get(state), + gnutls_cipher_get(state), gnutls_mac_get(state)); + sprintf(tmp2, "<TR><TD>Ciphersuite</TD><TD>%s</TD></TR></p></TABLE>\n", tmp); + + strcat( http_buffer, "<hr><P>Your header was:<PRE>"); + strcat( http_buffer, header); + strcat( http_buffer, "</PRE></P>"); strcat(http_buffer, "</P>\n"HTTP_END); @@ -426,7 +434,7 @@ static void get_response(GNUTLS_STATE state, char *request, char **response, int // *response = peer_print_info(state, request+4, h, response_length); if (http!=0) { - *response = peer_print_info(state, response_length); + *response = peer_print_info(state, response_length, h); } else { *response = strdup( request); *response_length = strlen( *response); diff --git a/src/tests.c b/src/tests.c index afb18c20a1..e35ea7b031 100644 --- a/src/tests.c +++ b/src/tests.c @@ -82,9 +82,10 @@ int ret, alert; static int protocol_priority[16] = { GNUTLS_TLS1, GNUTLS_SSL3, 0 }; const static int kx_priority[16] = - { GNUTLS_KX_RSA, GNUTLS_KX_DHE_DSS, GNUTLS_KX_DHE_RSA, GNUTLS_KX_ANON_DH, 0 }; + { GNUTLS_KX_RSA, GNUTLS_KX_DHE_DSS, GNUTLS_KX_DHE_RSA, GNUTLS_KX_ANON_DH, + GNUTLS_KX_RSA_EXPORT, 0 }; const static int cipher_priority[16] = - { GNUTLS_CIPHER_3DES_CBC, GNUTLS_CIPHER_ARCFOUR, 0 }; + { GNUTLS_CIPHER_3DES_CBC, GNUTLS_CIPHER_ARCFOUR, GNUTLS_CIPHER_ARCFOUR_EXPORT, 0 }; const static int comp_priority[16] = { GNUTLS_COMP_NULL, 0 }; const static int mac_priority[16] = { GNUTLS_MAC_SHA, GNUTLS_MAC_MD5, 0 }; const static int cert_type_priority[16] = { GNUTLS_CRT_X509, 0 }; @@ -162,6 +163,19 @@ int test_srp( GNUTLS_STATE state) { return do_handshake( state); } +int test_export( GNUTLS_STATE state) { + ADD_ALL_CIPHERS(state); + ADD_ALL_COMP(state); + ADD_ALL_CERTTYPES(state); + ADD_ALL_PROTOCOLS(state); + ADD_ALL_MACS(state); + + ADD_KX(state, GNUTLS_KX_RSA_EXPORT); + gnutls_cred_set(state, GNUTLS_CRD_CERTIFICATE, xcred); + + return do_handshake( state); +} + int test_dhe( GNUTLS_STATE state) { ADD_ALL_CIPHERS(state); ADD_ALL_COMP(state); diff --git a/src/tests.h b/src/tests.h index 1399a41ee6..d4f7bf4a78 100644 --- a/src/tests.h +++ b/src/tests.h @@ -5,6 +5,7 @@ #define UNSURE -1 int test_srp( GNUTLS_STATE state); +int test_export( GNUTLS_STATE state); int test_hello_extension( GNUTLS_STATE state); int test_dhe( GNUTLS_STATE state); int test_ssl3( GNUTLS_STATE state); diff --git a/src/tls_test.c b/src/tls_test.c index b0b0e85c90..197a1e8836 100644 --- a/src/tls_test.c +++ b/src/tls_test.c @@ -88,6 +88,7 @@ static const TLS_TEST tls_tests[] = { { "whether the server can accept cipher suites not in SSL 3.0 spec", test_unknown_ciphersuites, "yes", "no", "dunno"}, { "whether the server understands TLS closure alerts", test_bye, "yes", "no", "partially"}, { "whether the server supports session resumption", test_session_resume2, "yes", "no", "dunno"}, + { "for export-grade ciphersuite support", test_export, "yes", "no", "dunno" }, { "for anonymous authentication support", test_anonymous, "yes", "no", "dunno"}, { "for ephemeral Diffie Hellman support", test_dhe, "yes", "no", "dunno" }, { "for AES cipher support", test_aes, "yes", "no", "dunno"}, |