From 1257490cb630ade315a196a724d0233e662afb2c Mon Sep 17 00:00:00 2001 From: Matthias Wachs Date: Mon, 13 Jan 2014 16:59:57 +0000 Subject: implementing 0003268 to inbound information in HELLO addresses All transport plugin functions are modified to use HELLO addresses instead of peer,address,address_length All plugins are modified to use HELLO addresses internally This commit can break transport functionality: core tests on my system still pass, but transport tests may still fail, errors messages may occurs or crashs Will be fixed asap --- src/transport/test_plugin_transport.c | 621 ++++++++++++++++------------------ 1 file changed, 286 insertions(+), 335 deletions(-) (limited to 'src/transport/test_plugin_transport.c') diff --git a/src/transport/test_plugin_transport.c b/src/transport/test_plugin_transport.c index 6c81acb49..13920d6fe 100644 --- a/src/transport/test_plugin_transport.c +++ b/src/transport/test_plugin_transport.c @@ -1,22 +1,22 @@ /* - This file is part of GNUnet. - (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 3, or (at your - option) any later version. - - GNUnet 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 - General Public License for more details. - - 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. -*/ + This file is part of GNUnet. + (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 3, or (at your + option) any later version. + + GNUnet 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 + General Public License for more details. + + 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. + */ /** * @file transport/test_plugin_transport.c * @brief testcase for transport_api.c @@ -120,21 +120,17 @@ unsigned int pretty_printers_running; */ static int ok; - struct AddressWrapper { struct AddressWrapper *next; struct AddressWrapper *prev; - void *addr; - - size_t addrlen; + struct GNUNET_HELLO_Address *address; char *addrstring; }; - static void end () { @@ -144,33 +140,32 @@ end () if (GNUNET_SCHEDULER_NO_TASK != timeout_endbadly) { - GNUNET_SCHEDULER_cancel (timeout_endbadly); - timeout_endbadly = GNUNET_SCHEDULER_NO_TASK; + GNUNET_SCHEDULER_cancel (timeout_endbadly); + timeout_endbadly = GNUNET_SCHEDULER_NO_TASK; } if (NULL != api) - GNUNET_PLUGIN_unload (libname, api); + GNUNET_PLUGIN_unload (libname, api); while (NULL != head) { - w = head; - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Plugin did not remove address `%s'\n", w->addrstring); - GNUNET_CONTAINER_DLL_remove (head, tail, w); - c ++; - GNUNET_free (w->addr); - GNUNET_free (w->addrstring); - GNUNET_free (w); + w = head; + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Plugin did not remove address `%s'\n", + w->addrstring); + GNUNET_CONTAINER_DLL_remove(head, tail, w); + c++; + GNUNET_HELLO_address_free(w->address); + GNUNET_free(w->addrstring); + GNUNET_free(w); } if (c > 0) { - GNUNET_break (0); - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Plugin did not remove %u addresses \n", c); + GNUNET_break(0); + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Plugin did not remove %u addresses \n", + c); ok = 1; } - - GNUNET_free (libname); + GNUNET_free(libname); libname = NULL; GNUNET_STATISTICS_destroy (stats, GNUNET_NO); stats = NULL; @@ -182,7 +177,6 @@ end () } } - static void end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { @@ -192,48 +186,49 @@ end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) timeout_endbadly = GNUNET_SCHEDULER_NO_TASK; if (GNUNET_SCHEDULER_NO_TASK != timeout_wait) { - GNUNET_SCHEDULER_cancel (timeout_wait); - timeout_wait = GNUNET_SCHEDULER_NO_TASK; + GNUNET_SCHEDULER_cancel (timeout_wait); + timeout_wait = GNUNET_SCHEDULER_NO_TASK; } if (pretty_printers_running > 0) { - timeout_endbadly = GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_UNIT_SECONDS, &end_badly, &ok); - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Have pending calls to pretty_printer ... deferring shutdown\n"); - return; + timeout_endbadly = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, + &end_badly, &ok); + GNUNET_log(GNUNET_ERROR_TYPE_INFO, + "Have pending calls to pretty_printer ... deferring shutdown\n"); + return; } if (NULL != cls) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Test took too long to execute, timeout .... \n"); + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Test took too long to execute, timeout .... \n"); } if (NULL != libname) { if (NULL != api) GNUNET_PLUGIN_unload (libname, api); - GNUNET_free (libname); + GNUNET_free(libname); libname = NULL; } while (NULL != head) { - w = head; - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Plugin did not remove address `%s'\n", w->addrstring); - GNUNET_CONTAINER_DLL_remove (head, tail, w); - c ++; - GNUNET_free (w->addr); - GNUNET_free (w->addrstring); - GNUNET_free (w); + w = head; + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Plugin did not remove address `%s'\n", + w->addrstring); + GNUNET_CONTAINER_DLL_remove(head, tail, w); + c++; + GNUNET_HELLO_address_free(w->address); + GNUNET_free(w->addrstring); + GNUNET_free(w); } if (c > 0) { - GNUNET_break (0); - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Plugin did not remove %u addresses\n", c); + GNUNET_break(0); + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Plugin did not remove %u addresses\n", + c); } if (NULL != stats) @@ -251,51 +246,44 @@ end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) ok = 1; } - static void wait_end (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { timeout_wait = GNUNET_SCHEDULER_NO_TASK; if (0 == addresses_reported) - GNUNET_log (GNUNET_ERROR_TYPE_WARNING, - "Plugin did not report any addresses, could not check address conversion functions\n"); + GNUNET_log(GNUNET_ERROR_TYPE_WARNING, + "Plugin did not report any addresses, could not check address conversion functions\n"); end (); } - static void end_badly_now () { if (GNUNET_SCHEDULER_NO_TASK != timeout_wait) { - GNUNET_SCHEDULER_cancel (timeout_wait); - timeout_wait = GNUNET_SCHEDULER_NO_TASK; + GNUNET_SCHEDULER_cancel (timeout_wait); + timeout_wait = GNUNET_SCHEDULER_NO_TASK; } if (GNUNET_SCHEDULER_NO_TASK != timeout_endbadly) { - GNUNET_SCHEDULER_cancel (timeout_endbadly); - timeout_endbadly = GNUNET_SCHEDULER_NO_TASK; + GNUNET_SCHEDULER_cancel (timeout_endbadly); + timeout_endbadly = GNUNET_SCHEDULER_NO_TASK; } - timeout_endbadly = GNUNET_SCHEDULER_add_now (&end_badly, NULL); + timeout_endbadly = GNUNET_SCHEDULER_add_now (&end_badly, NULL ); } - static struct GNUNET_TIME_Relative env_receive (void *cls, - const struct GNUNET_PeerIdentity *peer, - const struct GNUNET_MessageHeader *message, - struct Session * session, - const char *sender_address, - uint16_t sender_address_len) + const struct GNUNET_HELLO_Address *address, + struct Session *session, + const struct GNUNET_MessageHeader *message) { /* do nothing */ - return GNUNET_TIME_relative_get_zero_(); + return GNUNET_TIME_relative_get_zero_ (); } - static int got_reply; - /** * Take the given address and append it to the set of results sent back to * the client. @@ -309,28 +297,23 @@ address_pretty_printer_cb (void *cls, const char *buf) if (NULL != buf) { got_reply = GNUNET_YES; - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Pretty address : `%s'\n", buf); - pretty_printers_running --; + GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Pretty address : `%s'\n", buf); + pretty_printers_running--; } else { - if (GNUNET_NO == got_reply) - { - pretty_printers_running --; - GNUNET_break (0); - end_badly_now (); - } + if (GNUNET_NO == got_reply) + { + pretty_printers_running--; + GNUNET_break(0); + end_badly_now (); + } } } - static void -env_notify_address (void *cls, - int add_remove, - const void *addr, - size_t addrlen, - const char *plugin) +env_notify_address (void *cls, int add_remove, + const struct GNUNET_HELLO_Address *address) { struct AddressWrapper *w; struct AddressWrapper *wtmp; @@ -339,150 +322,145 @@ env_notify_address (void *cls, if (GNUNET_YES == add_remove) { - addresses_reported ++; - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, - "Adding address of length %u\n", addrlen); + addresses_reported++; + GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Adding address of length %u\n", + address->address_length); - for (wtmp = head; NULL != wtmp; wtmp = wtmp->next) + for (wtmp = head; NULL != wtmp; wtmp = wtmp->next) + { + if ((address->address_length == wtmp->address->address_length) && + (0 == memcmp (address->address, wtmp->address->address, address->address_length))) { - if ((addrlen == wtmp->addrlen) && (0 == memcmp (addr, wtmp->addr, addrlen))) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Duplicate address notification .... \n"); - return; - } - } - - w = GNUNET_new (struct AddressWrapper); - w->addr = GNUNET_malloc (addrlen); - w->addrlen = addrlen; - memcpy (w->addr, addr, addrlen); - GNUNET_CONTAINER_DLL_insert(head, tail, w); - got_reply = GNUNET_NO; - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Testing: address_to_string \n"); - w->addrstring = strdup (api->address_to_string (api, w->addr, w->addrlen)); - if (NULL == w->addrstring) - { - GNUNET_break (0); - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Plugin cannot convert address to string!\n"); - end_badly_now(); - return; - } - else - { - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Plugin added address `%s'\n", w->addrstring); - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Testing address_to_string: OK\n"); - } - - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Testing: string_to_address \n"); - s2a = NULL; - s2a_len = 0; - if ((GNUNET_OK != api->string_to_address (api, w->addrstring, strlen (w->addrstring)+1, &s2a, &s2a_len)) || (NULL == s2a)) - { - GNUNET_break (0); - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Plugin cannot convert string to address!\n"); - end_badly_now(); - return; - } - - /* - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Plugin creates `%s' %u\n",api->address_to_string (api, s2a, s2a_len), s2a_len); - - int c1; - for (c1 = 0; c1 < s2a_len; c1++ ) - fprintf (stderr, "%u == %u\n", ((char *) s2a)[c1], ((char *) w->addr)[c1]); - */ - if (s2a_len != w->addrlen) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Plugin creates different address length when converting address->string->address: %u != %u\n", w->addrlen, s2a_len); - } - else if (0 != memcmp (s2a, w->addr, s2a_len)) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Plugin creates different address length when converting back and forth %i!\n", memcmp (s2a, w->addr, s2a_len)); - } - else - { - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Testing string_to_address: OK\n"); - } - GNUNET_free (s2a); - - pretty_printers_running ++; - api->address_pretty_printer (api->cls, plugin, addr, addrlen, - GNUNET_YES, GNUNET_TIME_UNIT_MINUTES, - &address_pretty_printer_cb, - w); - - if (GNUNET_OK != api->check_address (api->cls, w->addr, w->addrlen)) - { - GNUNET_break (0); - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Plugin refuses added address!\n"); - end_badly_now(); - return; - } - if (GNUNET_SCHEDULER_NO_TASK != timeout_wait) - { - GNUNET_SCHEDULER_cancel (timeout_wait); - timeout_wait = GNUNET_SCHEDULER_NO_TASK; + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Duplicate address notification .... \n"); + return; } + } + + w = GNUNET_new (struct AddressWrapper); + w->address = GNUNET_HELLO_address_copy (address); + GNUNET_CONTAINER_DLL_insert(head, tail, w); + got_reply = GNUNET_NO; + GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Testing: address_to_string \n"); + w->addrstring = strdup ( + api->address_to_string (api, w->address->address, + w->address->address_length)); + if (NULL == w->addrstring) + { + GNUNET_break(0); + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Plugin cannot convert address to string!\n"); + end_badly_now (); + return; + } + else + { + GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Plugin added address `%s'\n", + w->addrstring); + GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Testing address_to_string: OK\n"); + } + + GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Testing: string_to_address \n"); + s2a = NULL; + s2a_len = 0; + if ((GNUNET_OK + != api->string_to_address (api, w->addrstring, + strlen (w->addrstring) + 1, &s2a, &s2a_len)) || (NULL == s2a)) + { + GNUNET_break(0); + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Plugin cannot convert string to address!\n"); + end_badly_now (); + return; + } + + /* + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Plugin creates `%s' %u\n",api->address_to_string (api, s2a, s2a_len), s2a_len); + + int c1; + for (c1 = 0; c1 < s2a_len; c1++ ) + fprintf (stderr, "%u == %u\n", ((char *) s2a)[c1], ((char *) w->addr)[c1]); + */ + if (s2a_len != w->address->address_length) + { + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Plugin creates different address length when converting address->string->address: %u != %u\n", + w->address->address_length, s2a_len); + } + else if (0 != memcmp (s2a, w->address->address, s2a_len)) + { + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Plugin creates different address length when converting back and forth %i!\n", + memcmp (s2a, w->address->address, s2a_len)); + } + else + { + GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Testing string_to_address: OK\n"); + } + GNUNET_free(s2a); + + pretty_printers_running++; + api->address_pretty_printer (api->cls, address->transport_name, address->address, address->address_length, GNUNET_YES, + GNUNET_TIME_UNIT_MINUTES, &address_pretty_printer_cb, w); + + if (GNUNET_OK != api->check_address (api->cls, w->address->address, w->address->address_length)) + { + GNUNET_break(0); + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Plugin refuses added address!\n"); + end_badly_now (); + return; + } + if (GNUNET_SCHEDULER_NO_TASK != timeout_wait) + { + GNUNET_SCHEDULER_cancel (timeout_wait); + timeout_wait = GNUNET_SCHEDULER_NO_TASK; + } - timeout_wait = GNUNET_SCHEDULER_add_delayed (WAIT, &wait_end, NULL); + timeout_wait = GNUNET_SCHEDULER_add_delayed (WAIT, &wait_end, NULL ); } else if (GNUNET_NO == add_remove) { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, - "Removing address of length %u\n", addrlen); + GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Removing address of length %u\n", + address->address_length); - w = head; - while (NULL != w) + w = head; + while (NULL != w) + { + if ((address->address_length == w->address->address_length) && + (0 == memcmp (w->address->address, address->address, address->address_length))) { - if ((addrlen == w->addrlen) && (0 == memcmp (w->addr, addr, addrlen))) - { - break; - } - w = w->next; - } - - if (w == NULL) - { - GNUNET_break (0); - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Plugin removes address never added!\n"); - end_badly_now(); - return; + break; } + w = w->next; + } + + if (w == NULL ) + { + GNUNET_break(0); + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Plugin removes address never added!\n"); + end_badly_now (); + return; + } - GNUNET_CONTAINER_DLL_remove (head, tail, w); - GNUNET_free (w->addr); - GNUNET_free (w->addrstring); - GNUNET_free (w); + GNUNET_CONTAINER_DLL_remove(head, tail, w); + GNUNET_HELLO_address_free (w->address); + GNUNET_free(w->addrstring); + GNUNET_free(w); } else { - GNUNET_break (0); - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Invalid operation: %u\n", add_remove); - end_badly_now (); - return; + GNUNET_break(0); + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Invalid operation: %u\n", add_remove); + end_badly_now (); + return; } } - static struct GNUNET_ATS_Information -env_get_address_type (void *cls, - const struct sockaddr *addr, - size_t addrlen) +env_get_address_type (void *cls, const struct sockaddr *addr, size_t addrlen) { struct GNUNET_ATS_Information ats; ats.type = htonl (GNUNET_ATS_NETWORK_TYPE); @@ -490,34 +468,27 @@ env_get_address_type (void *cls, return ats; } - static const struct GNUNET_MessageHeader * env_get_our_hello () { return (const struct GNUNET_MessageHeader *) hello; } - static void -env_session_end (void *cls, - const struct GNUNET_PeerIdentity *peer, - struct Session * session) +env_session_end (void *cls, const struct GNUNET_PeerIdentity *peer, + struct Session * session) { } - static void env_update_metrics (void *cls, - const struct GNUNET_PeerIdentity *peer, - const void *address, - uint16_t address_len, - struct Session *session, - const struct GNUNET_ATS_Information *ats, - uint32_t ats_count) + const struct GNUNET_HELLO_Address *address, + struct Session *session, + const struct GNUNET_ATS_Information *ats, + uint32_t ats_count) { } - static void setup_plugin_environment () { @@ -534,15 +505,13 @@ setup_plugin_environment () env.session_end = &env_session_end; } - static int handle_helper_message (void *cls, void *client, - const struct GNUNET_MessageHeader *hdr) + const struct GNUNET_MessageHeader *hdr) { return GNUNET_OK; } - /** * Runs the test. * @@ -550,10 +519,10 @@ handle_helper_message (void *cls, void *client, * @param c configuration to use */ static void -run (void *cls, char *const *args, const char *cfgfile, - const struct GNUNET_CONFIGURATION_Handle *c) +run (void *cls, char * const *args, const char *cfgfile, + const struct GNUNET_CONFIGURATION_Handle *c) { - char *const *argv = cls; + char * const *argv = cls; unsigned long long tneigh; char *keyfile; char *plugin; @@ -563,66 +532,62 @@ run (void *cls, char *const *args, const char *cfgfile, cfg = c; /* parse configuration */ - if ( (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (c, - "TRANSPORT", - "NEIGHBOUR_LIMIT", - &tneigh)) || - (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (c, - "PEER", "PRIVATE_KEY", - &keyfile))) - { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Transport service is lacking key configuration settings. Exiting.\n"); + if ((GNUNET_OK + != GNUNET_CONFIGURATION_get_value_number (c, "TRANSPORT", + "NEIGHBOUR_LIMIT", &tneigh)) + || (GNUNET_OK + != GNUNET_CONFIGURATION_get_value_filename (c, "PEER", "PRIVATE_KEY", + &keyfile))) + { + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Transport service is lacking key configuration settings. Exiting.\n"); return; } if (NULL == (stats = GNUNET_STATISTICS_create ("transport", cfg))) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Could not create statistics. Exiting.\n"); - GNUNET_free (keyfile); + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Could not create statistics. Exiting.\n"); + GNUNET_free(keyfile); end_badly_now (); return; } if (GNUNET_OK != GNUNET_DISK_file_test (HOSTKEY_FILE)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Hostkey `%s' missing. Exiting.\n", - HOSTKEY_FILE); - GNUNET_free (keyfile); - end_badly_now (); - return; + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Hostkey `%s' missing. Exiting.\n", + HOSTKEY_FILE); + GNUNET_free(keyfile); + end_badly_now (); + return; } if (GNUNET_OK != GNUNET_DISK_directory_create_for_file (keyfile)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Could not create a directory for hostkey `%s'. Exiting.\n", - keyfile); - GNUNET_free (keyfile); - end_badly_now (); - return; + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Could not create a directory for hostkey `%s'. Exiting.\n", keyfile); + GNUNET_free(keyfile); + end_badly_now (); + return; } - if (GNUNET_OK != GNUNET_DISK_file_copy (HOSTKEY_FILE, keyfile)) + if (GNUNET_OK != GNUNET_DISK_file_copy (HOSTKEY_FILE, keyfile)) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Could not copy hostkey `%s' to destination `%s'. Exiting.\n", - HOSTKEY_FILE, keyfile); - GNUNET_free (keyfile); - end_badly_now (); - return; + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Could not copy hostkey `%s' to destination `%s'. Exiting.\n", + HOSTKEY_FILE, keyfile); + GNUNET_free(keyfile); + end_badly_now (); + return; } - max_connect_per_transport = (uint32_t) tneigh; my_private_key = GNUNET_CRYPTO_eddsa_key_create_from_file (keyfile); - GNUNET_free (keyfile); + GNUNET_free(keyfile); if (NULL == my_private_key) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Could not access hostkey. Exiting.\n"); + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Could not access hostkey. Exiting.\n"); end_badly_now (); return; } @@ -633,18 +598,18 @@ run (void *cls, char *const *args, const char *cfgfile, /* load plugins... */ setup_plugin_environment (); - GNUNET_assert (strlen (argv[0]) > strlen ("test_plugin_")); - plugin = strstr(argv[0],"test_plugin_"); - sep = strrchr(argv[0],'.'); + GNUNET_assert(strlen (argv[0]) > strlen ("test_plugin_")); + plugin = strstr (argv[0], "test_plugin_"); + sep = strrchr (argv[0], '.'); if (NULL == plugin) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Not a valid test name\n"); - end_badly_now (); - return; + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Not a valid test name\n"); + end_badly_now (); + return; } plugin += strlen ("test_plugin_"); if (NULL != sep) - sep[0] = '\0'; + sep[0] = '\0'; /* Hack for WLAN: start a second helper */ if (0 == strcmp (plugin, "wlan")) @@ -654,77 +619,73 @@ run (void *cls, char *const *args, const char *cfgfile, helper_argv[1] = (char *) "2"; helper_argv[2] = NULL; suid_helper = GNUNET_HELPER_start (GNUNET_NO, - "gnunet-helper-transport-wlan-dummy", - helper_argv, - &handle_helper_message, - NULL, - NULL); + "gnunet-helper-transport-wlan-dummy", helper_argv, + &handle_helper_message, NULL, NULL ); } /* Loading plugin */ - GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Loading transport plugin %s\n", plugin); + GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Loading transport plugin %s\n", plugin); GNUNET_asprintf (&libname, "libgnunet_plugin_transport_%s", plugin); api = GNUNET_PLUGIN_load (libname, &env); - if (api == NULL) + if (api == NULL ) { - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "Failed to load transport plugin for %s\n", plugin); + GNUNET_log(GNUNET_ERROR_TYPE_ERROR, + "Failed to load transport plugin for %s\n", plugin); end_badly_now (); return; } - timeout_wait = GNUNET_SCHEDULER_add_delayed (WAIT, &wait_end, NULL); + timeout_wait = GNUNET_SCHEDULER_add_delayed (WAIT, &wait_end, NULL ); /* Check if all functions are implemented */ if (NULL == api->address_pretty_printer) { - GNUNET_break (0); - end_badly_now (); - return; + GNUNET_break(0); + end_badly_now (); + return; } if (NULL == api->address_to_string) { - GNUNET_break (0); - end_badly_now (); - return; + GNUNET_break(0); + end_badly_now (); + return; } - GNUNET_assert (NULL != api->check_address); + GNUNET_assert(NULL != api->check_address); if (NULL == api->check_address) { - GNUNET_break (0); - end_badly_now (); - return; + GNUNET_break(0); + end_badly_now (); + return; } - GNUNET_assert (NULL != api->disconnect_peer); + GNUNET_assert(NULL != api->disconnect_peer); if (NULL == api->disconnect_peer) { - GNUNET_break (0); - end_badly_now (); - return; + GNUNET_break(0); + end_badly_now (); + return; } - GNUNET_assert (NULL != api->get_session); + GNUNET_assert(NULL != api->get_session); if (NULL == api->get_session) { - GNUNET_break (0); - end_badly_now (); - return; + GNUNET_break(0); + end_badly_now (); + return; } if (NULL == api->address_pretty_printer) { - GNUNET_break (0); - end_badly_now (); - return; + GNUNET_break(0); + end_badly_now (); + return; } if (NULL == api->string_to_address) { - GNUNET_break (0); - end_badly_now (); - return; + GNUNET_break(0); + end_badly_now (); + return; } } - /** * The main function for the test * @@ -733,32 +694,22 @@ run (void *cls, char *const *args, const char *cfgfile, * @return 0 ok, 1 on error */ int -main (int argc, char *const *argv) +main (int argc, char * const *argv) { static struct GNUNET_GETOPT_CommandLineOption options[] = { - GNUNET_GETOPT_OPTION_END - }; + GNUNET_GETOPT_OPTION_END }; int ret; GNUNET_DISK_directory_remove ("/tmp/test-gnunetd-plugin-transport"); - char *const argv_prog[] = { - "test_plugin_transport", - "-c", - "test_plugin_transport_data.conf", - NULL - }; - GNUNET_log_setup ("test-plugin-transport", - "WARNING", - NULL); - ok = 1; /* set to fail */ - ret = (GNUNET_OK == GNUNET_PROGRAM_run (3, - argv_prog, - "test-plugin-transport", - "testcase", - options, - &run, - (void *) argv)) ? ok : 1; + char * const argv_prog[] = { "test_plugin_transport", "-c", + "test_plugin_transport_data.conf", NULL }; + GNUNET_log_setup ("test-plugin-transport", "WARNING", NULL ); + ok = 1; /* set to fail */ + ret = + (GNUNET_OK + == GNUNET_PROGRAM_run (3, argv_prog, "test-plugin-transport", + "testcase", options, &run, (void *) argv)) ? ok : 1; GNUNET_DISK_directory_remove ("/tmp/test-gnunetd-plugin-transport"); return ret; } -- cgit v1.2.3