[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet] branch master updated: fix sendto bug
From: |
gnunet |
Subject: |
[gnunet] branch master updated: fix sendto bug |
Date: |
Sun, 20 Dec 2020 12:02:41 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository gnunet.
The following commit(s) were added to refs/heads/master by this push:
new b5e9bdbdd fix sendto bug
b5e9bdbdd is described below
commit b5e9bdbdde10102023074d57086975b354019a22
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Dec 20 12:02:13 2020 +0100
fix sendto bug
---
src/transport/gnunet-communicator-udp.c | 79 +++++++++++++++++++++++----------
src/util/network.c | 31 ++++++-------
2 files changed, 69 insertions(+), 41 deletions(-)
diff --git a/src/transport/gnunet-communicator-udp.c
b/src/transport/gnunet-communicator-udp.c
index 1f87ba6d4..7e353e4b1 100644
--- a/src/transport/gnunet-communicator-udp.c
+++ b/src/transport/gnunet-communicator-udp.c
@@ -1464,7 +1464,7 @@ destroy_all_secrets (struct SharedSecret *ss, int
withoutKce)
}
pos = ss_start;
- while ( NULL != pos)
+ while (NULL != pos)
{
ss_to_destroy = pos;
pos = pos->next;
@@ -1484,6 +1484,7 @@ destroy_all_secrets (struct SharedSecret *ss, int
withoutKce)
"Finished destroy all.\n");
}
+
static void
add_acks (struct SharedSecret *ss, int acks_to_add)
{
@@ -1520,6 +1521,7 @@ add_acks (struct SharedSecret *ss, int acks_to_add)
destroy_all_secrets (ss, GNUNET_YES);
}
+
static uint32_t
reset_rekey_kces (struct ReceiverAddress *receiver,
uint32_t acks_to_add)
@@ -1550,6 +1552,7 @@ reset_rekey_kces (struct ReceiverAddress *receiver,
return acks_to_add;
}
+
static void
add_acks_rekey (struct ReceiverAddress *receiver)
{
@@ -1575,6 +1578,7 @@ add_acks_rekey (struct ReceiverAddress *receiver)
GNUNET_NO);
}
+
/**
* We received an ACK for @a pid. Check if it is for
* the receiver in @a value and if so, handle it and
@@ -1736,7 +1740,6 @@ try_handle_plaintext (struct SenderAddress *sender,
}
-
static void
kce_generate_cb (void *cls)
{
@@ -1771,6 +1774,7 @@ kce_generate_cb (void *cls)
}
+
static void
kce_generate_rekey_cb (void *cls)
{
@@ -1870,7 +1874,8 @@ consider_ss_ack (struct SharedSecret *ss, int initial)
kce_task_finished = GNUNET_NO;
}
}
- else if ((NULL == kce_task) && ((KCN_THRESHOLD >
ss->sender->acks_available)||
+ else if ((NULL == kce_task) && ((KCN_THRESHOLD >
+ ss->sender->acks_available) ||
(GNUNET_YES == ss->sender->rekeying) ||
(ss->sender->num_secrets > MAX_SECRETS) ))
{
@@ -1945,13 +1950,15 @@ decrypt_box (const struct UDPBox *box,
}
else if (GNUNET_NO == box->rekeying)
consider_ss_ack (ss, GNUNET_NO);
- else{
+ else
+ {
ss->sender->rekeying = GNUNET_YES;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Got Box: Receiver doing rekeying.\n");
}
}
+
/**
* We received a @a rekey with matching @a kce. Decrypt and process it.
*
@@ -2039,6 +2046,7 @@ decrypt_rekey (const struct UDPRekey *rekey,
}
+
/**
* Closure for #find_sender_by_address()
*/
@@ -2249,15 +2257,16 @@ sock_read (void *cls)
box = (const struct UDPBox *) buf;
kce = GNUNET_CONTAINER_multishortmap_get (key_cache, &rekey->kid);
- if ((GNUNET_YES == box->rekeying)||(GNUNET_NO == box->rekeying))
+ if ((GNUNET_YES == box->rekeying) || (GNUNET_NO == box->rekeying))
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"UDPRekey has rekeying %u\n",
box->rekeying);
else
do_decrypt = GNUNET_YES;
- if ((GNUNET_YES == do_decrypt)&& (NULL != kce) && (GNUNET_YES ==
-
kce->ss->sender->rekeying))
+ if ((GNUNET_YES == do_decrypt) && (NULL != kce) && (GNUNET_YES ==
+ kce->ss->sender->
+ rekeying))
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"UDPRekey with kid %s\n",
@@ -2400,7 +2409,8 @@ sock_read (void *cls)
}
else if (GNUNET_NO == kx->rekeying)
consider_ss_ack (ss, GNUNET_YES);
- else{
+ else
+ {
ss->sender->rekeying = GNUNET_YES;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Got KX: Receiver doing rekeying.\n");
@@ -2664,6 +2674,7 @@ mq_send_kx (struct GNUNET_MQ_Handle *mq,
GNUNET_MQ_impl_send_continue (mq);
}
+
static void
check_for_rekeying (struct ReceiverAddress *receiver, struct UDPBox *box)
{
@@ -2687,8 +2698,8 @@ check_for_rekeying (struct ReceiverAddress *receiver,
struct UDPBox *box)
rt.rel_value_us,
receiver->rekey_timeout.abs_value_us);
- if ((0 == rt.rel_value_us)||(receiver->rekey_send_bytes >
- rekey_max_bytes) )
+ if ((0 == rt.rel_value_us) || (receiver->rekey_send_bytes >
+ rekey_max_bytes) )
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Bytes send %lu greater than %llu max bytes\n.",
@@ -2716,6 +2727,7 @@ check_for_rekeying (struct ReceiverAddress *receiver,
struct UDPBox *box)
}
}
+
static void
send_UDPRekey (struct ReceiverAddress *receiver, struct SharedSecret *ss)
{
@@ -3283,14 +3295,17 @@ do_shutdown (void *cls)
}
if (NULL != udp_sock)
{
- GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (udp_sock));
+ GNUNET_break (GNUNET_OK ==
+ GNUNET_NETWORK_socket_close (udp_sock));
udp_sock = NULL;
}
GNUNET_CONTAINER_multipeermap_iterate (receivers,
&get_receiver_delete_it,
NULL);
GNUNET_CONTAINER_multipeermap_destroy (receivers);
- GNUNET_CONTAINER_multipeermap_iterate (senders, &get_sender_delete_it, NULL);
+ GNUNET_CONTAINER_multipeermap_iterate (senders,
+ &get_sender_delete_it,
+ NULL);
GNUNET_CONTAINER_multipeermap_destroy (senders);
GNUNET_CONTAINER_multishortmap_destroy (key_cache);
GNUNET_CONTAINER_heap_destroy (senders_heap);
@@ -3438,25 +3453,33 @@ ifc_broadcast (void *cls)
static int no = 0;
ssize_t sent;
- if (GNUNET_OK != GNUNET_NETWORK_socket_setsockopt (udp_sock,
- SOL_SOCKET,
- SO_BROADCAST,
- &yes,
- sizeof(int)))
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "setsockopt");
+ if (GNUNET_OK !=
+ GNUNET_NETWORK_socket_setsockopt (udp_sock,
+ SOL_SOCKET,
+ SO_BROADCAST,
+ &yes,
+ sizeof(int)))
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,
+ "setsockopt");
+ fprintf (stderr,
+ "BC to %s\n",
+ GNUNET_a2s (bi->ba,
+ bi->salen));
sent = GNUNET_NETWORK_socket_sendto (udp_sock,
&bi->bcm,
sizeof(bi->bcm),
bi->ba,
bi->salen);
if (-1 == sent)
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "sendto");
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,
+ "sendto");
if (GNUNET_OK != GNUNET_NETWORK_socket_setsockopt (udp_sock,
SOL_SOCKET,
SO_BROADCAST,
&no,
sizeof(int)))
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "setsockopt");
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,
+ "setsockopt");
break;
}
@@ -3540,7 +3563,8 @@ iface_proc (void *cls,
bi = GNUNET_new (struct BroadcastInterface);
bi->sa = GNUNET_memdup (addr, addrlen);
if (NULL != broadcast_addr)
- bi->ba = GNUNET_memdup (broadcast_addr, addrlen);
+ bi->ba = GNUNET_memdup (broadcast_addr,
+ addrlen);
bi->salen = addrlen;
bi->found = GNUNET_YES;
bi->bcm.sender = my_identity;
@@ -3675,7 +3699,9 @@ run (void *cls,
return;
}
udp_sock =
- GNUNET_NETWORK_socket_create (in->sa_family, SOCK_DGRAM, IPPROTO_UDP);
+ GNUNET_NETWORK_socket_create (in->sa_family,
+ SOCK_DGRAM,
+ IPPROTO_UDP);
if (NULL == udp_sock)
{
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "socket");
@@ -3685,9 +3711,14 @@ run (void *cls,
}
if (AF_INET6 == in->sa_family)
have_v6_socket = GNUNET_YES;
- if (GNUNET_OK != GNUNET_NETWORK_socket_bind (udp_sock, in, in_len))
+ if (GNUNET_OK !=
+ GNUNET_NETWORK_socket_bind (udp_sock,
+ in,
+ in_len))
{
- GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "bind", bindto);
+ GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR,
+ "bind",
+ bindto);
GNUNET_NETWORK_socket_close (udp_sock);
udp_sock = NULL;
GNUNET_free (in);
diff --git a/src/util/network.c b/src/util/network.c
index b18030fcd..c4adefb8f 100644
--- a/src/util/network.c
+++ b/src/util/network.c
@@ -757,21 +757,17 @@ GNUNET_NETWORK_socket_recvfrom (const struct
GNUNET_NETWORK_Handle *desc,
struct sockaddr *src_addr,
socklen_t *addrlen)
{
- int ret;
- int flags;
-
- flags = 0;
+ int flags = 0;
#ifdef MSG_DONTWAIT
flags |= MSG_DONTWAIT;
#endif
- ret = recvfrom (desc->fd,
- buffer,
- length,
- flags,
- src_addr,
- addrlen);
- return ret;
+ return recvfrom (desc->fd,
+ buffer,
+ length,
+ flags,
+ src_addr,
+ addrlen);
}
@@ -853,10 +849,7 @@ GNUNET_NETWORK_socket_sendto (const struct
GNUNET_NETWORK_Handle *desc,
const struct sockaddr *dest_addr,
socklen_t dest_len)
{
- int ret;
- int flags;
-
- flags = 0;
+ int flags = 0;
#ifdef MSG_DONTWAIT
flags |= MSG_DONTWAIT;
@@ -864,8 +857,12 @@ GNUNET_NETWORK_socket_sendto (const struct
GNUNET_NETWORK_Handle *desc,
#ifdef MSG_NOSIGNAL
flags |= MSG_NOSIGNAL;
#endif
- ret = sendto (desc->fd, message, length, flags, dest_addr, dest_len);
- return ret;
+ return sendto (desc->fd,
+ message,
+ length,
+ flags,
+ dest_addr,
+ dest_len);
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnunet] branch master updated: fix sendto bug,
gnunet <=