diff options
author | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2020-05-09 22:00:01 +0200 |
---|---|---|
committer | Schanzenbach, Martin <mschanzenbach@posteo.de> | 2020-05-09 22:00:01 +0200 |
commit | 3da4b0d20d500b7a51f259033df88d6ac620bd6f (patch) | |
tree | 486ba12830644f5183b9ed1d7771f32797cba018 /src/gns | |
parent | 63c92bbef932b831de7741ecc45c21915bfda82a (diff) | |
download | gnunet-3da4b0d20d500b7a51f259033df88d6ac620bd6f.tar.gz gnunet-3da4b0d20d500b7a51f259033df88d6ac620bd6f.zip |
fix #6103; make LEHOs supplemental from CNAMEs and GNS2DNS names
Diffstat (limited to 'src/gns')
-rw-r--r-- | src/gns/gnunet-service-gns_resolver.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gns/gnunet-service-gns_resolver.c b/src/gns/gnunet-service-gns_resolver.c index 8b621515d..1d9fb902a 100644 --- a/src/gns/gnunet-service-gns_resolver.c +++ b/src/gns/gnunet-service-gns_resolver.c | |||
@@ -764,6 +764,12 @@ transmit_lookup_dns_result (struct GNS_ResolverHandle *rh) | |||
764 | rd[i].data = pos->data; | 764 | rd[i].data = pos->data; |
765 | rd[i].data_size = pos->data_size; | 765 | rd[i].data_size = pos->data_size; |
766 | rd[i].record_type = pos->record_type; | 766 | rd[i].record_type = pos->record_type; |
767 | /** | ||
768 | * If this is a LEHO, we added this before. It must be a supplemental | ||
769 | * record #LSD0001 | ||
770 | */ | ||
771 | if (GNUNET_GNSRECORD_TYPE_LEHO == rd[i].record_type) | ||
772 | rd[i].flags |= GNUNET_GNSRECORD_RF_SUPPLEMENTAL; | ||
767 | if (0 == pos->expiration_time) | 773 | if (0 == pos->expiration_time) |
768 | { | 774 | { |
769 | rd[i].flags = GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION; | 775 | rd[i].flags = GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION; |
@@ -1130,6 +1136,7 @@ dns_result_parser (void *cls, | |||
1130 | { | 1136 | { |
1131 | rd[rd_count - skip].record_type = GNUNET_GNSRECORD_TYPE_LEHO; | 1137 | rd[rd_count - skip].record_type = GNUNET_GNSRECORD_TYPE_LEHO; |
1132 | rd[rd_count - skip].flags = GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION; | 1138 | rd[rd_count - skip].flags = GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION; |
1139 | rd[rd_count - skip].flags |= GNUNET_GNSRECORD_RF_SUPPLEMENTAL; | ||
1133 | rd[rd_count - skip].expiration_time = GNUNET_TIME_UNIT_HOURS.rel_value_us; | 1140 | rd[rd_count - skip].expiration_time = GNUNET_TIME_UNIT_HOURS.rel_value_us; |
1134 | rd[rd_count - skip].data = rh->leho; | 1141 | rd[rd_count - skip].data = rh->leho; |
1135 | rd[rd_count - skip].data_size = strlen (rh->leho); | 1142 | rd[rd_count - skip].data_size = strlen (rh->leho); |
@@ -1350,6 +1357,7 @@ handle_gns_cname_result (struct GNS_ResolverHandle *rh, | |||
1350 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1357 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1351 | "Doing standard DNS lookup for `%s'\n", | 1358 | "Doing standard DNS lookup for `%s'\n", |
1352 | rh->name); | 1359 | rh->name); |
1360 | |||
1353 | rh->std_resolve = GNUNET_RESOLVER_ip_get (rh->name, | 1361 | rh->std_resolve = GNUNET_RESOLVER_ip_get (rh->name, |
1354 | af, | 1362 | af, |
1355 | DNS_LOOKUP_TIMEOUT, | 1363 | DNS_LOOKUP_TIMEOUT, |