From fcbabc6b637ba341c7a86e240302010a4429d41c Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Fri, 18 Mar 2022 08:52:01 +0100 Subject: GNS: Fix BOX handling in apex --- src/gns/gnunet-service-gns_resolver.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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) rp = rh->name; rh->name_resolution_pos = 0; } + else if (('_' == dot[1]) && + ('_' == rh->name[0]) && + (dot == memchr (rh->name, (int) '.', rh->name_resolution_pos))) + { + /** + * Do not advance a label. This seems to be a name only consisting + * of a BOX indicator (_443,_tcp). + * Which means, it is a BOX under the empty label. + * leaving name_resolution_pos as is and returning empty label. + */ + rp = GNUNET_GNS_EMPTY_LABEL_AT; + len = strlen (GNUNET_GNS_EMPTY_LABEL_AT); + } else { /* advance by one label */ -- cgit v1.2.3