From e8911390bbcf3f8655f513f34ebd7e25305e74de Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 24 Aug 2024 01:25:42 -0400 Subject: [PATCH] netresolv: Move some definitions around for Clang compatibility. Otherwise we get implicit-function-definition errors. --- .../libnetwork/netresolv/nameser/ns_name.c | 60 +++++++++---------- .../libnetwork/netresolv/nameser/ns_parse.c | 4 ++ 2 files changed, 34 insertions(+), 30 deletions(-) diff --git a/src/system/libnetwork/netresolv/nameser/ns_name.c b/src/system/libnetwork/netresolv/nameser/ns_name.c index eb42295490..4f8bc3dbd9 100644 --- a/src/system/libnetwork/netresolv/nameser/ns_name.c +++ b/src/system/libnetwork/netresolv/nameser/ns_name.c @@ -189,23 +189,6 @@ ns_name_ntop(const u_char *src, char *dst, size_t dstsiz) return (int)(dn - dst); } -/*% - * Convert a ascii string into an encoded domain name as per RFC1035. - * - * return: - * - *\li -1 if it fails - *\li 1 if string was fully qualified - *\li 0 is string was not fully qualified - * - * notes: - *\li Enforces label and domain length limits. - */ -int -ns_name_pton(const char *src, u_char *dst, size_t dstsiz) { - return (ns_name_pton2(src, dst, dstsiz, NULL)); -} - /* * ns_name_pton2(src, dst, dstsiz, *dstlen) * Convert a ascii string into an encoded domain name as per RFC1035. @@ -344,6 +327,23 @@ ns_name_pton2(const char *src, u_char *dst, size_t dstsiz, size_t *dstlen) { return (0); } +/*% + * Convert a ascii string into an encoded domain name as per RFC1035. + * + * return: + * + *\li -1 if it fails + *\li 1 if string was fully qualified + *\li 0 is string was not fully qualified + * + * notes: + *\li Enforces label and domain length limits. + */ +int +ns_name_pton(const char *src, u_char *dst, size_t dstsiz) { + return (ns_name_pton2(src, dst, dstsiz, NULL)); +} + /*% * Convert a network strings labels into all lowercase. * @@ -399,19 +399,6 @@ ns_name_ntol(const u_char *src, u_char *dst, size_t dstsiz) return (int)(dn - dst); } -/*% - * Unpack a domain name from a message, source may be compressed. - * - * return: - *\li -1 if it fails, or consumed octets if it succeeds. - */ -int -ns_name_unpack(const u_char *msg, const u_char *eom, const u_char *src, - u_char *dst, size_t dstsiz) -{ - return (ns_name_unpack2(msg, eom, src, dst, dstsiz, NULL)); -} - /* * ns_name_unpack2(msg, eom, src, dst, dstsiz, *dstlen) * Unpack a domain name from a message, source may be compressed. @@ -501,6 +488,19 @@ ns_name_unpack2(const u_char *msg, const u_char *eom, const u_char *src, return len; } +/*% + * Unpack a domain name from a message, source may be compressed. + * + * return: + *\li -1 if it fails, or consumed octets if it succeeds. + */ +int +ns_name_unpack(const u_char *msg, const u_char *eom, const u_char *src, + u_char *dst, size_t dstsiz) +{ + return (ns_name_unpack2(msg, eom, src, dst, dstsiz, NULL)); +} + /*% * Pack domain name 'domain' into 'comp_dn'. * diff --git a/src/system/libnetwork/netresolv/nameser/ns_parse.c b/src/system/libnetwork/netresolv/nameser/ns_parse.c index a0527a363d..63fcaf52be 100644 --- a/src/system/libnetwork/netresolv/nameser/ns_parse.c +++ b/src/system/libnetwork/netresolv/nameser/ns_parse.c @@ -205,6 +205,10 @@ ns_parserr(ns_msg *handle, ns_sect section, int rrnum, ns_rr *rr) { return (0); } +extern int +ns_name_unpack2(const u_char *msg, const u_char *eom, const u_char *src, + u_char *dst, size_t dstsiz, size_t *dstlen); + /* * This is identical to the above but uses network-format (uncompressed) names. */