diff options
Diffstat (limited to 'src/testcurl/https/tls_extension_test.c')
-rw-r--r-- | src/testcurl/https/tls_extension_test.c | 42 |
1 files changed, 16 insertions, 26 deletions
diff --git a/src/testcurl/https/tls_extension_test.c b/src/testcurl/https/tls_extension_test.c index 84ed374f..e3b95299 100644 --- a/src/testcurl/https/tls_extension_test.c +++ b/src/testcurl/https/tls_extension_test.c | |||
@@ -27,19 +27,9 @@ | |||
27 | 27 | ||
28 | #include "platform.h" | 28 | #include "platform.h" |
29 | #include "microhttpd.h" | 29 | #include "microhttpd.h" |
30 | #include "gnutls_int.h" | ||
31 | #include "gnutls_handshake.h" // MHD_gtls_send_handshake | ||
32 | #include "gnutls_num.h" // MHD_gtls_write_x | ||
33 | #include "common.h" // MHD_gtls_version_x | ||
34 | |||
35 | |||
36 | #include "tls_test_common.h" | 30 | #include "tls_test_common.h" |
37 | #define MAX_EXT_DATA_LENGTH 256 | 31 | #define MAX_EXT_DATA_LENGTH 256 |
38 | 32 | ||
39 | extern int | ||
40 | MHD__gnutls_copy_ciphersuites (MHD_gtls_session_t session, | ||
41 | opaque * ret_data, size_t ret_data_size); | ||
42 | |||
43 | extern const char srv_key_pem[]; | 33 | extern const char srv_key_pem[]; |
44 | extern const char srv_self_signed_cert_pem[]; | 34 | extern const char srv_self_signed_cert_pem[]; |
45 | 35 | ||
@@ -53,7 +43,7 @@ extern const char srv_self_signed_cert_pem[]; | |||
53 | * @return 0 on successful test completion, -1 otherwise | 43 | * @return 0 on successful test completion, -1 otherwise |
54 | */ | 44 | */ |
55 | static int | 45 | static int |
56 | test_hello_extension (MHD_gtls_session_t session, extensions_t exten_t, | 46 | test_hello_extension (gnutls_session_t session, extensions_t exten_t, |
57 | int ext_count, int ext_length) | 47 | int ext_count, int ext_length) |
58 | { | 48 | { |
59 | int i, sd, ret = 0, pos = 0; | 49 | int i, sd, ret = 0, pos = 0; |
@@ -117,7 +107,7 @@ test_hello_extension (MHD_gtls_session_t session, extensions_t exten_t, | |||
117 | 107 | ||
118 | /* generate session client random */ | 108 | /* generate session client random */ |
119 | memset (session->security_parameters.client_random, 0, TLS_RANDOM_SIZE); | 109 | memset (session->security_parameters.client_random, 0, TLS_RANDOM_SIZE); |
120 | MHD_gtls_write_uint32 (time (NULL), rnd); | 110 | gnutls_write_uint32 (time (NULL), rnd); |
121 | if (GC_OK != MHD_gc_nonce ((char *) &rnd[4], TLS_RANDOM_SIZE - 4)) abort (); | 111 | if (GC_OK != MHD_gc_nonce ((char *) &rnd[4], TLS_RANDOM_SIZE - 4)) abort (); |
122 | memcpy (session->security_parameters.client_random, rnd, TLS_RANDOM_SIZE); | 112 | memcpy (session->security_parameters.client_random, rnd, TLS_RANDOM_SIZE); |
123 | memcpy (&data[pos], rnd, TLS_RANDOM_SIZE); | 113 | memcpy (&data[pos], rnd, TLS_RANDOM_SIZE); |
@@ -144,14 +134,14 @@ test_hello_extension (MHD_gtls_session_t session, extensions_t exten_t, | |||
144 | pos += 2; | 134 | pos += 2; |
145 | 135 | ||
146 | /* set extensions length = 2 type bytes + 2 length bytes + extension length */ | 136 | /* set extensions length = 2 type bytes + 2 length bytes + extension length */ |
147 | MHD_gtls_write_uint16 (exten_data_len, &data[pos]); | 137 | gnutls_write_uint16 (exten_data_len, &data[pos]); |
148 | pos += 2; | 138 | pos += 2; |
149 | for (i = 0; i < ext_count; ++i) | 139 | for (i = 0; i < ext_count; ++i) |
150 | { | 140 | { |
151 | /* write extension type */ | 141 | /* write extension type */ |
152 | MHD_gtls_write_uint16 (exten_t, &data[pos]); | 142 | gnutls_write_uint16 (exten_t, &data[pos]); |
153 | pos += 2; | 143 | pos += 2; |
154 | MHD_gtls_write_uint16 (ext_length, &data[pos]); | 144 | gnutls_write_uint16 (ext_length, &data[pos]); |
155 | pos += 2; | 145 | pos += 2; |
156 | /* we might want to generate random data here */ | 146 | /* we might want to generate random data here */ |
157 | memset (&data[pos], 0, ext_length); | 147 | memset (&data[pos], 0, ext_length); |
@@ -165,7 +155,7 @@ test_hello_extension (MHD_gtls_session_t session, extensions_t exten_t, | |||
165 | goto cleanup; | 155 | goto cleanup; |
166 | } | 156 | } |
167 | 157 | ||
168 | MHD__gnutls_transport_set_ptr (session, (MHD_gnutls_transport_ptr_t) (long) sd); | 158 | gnutls_transport_set_ptr (session, (MHD_gnutls_transport_ptr_t) (long) sd); |
169 | 159 | ||
170 | if (gen_test_file_url (url, DEAMON_TEST_PORT)) | 160 | if (gen_test_file_url (url, DEAMON_TEST_PORT)) |
171 | { | 161 | { |
@@ -174,15 +164,15 @@ test_hello_extension (MHD_gtls_session_t session, extensions_t exten_t, | |||
174 | } | 164 | } |
175 | 165 | ||
176 | /* this should crash the server */ | 166 | /* this should crash the server */ |
177 | ret = MHD_gtls_send_handshake (session, data, datalen, | 167 | ret = gnutls_send_handshake (session, data, datalen, |
178 | GNUTLS_HANDSHAKE_CLIENT_HELLO); | 168 | GNUTLS_HANDSHAKE_CLIENT_HELLO); |
179 | 169 | ||
180 | /* advance to STATE2 */ | 170 | /* advance to STATE2 */ |
181 | session->internals.handshake_state = STATE2; | 171 | session->internals.handshake_state = STATE2; |
182 | ret = MHD__gnutls_handshake (session); | 172 | ret = gnutls_handshake (session); |
183 | ret = MHD__gnutls_bye (session, GNUTLS_SHUT_WR); | 173 | ret = gnutls_bye (session, GNUTLS_SHUT_WR); |
184 | 174 | ||
185 | MHD_gnutls_free (data); | 175 | gnutls_free (data); |
186 | 176 | ||
187 | /* make sure daemon is still functioning */ | 177 | /* make sure daemon is still functioning */ |
188 | if (CURLE_OK != send_curl_req (url, &cbc, "AES128-SHA", | 178 | if (CURLE_OK != send_curl_req (url, &cbc, "AES128-SHA", |
@@ -195,7 +185,7 @@ test_hello_extension (MHD_gtls_session_t session, extensions_t exten_t, | |||
195 | cleanup: | 185 | cleanup: |
196 | if (sd != -1) | 186 | if (sd != -1) |
197 | close (sd); | 187 | close (sd); |
198 | MHD_gnutls_free (cbc.buf); | 188 | gnutls_free (cbc.buf); |
199 | return ret; | 189 | return ret; |
200 | } | 190 | } |
201 | 191 | ||
@@ -205,10 +195,10 @@ main (int argc, char *const *argv) | |||
205 | int i, errorCount = 0; | 195 | int i, errorCount = 0; |
206 | FILE *test_fd; | 196 | FILE *test_fd; |
207 | struct MHD_Daemon *d; | 197 | struct MHD_Daemon *d; |
208 | MHD_gtls_session_t session; | 198 | gnutls_session_t session; |
209 | MHD_gnutls_datum_t key; | 199 | gnutls_datum_t key; |
210 | MHD_gnutls_datum_t cert; | 200 | gnutls_datum_t cert; |
211 | MHD_gtls_cert_credentials_t xcred; | 201 | gnutls_certificate_credentials_t xcred; |
212 | 202 | ||
213 | int ext_arr[] = { GNUTLS_EXTENSION_SERVER_NAME, | 203 | int ext_arr[] = { GNUTLS_EXTENSION_SERVER_NAME, |
214 | -1 | 204 | -1 |