summaryrefslogtreecommitdiff
path: root/tests/utils-adv.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/utils-adv.c')
-rw-r--r--tests/utils-adv.c26
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");