aboutsummaryrefslogtreecommitdiff
path: root/src/transport/gnunet-service-tng.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/gnunet-service-tng.c')
-rw-r--r--src/transport/gnunet-service-tng.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/transport/gnunet-service-tng.c b/src/transport/gnunet-service-tng.c
index 69dab525a..138d8ee3f 100644
--- a/src/transport/gnunet-service-tng.c
+++ b/src/transport/gnunet-service-tng.c
@@ -8626,7 +8626,7 @@ start_address_validation (const struct GNUNET_PeerIdentity *pid,
8626 } 8626 }
8627 return; 8627 return;
8628 } 8628 }
8629 now = GNUNET_TIME_absolute_get (); 8629 now = GNUNET_TIME_absolute_get_monotonic (GST_cfg);
8630 vs = GNUNET_new (struct ValidationState); 8630 vs = GNUNET_new (struct ValidationState);
8631 vs->pid = *pid; 8631 vs->pid = *pid;
8632 vs->valid_until = 8632 vs->valid_until =
@@ -9009,6 +9009,19 @@ handle_validation_response (
9009 vs->validated_until, 9009 vs->validated_until,
9010 GNUNET_TIME_relative_multiply (vs->validation_rtt, 9010 GNUNET_TIME_relative_multiply (vs->validation_rtt,
9011 VALIDATION_RTT_BUFFER_FACTOR)); 9011 VALIDATION_RTT_BUFFER_FACTOR));
9012 if (GNUNET_TIME_absolute_cmp (vs->first_challenge_use, <, now))
9013 {
9014 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
9015 "First challenge use is now %" PRIu64 " %s \n",
9016 vs->first_challenge_use.abs_value_us,
9017 GNUNET_sh2s (&vs->challenge.value));
9018 vs->first_challenge_use = now;
9019 }
9020 else
9021 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
9022 "First challenge use is later %" PRIu64 " %s \n",
9023 vs->first_challenge_use.abs_value_us,
9024 GNUNET_sh2s (&vs->challenge.value));
9012 vs->last_challenge_use = 9025 vs->last_challenge_use =
9013 GNUNET_TIME_UNIT_ZERO_ABS; /* challenge was not yet used */ 9026 GNUNET_TIME_UNIT_ZERO_ABS; /* challenge was not yet used */
9014 update_next_challenge_time (vs, vs->first_challenge_use); 9027 update_next_challenge_time (vs, vs->first_challenge_use);
@@ -10650,6 +10663,8 @@ validation_start_cb (void *cls)
10650{ 10663{
10651 struct ValidationState *vs; 10664 struct ValidationState *vs;
10652 struct Queue *q; 10665 struct Queue *q;
10666 const struct GNUNET_TIME_Absolute now = GNUNET_TIME_absolute_get_monotonic (
10667 GST_cfg);
10653 10668
10654 (void) cls; 10669 (void) cls;
10655 validation_task = NULL; 10670 validation_task = NULL;
@@ -10673,6 +10688,13 @@ validation_start_cb (void *cls)
10673 happen if we're really a lonely peer */ 10688 happen if we're really a lonely peer */
10674 } 10689 }
10675 q = find_queue (&vs->pid, vs->address); 10690 q = find_queue (&vs->pid, vs->address);
10691 if (GNUNET_TIME_absolute_cmp (vs->first_challenge_use, >, now))
10692 {
10693 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
10694 "To early to start next address validation for challenge %s\n",
10695 GNUNET_sh2s (&vs->challenge.value));
10696 return;
10697 }
10676 if (NULL == q) 10698 if (NULL == q)
10677 { 10699 {
10678 vs->awaiting_queue = GNUNET_YES; 10700 vs->awaiting_queue = GNUNET_YES;