From: xrs Date: Tue, 28 Feb 2017 18:37:43 +0000 (+0100) Subject: Merge branch 'master' of ssh://gnunet.org/gnunet X-Git-Tag: gnunet-0.11.0rc0~303 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f82b3a27df765f4a31548ae4efe66dc3dbc42cef;hp=a9a6b98c54f5cc3e680c8ea2f9c69e3955e2a7da;p=oweals%2Fgnunet.git Merge branch 'master' of ssh://gnunet.org/gnunet Conflicts: src/multicast/test_multicast_multipeer.c --- diff --git a/src/multicast/Makefile.am b/src/multicast/Makefile.am index 61821d973..9abe38506 100644 --- a/src/multicast/Makefile.am +++ b/src/multicast/Makefile.am @@ -33,7 +33,8 @@ bin_PROGRAMS = \ gnunet-multicast libexec_PROGRAMS = \ - gnunet-service-multicast + gnunet-service-multicast \ + $(EXP_LIBEXEC) gnunet_multicast_SOURCES = \ gnunet-multicast.c @@ -49,7 +50,6 @@ gnunet_service_multicast_LDADD = \ $(top_builddir)/src/statistics/libgnunetstatistics.la \ $(GN_LIBINTL) - check_PROGRAMS = \ test_multicast \ test_multicast_multipeer diff --git a/src/multicast/test_multicast.conf b/src/multicast/test_multicast.conf index 675776bbc..3081aeecc 100644 --- a/src/multicast/test_multicast.conf +++ b/src/multicast/test_multicast.conf @@ -1,4 +1,12 @@ +[testbed] +HOSTNAME = localhost + [arm] GLOBAL_POSTFIX=-L ERROR -#PREFIX = sakura -t test-multicast -e cgdb --args +[multicast] +#PREFIX = xterm -T peer -e gdb --args +UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-service-multicast.sock + +[vpn] +AUTOSTART = NO diff --git a/src/multicast/test_multicast_multipeer.c b/src/multicast/test_multicast_multipeer.c index 1b76737f4..0f973517d 100644 --- a/src/multicast/test_multicast_multipeer.c +++ b/src/multicast/test_multicast_multipeer.c @@ -107,7 +107,6 @@ shutdown_task (void *cls) static void timeout_task (void *cls) { - timeout_tid = NULL; GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Timeout!\n"); result = GNUNET_SYSERR; @@ -126,6 +125,23 @@ member_join_request (void *cls, } +int notify (void *cls, + size_t *data_size, + void *data) +{ + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Member sents message to origin.\n"); + + char text[] = "ping"; + *data_size = strlen(text); + GNUNET_memcpy(data, text, *data_size); + + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "len: %i.\n", strlen(text)); + + return GNUNET_YES; +} + static void member_join_decision (void *cls, @@ -135,11 +151,18 @@ member_join_decision (void *cls, const struct GNUNET_PeerIdentity *relays, const struct GNUNET_MessageHeader *join_msg) { - GNUNET_log (GNUNET_ERROR_TYPE_INFO, + struct GNUNET_MULTICAST_MemberTransmitHandle *req; + + GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Member received a decision from origin: %s\n", (GNUNET_YES == is_admitted)?"accepted":"rejected"); - - result = GNUNET_OK; - GNUNET_SCHEDULER_shutdown (); + + if (GNUNET_YES == is_admitted) + { + req = GNUNET_MULTICAST_member_to_origin (member, + 0, + notify, + NULL); + } } static void @@ -173,14 +196,12 @@ origin_join_request (void *cls, uint8_t data_size = ntohs (join_msg->size); - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Dizzy: Mh, got a join request...\n"); - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "'%s'\n", (char *)&join_msg[1]); - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Dizzy: Oh, it's Bird! Let's get him in.\n"); + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "origin: got a join request...\n"); + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "member to origin: '%s'\n", (char *)&join_msg[1]); - char data[] = "Hi, Bird. Come in!"; + char data[] = "Come in!"; data_size = strlen (data) + 1; join_resp = GNUNET_malloc (sizeof (join_resp) + data_size); join_resp->size = htons (sizeof (join_resp) + data_size); @@ -198,21 +219,21 @@ origin_join_request (void *cls, static void origin_replay_frag (void *cls, - const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, - uint64_t fragment_id, - uint64_t flags, - struct GNUNET_MULTICAST_ReplayHandle *rh) + const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, + uint64_t fragment_id, + uint64_t flags, + struct GNUNET_MULTICAST_ReplayHandle *rh) { GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin replay fraq msg\n"); } static void origin_replay_msg (void *cls, - const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, - uint64_t message_id, - uint64_t fragment_offset, - uint64_t flags, - struct GNUNET_MULTICAST_ReplayHandle *rh) + const struct GNUNET_CRYPTO_EcdsaPublicKey *member_pub_key, + uint64_t message_id, + uint64_t fragment_offset, + uint64_t flags, + struct GNUNET_MULTICAST_ReplayHandle *rh) { GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin replay msg\n"); @@ -220,15 +241,21 @@ origin_replay_msg (void *cls, static void origin_request (void *cls, - const struct GNUNET_MULTICAST_RequestHeader *req) + const struct GNUNET_MULTICAST_RequestHeader *req) { GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin request msg\n"); + + //FIXME: get req content and send a pong + //GNUNET_log (GNUNET_ERROR_TYPE_INFO, + // "Member sent: '%s'\n", req); + result = GNUNET_OK; + GNUNET_SCHEDULER_shutdown (); } static void origin_message (void *cls, - const struct GNUNET_MULTICAST_MessageHeader *msg) + const struct GNUNET_MULTICAST_MessageHeader *msg) { GNUNET_log (GNUNET_ERROR_TYPE_INFO, "origin message msg\n"); } @@ -268,8 +295,8 @@ multicast_ca1 (void *cls, // Get members keys member_key = GNUNET_CRYPTO_ecdsa_key_create (); GNUNET_CRYPTO_ecdsa_key_get_public (member_key, &member_pub_key); - - char data[] = "Whut's up, Dizzy!"; + + char data[] = "Hi, can I enter?"; uint8_t data_size = strlen (data) + 1; join_msg = GNUNET_malloc (sizeof (join_msg) + data_size); join_msg->size = htons (sizeof (join_msg) + data_size);