[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet] 02/10: Transport: Added logging in case of UDP errors, and dest
From: |
gnunet |
Subject: |
[gnunet] 02/10: Transport: Added logging in case of UDP errors, and destroy queue in case of errors. |
Date: |
Sat, 09 Dec 2023 12:45:07 +0100 |
This is an automated email from the git hooks/post-receive script.
t3sserakt pushed a commit to branch master
in repository gnunet.
commit f5fa8ef5ca3cd58a0d40db3832ddc2308508debd
Author: t3sserakt <t3ss@posteo.de>
AuthorDate: Sat Dec 9 12:20:18 2023 +0100
Transport: Added logging in case of UDP errors, and destroy queue in case
of errors.
---
src/service/transport/gnunet-communicator-udp.c | 62 +++++++++++++++++++++----
1 file changed, 52 insertions(+), 10 deletions(-)
diff --git a/src/service/transport/gnunet-communicator-udp.c
b/src/service/transport/gnunet-communicator-udp.c
index e977cffa4..471726a15 100644
--- a/src/service/transport/gnunet-communicator-udp.c
+++ b/src/service/transport/gnunet-communicator-udp.c
@@ -1942,9 +1942,17 @@ sock_read (void *cls)
&salen);
if (-1 == rcvd)
{
+ struct sockaddr *addr = (struct sockaddr*) &sa;
+
if (EAGAIN == errno)
break; // We are done reading data
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_DEBUG, "recv");
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Failed to recv from %s family %d failed sock %p\n",
+ GNUNET_a2s ((struct sockaddr*) &sa,
+ sizeof (addr)),
+ addr->sa_family,
+ udp_sock);
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "recv");
return;
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -2292,7 +2300,8 @@ do_pad (gcry_cipher_hd_t out_cipher, char *dgram, size_t
pad_size)
static void
send_msg_with_kx (const struct GNUNET_MessageHeader *msg, struct
- ReceiverAddress *receiver)
+ ReceiverAddress *receiver,
+ struct GNUNET_MQ_Handle *mq)
{
uint16_t msize = ntohs (msg->size);
struct UdpHandshakeSignature uhs;
@@ -2364,12 +2373,25 @@ send_msg_with_kx (const struct GNUNET_MessageHeader
*msg, struct
sizeof(dgram),
receiver->address,
receiver->address_len))
+ {
GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "send");
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Sending KX with payload size %u to %s family %d failed sock
%p\n",
+ msize,
+ GNUNET_a2s (receiver->address,
+ receiver->address_len),
+ receiver->address->sa_family,
+ udp_sock);
+ GNUNET_MQ_impl_send_continue (mq);
+ receiver_destroy (receiver);
+ return;
+ }
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Sending KX with payload size %u to %s\n",
msize,
GNUNET_a2s (receiver->address,
receiver->address_len));
+ GNUNET_MQ_impl_send_continue (mq);
}
@@ -2389,8 +2411,7 @@ mq_send_kx (struct GNUNET_MQ_Handle *mq,
struct ReceiverAddress *receiver = impl_state;
GNUNET_assert (mq == receiver->kx_mq);
- send_msg_with_kx (msg, receiver);
- GNUNET_MQ_impl_send_continue (mq);
+ send_msg_with_kx (msg, receiver, mq);
}
@@ -2441,7 +2462,7 @@ mq_send_d (struct GNUNET_MQ_Handle *mq,
if ((msize > receiver->d_mtu) ||
(0 == receiver->acks_available))
{
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"msize: %u, mtu: %lu, acks: %u\n",
msize,
receiver->d_mtu,
@@ -2531,7 +2552,17 @@ mq_send_d (struct GNUNET_MQ_Handle *mq,
payload_len, // FIXME why always
send sizeof dgram?
receiver->address,
receiver->address_len))
+ {
GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "send");
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Sending UDPBox to %s family %d failed sock %p failed\n",
+ GNUNET_a2s (receiver->address,
+ receiver->address_len),
+ receiver->address->sa_family,
+ udp_sock);
+ receiver_destroy (receiver);
+ return;
+ }
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Sending UDPBox with payload size %u, %u acks left, %lu bytes
sent\n",
msize,
@@ -2544,8 +2575,7 @@ mq_send_d (struct GNUNET_MQ_Handle *mq,
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"No suitable ss found, sending as KX...\n");
- send_msg_with_kx (msg, receiver);
- GNUNET_MQ_impl_send_continue (mq);
+ send_msg_with_kx (msg, receiver, mq);
}
@@ -3286,6 +3316,11 @@ run (void *cls,
if (NULL == udp_sock)
{
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "socket");
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Failed to create socket for %s family %d\n",
+ GNUNET_a2s (in,
+ in_len),
+ in->sa_family);
GNUNET_free (in);
GNUNET_free (bindto);
return;
@@ -3300,6 +3335,12 @@ run (void *cls,
GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR,
"bind",
bindto);
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Failed to bind socket for %s family %d sock %p\n",
+ GNUNET_a2s (in,
+ in_len),
+ in->sa_family,
+ udp_sock);
GNUNET_NETWORK_socket_close (udp_sock);
udp_sock = NULL;
GNUNET_free (in);
@@ -3321,11 +3362,12 @@ run (void *cls,
GNUNET_free (bindto);
in = (struct sockaddr *) &in_sto;
in_len = sto_len;
- GNUNET_log_from_nocheck (GNUNET_ERROR_TYPE_DEBUG,
+ GNUNET_log_from_nocheck (GNUNET_ERROR_TYPE_INFO,
"transport",
- "Bound to `%s'\n",
+ "Bound to `%s' sock %p\n",
GNUNET_a2s ((const struct sockaddr *) &in_sto,
- sto_len));
+ sto_len),
+ udp_sock);
switch (in->sa_family)
{
case AF_INET:
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnunet] branch master updated (a5dfa2db4 -> e5e1586bb), gnunet, 2023/12/09
- [gnunet] 01/10: Transport: Destroy closed ProtoQueue., gnunet, 2023/12/09
- [gnunet] 04/10: Transport: Removed misplaced removal of QueueEntry., gnunet, 2023/12/09
- [gnunet] 02/10: Transport: Added logging in case of UDP errors, and destroy queue in case of errors.,
gnunet <=
- [gnunet] 03/10: Transport: Fixed bug in handling of AckPending., gnunet, 2023/12/09
- [gnunet] 06/10: Transport: We need to check if a message was cached when resuming communicators., gnunet, 2023/12/09
- [gnunet] 09/10: Transport: More useful debug logging für service., gnunet, 2023/12/09
- [gnunet] 07/10: Transport: Fixed bug handling queue length and QueueEntry when queue has no capacity., gnunet, 2023/12/09
- [gnunet] 05/10: Transport: Fixed bugs in core message cache., gnunet, 2023/12/09
- [gnunet] 08/10: Transport: Fixed bug to check each queue for validity separately., gnunet, 2023/12/09
- [gnunet] 10/10: Merge branch 'master' of ssh://git.gnunet.org/gnunet, gnunet, 2023/12/09