aboutsummaryrefslogtreecommitdiff
path: root/src/zonemaster/gnunet-service-zonemaster.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2018-05-13 21:17:12 +0200
committerChristian Grothoff <christian@grothoff.org>2018-05-13 21:17:12 +0200
commit98ac2b34f979cf10da24c984e690dabf7b34794b (patch)
treeed4fd15409066b5403f02c23aab9e14b179bc874 /src/zonemaster/gnunet-service-zonemaster.c
parentfa2978883e1585b1eeff3a22b7a9b4f174a45ca3 (diff)
downloadgnunet-98ac2b34f979cf10da24c984e690dabf7b34794b.tar.gz
gnunet-98ac2b34f979cf10da24c984e690dabf7b34794b.zip
add some extra GNS-record well-formedness checks if logging is enabled
Diffstat (limited to 'src/zonemaster/gnunet-service-zonemaster.c')
-rw-r--r--src/zonemaster/gnunet-service-zonemaster.c30
1 files changed, 14 insertions, 16 deletions
diff --git a/src/zonemaster/gnunet-service-zonemaster.c b/src/zonemaster/gnunet-service-zonemaster.c
index 0a562beb1..81d6fa2d9 100644
--- a/src/zonemaster/gnunet-service-zonemaster.c
+++ b/src/zonemaster/gnunet-service-zonemaster.c
@@ -540,24 +540,22 @@ convert_records_for_export (const struct GNUNET_GNSRECORD_Data *rd,
540 rd_public_count = 0; 540 rd_public_count = 0;
541 now = GNUNET_TIME_absolute_get (); 541 now = GNUNET_TIME_absolute_get ();
542 for (unsigned int i=0;i<rd_count;i++) 542 for (unsigned int i=0;i<rd_count;i++)
543 if (0 == (rd[i].flags & GNUNET_GNSRECORD_RF_PRIVATE)) 543 {
544 if (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_PRIVATE))
545 continue;
546 if ( (0 == (rd[i].flags & GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION)) &&
547 (rd[i].expiration_time < now.abs_value_us) )
548 continue; /* record already expired, skip it */
549 if (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION))
544 { 550 {
545 rd_public[rd_public_count] = rd[i]; 551 /* GNUNET_GNSRECORD_block_create will convert to absolute time;
546 if (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION)) 552 we just need to adjust our iteration frequency */
547 { 553 min_relative_record_time.rel_value_us =
548 /* GNUNET_GNSRECORD_block_create will convert to absolute time; 554 GNUNET_MIN (rd[i].expiration_time,
549 we just need to adjust our iteration frequency */ 555 min_relative_record_time.rel_value_us);
550 min_relative_record_time.rel_value_us =
551 GNUNET_MIN (rd_public[rd_public_count].expiration_time,
552 min_relative_record_time.rel_value_us);
553 }
554 else if (rd_public[rd_public_count].expiration_time < now.abs_value_us)
555 {
556 /* record already expired, skip it */
557 continue;
558 }
559 rd_public_count++;
560 } 556 }
557 rd_public[rd_public_count++] = rd[i];
558 }
561 return rd_public_count; 559 return rd_public_count;
562} 560}
563 561