summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2017-04-08 16:18:26 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2017-04-08 17:17:44 +0200
commitdb9bb42360363e2382d7bf252e739d6ee0ecfd4c (patch)
tree828ca61f063afc19a7710cefeec85842e5fc4adf
parentf37564c76f883edf2e2e79f8e85d414a57a24380 (diff)
downloadgnutls-db9bb42360363e2382d7bf252e739d6ee0ecfd4c.tar.gz
tests: added basic test on gnutls_dh_params_cpy
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
-rw-r--r--tests/dh-params.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/tests/dh-params.c b/tests/dh-params.c
index b8dc12cf82..1458c7a07a 100644
--- a/tests/dh-params.c
+++ b/tests/dh-params.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 Red Hat, Inc.
+ * Copyright (C) 2016-2017 Red Hat, Inc.
*
* Author: Nikos Mavrogiannopoulos
*
@@ -31,6 +31,7 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+#include <assert.h>
#include "cert-common.h"
#include "utils.h"
@@ -62,24 +63,28 @@ static int compare(gnutls_datum_t *d1, gnutls_datum_t *d2)
void doit(void)
{
- gnutls_dh_params_t dh_params;
+ gnutls_dh_params_t dh_params, tmp_params;
gnutls_x509_privkey_t privkey;
gnutls_datum_t p1, g1, p2, g2, q;
unsigned bits = 0;
int ret;
/* import DH parameters from DSA key and verify they are the same */
- gnutls_dh_params_init(&dh_params);
- gnutls_x509_privkey_init(&privkey);
+ assert(gnutls_dh_params_init(&dh_params) >= 0);
+ assert(gnutls_dh_params_init(&tmp_params) >= 0);
+ assert(gnutls_x509_privkey_init(&privkey) >= 0);
ret = gnutls_x509_privkey_import(privkey, &dsa_key, GNUTLS_X509_FMT_PEM);
if (ret < 0)
fail("error in %s: %d\n", __FILE__, __LINE__);
- ret = gnutls_dh_params_import_dsa(dh_params, privkey);
+ ret = gnutls_dh_params_import_dsa(tmp_params, privkey);
if (ret < 0)
fail("error in %s: %d\n", __FILE__, __LINE__);
+ assert(gnutls_dh_params_cpy(dh_params, tmp_params) >= 0);
+ gnutls_dh_params_deinit(tmp_params);
+
ret = gnutls_dh_params_export_raw(dh_params, &p1, &g1, &bits);
if (ret < 0)
fail("error in %s: %d\n", __FILE__, __LINE__);