summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authort3sserakt <t3ss@posteo.de>2023-04-27 18:11:46 +0200
committert3sserakt <t3ss@posteo.de>2023-05-02 12:41:02 +0200
commite0d5206115db8eeeb42ca50237805f165f60c954 (patch)
treef42f2a559bd976389750d55c28f6875ddd300e4f
parent4af328381f1e954c90e9b821e366998808394d88 (diff)
TNG: Fixed bug that additional queues for the same communicator inherit the validity period.
-rw-r--r--src/transport/gnunet-service-tng.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/transport/gnunet-service-tng.c b/src/transport/gnunet-service-tng.c
index c30d2dd19..f030944bb 100644
--- a/src/transport/gnunet-service-tng.c
+++ b/src/transport/gnunet-service-tng.c
@@ -10899,6 +10899,7 @@ handle_add_queue_message (void *cls,
struct TransportClient *tc = cls;
struct Queue *queue;
struct Neighbour *neighbour;
+ struct GNUNET_TIME_Absolute validated_until = GNUNET_TIME_UNIT_ZERO_ABS;
const char *addr;
uint16_t addr_len;
@@ -10915,6 +10916,7 @@ handle_add_queue_message (void *cls,
NULL != queue;
queue = queue->next_client)
{
+ validated_until = queue->validated_until;
if (queue->qid != ntohl (aqm->qid))
continue;
break;
@@ -10956,6 +10958,13 @@ handle_add_queue_message (void *cls,
ntohl (aqm->mtu));
queue = GNUNET_malloc (sizeof(struct Queue) + addr_len);
queue->tc = tc;
+ if (GNUNET_TIME_UNIT_ZERO_ABS.abs_value_us != validated_until.abs_value_us)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "New queue with QID %lu inherit validated until\n",
+ ntohl (aqm->qid));
+ queue->validated_until = validated_until;
+ }
queue->address = (const char *) &queue[1];
queue->pd.aged_rtt = GNUNET_TIME_UNIT_FOREVER_REL;
queue->qid = ntohl (aqm->qid);