X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_crypto_hash.c;h=731205841c50bfb17c4c9928734776f6c2ab21de;hb=4707789ebfb4cef9672db31e3ceb8f98381901d0;hp=b650355c09ce67f2b99ab19d6615928fd8a9f242;hpb=cf45b8dff29c366d51aa2e6ea6a64b99b514b9c9;p=oweals%2Fgnunet.git diff --git a/src/util/test_crypto_hash.c b/src/util/test_crypto_hash.c index b650355c0..731205841 100644 --- a/src/util/test_crypto_hash.c +++ b/src/util/test_crypto_hash.c @@ -1,10 +1,10 @@ /* This file is part of GNUnet. - (C) 2002, 2003, 2004, 2006, 2009 Christian Grothoff (and other contributing authors) + Copyright (C) 2002, 2003, 2004, 2006, 2009 GNUnet e.V. GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 2, or (at your + by the Free Software Foundation; either version 3, or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /** @@ -24,9 +24,7 @@ * @brief Test for crypto_hash.c */ #include "platform.h" -#include "gnunet_common.h" -#include "gnunet_crypto_lib.h" -#include "gnunet_scheduler_lib.h" +#include "gnunet_util_lib.h" static char block[65536]; @@ -35,18 +33,18 @@ static char block[65536]; static int test (int number) { - GNUNET_HashCode h1; - GNUNET_HashCode h2; + struct GNUNET_HashCode h1; + struct GNUNET_HashCode h2; struct GNUNET_CRYPTO_HashAsciiEncoded enc; - memset (&h1, number, sizeof (GNUNET_HashCode)); + memset (&h1, number, sizeof (struct GNUNET_HashCode)); GNUNET_CRYPTO_hash_to_enc (&h1, &enc); if (GNUNET_OK != GNUNET_CRYPTO_hash_from_string ((char *) &enc, &h2)) - { - printf ("enc2hash failed!\n"); - return 1; - } - if (0 != memcmp (&h1, &h2, sizeof (GNUNET_HashCode))) + { + printf ("enc2hash failed!\n"); + return 1; + } + if (0 != memcmp (&h1, &h2, sizeof (struct GNUNET_HashCode))) return 1; return 0; } @@ -55,6 +53,7 @@ static int testEncoding () { int i; + for (i = 0; i < 255; i++) if (0 != test (i)) return 1; @@ -64,14 +63,12 @@ testEncoding () static int testArithmetic () { - static struct GNUNET_CRYPTO_AesSessionKey zskey; - static struct GNUNET_CRYPTO_AesInitializationVector ziv; - GNUNET_HashCode h1; - GNUNET_HashCode h2; - GNUNET_HashCode d; - GNUNET_HashCode s; - struct GNUNET_CRYPTO_AesSessionKey skey; - struct GNUNET_CRYPTO_AesInitializationVector iv; + struct GNUNET_HashCode h1; + struct GNUNET_HashCode h2; + struct GNUNET_HashCode d; + struct GNUNET_HashCode s; + struct GNUNET_CRYPTO_SymmetricSessionKey skey; + struct GNUNET_CRYPTO_SymmetricInitializationVector iv; GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, &h1); GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, &h2); @@ -99,17 +96,14 @@ testArithmetic () return 1; memset (&d, 0, sizeof (d)); GNUNET_CRYPTO_hash_to_aes_key (&d, &skey, &iv); - if ((0 != memcmp (&skey, &zskey, sizeof (skey) - sizeof (unsigned int))) || - (0 != memcmp (&iv, &ziv, sizeof (iv)))) - return 1; return 0; } static void -finished_task (void *cls, const GNUNET_HashCode * res) +finished_task (void *cls, const struct GNUNET_HashCode * res) { int *ret = cls; - GNUNET_HashCode want; + struct GNUNET_HashCode want; GNUNET_CRYPTO_hash (block, sizeof (block), &want); if (0 != memcmp (res, &want, sizeof (want))) @@ -120,11 +114,11 @@ finished_task (void *cls, const GNUNET_HashCode * res) static void -file_hasher (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) +file_hasher (void *cls) { - GNUNET_CRYPTO_hash_file (tc->sched, - GNUNET_SCHEDULER_PRIORITY_DEFAULT, - FILENAME, 1024, &finished_task, cls); + GNUNET_assert (NULL != + GNUNET_CRYPTO_hash_file (GNUNET_SCHEDULER_PRIORITY_DEFAULT, + FILENAME, 1024, &finished_task, cls)); } @@ -136,9 +130,9 @@ testFileHash () memset (block, 42, sizeof (block) / 2); memset (&block[sizeof (block) / 2], 43, sizeof (block) / 2); - GNUNET_assert (NULL != (f = fopen (FILENAME, "w+"))); + GNUNET_assert (NULL != (f = FOPEN (FILENAME, "w+"))); GNUNET_break (sizeof (block) == fwrite (block, 1, sizeof (block), f)); - GNUNET_break (0 == fclose (f)); + GNUNET_break (0 == FCLOSE (f)); ret = 1; GNUNET_SCHEDULER_run (&file_hasher, &ret); GNUNET_break (0 == UNLINK (FILENAME));