X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fhello%2Ftest_hello.c;h=266ad3d906210e54cf17f929279ab0c536dac37b;hb=094b6d73c32fdaf5749102a653e666ab2e415747;hp=51da7fc75645eb49670c4b015b14aa4d484356f0;hpb=d5e417f094cac294282deafe46409342796263c6;p=oweals%2Fgnunet.git diff --git a/src/hello/test_hello.c b/src/hello/test_hello.c index 51da7fc75..266ad3d90 100644 --- a/src/hello/test_hello.c +++ b/src/hello/test_hello.c @@ -1,10 +1,10 @@ /* This file is part of GNUnet - (C) 2009 Christian Grothoff (and other contributing authors) + Copyright (C) 2009 Christian Grothoff (and other contributing authors) 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. */ /** * @file hello/test_hello.c @@ -25,66 +25,64 @@ #include "platform.h" #include "gnunet_hello_lib.h" -#define DEBUG 0 - -static size_t +static ssize_t my_addr_gen (void *cls, size_t max, void *buf) { unsigned int *i = cls; size_t ret; + struct GNUNET_HELLO_Address address; -#if DEBUG - fprintf (stderr, "DEBUG: my_addr_gen called with i = %d\n", *i); -#endif + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "DEBUG: my_addr_gen called with i = %d\n", *i); if (0 == *i) - return 0; - ret = GNUNET_HELLO_add_address ("test", - GNUNET_TIME_absolute_get (), - "address_information", *i, buf, max); + return GNUNET_SYSERR; + memset (&address.peer, 0, sizeof (struct GNUNET_PeerIdentity)); + address.address = "address_information"; + address.transport_name = "test"; + address.address_length = *i; + ret = + GNUNET_HELLO_add_address (&address, GNUNET_TIME_absolute_get (), buf, + max); (*i)--; return ret; } static int -check_addr (void *cls, - const char *tname, - struct GNUNET_TIME_Absolute expiration, - const void *addr, size_t addrlen) +check_addr (void *cls, const struct GNUNET_HELLO_Address *address, + struct GNUNET_TIME_Absolute expiration) { unsigned int *i = cls; -#if DEBUG - fprintf (stderr, "DEBUG: check_addr called with i = %d and addrlen = %u\n", - *i, addrlen); -#endif - GNUNET_assert (addrlen > 0); - GNUNET_assert (*i & (1 << (addrlen - 1))); - *i -= (1 << (addrlen - 1)); - GNUNET_assert (0 == strncmp ("address_information", addr, addrlen)); - GNUNET_assert (0 == strcmp ("test", tname)); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "DEBUG: check_addr called with i = %d and addrlen = %u\n", + *i, (unsigned int) address->address_length); + GNUNET_assert (address->address_length > 0); + GNUNET_assert (*i & (1 << (address->address_length - 1))); + *i -= (1 << (address->address_length - 1)); + GNUNET_assert (0 == + strncmp ("address_information", address->address, + address->address_length)); + GNUNET_assert (0 == strcmp ("test", address->transport_name)); return GNUNET_OK; } static int -remove_some (void *cls, - const char *tname, - struct GNUNET_TIME_Absolute expiration, - const void *addr, size_t addrlen) +remove_some (void *cls, const struct GNUNET_HELLO_Address *address, + struct GNUNET_TIME_Absolute expiration) { unsigned int *i = cls; -#if DEBUG - fprintf (stderr, "DEBUG: remove_some called with i = %d and addrlen = %u\n", - *i, addrlen); -#endif - GNUNET_assert (addrlen > 0); - if (*i & (1 << (addrlen - 1))) - { - *i -= (1 << (addrlen - 1)); - return GNUNET_NO; - } + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "DEBUG: remove_some called with i = %d and addrlen = %u\n", + *i, (unsigned int) address->address_length); + GNUNET_assert (address->address_length > 0); + if (*i & (1 << (address->address_length - 1))) + { + *i -= (1 << (address->address_length - 1)); + return GNUNET_NO; + } return GNUNET_OK; } @@ -95,85 +93,92 @@ main (int argc, char *argv[]) struct GNUNET_HELLO_Message *msg1; struct GNUNET_HELLO_Message *msg2; struct GNUNET_HELLO_Message *msg3; - struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded publicKey; - struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pk; + struct GNUNET_CRYPTO_EddsaPublicKey publicKey; + struct GNUNET_CRYPTO_EddsaPublicKey pk; struct GNUNET_TIME_Absolute startup_time; - int ok; unsigned int i; GNUNET_log_setup ("test-hello", "DEBUG", NULL); startup_time = GNUNET_TIME_absolute_get (); - ok = 0; memset (&publicKey, 42, sizeof (publicKey)); - fprintf (stderr, "Testing HELLO creation (without addresses)...\n"); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Testing HELLO creation (without addresses)...\n"); i = 0; - msg1 = GNUNET_HELLO_create (&publicKey, &my_addr_gen, &i); + msg1 = GNUNET_HELLO_create (&publicKey, &my_addr_gen, &i, GNUNET_NO); GNUNET_assert (msg1 != NULL); GNUNET_assert (0 < GNUNET_HELLO_size (msg1)); - fprintf (stderr, "Testing address iteration (empty set)...\n"); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Testing address iteration (empty set)...\n"); GNUNET_assert (NULL == - GNUNET_HELLO_iterate_addresses (msg1, - GNUNET_NO, &check_addr, &i)); - - fprintf (stderr, "Testing HELLO creation (with one address)...\n"); + GNUNET_HELLO_iterate_addresses (msg1, GNUNET_NO, &check_addr, + &i)); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Testing HELLO creation (with one address)...\n"); i = 1; - msg2 = GNUNET_HELLO_create (&publicKey, &my_addr_gen, &i); + msg2 = GNUNET_HELLO_create (&publicKey, &my_addr_gen, &i, GNUNET_NO); GNUNET_assert (msg2 != NULL); GNUNET_assert (GNUNET_HELLO_size (msg1) < GNUNET_HELLO_size (msg2)); - fprintf (stderr, "Testing address iteration (one address)...\n"); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Testing address iteration (one address)...\n"); i = 1; GNUNET_assert (NULL == - GNUNET_HELLO_iterate_addresses (msg2, - GNUNET_NO, &check_addr, &i)); + GNUNET_HELLO_iterate_addresses (msg2, GNUNET_NO, &check_addr, + &i)); GNUNET_assert (i == 0); - fprintf (stderr, "Testing get_key from HELLO...\n"); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Testing get_key from HELLO...\n"); GNUNET_assert (GNUNET_OK == GNUNET_HELLO_get_key (msg2, &pk)); GNUNET_assert (0 == memcmp (&publicKey, &pk, sizeof (pk))); GNUNET_free (msg1); - fprintf (stderr, "Testing HELLO creation (with two addresses)...\n"); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Testing HELLO creation (with two addresses)...\n"); i = 2; - msg3 = GNUNET_HELLO_create (&publicKey, &my_addr_gen, &i); + msg3 = GNUNET_HELLO_create (&publicKey, &my_addr_gen, &i, GNUNET_NO); GNUNET_assert (msg3 != NULL); GNUNET_assert (GNUNET_HELLO_size (msg2) < GNUNET_HELLO_size (msg3)); - fprintf (stderr, "Testing address iteration (two addresses)...\n"); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Testing address iteration (two addresses)...\n"); i = 3; GNUNET_assert (NULL == - GNUNET_HELLO_iterate_addresses (msg3, - GNUNET_NO, &check_addr, &i)); + GNUNET_HELLO_iterate_addresses (msg3, GNUNET_NO, &check_addr, + &i)); GNUNET_assert (i == 0); - fprintf (stderr, "Testing HELLO merge...\n"); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Testing HELLO merge...\n"); msg1 = GNUNET_HELLO_merge (msg2, msg3); GNUNET_assert (GNUNET_HELLO_size (msg1) == GNUNET_HELLO_size (msg3)); i = 3; GNUNET_assert (NULL == - GNUNET_HELLO_iterate_addresses (msg1, - GNUNET_NO, &check_addr, &i)); + GNUNET_HELLO_iterate_addresses (msg1, GNUNET_NO, &check_addr, + &i)); GNUNET_assert (i == 0); GNUNET_free (msg1); - fprintf (stderr, "Testing address iteration to copy HELLO...\n"); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Testing address iteration to copy HELLO...\n"); i = 2; msg1 = GNUNET_HELLO_iterate_addresses (msg3, GNUNET_YES, &remove_some, &i); GNUNET_assert (msg1 != NULL); GNUNET_assert (i == 0); i = 1; GNUNET_assert (NULL == - GNUNET_HELLO_iterate_addresses (msg1, - GNUNET_NO, &check_addr, &i)); + GNUNET_HELLO_iterate_addresses (msg1, GNUNET_NO, &check_addr, + &i)); GNUNET_assert (i == 0); GNUNET_free (msg1); - fprintf (stderr, "Testing delta address iteration...\n"); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Testing delta address iteration...\n"); i = 2; - GNUNET_HELLO_iterate_new_addresses (msg3, - msg2, startup_time, &check_addr, &i); + GNUNET_HELLO_iterate_new_addresses (msg3, msg2, startup_time, &check_addr, + &i); GNUNET_assert (i == 0); GNUNET_free (msg2); GNUNET_free (msg3);