diff options
Diffstat (limited to 'plugins/MirOTR/libgcrypt-1.4.6/tests/ac-data.c')
-rw-r--r-- | plugins/MirOTR/libgcrypt-1.4.6/tests/ac-data.c | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/plugins/MirOTR/libgcrypt-1.4.6/tests/ac-data.c b/plugins/MirOTR/libgcrypt-1.4.6/tests/ac-data.c deleted file mode 100644 index e97b4f49ec..0000000000 --- a/plugins/MirOTR/libgcrypt-1.4.6/tests/ac-data.c +++ /dev/null @@ -1,208 +0,0 @@ -/* ac-data.c - Public key encryption/decryption tests - * Copyright (C) 2005 Free Software Foundation, Inc. - * - * This file is part of Libgcrypt. - * - * Libgcrypt is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * Libgcrypt is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include <stdlib.h> -#include <stdio.h> -#include <assert.h> - -#define assert_err(err) \ - do \ - if (err) \ - { \ - fprintf (stderr, "Error occured at line %i: %s\n", \ - __LINE__, gcry_strerror (err)); \ - exit (1); \ - } \ - while (0) - -#include "../src/gcrypt.h" - -static int verbose; - -static void -die (const char *format, ...) -{ - va_list arg_ptr ; - - va_start( arg_ptr, format ) ; - vfprintf (stderr, format, arg_ptr ); - va_end(arg_ptr); - exit (1); -} - -static void -check_sexp_conversion (gcry_ac_data_t data, const char **identifiers) -{ - gcry_ac_data_t data2; - gcry_error_t err; - gcry_sexp_t sexp; - unsigned int i; - const char *label1, *label2; - gcry_mpi_t mpi1, mpi2; - size_t length1, length2; - - err = gcry_ac_data_to_sexp (data, &sexp, identifiers); - assert_err (err); - if (verbose) - gcry_sexp_dump (sexp); - err = gcry_ac_data_from_sexp (&data2, sexp, identifiers); - assert_err (err); - - length1 = gcry_ac_data_length (data); - length2 = gcry_ac_data_length (data2); - assert (length1 == length2); - - for (i = 0; i < length1; i++) - { - err = gcry_ac_data_get_index (data, 0, i, &label1, &mpi1); - assert_err (err); - err = gcry_ac_data_get_index (data2, 0, i, &label2, &mpi2); - assert_err (err); - if (verbose) - { - fprintf (stderr, "Label1=`%s'\n", label1); - fprintf (stderr, "Label2=`%s'\n", label2); - } - assert (! strcmp (label1, label2)); - assert (! gcry_mpi_cmp (mpi1, mpi2)); - } - - gcry_ac_data_destroy (data2); - gcry_sexp_release (sexp); -} - -void -check_run (void) -{ - const char *identifiers[] = { "foo", - "bar", - "baz", - "hello", - "somemoretexthere", - "blahblahblah", - NULL }; - const char *identifiers_null[] = { NULL }; - gcry_ac_data_t data; - gcry_error_t err; - const char *label0; - const char *label1; - gcry_mpi_t mpi0; - gcry_mpi_t mpi1; - gcry_mpi_t mpi2; - - /* Initialize values. */ - - label0 = "thisisreallylonglabelbutsincethereisnolimitationonthelengthoflabelsitshouldworkjustfine"; - mpi0 = gcry_mpi_new (0); - assert (mpi0); - gcry_mpi_set_ui (mpi0, 123456); - - err = gcry_ac_data_new (&data); - assert_err (err); - - check_sexp_conversion (data, identifiers); - check_sexp_conversion (data, identifiers_null); - check_sexp_conversion (data, NULL); - - err = gcry_ac_data_set (data, 0, label0, mpi0); - assert_err (err); - err = gcry_ac_data_get_index (data, 0, 0, &label1, &mpi1); - assert_err (err); - assert (label0 == label1); - assert (mpi0 == mpi1); - check_sexp_conversion (data, identifiers); - check_sexp_conversion (data, identifiers_null); - check_sexp_conversion (data, NULL); - - if (verbose) - printf ("data-set-test-0 succeeded\n"); - - gcry_ac_data_clear (data); - - err = gcry_ac_data_set (data, GCRY_AC_FLAG_COPY, label0, mpi0); - assert_err (err); - - err = gcry_ac_data_set (data, GCRY_AC_FLAG_COPY, "foo", mpi0); - assert_err (err); - err = gcry_ac_data_set (data, GCRY_AC_FLAG_COPY, "foo", mpi0); - assert_err (err); - err = gcry_ac_data_set (data, GCRY_AC_FLAG_COPY, "bar", mpi0); - assert_err (err); - err = gcry_ac_data_set (data, GCRY_AC_FLAG_COPY, "blah1", mpi0); - assert_err (err); - check_sexp_conversion (data, identifiers); - check_sexp_conversion (data, identifiers_null); - check_sexp_conversion (data, NULL); - - err = gcry_ac_data_get_name (data, 0, label0, &mpi1); - assert_err (err); - assert (mpi0 != mpi1); - err = gcry_ac_data_get_name (data, GCRY_AC_FLAG_COPY, label0, &mpi2); - assert_err (err); - assert (mpi0 != mpi1); - assert (mpi1 != mpi2); - err = gcry_ac_data_get_index (data, 0, 0, &label1, &mpi1); - assert_err (err); - gcry_mpi_release (mpi0); - gcry_mpi_release (mpi2); - - if (verbose) - printf ("data-set-test-1 succeeded\n"); - - gcry_ac_data_clear (data); - assert (! gcry_ac_data_length (data)); - check_sexp_conversion (data, identifiers); - check_sexp_conversion (data, identifiers_null); - check_sexp_conversion (data, NULL); - - if (verbose) - printf ("data-set-test-2 succeeded\n"); - - gcry_ac_data_destroy (data); - - -} - -int -main (int argc, char **argv) -{ - int debug = 0; - int i = 1; - - if (argc > 1 && !strcmp (argv[1], "--verbose")) - verbose = 1; - else if (argc > 1 && !strcmp (argv[1], "--debug")) - verbose = debug = 1; - - gcry_control (GCRYCTL_DISABLE_SECMEM, 0); - if (!gcry_check_version (GCRYPT_VERSION)) - die ("version mismatch\n"); - gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0); - if (debug) - gcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1u , 0); - - for (; i > 0; i--) - check_run (); - - return 0; -} |