X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_server_with_client_unix.c;h=49b70478d45358e58e613b5e59bd7e78b9a45355;hb=c77bdc9b0fec7ce8201c5f3f5c915485abaf2dcd;hp=11f731243333ff0d864dbb2fd1480b8b87b7aa93;hpb=d9d94d0e53d26af75ec8241383d166544ebd79f3;p=oweals%2Fgnunet.git diff --git a/src/util/test_server_with_client_unix.c b/src/util/test_server_with_client_unix.c index 11f731243..49b70478d 100644 --- a/src/util/test_server_with_client_unix.c +++ b/src/util/test_server_with_client_unix.c @@ -24,13 +24,7 @@ * client_get_address and receive_done (resume processing) */ #include "platform.h" -#include "gnunet_common.h" -#include "gnunet_scheduler_lib.h" -#include "gnunet_client_lib.h" -#include "gnunet_server_lib.h" -#include "gnunet_time_lib.h" - -#define VERBOSE GNUNET_EXTRA_LOGGING +#include "gnunet_util_lib.h" #define MY_TYPE 128 @@ -43,6 +37,7 @@ static struct GNUNET_CONFIGURATION_Handle *cfg; static int ok; + static void send_done (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { @@ -56,24 +51,24 @@ send_done (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) static void recv_cb (void *cls, struct GNUNET_SERVER_Client *argclient, - const struct GNUNET_MessageHeader *message) + const struct GNUNET_MessageHeader *message) { switch (ok) - { - case 2: - ok++; - GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply - (GNUNET_TIME_UNIT_MILLISECONDS, 50), - &send_done, argclient); - break; - case 4: - ok++; - GNUNET_CLIENT_disconnect (client, GNUNET_YES); - GNUNET_SERVER_receive_done (argclient, GNUNET_OK); - break; - default: - GNUNET_assert (0); - } + { + case 2: + ok++; + GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply + (GNUNET_TIME_UNIT_MILLISECONDS, 50), + &send_done, argclient); + break; + case 4: + ok++; + GNUNET_CLIENT_disconnect (client); + GNUNET_SERVER_receive_done (argclient, GNUNET_OK); + break; + default: + GNUNET_assert (0); + } } @@ -135,30 +130,24 @@ task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { struct sockaddr_un un; const char *unixpath = "/tmp/testsock"; - size_t slen = strlen (unixpath); struct sockaddr *sap[2]; socklen_t slens[2]; memset (&un, 0, sizeof (un)); un.sun_family = AF_UNIX; - memcpy (un.sun_path, unixpath, slen); - un.sun_path[slen] = '\0'; + strncpy(un.sun_path, unixpath, sizeof (un.sun_path) - 1); #if HAVE_SOCKADDR_IN_SIN_LEN un.sun_len = (u_char) sizeof (un); #endif -#if LINUX - un.sun_path[0] = '\0'; -#endif - sap[0] = (struct sockaddr *) &un; slens[0] = sizeof (un); sap[1] = NULL; slens[1] = 0; server = - GNUNET_SERVER_create (NULL, NULL, sap, slens, - GNUNET_TIME_relative_multiply - (GNUNET_TIME_UNIT_MILLISECONDS, 250), GNUNET_NO); + GNUNET_SERVER_create (NULL, NULL, sap, slens, + GNUNET_TIME_relative_multiply + (GNUNET_TIME_UNIT_MILLISECONDS, 250), GNUNET_NO); GNUNET_assert (server != NULL); handlers[0].callback_cls = cls; GNUNET_SERVER_add_handlers (server, handlers); @@ -167,46 +156,26 @@ task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) GNUNET_CONFIGURATION_set_value_string (cfg, "test", "UNIXPATH", unixpath); GNUNET_CONFIGURATION_set_value_string (cfg, "resolver", "HOSTNAME", - "localhost"); + "localhost"); client = GNUNET_CLIENT_connect ("test", cfg); GNUNET_assert (client != NULL); GNUNET_CLIENT_notify_transmit_ready (client, 256, - GNUNET_TIME_relative_multiply - (GNUNET_TIME_UNIT_MILLISECONDS, 250), - GNUNET_NO, ¬ify_ready, NULL); -} - - -/** - * Main method, starts scheduler with task1, - * checks that "ok" is correct at the end. - */ -static int -check () -{ - - ok = 1; - GNUNET_SCHEDULER_run (&task, NULL); - return ok; + GNUNET_TIME_relative_multiply + (GNUNET_TIME_UNIT_MILLISECONDS, 250), + GNUNET_NO, ¬ify_ready, NULL); } int main (int argc, char *argv[]) { - int ret = 0; - GNUNET_log_setup ("test_server_with_client_unix", -#if VERBOSE - "DEBUG", -#else - "WARNING", -#endif - NULL); - ret += check (); - - return ret; + "WARNING", + NULL); + ok = 1; + GNUNET_SCHEDULER_run (&task, NULL); + return ok; } /* end of test_server_with_client_unix.c */