[09/30] resolv: Move ns_name_pton into its own file and into libc
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
Commit Message
And reformat to GNU style, and eliminate the digits variable.
The symbol was moved using scripts/move-symbol-to-libc.py.
---
include/arpa/nameser.h | 3 +-
resolv/Makefile | 1 +
resolv/Versions | 3 +
resolv/ns_name.c | 125 --------------
resolv/ns_name_pton.c | 157 ++++++++++++++++++
sysdeps/mach/hurd/i386/libc.abilist | 2 +
sysdeps/mach/hurd/i386/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 +
.../unix/sysv/linux/aarch64/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 +
.../unix/sysv/linux/alpha/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/arc/libc.abilist | 2 +
sysdeps/unix/sysv/linux/arc/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 +
.../unix/sysv/linux/arm/be/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 +
.../unix/sysv/linux/arm/le/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/csky/libc.abilist | 2 +
.../unix/sysv/linux/csky/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 +
.../unix/sysv/linux/hppa/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/i386/libc.abilist | 2 +
.../unix/sysv/linux/i386/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 +
.../unix/sysv/linux/ia64/libresolv.abilist | 1 -
.../sysv/linux/m68k/coldfire/libc.abilist | 2 +
.../linux/m68k/coldfire/libresolv.abilist | 1 -
.../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 +
.../sysv/linux/m68k/m680x0/libresolv.abilist | 1 -
.../sysv/linux/microblaze/be/libc.abilist | 2 +
.../linux/microblaze/be/libresolv.abilist | 1 -
.../sysv/linux/microblaze/le/libc.abilist | 2 +
.../linux/microblaze/le/libresolv.abilist | 1 -
.../sysv/linux/mips/mips32/fpu/libc.abilist | 2 +
.../sysv/linux/mips/mips32/libresolv.abilist | 1 -
.../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 +
.../sysv/linux/mips/mips64/n32/libc.abilist | 2 +
.../linux/mips/mips64/n32/libresolv.abilist | 1 -
.../sysv/linux/mips/mips64/n64/libc.abilist | 2 +
.../linux/mips/mips64/n64/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 +
.../unix/sysv/linux/nios2/libresolv.abilist | 1 -
.../linux/powerpc/powerpc32/fpu/libc.abilist | 2 +
.../linux/powerpc/powerpc32/libresolv.abilist | 1 -
.../powerpc/powerpc32/nofpu/libc.abilist | 2 +
.../linux/powerpc/powerpc64/be/libc.abilist | 2 +
.../powerpc/powerpc64/be/libresolv.abilist | 1 -
.../linux/powerpc/powerpc64/le/libc.abilist | 2 +
.../powerpc/powerpc64/le/libresolv.abilist | 1 -
.../unix/sysv/linux/riscv/rv32/libc.abilist | 2 +
.../sysv/linux/riscv/rv32/libresolv.abilist | 1 -
.../unix/sysv/linux/riscv/rv64/libc.abilist | 2 +
.../sysv/linux/riscv/rv64/libresolv.abilist | 1 -
.../unix/sysv/linux/s390/s390-32/libc.abilist | 2 +
.../sysv/linux/s390/s390-32/libresolv.abilist | 1 -
.../unix/sysv/linux/s390/s390-64/libc.abilist | 2 +
.../sysv/linux/s390/s390-64/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 +
.../unix/sysv/linux/sh/be/libresolv.abilist | 1 -
sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 +
.../unix/sysv/linux/sh/le/libresolv.abilist | 1 -
.../sysv/linux/sparc/sparc32/libc.abilist | 2 +
.../linux/sparc/sparc32/libresolv.abilist | 1 -
.../sysv/linux/sparc/sparc64/libc.abilist | 2 +
.../linux/sparc/sparc64/libresolv.abilist | 1 -
.../unix/sysv/linux/x86_64/64/libc.abilist | 2 +
.../sysv/linux/x86_64/64/libresolv.abilist | 1 -
.../unix/sysv/linux/x86_64/x32/libc.abilist | 2 +
.../sysv/linux/x86_64/x32/libresolv.abilist | 1 -
69 files changed, 229 insertions(+), 157 deletions(-)
create mode 100644 resolv/ns_name_pton.c
Comments
On 7/8/21 11:01 AM, Florian Weimer via Libc-alpha wrote:
> And reformat to GNU style, and eliminate the digits variable.
OK for glibc 2.34.
Tested without regression on x86_64 and i686.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
> The symbol was moved using scripts/move-symbol-to-libc.py.
> ---
> include/arpa/nameser.h | 3 +-
> resolv/Makefile | 1 +
> resolv/Versions | 3 +
> resolv/ns_name.c | 125 --------------
> resolv/ns_name_pton.c | 157 ++++++++++++++++++
> sysdeps/mach/hurd/i386/libc.abilist | 2 +
> sysdeps/mach/hurd/i386/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 +
> .../unix/sysv/linux/aarch64/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 +
> .../unix/sysv/linux/alpha/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/arc/libc.abilist | 2 +
> sysdeps/unix/sysv/linux/arc/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 +
> .../unix/sysv/linux/arm/be/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 +
> .../unix/sysv/linux/arm/le/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/csky/libc.abilist | 2 +
> .../unix/sysv/linux/csky/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 +
> .../unix/sysv/linux/hppa/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/i386/libc.abilist | 2 +
> .../unix/sysv/linux/i386/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 +
> .../unix/sysv/linux/ia64/libresolv.abilist | 1 -
> .../sysv/linux/m68k/coldfire/libc.abilist | 2 +
> .../linux/m68k/coldfire/libresolv.abilist | 1 -
> .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 +
> .../sysv/linux/m68k/m680x0/libresolv.abilist | 1 -
> .../sysv/linux/microblaze/be/libc.abilist | 2 +
> .../linux/microblaze/be/libresolv.abilist | 1 -
> .../sysv/linux/microblaze/le/libc.abilist | 2 +
> .../linux/microblaze/le/libresolv.abilist | 1 -
> .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 +
> .../sysv/linux/mips/mips32/libresolv.abilist | 1 -
> .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 +
> .../sysv/linux/mips/mips64/n32/libc.abilist | 2 +
> .../linux/mips/mips64/n32/libresolv.abilist | 1 -
> .../sysv/linux/mips/mips64/n64/libc.abilist | 2 +
> .../linux/mips/mips64/n64/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 +
> .../unix/sysv/linux/nios2/libresolv.abilist | 1 -
> .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 +
> .../linux/powerpc/powerpc32/libresolv.abilist | 1 -
> .../powerpc/powerpc32/nofpu/libc.abilist | 2 +
> .../linux/powerpc/powerpc64/be/libc.abilist | 2 +
> .../powerpc/powerpc64/be/libresolv.abilist | 1 -
> .../linux/powerpc/powerpc64/le/libc.abilist | 2 +
> .../powerpc/powerpc64/le/libresolv.abilist | 1 -
> .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 +
> .../sysv/linux/riscv/rv32/libresolv.abilist | 1 -
> .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 +
> .../sysv/linux/riscv/rv64/libresolv.abilist | 1 -
> .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 +
> .../sysv/linux/s390/s390-32/libresolv.abilist | 1 -
> .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 +
> .../sysv/linux/s390/s390-64/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 +
> .../unix/sysv/linux/sh/be/libresolv.abilist | 1 -
> sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 +
> .../unix/sysv/linux/sh/le/libresolv.abilist | 1 -
> .../sysv/linux/sparc/sparc32/libc.abilist | 2 +
> .../linux/sparc/sparc32/libresolv.abilist | 1 -
> .../sysv/linux/sparc/sparc64/libc.abilist | 2 +
> .../linux/sparc/sparc64/libresolv.abilist | 1 -
> .../unix/sysv/linux/x86_64/64/libc.abilist | 2 +
> .../sysv/linux/x86_64/64/libresolv.abilist | 1 -
> .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 +
> .../sysv/linux/x86_64/x32/libresolv.abilist | 1 -
> 69 files changed, 229 insertions(+), 157 deletions(-)
> create mode 100644 resolv/ns_name_pton.c
>
> diff --git a/include/arpa/nameser.h b/include/arpa/nameser.h
> index dcceff823d..c27008b5ff 100644
> --- a/include/arpa/nameser.h
> +++ b/include/arpa/nameser.h
> @@ -65,7 +65,6 @@ libresolv_hidden_proto (ns_put32)
> libresolv_hidden_proto (ns_initparse)
> libresolv_hidden_proto (ns_skiprr)
> libresolv_hidden_proto (ns_parserr)
> -libresolv_hidden_proto (ns_name_pton)
OK.
> libresolv_hidden_proto (ns_name_pack)
> libresolv_hidden_proto (ns_name_compress)
> libresolv_hidden_proto (ns_sprintrr)
> @@ -77,6 +76,8 @@ libresolv_hidden_proto (ns_format_ttl)
>
> extern __typeof (ns_name_ntop) __ns_name_ntop;
> libc_hidden_proto (__ns_name_ntop)
> +extern __typeof (ns_name_pton) __ns_name_pton;
> +libc_hidden_proto (__ns_name_pton)
OK.
> extern __typeof (ns_name_skip) __ns_name_skip;
> libc_hidden_proto (__ns_name_skip)
> extern __typeof (ns_name_uncompress) __ns_name_uncompress;
> diff --git a/resolv/Makefile b/resolv/Makefile
> index 3145ddebb7..7839e1fb3c 100644
> --- a/resolv/Makefile
> +++ b/resolv/Makefile
> @@ -33,6 +33,7 @@ routines := \
> inet_ntop \
> inet_pton \
> ns_name_ntop \
> + ns_name_pton \
OK.
> ns_name_skip \
> ns_name_uncompress \
> ns_name_unpack \
> diff --git a/resolv/Versions b/resolv/Versions
> index 9e8762f984..770a2b8d6b 100644
> --- a/resolv/Versions
> +++ b/resolv/Versions
> @@ -26,6 +26,7 @@ libc {
> }
> GLIBC_2.9 {
> ns_name_ntop;
> + ns_name_pton;
OK.
> ns_name_skip;
> ns_name_uncompress;
> ns_name_unpack;
> @@ -38,6 +39,7 @@ libc {
> getaddrinfo_a;
> %endif
> ns_name_ntop;
> + ns_name_pton;
OK.
> ns_name_skip;
> ns_name_uncompress;
> ns_name_unpack;
> @@ -50,6 +52,7 @@ libc {
> __inet_aton_exact;
> __inet_pton_length;
> __ns_name_ntop;
> + __ns_name_pton;
OK.
> __ns_name_skip;
> __ns_name_uncompress;
> __ns_name_unpack;
> diff --git a/resolv/ns_name.c b/resolv/ns_name.c
> index 35e25cbd83..9f7ca4a506 100644
> --- a/resolv/ns_name.c
> +++ b/resolv/ns_name.c
> @@ -29,10 +29,6 @@
>
> # define SPRINTF(x) ((size_t)sprintf x)
>
> -/* Data. */
> -
> -static const char digits[] = "0123456789";
> -
OK.
> /* Forward. */
>
> static int dn_find(const u_char *, const u_char *,
> @@ -42,127 +38,6 @@ static int labellen(const u_char *);
>
> /* Public. */
>
> -
> -/*%
> - * Convert an 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)
> -{
> - u_char *label, *bp, *eom;
> - int c, n, escaped;
> - char *cp;
> -
> - escaped = 0;
> - bp = dst;
> - eom = dst + dstsiz;
> - label = bp++;
> -
> - while ((c = *src++) != 0) {
> - if (escaped) {
> - if ((cp = strchr(digits, c)) != NULL) {
> - n = (cp - digits) * 100;
> - if ((c = *src++) == 0 ||
> - (cp = strchr(digits, c)) == NULL) {
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - n += (cp - digits) * 10;
> - if ((c = *src++) == 0 ||
> - (cp = strchr(digits, c)) == NULL) {
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - n += (cp - digits);
> - if (n > 255) {
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - c = n;
> - }
> - escaped = 0;
> - } else if (c == '\\') {
> - escaped = 1;
> - continue;
> - } else if (c == '.') {
> - c = (bp - label - 1);
> - if ((c & NS_CMPRSFLGS) != 0) { /*%< Label too big. */
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - if (label >= eom) {
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - *label = c;
> - /* Fully qualified ? */
> - if (*src == '\0') {
> - if (c != 0) {
> - if (bp >= eom) {
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - *bp++ = '\0';
> - }
> - if ((bp - dst) > MAXCDNAME) {
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - return (1);
> - }
> - if (c == 0 || *src == '.') {
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - label = bp++;
> - continue;
> - }
> - if (bp >= eom) {
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - *bp++ = (u_char)c;
> - }
> - if (escaped) {
> - /* Trailing backslash. */
> - __set_errno (EMSGSIZE);
> - return -1;
> - }
> - c = (bp - label - 1);
> - if ((c & NS_CMPRSFLGS) != 0) { /*%< Label too big. */
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - if (label >= eom) {
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - *label = c;
> - if (c != 0) {
> - if (bp >= eom) {
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - *bp++ = 0;
> - }
> - if ((bp - dst) > MAXCDNAME) { /*%< src too big */
> - __set_errno (EMSGSIZE);
> - return (-1);
> - }
> - return (0);
> -}
> -libresolv_hidden_def (ns_name_pton)
> -
OK.
> /*%
> * Convert a network strings labels into all lowercase.
> *
> diff --git a/resolv/ns_name_pton.c b/resolv/ns_name_pton.c
> new file mode 100644
> index 0000000000..16f8ec8303
> --- /dev/null
> +++ b/resolv/ns_name_pton.c
> @@ -0,0 +1,157 @@
> +/* Convert a DNS domain name from presentation to wire format.
OK.
> + * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
> + * Copyright (c) 1996,1999 by Internet Software Consortium.
> + *
> + * Permission to use, copy, modify, and distribute this software for any
> + * purpose with or without fee is hereby granted, provided that the above
> + * copyright notice and this permission notice appear in all copies.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
> + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
> + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
> + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
> + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
> + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
> + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> + */
> +
> +#include <arpa/nameser.h>
> +#include <errno.h>
> +#include <shlib-compat.h>
> +
> +/* Converts an ASCII string into an encoded domain name as per
> + RFC1035. Returns -1 if it fails, 1 if string was fully qualified,
> + 0 is string was not fully qualified. Enforces label and domain
> + length limits. */
OK.
> +int
> +___ns_name_pton (const char *src, unsigned char *dst, size_t dstsiz)
> +{
> + unsigned char *label, *bp, *eom;
> + int c, n, escaped;
OK. Dropped char *cp.
> +
> + escaped = 0;
> + bp = dst;
> + eom = dst + dstsiz;
> + label = bp++;
OK.
> +
> + while ((c = *src++) != 0)
> + {
> + if (escaped)
OK.
> + {
OK. Removed digits, and just doing direct digit comparison without strchr.
> + if ('0' <= c && c <= '9')
> + {
> + n = (c - '0') * 100;
> + if ((c = *src++) == 0 || c < '0' || c > '9')
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
OK. Convert strchr to check for c in range.
> + n += (c - '0') * 10;
> + if ((c = *src++) == 0 || c < '0' || c > '9')
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
OK. Convert strchr to check for c in range.
> + n += c - '0';
> + if (n > 255)
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
> + c = n;
> + }
> + escaped = 0;
OK.
> + }
> + else if (c == '\\')
> + {
> + escaped = 1;
> + continue;
OK.
> + }
> + else if (c == '.')
> + {
> + c = (bp - label - 1);
> + if ((c & NS_CMPRSFLGS) != 0) /* Label too big. */
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
> + if (label >= eom)
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
> + *label = c;
OK.
> + /* Fully qualified ? */
> + if (*src == '\0')
> + {
> + if (c != 0)
> + {
> + if (bp >= eom)
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
> + *bp++ = '\0';
> + }
> + if ((bp - dst) > MAXCDNAME)
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
> + return 1;
OK.
> + }
> + if (c == 0 || *src == '.')
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
> + label = bp++;
> + continue;
OK.
> + }
> + if (bp >= eom)
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
> + *bp++ = (unsigned char) c;
OK.
> + }
> + if (escaped) /* Trailing backslash. */
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
OK.
> + c = (bp - label - 1);
> + if ((c & NS_CMPRSFLGS) != 0) /* Label too big. */
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
OK.
> + if (label >= eom)
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
OK.
> + *label = c;
> + if (c != 0)
> + {
> + if (bp >= eom)
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
> + *bp++ = 0;
OK.
> + }
> + if ((bp - dst) > MAXCDNAME) /* src too big. */
> + {
> + __set_errno (EMSGSIZE);
> + return -1;
> + }
OK.
> + return 0;
OK.
> +}
> +versioned_symbol (libc, ___ns_name_pton, ns_name_pton, GLIBC_2_34);
> +versioned_symbol (libc, ___ns_name_pton, __ns_name_pton, GLIBC_PRIVATE);
> +libc_hidden_ver (___ns_name_pton, __ns_name_pton)
> +
> +#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_9, GLIBC_2_34)
> +compat_symbol (libresolv, ___ns_name_pton, ns_name_pton, GLIBC_2_9);
> +#endif
> diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
> index 970b28eac6..83b4e2a983 100644
> --- a/sysdeps/mach/hurd/i386/libc.abilist
> +++ b/sysdeps/mach/hurd/i386/libc.abilist
> @@ -2241,6 +2241,7 @@ GLIBC_2.34 login_tty F
> GLIBC_2.34 logout F
> GLIBC_2.34 logwtmp F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2365,6 +2366,7 @@ GLIBC_2.8 __vdprintf_chk F
> GLIBC_2.8 qsort_r F
> GLIBC_2.9 dup3 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/mach/hurd/i386/libresolv.abilist b/sysdeps/mach/hurd/i386/libresolv.abilist
> index ca2c547a81..1e75aaa6d7 100644
> --- a/sysdeps/mach/hurd/i386/libresolv.abilist
> +++ b/sysdeps/mach/hurd/i386/libresolv.abilist
> @@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index fa4652a7df..1b6e962fe3 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1405,6 +1405,7 @@ GLIBC_2.17 nl_langinfo_l F
> GLIBC_2.17 nrand48 F
> GLIBC_2.17 nrand48_r F
> GLIBC_2.17 ns_name_ntop F
> +GLIBC_2.17 ns_name_pton F
> GLIBC_2.17 ns_name_skip F
> GLIBC_2.17 ns_name_uncompress F
> GLIBC_2.17 ns_name_unpack F
> @@ -2455,6 +2456,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
> index f72b307b99..9594f13195 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
> @@ -68,7 +68,6 @@ GLIBC_2.17 ns_msg_getflag F
> GLIBC_2.17 ns_name_compress F
> GLIBC_2.17 ns_name_ntol F
> GLIBC_2.17 ns_name_pack F
> -GLIBC_2.17 ns_name_pton F
> GLIBC_2.17 ns_name_rollback F
> GLIBC_2.17 ns_parse_ttl F
> GLIBC_2.17 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 36a577adc7..ef88aa8e36 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2550,6 +2550,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2987,6 +2988,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
> index 250a73e764..b70366bcb8 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index afc1278d6c..94f9908585 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1339,6 +1339,7 @@ GLIBC_2.32 nl_langinfo_l F
> GLIBC_2.32 nrand48 F
> GLIBC_2.32 nrand48_r F
> GLIBC_2.32 ns_name_ntop F
> +GLIBC_2.32 ns_name_pton F
> GLIBC_2.32 ns_name_skip F
> GLIBC_2.32 ns_name_uncompress F
> GLIBC_2.32 ns_name_unpack F
> @@ -2214,6 +2215,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
> index ed1aa0e9ed..8a29165fa5 100644
> --- a/sysdeps/unix/sysv/linux/arc/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
> @@ -61,7 +61,6 @@ GLIBC_2.32 ns_msg_getflag F
> GLIBC_2.32 ns_name_compress F
> GLIBC_2.32 ns_name_ntol F
> GLIBC_2.32 ns_name_pack F
> -GLIBC_2.32 ns_name_pton F
> GLIBC_2.32 ns_name_rollback F
> GLIBC_2.32 ns_parse_ttl F
> GLIBC_2.32 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index a7d135a4c2..7157111655 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -344,6 +344,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2683,6 +2684,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
> index ec74162ea6..473a4e7a31 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
> @@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 7bced4102e..8f4e772481 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -341,6 +341,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2680,6 +2681,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
> index ec74162ea6..473a4e7a31 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
> @@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 40aca91bb5..f4368cc20b 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1396,6 +1396,7 @@ GLIBC_2.29 nl_langinfo_l F
> GLIBC_2.29 nrand48 F
> GLIBC_2.29 nrand48_r F
> GLIBC_2.29 ns_name_ntop F
> +GLIBC_2.29 ns_name_pton F
> GLIBC_2.29 ns_name_skip F
> GLIBC_2.29 ns_name_uncompress F
> GLIBC_2.29 ns_name_unpack F
> @@ -2480,6 +2481,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/csky/libresolv.abilist b/sysdeps/unix/sysv/linux/csky/libresolv.abilist
> index b2a83ee8cc..a88aaf06f0 100644
> --- a/sysdeps/unix/sysv/linux/csky/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libresolv.abilist
> @@ -61,7 +61,6 @@ GLIBC_2.29 ns_msg_getflag F
> GLIBC_2.29 ns_name_compress F
> GLIBC_2.29 ns_name_ntol F
> GLIBC_2.29 ns_name_pack F
> -GLIBC_2.29 ns_name_pton F
> GLIBC_2.29 ns_name_rollback F
> GLIBC_2.29 ns_parse_ttl F
> GLIBC_2.29 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index cb19800bde..d5a661c221 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2429,6 +2429,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2697,6 +2698,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
> index 3df1ec5e98..2bf26b6a56 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index c2d526dd2c..49c26a44a6 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2613,6 +2613,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2881,6 +2882,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/i386/libresolv.abilist b/sysdeps/unix/sysv/linux/i386/libresolv.abilist
> index 3df1ec5e98..2bf26b6a56 100644
> --- a/sysdeps/unix/sysv/linux/i386/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 1276461181..bee668d6f7 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -2388,6 +2388,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2656,6 +2657,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
> index 250a73e764..b70366bcb8 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 59147109e2..45fca7a557 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -345,6 +345,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2662,6 +2663,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
> index ec74162ea6..473a4e7a31 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
> @@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 1750e4818e..a1b316aa1c 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2556,6 +2556,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2824,6 +2825,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
> index 3df1ec5e98..2bf26b6a56 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 5043550ec1..7a991b941a 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1407,6 +1407,7 @@ GLIBC_2.18 nl_langinfo_l F
> GLIBC_2.18 nrand48 F
> GLIBC_2.18 nrand48_r F
> GLIBC_2.18 ns_name_ntop F
> +GLIBC_2.18 ns_name_pton F
> GLIBC_2.18 ns_name_skip F
> GLIBC_2.18 ns_name_uncompress F
> GLIBC_2.18 ns_name_unpack F
> @@ -2531,6 +2532,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
> index cc9fea5f46..600e164088 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
> @@ -68,7 +68,6 @@ GLIBC_2.18 ns_msg_getflag F
> GLIBC_2.18 ns_name_compress F
> GLIBC_2.18 ns_name_ntol F
> GLIBC_2.18 ns_name_pack F
> -GLIBC_2.18 ns_name_pton F
> GLIBC_2.18 ns_name_rollback F
> GLIBC_2.18 ns_parse_ttl F
> GLIBC_2.18 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 18de19bead..a3fae78187 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1407,6 +1407,7 @@ GLIBC_2.18 nl_langinfo_l F
> GLIBC_2.18 nrand48 F
> GLIBC_2.18 nrand48_r F
> GLIBC_2.18 ns_name_ntop F
> +GLIBC_2.18 ns_name_pton F
> GLIBC_2.18 ns_name_skip F
> GLIBC_2.18 ns_name_uncompress F
> GLIBC_2.18 ns_name_unpack F
> @@ -2528,6 +2529,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
> index cc9fea5f46..600e164088 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
> @@ -68,7 +68,6 @@ GLIBC_2.18 ns_msg_getflag F
> GLIBC_2.18 ns_name_compress F
> GLIBC_2.18 ns_name_ntol F
> GLIBC_2.18 ns_name_pack F
> -GLIBC_2.18 ns_name_pton F
> GLIBC_2.18 ns_name_rollback F
> GLIBC_2.18 ns_parse_ttl F
> GLIBC_2.18 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 464d196ae9..84f9ab0af6 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2521,6 +2521,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2785,6 +2786,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
> index 3df1ec5e98..2bf26b6a56 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 87da9f5626..343c2925c3 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2519,6 +2519,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2783,6 +2784,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index f3f0a6dc37..cd01ef31f0 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2527,6 +2527,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2791,6 +2792,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
> index 3df1ec5e98..2bf26b6a56 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index dbbd9d782d..1722ba6722 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2439,6 +2439,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2703,6 +2704,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
> index 250a73e764..b70366bcb8 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index ea1d641c79..aaf4b25fe0 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1450,6 +1450,7 @@ GLIBC_2.21 nl_langinfo_l F
> GLIBC_2.21 nrand48 F
> GLIBC_2.21 nrand48_r F
> GLIBC_2.21 ns_name_ntop F
> +GLIBC_2.21 ns_name_pton F
> GLIBC_2.21 ns_name_skip F
> GLIBC_2.21 ns_name_uncompress F
> GLIBC_2.21 ns_name_unpack F
> @@ -2570,6 +2571,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
> index 111b8ac423..704da254df 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
> @@ -68,7 +68,6 @@ GLIBC_2.21 ns_msg_getflag F
> GLIBC_2.21 ns_name_compress F
> GLIBC_2.21 ns_name_ntol F
> GLIBC_2.21 ns_name_pack F
> -GLIBC_2.21 ns_name_pton F
> GLIBC_2.21 ns_name_rollback F
> GLIBC_2.21 ns_parse_ttl F
> GLIBC_2.21 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 45b46c3ee1..937d59759a 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2583,6 +2583,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -3022,6 +3023,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
> index 3df1ec5e98..2bf26b6a56 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index a252c6f7b2..186c59d401 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2616,6 +2616,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -3067,6 +3068,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 8e682bdb78..c9ffbc9455 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -2352,6 +2352,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2791,6 +2792,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
> index 2981f2a954..2c34859a4a 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
> @@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 9e6f3d71d7..0c7183ba10 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1493,6 +1493,7 @@ GLIBC_2.17 nl_langinfo_l F
> GLIBC_2.17 nrand48 F
> GLIBC_2.17 nrand48_r F
> GLIBC_2.17 ns_name_ntop F
> +GLIBC_2.17 ns_name_pton F
> GLIBC_2.17 ns_name_skip F
> GLIBC_2.17 ns_name_uncompress F
> GLIBC_2.17 ns_name_unpack F
> @@ -2651,6 +2652,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
> index f72b307b99..9594f13195 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
> @@ -68,7 +68,6 @@ GLIBC_2.17 ns_msg_getflag F
> GLIBC_2.17 ns_name_compress F
> GLIBC_2.17 ns_name_ntol F
> GLIBC_2.17 ns_name_pack F
> -GLIBC_2.17 ns_name_pton F
> GLIBC_2.17 ns_name_rollback F
> GLIBC_2.17 ns_parse_ttl F
> GLIBC_2.17 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index c95e4eeb6e..0f345ea431 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1341,6 +1341,7 @@ GLIBC_2.33 nl_langinfo_l F
> GLIBC_2.33 nrand48 F
> GLIBC_2.33 nrand48_r F
> GLIBC_2.33 ns_name_ntop F
> +GLIBC_2.33 ns_name_pton F
> GLIBC_2.33 ns_name_skip F
> GLIBC_2.33 ns_name_uncompress F
> GLIBC_2.33 ns_name_unpack F
> @@ -2216,6 +2217,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
> index 335ce8f16d..3f04c43022 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
> @@ -61,7 +61,6 @@ GLIBC_2.33 ns_msg_getflag F
> GLIBC_2.33 ns_name_compress F
> GLIBC_2.33 ns_name_ntol F
> GLIBC_2.33 ns_name_pack F
> -GLIBC_2.33 ns_name_pton F
> GLIBC_2.33 ns_name_rollback F
> GLIBC_2.33 ns_parse_ttl F
> GLIBC_2.33 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index ea497cf7e0..613ad3332d 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1388,6 +1388,7 @@ GLIBC_2.27 nl_langinfo_l F
> GLIBC_2.27 nrand48 F
> GLIBC_2.27 nrand48_r F
> GLIBC_2.27 ns_name_ntop F
> +GLIBC_2.27 ns_name_pton F
> GLIBC_2.27 ns_name_skip F
> GLIBC_2.27 ns_name_uncompress F
> GLIBC_2.27 ns_name_unpack F
> @@ -2416,6 +2417,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
> index 3410dc454d..b546012c1b 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
> @@ -61,7 +61,6 @@ GLIBC_2.27 ns_msg_getflag F
> GLIBC_2.27 ns_name_compress F
> GLIBC_2.27 ns_name_ntol F
> GLIBC_2.27 ns_name_pack F
> -GLIBC_2.27 ns_name_pton F
> GLIBC_2.27 ns_name_rollback F
> GLIBC_2.27 ns_parse_ttl F
> GLIBC_2.27 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 953db1c42c..a4df94a8ed 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2581,6 +2581,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -3030,6 +3031,7 @@ GLIBC_2.9 getutxline F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 login F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
> index 3df1ec5e98..2bf26b6a56 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index b41a6a9e33..2002437627 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -2389,6 +2389,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2826,6 +2827,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
> index 1a5b09ba65..ef165535ce 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
> @@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 3e0cf9b271..934a8af021 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2436,6 +2436,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2704,6 +2705,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
> index 3df1ec5e98..2bf26b6a56 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 2cba575172..82f0b5e2e5 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2433,6 +2433,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2701,6 +2702,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
> index 3df1ec5e98..2bf26b6a56 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index a78e41777e..78b5667c51 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2576,6 +2576,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -3039,6 +3040,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
> index 3df1ec5e98..2bf26b6a56 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 31f8359dac..77076f51ec 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2411,6 +2411,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2679,6 +2680,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
> index 250a73e764..b70366bcb8 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
> @@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 751b1e34be..c060a7b027 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -2367,6 +2367,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> @@ -2635,6 +2636,7 @@ GLIBC_2.9 dup3 F
> GLIBC_2.9 epoll_create1 F
> GLIBC_2.9 inotify_init1 F
> GLIBC_2.9 ns_name_ntop F
> +GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_skip F
> GLIBC_2.9 ns_name_uncompress F
> GLIBC_2.9 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
> index 9920dff1a8..2fced73187 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
> @@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
> GLIBC_2.9 ns_name_compress F
> GLIBC_2.9 ns_name_ntol F
> GLIBC_2.9 ns_name_pack F
> -GLIBC_2.9 ns_name_pton F
> GLIBC_2.9 ns_name_rollback F
> GLIBC_2.9 ns_parse_ttl F
> GLIBC_2.9 ns_parserr F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 6f488a7638..2baaf7af06 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1412,6 +1412,7 @@ GLIBC_2.16 nl_langinfo_l F
> GLIBC_2.16 nrand48 F
> GLIBC_2.16 nrand48_r F
> GLIBC_2.16 ns_name_ntop F
> +GLIBC_2.16 ns_name_pton F
> GLIBC_2.16 ns_name_skip F
> GLIBC_2.16 ns_name_uncompress F
> GLIBC_2.16 ns_name_unpack F
> @@ -2470,6 +2471,7 @@ GLIBC_2.34 mtx_timedlock F
> GLIBC_2.34 mtx_trylock F
> GLIBC_2.34 mtx_unlock F
> GLIBC_2.34 ns_name_ntop F
> +GLIBC_2.34 ns_name_pton F
> GLIBC_2.34 ns_name_skip F
> GLIBC_2.34 ns_name_uncompress F
> GLIBC_2.34 ns_name_unpack F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
> index b441069e4b..2f70944024 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
> @@ -68,7 +68,6 @@ GLIBC_2.16 ns_msg_getflag F
> GLIBC_2.16 ns_name_compress F
> GLIBC_2.16 ns_name_ntol F
> GLIBC_2.16 ns_name_pack F
> -GLIBC_2.16 ns_name_pton F
> GLIBC_2.16 ns_name_rollback F
> GLIBC_2.16 ns_parse_ttl F
> GLIBC_2.16 ns_parserr F
>
OK.
@@ -65,7 +65,6 @@ libresolv_hidden_proto (ns_put32)
libresolv_hidden_proto (ns_initparse)
libresolv_hidden_proto (ns_skiprr)
libresolv_hidden_proto (ns_parserr)
-libresolv_hidden_proto (ns_name_pton)
libresolv_hidden_proto (ns_name_pack)
libresolv_hidden_proto (ns_name_compress)
libresolv_hidden_proto (ns_sprintrr)
@@ -77,6 +76,8 @@ libresolv_hidden_proto (ns_format_ttl)
extern __typeof (ns_name_ntop) __ns_name_ntop;
libc_hidden_proto (__ns_name_ntop)
+extern __typeof (ns_name_pton) __ns_name_pton;
+libc_hidden_proto (__ns_name_pton)
extern __typeof (ns_name_skip) __ns_name_skip;
libc_hidden_proto (__ns_name_skip)
extern __typeof (ns_name_uncompress) __ns_name_uncompress;
@@ -33,6 +33,7 @@ routines := \
inet_ntop \
inet_pton \
ns_name_ntop \
+ ns_name_pton \
ns_name_skip \
ns_name_uncompress \
ns_name_unpack \
@@ -26,6 +26,7 @@ libc {
}
GLIBC_2.9 {
ns_name_ntop;
+ ns_name_pton;
ns_name_skip;
ns_name_uncompress;
ns_name_unpack;
@@ -38,6 +39,7 @@ libc {
getaddrinfo_a;
%endif
ns_name_ntop;
+ ns_name_pton;
ns_name_skip;
ns_name_uncompress;
ns_name_unpack;
@@ -50,6 +52,7 @@ libc {
__inet_aton_exact;
__inet_pton_length;
__ns_name_ntop;
+ __ns_name_pton;
__ns_name_skip;
__ns_name_uncompress;
__ns_name_unpack;
@@ -29,10 +29,6 @@
# define SPRINTF(x) ((size_t)sprintf x)
-/* Data. */
-
-static const char digits[] = "0123456789";
-
/* Forward. */
static int dn_find(const u_char *, const u_char *,
@@ -42,127 +38,6 @@ static int labellen(const u_char *);
/* Public. */
-
-/*%
- * Convert an 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)
-{
- u_char *label, *bp, *eom;
- int c, n, escaped;
- char *cp;
-
- escaped = 0;
- bp = dst;
- eom = dst + dstsiz;
- label = bp++;
-
- while ((c = *src++) != 0) {
- if (escaped) {
- if ((cp = strchr(digits, c)) != NULL) {
- n = (cp - digits) * 100;
- if ((c = *src++) == 0 ||
- (cp = strchr(digits, c)) == NULL) {
- __set_errno (EMSGSIZE);
- return (-1);
- }
- n += (cp - digits) * 10;
- if ((c = *src++) == 0 ||
- (cp = strchr(digits, c)) == NULL) {
- __set_errno (EMSGSIZE);
- return (-1);
- }
- n += (cp - digits);
- if (n > 255) {
- __set_errno (EMSGSIZE);
- return (-1);
- }
- c = n;
- }
- escaped = 0;
- } else if (c == '\\') {
- escaped = 1;
- continue;
- } else if (c == '.') {
- c = (bp - label - 1);
- if ((c & NS_CMPRSFLGS) != 0) { /*%< Label too big. */
- __set_errno (EMSGSIZE);
- return (-1);
- }
- if (label >= eom) {
- __set_errno (EMSGSIZE);
- return (-1);
- }
- *label = c;
- /* Fully qualified ? */
- if (*src == '\0') {
- if (c != 0) {
- if (bp >= eom) {
- __set_errno (EMSGSIZE);
- return (-1);
- }
- *bp++ = '\0';
- }
- if ((bp - dst) > MAXCDNAME) {
- __set_errno (EMSGSIZE);
- return (-1);
- }
- return (1);
- }
- if (c == 0 || *src == '.') {
- __set_errno (EMSGSIZE);
- return (-1);
- }
- label = bp++;
- continue;
- }
- if (bp >= eom) {
- __set_errno (EMSGSIZE);
- return (-1);
- }
- *bp++ = (u_char)c;
- }
- if (escaped) {
- /* Trailing backslash. */
- __set_errno (EMSGSIZE);
- return -1;
- }
- c = (bp - label - 1);
- if ((c & NS_CMPRSFLGS) != 0) { /*%< Label too big. */
- __set_errno (EMSGSIZE);
- return (-1);
- }
- if (label >= eom) {
- __set_errno (EMSGSIZE);
- return (-1);
- }
- *label = c;
- if (c != 0) {
- if (bp >= eom) {
- __set_errno (EMSGSIZE);
- return (-1);
- }
- *bp++ = 0;
- }
- if ((bp - dst) > MAXCDNAME) { /*%< src too big */
- __set_errno (EMSGSIZE);
- return (-1);
- }
- return (0);
-}
-libresolv_hidden_def (ns_name_pton)
-
/*%
* Convert a network strings labels into all lowercase.
*
new file mode 100644
@@ -0,0 +1,157 @@
+/* Convert a DNS domain name from presentation to wire format.
+ * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 1996,1999 by Internet Software Consortium.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <arpa/nameser.h>
+#include <errno.h>
+#include <shlib-compat.h>
+
+/* Converts an ASCII string into an encoded domain name as per
+ RFC1035. Returns -1 if it fails, 1 if string was fully qualified,
+ 0 is string was not fully qualified. Enforces label and domain
+ length limits. */
+int
+___ns_name_pton (const char *src, unsigned char *dst, size_t dstsiz)
+{
+ unsigned char *label, *bp, *eom;
+ int c, n, escaped;
+
+ escaped = 0;
+ bp = dst;
+ eom = dst + dstsiz;
+ label = bp++;
+
+ while ((c = *src++) != 0)
+ {
+ if (escaped)
+ {
+ if ('0' <= c && c <= '9')
+ {
+ n = (c - '0') * 100;
+ if ((c = *src++) == 0 || c < '0' || c > '9')
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ n += (c - '0') * 10;
+ if ((c = *src++) == 0 || c < '0' || c > '9')
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ n += c - '0';
+ if (n > 255)
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ c = n;
+ }
+ escaped = 0;
+ }
+ else if (c == '\\')
+ {
+ escaped = 1;
+ continue;
+ }
+ else if (c == '.')
+ {
+ c = (bp - label - 1);
+ if ((c & NS_CMPRSFLGS) != 0) /* Label too big. */
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ if (label >= eom)
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ *label = c;
+ /* Fully qualified ? */
+ if (*src == '\0')
+ {
+ if (c != 0)
+ {
+ if (bp >= eom)
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ *bp++ = '\0';
+ }
+ if ((bp - dst) > MAXCDNAME)
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ return 1;
+ }
+ if (c == 0 || *src == '.')
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ label = bp++;
+ continue;
+ }
+ if (bp >= eom)
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ *bp++ = (unsigned char) c;
+ }
+ if (escaped) /* Trailing backslash. */
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ c = (bp - label - 1);
+ if ((c & NS_CMPRSFLGS) != 0) /* Label too big. */
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ if (label >= eom)
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ *label = c;
+ if (c != 0)
+ {
+ if (bp >= eom)
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ *bp++ = 0;
+ }
+ if ((bp - dst) > MAXCDNAME) /* src too big. */
+ {
+ __set_errno (EMSGSIZE);
+ return -1;
+ }
+ return 0;
+}
+versioned_symbol (libc, ___ns_name_pton, ns_name_pton, GLIBC_2_34);
+versioned_symbol (libc, ___ns_name_pton, __ns_name_pton, GLIBC_PRIVATE);
+libc_hidden_ver (___ns_name_pton, __ns_name_pton)
+
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_9, GLIBC_2_34)
+compat_symbol (libresolv, ___ns_name_pton, ns_name_pton, GLIBC_2_9);
+#endif
@@ -2241,6 +2241,7 @@ GLIBC_2.34 login_tty F
GLIBC_2.34 logout F
GLIBC_2.34 logwtmp F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2365,6 +2366,7 @@ GLIBC_2.8 __vdprintf_chk F
GLIBC_2.8 qsort_r F
GLIBC_2.9 dup3 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -1405,6 +1405,7 @@ GLIBC_2.17 nl_langinfo_l F
GLIBC_2.17 nrand48 F
GLIBC_2.17 nrand48_r F
GLIBC_2.17 ns_name_ntop F
+GLIBC_2.17 ns_name_pton F
GLIBC_2.17 ns_name_skip F
GLIBC_2.17 ns_name_uncompress F
GLIBC_2.17 ns_name_unpack F
@@ -2455,6 +2456,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -68,7 +68,6 @@ GLIBC_2.17 ns_msg_getflag F
GLIBC_2.17 ns_name_compress F
GLIBC_2.17 ns_name_ntol F
GLIBC_2.17 ns_name_pack F
-GLIBC_2.17 ns_name_pton F
GLIBC_2.17 ns_name_rollback F
GLIBC_2.17 ns_parse_ttl F
GLIBC_2.17 ns_parserr F
@@ -2550,6 +2550,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2987,6 +2988,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -1339,6 +1339,7 @@ GLIBC_2.32 nl_langinfo_l F
GLIBC_2.32 nrand48 F
GLIBC_2.32 nrand48_r F
GLIBC_2.32 ns_name_ntop F
+GLIBC_2.32 ns_name_pton F
GLIBC_2.32 ns_name_skip F
GLIBC_2.32 ns_name_uncompress F
GLIBC_2.32 ns_name_unpack F
@@ -2214,6 +2215,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -61,7 +61,6 @@ GLIBC_2.32 ns_msg_getflag F
GLIBC_2.32 ns_name_compress F
GLIBC_2.32 ns_name_ntol F
GLIBC_2.32 ns_name_pack F
-GLIBC_2.32 ns_name_pton F
GLIBC_2.32 ns_name_rollback F
GLIBC_2.32 ns_parse_ttl F
GLIBC_2.32 ns_parserr F
@@ -344,6 +344,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2683,6 +2684,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -341,6 +341,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2680,6 +2681,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -1396,6 +1396,7 @@ GLIBC_2.29 nl_langinfo_l F
GLIBC_2.29 nrand48 F
GLIBC_2.29 nrand48_r F
GLIBC_2.29 ns_name_ntop F
+GLIBC_2.29 ns_name_pton F
GLIBC_2.29 ns_name_skip F
GLIBC_2.29 ns_name_uncompress F
GLIBC_2.29 ns_name_unpack F
@@ -2480,6 +2481,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -61,7 +61,6 @@ GLIBC_2.29 ns_msg_getflag F
GLIBC_2.29 ns_name_compress F
GLIBC_2.29 ns_name_ntol F
GLIBC_2.29 ns_name_pack F
-GLIBC_2.29 ns_name_pton F
GLIBC_2.29 ns_name_rollback F
GLIBC_2.29 ns_parse_ttl F
GLIBC_2.29 ns_parserr F
@@ -2429,6 +2429,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2697,6 +2698,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2613,6 +2613,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2881,6 +2882,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2388,6 +2388,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2656,6 +2657,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -345,6 +345,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2662,6 +2663,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2556,6 +2556,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2824,6 +2825,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -1407,6 +1407,7 @@ GLIBC_2.18 nl_langinfo_l F
GLIBC_2.18 nrand48 F
GLIBC_2.18 nrand48_r F
GLIBC_2.18 ns_name_ntop F
+GLIBC_2.18 ns_name_pton F
GLIBC_2.18 ns_name_skip F
GLIBC_2.18 ns_name_uncompress F
GLIBC_2.18 ns_name_unpack F
@@ -2531,6 +2532,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -68,7 +68,6 @@ GLIBC_2.18 ns_msg_getflag F
GLIBC_2.18 ns_name_compress F
GLIBC_2.18 ns_name_ntol F
GLIBC_2.18 ns_name_pack F
-GLIBC_2.18 ns_name_pton F
GLIBC_2.18 ns_name_rollback F
GLIBC_2.18 ns_parse_ttl F
GLIBC_2.18 ns_parserr F
@@ -1407,6 +1407,7 @@ GLIBC_2.18 nl_langinfo_l F
GLIBC_2.18 nrand48 F
GLIBC_2.18 nrand48_r F
GLIBC_2.18 ns_name_ntop F
+GLIBC_2.18 ns_name_pton F
GLIBC_2.18 ns_name_skip F
GLIBC_2.18 ns_name_uncompress F
GLIBC_2.18 ns_name_unpack F
@@ -2528,6 +2529,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -68,7 +68,6 @@ GLIBC_2.18 ns_msg_getflag F
GLIBC_2.18 ns_name_compress F
GLIBC_2.18 ns_name_ntol F
GLIBC_2.18 ns_name_pack F
-GLIBC_2.18 ns_name_pton F
GLIBC_2.18 ns_name_rollback F
GLIBC_2.18 ns_parse_ttl F
GLIBC_2.18 ns_parserr F
@@ -2521,6 +2521,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2785,6 +2786,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2519,6 +2519,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2783,6 +2784,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -2527,6 +2527,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2791,6 +2792,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2439,6 +2439,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2703,6 +2704,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -1450,6 +1450,7 @@ GLIBC_2.21 nl_langinfo_l F
GLIBC_2.21 nrand48 F
GLIBC_2.21 nrand48_r F
GLIBC_2.21 ns_name_ntop F
+GLIBC_2.21 ns_name_pton F
GLIBC_2.21 ns_name_skip F
GLIBC_2.21 ns_name_uncompress F
GLIBC_2.21 ns_name_unpack F
@@ -2570,6 +2571,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -68,7 +68,6 @@ GLIBC_2.21 ns_msg_getflag F
GLIBC_2.21 ns_name_compress F
GLIBC_2.21 ns_name_ntol F
GLIBC_2.21 ns_name_pack F
-GLIBC_2.21 ns_name_pton F
GLIBC_2.21 ns_name_rollback F
GLIBC_2.21 ns_parse_ttl F
GLIBC_2.21 ns_parserr F
@@ -2583,6 +2583,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -3022,6 +3023,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2616,6 +2616,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -3067,6 +3068,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -2352,6 +2352,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2791,6 +2792,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -1493,6 +1493,7 @@ GLIBC_2.17 nl_langinfo_l F
GLIBC_2.17 nrand48 F
GLIBC_2.17 nrand48_r F
GLIBC_2.17 ns_name_ntop F
+GLIBC_2.17 ns_name_pton F
GLIBC_2.17 ns_name_skip F
GLIBC_2.17 ns_name_uncompress F
GLIBC_2.17 ns_name_unpack F
@@ -2651,6 +2652,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -68,7 +68,6 @@ GLIBC_2.17 ns_msg_getflag F
GLIBC_2.17 ns_name_compress F
GLIBC_2.17 ns_name_ntol F
GLIBC_2.17 ns_name_pack F
-GLIBC_2.17 ns_name_pton F
GLIBC_2.17 ns_name_rollback F
GLIBC_2.17 ns_parse_ttl F
GLIBC_2.17 ns_parserr F
@@ -1341,6 +1341,7 @@ GLIBC_2.33 nl_langinfo_l F
GLIBC_2.33 nrand48 F
GLIBC_2.33 nrand48_r F
GLIBC_2.33 ns_name_ntop F
+GLIBC_2.33 ns_name_pton F
GLIBC_2.33 ns_name_skip F
GLIBC_2.33 ns_name_uncompress F
GLIBC_2.33 ns_name_unpack F
@@ -2216,6 +2217,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -61,7 +61,6 @@ GLIBC_2.33 ns_msg_getflag F
GLIBC_2.33 ns_name_compress F
GLIBC_2.33 ns_name_ntol F
GLIBC_2.33 ns_name_pack F
-GLIBC_2.33 ns_name_pton F
GLIBC_2.33 ns_name_rollback F
GLIBC_2.33 ns_parse_ttl F
GLIBC_2.33 ns_parserr F
@@ -1388,6 +1388,7 @@ GLIBC_2.27 nl_langinfo_l F
GLIBC_2.27 nrand48 F
GLIBC_2.27 nrand48_r F
GLIBC_2.27 ns_name_ntop F
+GLIBC_2.27 ns_name_pton F
GLIBC_2.27 ns_name_skip F
GLIBC_2.27 ns_name_uncompress F
GLIBC_2.27 ns_name_unpack F
@@ -2416,6 +2417,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -61,7 +61,6 @@ GLIBC_2.27 ns_msg_getflag F
GLIBC_2.27 ns_name_compress F
GLIBC_2.27 ns_name_ntol F
GLIBC_2.27 ns_name_pack F
-GLIBC_2.27 ns_name_pton F
GLIBC_2.27 ns_name_rollback F
GLIBC_2.27 ns_parse_ttl F
GLIBC_2.27 ns_parserr F
@@ -2581,6 +2581,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -3030,6 +3031,7 @@ GLIBC_2.9 getutxline F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 login F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2389,6 +2389,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2826,6 +2827,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2436,6 +2436,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2704,6 +2705,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2433,6 +2433,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2701,6 +2702,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2576,6 +2576,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -3039,6 +3040,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2411,6 +2411,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2679,6 +2680,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -78,7 +78,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -2367,6 +2367,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -2635,6 +2636,7 @@ GLIBC_2.9 dup3 F
GLIBC_2.9 epoll_create1 F
GLIBC_2.9 inotify_init1 F
GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_skip F
GLIBC_2.9 ns_name_uncompress F
GLIBC_2.9 ns_name_unpack F
@@ -73,7 +73,6 @@ GLIBC_2.9 ns_msg_getflag F
GLIBC_2.9 ns_name_compress F
GLIBC_2.9 ns_name_ntol F
GLIBC_2.9 ns_name_pack F
-GLIBC_2.9 ns_name_pton F
GLIBC_2.9 ns_name_rollback F
GLIBC_2.9 ns_parse_ttl F
GLIBC_2.9 ns_parserr F
@@ -1412,6 +1412,7 @@ GLIBC_2.16 nl_langinfo_l F
GLIBC_2.16 nrand48 F
GLIBC_2.16 nrand48_r F
GLIBC_2.16 ns_name_ntop F
+GLIBC_2.16 ns_name_pton F
GLIBC_2.16 ns_name_skip F
GLIBC_2.16 ns_name_uncompress F
GLIBC_2.16 ns_name_unpack F
@@ -2470,6 +2471,7 @@ GLIBC_2.34 mtx_timedlock F
GLIBC_2.34 mtx_trylock F
GLIBC_2.34 mtx_unlock F
GLIBC_2.34 ns_name_ntop F
+GLIBC_2.34 ns_name_pton F
GLIBC_2.34 ns_name_skip F
GLIBC_2.34 ns_name_uncompress F
GLIBC_2.34 ns_name_unpack F
@@ -68,7 +68,6 @@ GLIBC_2.16 ns_msg_getflag F
GLIBC_2.16 ns_name_compress F
GLIBC_2.16 ns_name_ntol F
GLIBC_2.16 ns_name_pack F
-GLIBC_2.16 ns_name_pton F
GLIBC_2.16 ns_name_rollback F
GLIBC_2.16 ns_parse_ttl F
GLIBC_2.16 ns_parserr F