diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-05-13 21:17:12 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-05-13 21:17:12 +0200 |
commit | 98ac2b34f979cf10da24c984e690dabf7b34794b (patch) | |
tree | ed4fd15409066b5403f02c23aab9e14b179bc874 /src/zonemaster/gnunet-service-zonemaster.c | |
parent | fa2978883e1585b1eeff3a22b7a9b4f174a45ca3 (diff) | |
download | gnunet-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.c | 30 |
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 | ||