diff options
Diffstat (limited to 'tests/utils-adv.c')
-rw-r--r-- | tests/utils-adv.c | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/tests/utils-adv.c b/tests/utils-adv.c index 5e8ccb9896..9e6ffdb9f3 100644 --- a/tests/utils-adv.c +++ b/tests/utils-adv.c @@ -37,8 +37,10 @@ const char *side = NULL; void -test_cli_serv(gnutls_certificate_credentials_t server_cred, const char *prio, - const gnutls_datum_t *ca_cert, const char *host) +test_cli_serv(gnutls_certificate_credentials_t server_cred, + gnutls_certificate_credentials_t client_cred, + const char *prio, const char *host, + void *priv, callback_func *client_cb, callback_func *server_cb) { int exit_code = EXIT_SUCCESS; int ret; @@ -46,7 +48,6 @@ test_cli_serv(gnutls_certificate_credentials_t server_cred, const char *prio, gnutls_session_t server; int sret = GNUTLS_E_AGAIN; /* Client stuff. */ - gnutls_certificate_credentials_t clientx509cred; gnutls_session_t client; int cret = GNUTLS_E_AGAIN; @@ -54,7 +55,6 @@ test_cli_serv(gnutls_certificate_credentials_t server_cred, const char *prio, reset_buffers(); /* Init server */ - gnutls_init(&server, GNUTLS_SERVER); gnutls_credentials_set(server, GNUTLS_CRD_CERTIFICATE, server_cred); @@ -63,15 +63,6 @@ test_cli_serv(gnutls_certificate_credentials_t server_cred, const char *prio, gnutls_transport_set_pull_function(server, server_pull); gnutls_transport_set_ptr(server, server); - /* Init client */ - ret = gnutls_certificate_allocate_credentials(&clientx509cred); - if (ret < 0) - exit(1); - - ret = gnutls_certificate_set_x509_trust_mem(clientx509cred, ca_cert, GNUTLS_X509_FMT_PEM); - if (ret < 0) - exit(1); - ret = gnutls_init(&client, GNUTLS_CLIENT); if (ret < 0) exit(1); @@ -80,7 +71,7 @@ test_cli_serv(gnutls_certificate_credentials_t server_cred, const char *prio, assert(gnutls_server_name_set(client, GNUTLS_NAME_DNS, host, strlen(host))>=0); ret = gnutls_credentials_set(client, GNUTLS_CRD_CERTIFICATE, - clientx509cred); + client_cred); if (ret < 0) exit(1); @@ -134,14 +125,17 @@ test_cli_serv(gnutls_certificate_credentials_t server_cred, const char *prio, } } + if (client_cb) + client_cb(client, priv); + if (server_cb) + server_cb(server, priv); + gnutls_bye(client, GNUTLS_SHUT_RDWR); gnutls_bye(server, GNUTLS_SHUT_RDWR); gnutls_deinit(client); gnutls_deinit(server); - gnutls_certificate_free_credentials(clientx509cred); - if (debug > 0) { if (exit_code == 0) puts("Self-test successful"); |