mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-29 04:09:31 +03:00
gnutls code cleanup
symbol refactoring
This commit is contained in:
@@ -57,45 +57,45 @@ http_ahc (void *cls, struct MHD_Connection *connection,
|
||||
}
|
||||
|
||||
static int
|
||||
setup (gnutls_session_t * session,
|
||||
setup (mhd_gtls_session_t * session,
|
||||
gnutls_datum_t * key,
|
||||
gnutls_datum_t * cert, gnutls_certificate_credentials_t * xcred)
|
||||
gnutls_datum_t * cert, mhd_gtls_cert_credentials_t * xcred)
|
||||
{
|
||||
int ret;
|
||||
const char ** err_pos;
|
||||
|
||||
gnutls_certificate_allocate_credentials (xcred);
|
||||
MHD_gnutls_certificate_allocate_credentials (xcred);
|
||||
|
||||
_gnutls_set_datum_m (key, srv_key_pem, strlen (srv_key_pem), &malloc);
|
||||
_gnutls_set_datum_m (cert, srv_self_signed_cert_pem,
|
||||
mhd_gtls_set_datum_m (key, srv_key_pem, strlen (srv_key_pem), &malloc);
|
||||
mhd_gtls_set_datum_m (cert, srv_self_signed_cert_pem,
|
||||
strlen (srv_self_signed_cert_pem), &malloc);
|
||||
|
||||
gnutls_certificate_set_x509_key_mem (*xcred, cert, key,
|
||||
MHD_gnutls_certificate_set_x509_key_mem (*xcred, cert, key,
|
||||
GNUTLS_X509_FMT_PEM);
|
||||
|
||||
gnutls_init (session, GNUTLS_CLIENT);
|
||||
ret = gnutls_priority_set_direct (*session, "PERFORMANCE", err_pos);
|
||||
MHD_gnutls_init (session, GNUTLS_CLIENT);
|
||||
ret = MHD_gnutls_priority_set_direct (*session, "NORMAL", err_pos);
|
||||
if (ret < 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
gnutls_credentials_set (*session, MHD_GNUTLS_CRD_CERTIFICATE, xcred);
|
||||
MHD_gnutls_credentials_set (*session, MHD_GNUTLS_CRD_CERTIFICATE, xcred);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
teardown (gnutls_session_t session,
|
||||
teardown (mhd_gtls_session_t session,
|
||||
gnutls_datum_t * key,
|
||||
gnutls_datum_t * cert, gnutls_certificate_credentials_t xcred)
|
||||
gnutls_datum_t * cert, mhd_gtls_cert_credentials_t xcred)
|
||||
{
|
||||
|
||||
_gnutls_free_datum_m (key, free);
|
||||
_gnutls_free_datum_m (cert, free);
|
||||
mhd_gtls_free_datum_m (key, free);
|
||||
mhd_gtls_free_datum_m (cert, free);
|
||||
|
||||
gnutls_deinit (session);
|
||||
MHD_gnutls_deinit (session);
|
||||
|
||||
gnutls_certificate_free_credentials (xcred);
|
||||
MHD_gnutls_certificate_free_credentials (xcred);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -106,7 +106,7 @@ teardown (gnutls_session_t session,
|
||||
* @param session: an initialized TLS session
|
||||
*/
|
||||
static int
|
||||
test_alert_close_notify (gnutls_session_t session)
|
||||
test_alert_close_notify (mhd_gtls_session_t session)
|
||||
{
|
||||
int sd, ret;
|
||||
struct sockaddr_in sa;
|
||||
@@ -117,7 +117,7 @@ test_alert_close_notify (gnutls_session_t session)
|
||||
sa.sin_port = htons (42433);
|
||||
inet_pton (AF_INET, "127.0.0.1", &sa.sin_addr);
|
||||
|
||||
gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd);
|
||||
MHD_gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd);
|
||||
|
||||
ret = connect (sd, &sa, sizeof (struct sockaddr_in));
|
||||
|
||||
@@ -127,16 +127,16 @@ test_alert_close_notify (gnutls_session_t session)
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = gnutls_handshake (session);
|
||||
ret = MHD_gnutls_handshake (session);
|
||||
if (ret < 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
gnutls_alert_send (session, GNUTLS_AL_FATAL, GNUTLS_A_CLOSE_NOTIFY);
|
||||
MHD_gnutls_alert_send (session, GNUTLS_AL_FATAL, GNUTLS_A_CLOSE_NOTIFY);
|
||||
|
||||
/* check server responds with a 'close-notify' */
|
||||
_gnutls_recv_int (session, GNUTLS_ALERT, GNUTLS_HANDSHAKE_FINISHED, 0, 0);
|
||||
mhd_gtls_recv_int (session, GNUTLS_ALERT, GNUTLS_HANDSHAKE_FINISHED, 0, 0);
|
||||
|
||||
close (sd);
|
||||
/* CLOSE_NOTIFY */
|
||||
@@ -155,7 +155,7 @@ test_alert_close_notify (gnutls_session_t session)
|
||||
* @param session: an initialized TLS session
|
||||
*/
|
||||
static int
|
||||
test_alert_unexpected_message (gnutls_session_t session)
|
||||
test_alert_unexpected_message (mhd_gtls_session_t session)
|
||||
{
|
||||
int sd, ret;
|
||||
struct sockaddr_in sa;
|
||||
@@ -166,7 +166,7 @@ test_alert_unexpected_message (gnutls_session_t session)
|
||||
sa.sin_port = htons (42433);
|
||||
inet_pton (AF_INET, "127.0.0.1", &sa.sin_addr);
|
||||
|
||||
gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd);
|
||||
MHD_gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) ((void *) sd));
|
||||
|
||||
ret = connect (sd, &sa, sizeof (struct sockaddr_in));
|
||||
|
||||
@@ -176,13 +176,13 @@ test_alert_unexpected_message (gnutls_session_t session)
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = gnutls_handshake (session);
|
||||
ret = MHD_gnutls_handshake (session);
|
||||
if (ret < 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
gnutls_alert_send (session, GNUTLS_AL_FATAL, GNUTLS_A_UNEXPECTED_MESSAGE);
|
||||
MHD_gnutls_alert_send (session, GNUTLS_AL_FATAL, GNUTLS_A_UNEXPECTED_MESSAGE);
|
||||
usleep (100);
|
||||
|
||||
/* TODO better RST trigger */
|
||||
@@ -200,13 +200,13 @@ main (int argc, char *const *argv)
|
||||
{
|
||||
int errorCount = 0;;
|
||||
struct MHD_Daemon *d;
|
||||
gnutls_session_t session;
|
||||
mhd_gtls_session_t session;
|
||||
gnutls_datum_t key;
|
||||
gnutls_datum_t cert;
|
||||
gnutls_certificate_credentials_t xcred;
|
||||
mhd_gtls_cert_credentials_t xcred;
|
||||
|
||||
gnutls_global_init ();
|
||||
gnutls_global_set_log_level (11);
|
||||
MHD_gnutls_global_init ();
|
||||
MHD_gtls_global_set_log_level (11);
|
||||
|
||||
d = MHD_start_daemon (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL |
|
||||
MHD_USE_DEBUG, 42433,
|
||||
@@ -233,7 +233,7 @@ main (int argc, char *const *argv)
|
||||
fprintf (stderr, "Failed test: %s.\n", argv[0]);
|
||||
|
||||
MHD_stop_daemon (d);
|
||||
gnutls_global_deinit ();
|
||||
MHD_gnutls_global_deinit ();
|
||||
|
||||
return errorCount != 0;
|
||||
}
|
||||
|
||||
@@ -309,7 +309,7 @@ main (int argc, char *const *argv)
|
||||
FILE *test_fd;
|
||||
unsigned int errorCount = 0;
|
||||
|
||||
gnutls_global_set_log_level (DEBUG_GNUTLS_LOG_LEVEL);
|
||||
MHD_gtls_global_set_log_level (DEBUG_GNUTLS_LOG_LEVEL);
|
||||
|
||||
if (curl_check_version (MHD_REQ_CURL_VERSION))
|
||||
{
|
||||
|
||||
@@ -47,7 +47,7 @@ rehandshake_ahc (void *cls, struct MHD_Connection *connection,
|
||||
{
|
||||
int ret;
|
||||
/* server side re-handshake request */
|
||||
ret = gnutls_rehandshake (connection->tls_session);
|
||||
ret = MHD_gnutls_rehandshake (connection->tls_session);
|
||||
|
||||
if (ret < 0)
|
||||
{
|
||||
@@ -59,45 +59,45 @@ rehandshake_ahc (void *cls, struct MHD_Connection *connection,
|
||||
}
|
||||
|
||||
static int
|
||||
setup (gnutls_session_t * session,
|
||||
setup (mhd_gtls_session_t * session,
|
||||
gnutls_datum_t * key,
|
||||
gnutls_datum_t * cert, gnutls_certificate_credentials_t * xcred)
|
||||
gnutls_datum_t * cert, mhd_gtls_cert_credentials_t * xcred)
|
||||
{
|
||||
int ret;
|
||||
const char **err_pos;
|
||||
|
||||
gnutls_certificate_allocate_credentials (xcred);
|
||||
MHD_gnutls_certificate_allocate_credentials (xcred);
|
||||
|
||||
_gnutls_set_datum_m (key, srv_key_pem, strlen (srv_key_pem), &malloc);
|
||||
_gnutls_set_datum_m (cert, srv_self_signed_cert_pem,
|
||||
mhd_gtls_set_datum_m (key, srv_key_pem, strlen (srv_key_pem), &malloc);
|
||||
mhd_gtls_set_datum_m (cert, srv_self_signed_cert_pem,
|
||||
strlen (srv_self_signed_cert_pem), &malloc);
|
||||
|
||||
gnutls_certificate_set_x509_key_mem (*xcred, cert, key,
|
||||
MHD_gnutls_certificate_set_x509_key_mem (*xcred, cert, key,
|
||||
GNUTLS_X509_FMT_PEM);
|
||||
|
||||
gnutls_init (session, GNUTLS_CLIENT);
|
||||
ret = gnutls_priority_set_direct (*session, "PERFORMANCE", err_pos);
|
||||
MHD_gnutls_init (session, GNUTLS_CLIENT);
|
||||
ret = MHD_gnutls_priority_set_direct (*session, "NORMAL", err_pos);
|
||||
if (ret < 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
gnutls_credentials_set (*session, MHD_GNUTLS_CRD_CERTIFICATE, xcred);
|
||||
MHD_gnutls_credentials_set (*session, MHD_GNUTLS_CRD_CERTIFICATE, xcred);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
teardown (gnutls_session_t session,
|
||||
teardown (mhd_gtls_session_t session,
|
||||
gnutls_datum_t * key,
|
||||
gnutls_datum_t * cert, gnutls_certificate_credentials_t xcred)
|
||||
gnutls_datum_t * cert, mhd_gtls_cert_credentials_t xcred)
|
||||
{
|
||||
|
||||
_gnutls_free_datum_m (key, free);
|
||||
_gnutls_free_datum_m (cert, free);
|
||||
mhd_gtls_free_datum_m (key, free);
|
||||
mhd_gtls_free_datum_m (cert, free);
|
||||
|
||||
gnutls_deinit (session);
|
||||
MHD_gnutls_deinit (session);
|
||||
|
||||
gnutls_certificate_free_credentials (xcred);
|
||||
MHD_gnutls_certificate_free_credentials (xcred);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ teardown (gnutls_session_t session,
|
||||
* @param session: initiallized TLS session
|
||||
*/
|
||||
static int
|
||||
test_out_of_context_cipher_change (gnutls_session_t session)
|
||||
test_out_of_context_cipher_change (mhd_gtls_session_t session)
|
||||
{
|
||||
int sd, ret;
|
||||
struct sockaddr_in sa;
|
||||
@@ -121,7 +121,7 @@ test_out_of_context_cipher_change (gnutls_session_t session)
|
||||
sa.sin_port = htons (42433);
|
||||
inet_pton (AF_INET, "127.0.0.1", &sa.sin_addr);
|
||||
|
||||
gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd);
|
||||
MHD_gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd);
|
||||
|
||||
ret = connect (sd, &sa, sizeof (struct sockaddr_in));
|
||||
|
||||
@@ -131,14 +131,14 @@ test_out_of_context_cipher_change (gnutls_session_t session)
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = gnutls_handshake (session);
|
||||
ret = MHD_gnutls_handshake (session);
|
||||
if (ret < 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* send an out of context cipher change spec */
|
||||
_gnutls_send_change_cipher_spec (session, 0);
|
||||
mhd_gtls_send_change_cipher_spec (session, 0);
|
||||
|
||||
|
||||
/* assert server has closed connection */
|
||||
@@ -149,13 +149,52 @@ test_out_of_context_cipher_change (gnutls_session_t session)
|
||||
}
|
||||
|
||||
close (sd);
|
||||
fprintf (stderr, "%s. f: %s, l: %d\n", "ok", __FUNCTION__, __LINE__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* */
|
||||
static int
|
||||
test_rehandshake (gnutls_session_t session)
|
||||
test_rehandshake (mhd_gtls_session_t session)
|
||||
{
|
||||
/* TODO impl */
|
||||
int sd, ret;
|
||||
struct sockaddr_in sa;
|
||||
|
||||
sd = socket (AF_INET, SOCK_STREAM, 0);
|
||||
memset (&sa, '\0', sizeof (struct sockaddr_in));
|
||||
sa.sin_family = AF_INET;
|
||||
sa.sin_port = htons (42433);
|
||||
inet_pton (AF_INET, "127.0.0.1", &sa.sin_addr);
|
||||
|
||||
MHD_gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd);
|
||||
|
||||
ret = connect (sd, &sa, sizeof (struct sockaddr_in));
|
||||
|
||||
if (ret < 0)
|
||||
{
|
||||
fprintf (stderr, "Error: %s)\n", MHD_E_FAILED_TO_CONNECT);
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = MHD_gnutls_handshake (session);
|
||||
if (ret < 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = MHD_gnutls_record_send (session, http_get_req, strlen (http_get_req));
|
||||
|
||||
/* check server responds with a 'close-notify' */
|
||||
mhd_gtls_recv_int (session, GNUTLS_ALERT, GNUTLS_HANDSHAKE_FINISHED, 0, 0);
|
||||
|
||||
|
||||
/* CLOSE_NOTIFY */
|
||||
if (session->internals.last_alert != GNUTLS_A_CLOSE_NOTIFY)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
close (sd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -164,13 +203,13 @@ main (int argc, char *const *argv)
|
||||
{
|
||||
int errorCount = 0;;
|
||||
struct MHD_Daemon *d;
|
||||
gnutls_session_t session;
|
||||
mhd_gtls_session_t session;
|
||||
gnutls_datum_t key;
|
||||
gnutls_datum_t cert;
|
||||
gnutls_certificate_credentials_t xcred;
|
||||
mhd_gtls_cert_credentials_t xcred;
|
||||
|
||||
gnutls_global_init ();
|
||||
gnutls_global_set_log_level (11);
|
||||
MHD_gnutls_global_init ();
|
||||
MHD_gtls_global_set_log_level (11);
|
||||
|
||||
d = MHD_start_daemon (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL |
|
||||
MHD_USE_DEBUG, 42433,
|
||||
@@ -193,7 +232,7 @@ main (int argc, char *const *argv)
|
||||
fprintf (stderr, "Failed test: %s.\n", argv[0]);
|
||||
|
||||
MHD_stop_daemon (d);
|
||||
gnutls_global_deinit ();
|
||||
MHD_gnutls_global_deinit ();
|
||||
|
||||
return errorCount != 0;
|
||||
}
|
||||
|
||||
@@ -404,7 +404,7 @@ main (int argc, char *const *argv)
|
||||
FILE *test_fd;
|
||||
unsigned int errorCount = 0;
|
||||
|
||||
gnutls_global_set_log_level (DEBUG_GNUTLS_LOG_LEVEL);
|
||||
MHD_gtls_global_set_log_level (DEBUG_GNUTLS_LOG_LEVEL);
|
||||
|
||||
if (curl_check_version (MHD_REQ_CURL_VERSION))
|
||||
{
|
||||
@@ -428,42 +428,47 @@ main (int argc, char *const *argv)
|
||||
int cipher[] = { MHD_GNUTLS_CIPHER_3DES_CBC, 0 };
|
||||
int kx[] = { MHD_GNUTLS_KX_ANON_DH, 0 };
|
||||
|
||||
// errorCount +=
|
||||
// test_wrap ("https_transfer", &test_https_transfer, test_fd, "AES256-SHA",
|
||||
// CURL_SSLVERSION_TLSv1,
|
||||
// MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
// MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
// MHD_OPTION_END);
|
||||
// errorCount +=
|
||||
// test_wrap ("file certificates", &test_file_certificates, test_fd,
|
||||
// "AES256-SHA", CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY,
|
||||
// srv_key_pem, MHD_OPTION_HTTPS_MEM_CERT,
|
||||
// srv_self_signed_cert_pem, MHD_OPTION_END);
|
||||
// errorCount +=
|
||||
// test_wrap ("protocol_version", &test_protocol_version, test_fd,
|
||||
// "AES256-SHA", CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY,
|
||||
// srv_key_pem, MHD_OPTION_HTTPS_MEM_CERT,
|
||||
// srv_self_signed_cert_pem, MHD_OPTION_PROTOCOL_VERSION, p,
|
||||
// MHD_OPTION_END);
|
||||
// errorCount +=
|
||||
// test_wrap ("cipher DES-CBC3-SHA", &test_https_transfer, test_fd,
|
||||
// "DES-CBC3-SHA", CURL_SSLVERSION_TLSv1,
|
||||
// MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
// MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
// MHD_OPTION_CIPHER_ALGORITHM, cipher, MHD_OPTION_END);
|
||||
// errorCount +=
|
||||
// test_wrap ("mac SH1", &test_https_transfer, test_fd, "AES256-SHA",
|
||||
// CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
// MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
// MHD_OPTION_MAC_ALGO, mac, MHD_OPTION_END);
|
||||
// errorCount +=
|
||||
// test_wrap ("kx ANON_DH", &test_https_transfer, test_fd,
|
||||
// "ADH-DES-CBC3-SHA", CURL_SSLVERSION_TLSv1,
|
||||
// MHD_OPTION_CRED_TYPE, MHD_GNUTLS_CRD_ANON,
|
||||
// MHD_OPTION_CIPHER_ALGORITHM, cipher, MHD_OPTION_KX_PRIORITY,
|
||||
// kx, MHD_OPTION_END);
|
||||
errorCount +=
|
||||
test_wrap ("https_transfer", &test_https_transfer, test_fd, "AES256-SHA",
|
||||
CURL_SSLVERSION_TLSv1,
|
||||
MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
MHD_OPTION_END);
|
||||
errorCount +=
|
||||
test_wrap ("file certificates", &test_file_certificates, test_fd,
|
||||
"AES256-SHA", CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY,
|
||||
srv_key_pem, MHD_OPTION_HTTPS_MEM_CERT,
|
||||
srv_self_signed_cert_pem, MHD_OPTION_END);
|
||||
errorCount +=
|
||||
test_wrap ("protocol_version", &test_protocol_version, test_fd,
|
||||
"AES256-SHA", CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY,
|
||||
srv_key_pem, MHD_OPTION_HTTPS_MEM_CERT,
|
||||
srv_self_signed_cert_pem, MHD_OPTION_PROTOCOL_VERSION, p,
|
||||
MHD_OPTION_END);
|
||||
errorCount +=
|
||||
test_wrap ("cipher DES-CBC3-SHA", &test_https_transfer, test_fd,
|
||||
"DES-CBC3-SHA", CURL_SSLVERSION_TLSv1,
|
||||
MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
MHD_OPTION_CIPHER_ALGORITHM, cipher, MHD_OPTION_END);
|
||||
errorCount +=
|
||||
test_wrap ("mac SH1", &test_https_transfer, test_fd, "AES256-SHA",
|
||||
CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
MHD_OPTION_MAC_ALGO, mac, MHD_OPTION_END);
|
||||
errorCount +=
|
||||
test_wrap ("kx ANON_DH", &test_https_transfer, test_fd,
|
||||
"ADH-DES-CBC3-SHA", CURL_SSLVERSION_TLSv1,
|
||||
MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
MHD_OPTION_CRED_TYPE, MHD_GNUTLS_CRD_ANON,
|
||||
MHD_OPTION_CIPHER_ALGORITHM, cipher, MHD_OPTION_KX_PRIORITY,
|
||||
kx, MHD_OPTION_END);
|
||||
test_wrap ("ADH-AES256-SHA", &test_https_transfer, test_fd,
|
||||
"ADH-AES256-SHA", CURL_SSLVERSION_TLSv1,
|
||||
MHD_OPTION_CRED_TYPE, MHD_GNUTLS_CRD_ANON,
|
||||
MHD_OPTION_KX_PRIORITY,
|
||||
kx, MHD_OPTION_END);
|
||||
|
||||
|
||||
/*gnutls_mac_algorithm_t mac[] = {
|
||||
{MHD_GNUTLS_MAC_MD5, 0}, 0};
|
||||
|
||||
@@ -55,50 +55,50 @@ http_ahc (void *cls, struct MHD_Connection *connection,
|
||||
}
|
||||
|
||||
static int
|
||||
setup (gnutls_session_t * session,
|
||||
setup (mhd_gtls_session_t * session,
|
||||
gnutls_datum_t * key,
|
||||
gnutls_datum_t * cert, gnutls_certificate_credentials_t * xcred)
|
||||
gnutls_datum_t * cert, mhd_gtls_cert_credentials_t * xcred)
|
||||
{
|
||||
int ret;
|
||||
const char **err_pos;
|
||||
|
||||
gnutls_certificate_allocate_credentials (xcred);
|
||||
MHD_gnutls_certificate_allocate_credentials (xcred);
|
||||
|
||||
_gnutls_set_datum_m (key, srv_key_pem, strlen (srv_key_pem), &malloc);
|
||||
_gnutls_set_datum_m (cert, srv_self_signed_cert_pem,
|
||||
mhd_gtls_set_datum_m (key, srv_key_pem, strlen (srv_key_pem), &malloc);
|
||||
mhd_gtls_set_datum_m (cert, srv_self_signed_cert_pem,
|
||||
strlen (srv_self_signed_cert_pem), &malloc);
|
||||
|
||||
gnutls_certificate_set_x509_key_mem (*xcred, cert, key,
|
||||
MHD_gnutls_certificate_set_x509_key_mem (*xcred, cert, key,
|
||||
GNUTLS_X509_FMT_PEM);
|
||||
|
||||
gnutls_init (session, GNUTLS_CLIENT);
|
||||
ret = gnutls_priority_set_direct (*session, "PERFORMANCE", err_pos);
|
||||
MHD_gnutls_init (session, GNUTLS_CLIENT);
|
||||
ret = MHD_gnutls_priority_set_direct (*session, "NORMAL", err_pos);
|
||||
if (ret < 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
gnutls_credentials_set (*session, MHD_GNUTLS_CRD_CERTIFICATE, xcred);
|
||||
MHD_gnutls_credentials_set (*session, MHD_GNUTLS_CRD_CERTIFICATE, xcred);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
teardown (gnutls_session_t session,
|
||||
teardown (mhd_gtls_session_t session,
|
||||
gnutls_datum_t * key,
|
||||
gnutls_datum_t * cert, gnutls_certificate_credentials_t xcred)
|
||||
gnutls_datum_t * cert, mhd_gtls_cert_credentials_t xcred)
|
||||
{
|
||||
|
||||
_gnutls_free_datum_m (key, free);
|
||||
_gnutls_free_datum_m (cert, free);
|
||||
mhd_gtls_free_datum_m (key, free);
|
||||
mhd_gtls_free_datum_m (cert, free);
|
||||
|
||||
gnutls_deinit (session);
|
||||
MHD_gnutls_deinit (session);
|
||||
|
||||
gnutls_certificate_free_credentials (xcred);
|
||||
MHD_gnutls_certificate_free_credentials (xcred);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
test_tls_session_time_out (gnutls_session_t session)
|
||||
test_tls_session_time_out (mhd_gtls_session_t session)
|
||||
{
|
||||
int sd, ret;
|
||||
struct sockaddr_in sa;
|
||||
@@ -109,7 +109,7 @@ test_tls_session_time_out (gnutls_session_t session)
|
||||
sa.sin_port = htons (42433);
|
||||
inet_pton (AF_INET, "127.0.0.1", &sa.sin_addr);
|
||||
|
||||
gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd);
|
||||
MHD_gnutls_transport_set_ptr (session, (gnutls_transport_ptr_t) sd);
|
||||
|
||||
ret = connect (sd, &sa, sizeof (struct sockaddr_in));
|
||||
|
||||
@@ -119,7 +119,7 @@ test_tls_session_time_out (gnutls_session_t session)
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = gnutls_handshake (session);
|
||||
ret = MHD_gnutls_handshake (session);
|
||||
if (ret < 0)
|
||||
{
|
||||
return -1;
|
||||
@@ -144,13 +144,13 @@ main (int argc, char *const *argv)
|
||||
{
|
||||
int errorCount = 0;;
|
||||
struct MHD_Daemon *d;
|
||||
gnutls_session_t session;
|
||||
mhd_gtls_session_t session;
|
||||
gnutls_datum_t key;
|
||||
gnutls_datum_t cert;
|
||||
gnutls_certificate_credentials_t xcred;
|
||||
mhd_gtls_cert_credentials_t xcred;
|
||||
|
||||
gnutls_global_init ();
|
||||
gnutls_global_set_log_level (11);
|
||||
MHD_gnutls_global_init ();
|
||||
MHD_gtls_global_set_log_level (11);
|
||||
|
||||
d = MHD_start_daemon_ip(MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL |
|
||||
MHD_USE_DEBUG, 42433, "127.0.0.1",
|
||||
@@ -174,7 +174,7 @@ main (int argc, char *const *argv)
|
||||
fprintf (stderr, "Failed test: %s.\n", argv[0]);
|
||||
|
||||
MHD_stop_daemon (d);
|
||||
gnutls_global_deinit ();
|
||||
MHD_gnutls_global_deinit ();
|
||||
|
||||
return errorCount != 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user