diff options
author | Martin Schanzenbach <schanzen@gnunet.org> | 2022-03-18 08:52:01 +0100 |
---|---|---|
committer | Martin Schanzenbach <schanzen@gnunet.org> | 2022-03-18 08:52:01 +0100 |
commit | fcbabc6b637ba341c7a86e240302010a4429d41c (patch) | |
tree | 89c155bcf78c060149c7f97536afe12ebff47e3a /src/gns | |
parent | 91e246223d83075b68f15030aa06885e64fa538d (diff) | |
download | gnunet-fcbabc6b637ba341c7a86e240302010a4429d41c.tar.gz gnunet-fcbabc6b637ba341c7a86e240302010a4429d41c.zip |
GNS: Fix BOX handling in apex
Diffstat (limited to 'src/gns')
-rw-r--r-- | src/gns/gnunet-service-gns_resolver.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gns/gnunet-service-gns_resolver.c b/src/gns/gnunet-service-gns_resolver.c index bb3dc215a..9d26e1777 100644 --- a/src/gns/gnunet-service-gns_resolver.c +++ b/src/gns/gnunet-service-gns_resolver.c | |||
@@ -623,6 +623,19 @@ resolver_lookup_get_next_label (struct GNS_ResolverHandle *rh) | |||
623 | rp = rh->name; | 623 | rp = rh->name; |
624 | rh->name_resolution_pos = 0; | 624 | rh->name_resolution_pos = 0; |
625 | } | 625 | } |
626 | else if (('_' == dot[1]) && | ||
627 | ('_' == rh->name[0]) && | ||
628 | (dot == memchr (rh->name, (int) '.', rh->name_resolution_pos))) | ||
629 | { | ||
630 | /** | ||
631 | * Do not advance a label. This seems to be a name only consisting | ||
632 | * of a BOX indicator (_443,_tcp). | ||
633 | * Which means, it is a BOX under the empty label. | ||
634 | * leaving name_resolution_pos as is and returning empty label. | ||
635 | */ | ||
636 | rp = GNUNET_GNS_EMPTY_LABEL_AT; | ||
637 | len = strlen (GNUNET_GNS_EMPTY_LABEL_AT); | ||
638 | } | ||
626 | else | 639 | else |
627 | { | 640 | { |
628 | /* advance by one label */ | 641 | /* advance by one label */ |