From 3ec2b451f938398eb4d2f92603f0659c26f6675c Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Wed, 28 Sep 2022 14:05:01 +0900 Subject: NAMESTORE: Allow service-side record set filtering. Fixes #7193 This commit enables zone iteration APIs which allow you to set a record set filter to determine which records should be returned or not. In particular filtering of private records and maintenance records (TOMBSTONE) for zonemaster. --- src/gnsrecord/gnsrecord_misc.c | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) (limited to 'src/gnsrecord/gnsrecord_misc.c') diff --git a/src/gnsrecord/gnsrecord_misc.c b/src/gnsrecord/gnsrecord_misc.c index 5e3bbdb8c..880fc68c6 100644 --- a/src/gnsrecord/gnsrecord_misc.c +++ b/src/gnsrecord/gnsrecord_misc.c @@ -421,7 +421,7 @@ GNUNET_GNSRECORD_normalize_record_set (const char *label, rd_public, unsigned int *rd_count_public, struct GNUNET_TIME_Absolute *expiry, - int include_private, + enum GNUNET_GNSRECORD_Filter filter, char **emsg) { struct GNUNET_TIME_Absolute now; @@ -539,7 +539,7 @@ GNUNET_GNSRECORD_normalize_record_set (const char *label, /* Ignore private records for public record set */ - if ((GNUNET_NO == include_private) && + if ((0 != (filter & GNUNET_GNSRECORD_FILTER_OMIT_PRIVATE)) && (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_PRIVATE))) continue; /* Skip expired records */ @@ -561,27 +561,4 @@ GNUNET_GNSRECORD_normalize_record_set (const char *label, } -enum GNUNET_GenericReturnValue -GNUNET_GNSRECORD_convert_records_for_export (const char *label, - const struct - GNUNET_GNSRECORD_Data *rd, - unsigned int rd_count, - struct GNUNET_GNSRECORD_Data * - rd_public, - unsigned int *rd_count_public, - struct GNUNET_TIME_Absolute *expiry, - char **emsg) -{ - return GNUNET_GNSRECORD_normalize_record_set (label, - rd, - rd_count, - rd_public, - rd_count_public, - expiry, - GNUNET_NO, - emsg); - -} - - /* end of gnsrecord_misc.c */ -- cgit v1.2.3