diff options
Diffstat (limited to 'src/transport')
-rw-r--r-- | src/transport/gnunet-communicator-udp.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/transport/gnunet-communicator-udp.c b/src/transport/gnunet-communicator-udp.c index 7e353e4b1..018da8f0e 100644 --- a/src/transport/gnunet-communicator-udp.c +++ b/src/transport/gnunet-communicator-udp.c | |||
@@ -3461,10 +3461,6 @@ ifc_broadcast (void *cls) | |||
3461 | sizeof(int))) | 3461 | sizeof(int))) |
3462 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, | 3462 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, |
3463 | "setsockopt"); | 3463 | "setsockopt"); |
3464 | fprintf (stderr, | ||
3465 | "BC to %s\n", | ||
3466 | GNUNET_a2s (bi->ba, | ||
3467 | bi->salen)); | ||
3468 | sent = GNUNET_NETWORK_socket_sendto (udp_sock, | 3464 | sent = GNUNET_NETWORK_socket_sendto (udp_sock, |
3469 | &bi->bcm, | 3465 | &bi->bcm, |
3470 | sizeof(bi->bcm), | 3466 | sizeof(bi->bcm), |
@@ -3561,10 +3557,18 @@ iface_proc (void *cls, | |||
3561 | return GNUNET_OK; /* not using IPv6 */ | 3557 | return GNUNET_OK; /* not using IPv6 */ |
3562 | 3558 | ||
3563 | bi = GNUNET_new (struct BroadcastInterface); | 3559 | bi = GNUNET_new (struct BroadcastInterface); |
3564 | bi->sa = GNUNET_memdup (addr, addrlen); | 3560 | bi->sa = GNUNET_memdup (addr, |
3565 | if (NULL != broadcast_addr) | 3561 | addrlen); |
3566 | bi->ba = GNUNET_memdup (broadcast_addr, | 3562 | if ( (NULL != broadcast_addr) && |
3567 | addrlen); | 3563 | (addrlen == sizeof (struct sockaddr_in)) ) |
3564 | { | ||
3565 | struct sockaddr_in *ba; | ||
3566 | |||
3567 | ba = GNUNET_memdup (broadcast_addr, | ||
3568 | addrlen); | ||
3569 | ba->sin_port = htons (2086); /* always GNUnet port, ignore configuration! */ | ||
3570 | bi->ba = (struct sockaddr *) ba; | ||
3571 | } | ||
3568 | bi->salen = addrlen; | 3572 | bi->salen = addrlen; |
3569 | bi->found = GNUNET_YES; | 3573 | bi->found = GNUNET_YES; |
3570 | bi->bcm.sender = my_identity; | 3574 | bi->bcm.sender = my_identity; |
@@ -3575,7 +3579,7 @@ iface_proc (void *cls, | |||
3575 | GNUNET_CRYPTO_eddsa_sign (my_private_key, | 3579 | GNUNET_CRYPTO_eddsa_sign (my_private_key, |
3576 | &ubs, | 3580 | &ubs, |
3577 | &bi->bcm.sender_sig); | 3581 | &bi->bcm.sender_sig); |
3578 | if (NULL != broadcast_addr) | 3582 | if (NULL != bi->ba) |
3579 | { | 3583 | { |
3580 | bi->broadcast_task = GNUNET_SCHEDULER_add_now (&ifc_broadcast, bi); | 3584 | bi->broadcast_task = GNUNET_SCHEDULER_add_now (&ifc_broadcast, bi); |
3581 | GNUNET_CONTAINER_DLL_insert (bi_head, bi_tail, bi); | 3585 | GNUNET_CONTAINER_DLL_insert (bi_head, bi_tail, bi); |