Message ID | fab1639dd2d70362f74097664788029ee186e78f.1625755445.git.fweimer@redhat.com |
---|---|
State | New |
Headers | show |
Series | nss_dns move into libc | expand |
On 7/8/21 11:01 AM, Florian Weimer via Libc-alpha wrote: > And reformat to GNU style, and eliminate the labellen function. 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 | 4 +- > resolv/ns_name.c | 194 ----------------- > resolv/ns_name_pack.c | 202 ++++++++++++++++++ > 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, 274 insertions(+), 227 deletions(-) > create mode 100644 resolv/ns_name_pack.c > > diff --git a/include/arpa/nameser.h b/include/arpa/nameser.h > index c27008b5ff..02d7b0b553 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_pack) OK. > libresolv_hidden_proto (ns_name_compress) > libresolv_hidden_proto (ns_sprintrr) > libresolv_hidden_proto (ns_sprintrrf) > @@ -76,6 +75,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_pack) __ns_name_pack; > +libc_hidden_proto (__ns_name_pack) OK. > extern __typeof (ns_name_pton) __ns_name_pton; > libc_hidden_proto (__ns_name_pton) > extern __typeof (ns_name_skip) __ns_name_skip; > diff --git a/resolv/Makefile b/resolv/Makefile > index 7839e1fb3c..8bb2585dca 100644 > --- a/resolv/Makefile > +++ b/resolv/Makefile > @@ -33,6 +33,7 @@ routines := \ > inet_ntop \ > inet_pton \ > ns_name_ntop \ > + ns_name_pack \ OK. > ns_name_pton \ > ns_name_skip \ > ns_name_uncompress \ > diff --git a/resolv/Versions b/resolv/Versions > index 770a2b8d6b..8ea42da48d 100644 > --- a/resolv/Versions > +++ b/resolv/Versions > @@ -26,6 +26,7 @@ libc { > } > GLIBC_2.9 { > ns_name_ntop; > + ns_name_pack; OK. > ns_name_pton; > ns_name_skip; > ns_name_uncompress; > @@ -39,6 +40,7 @@ libc { > getaddrinfo_a; > %endif > ns_name_ntop; > + ns_name_pack; OK. > ns_name_pton; > ns_name_skip; > ns_name_uncompress; > @@ -52,6 +54,7 @@ libc { > __inet_aton_exact; > __inet_pton_length; > __ns_name_ntop; > + __ns_name_pack; OK. > __ns_name_pton; > __ns_name_skip; > __ns_name_uncompress; > @@ -154,7 +157,6 @@ libresolv { > ns_msg_getflag; > ns_name_compress; > ns_name_ntol; > - ns_name_pack; OK. > ns_name_pton; > ns_name_rollback; > ns_name_skip; > diff --git a/resolv/ns_name.c b/resolv/ns_name.c > index 9f7ca4a506..f1a84ad8a6 100644 > --- a/resolv/ns_name.c > +++ b/resolv/ns_name.c > @@ -31,9 +31,6 @@ > > /* Forward. */ > > -static int dn_find(const u_char *, const u_char *, > - const u_char * const *, > - const u_char * const *); OK. > static int labellen(const u_char *); > > /* Public. */ > @@ -92,118 +89,6 @@ ns_name_ntol(const u_char *src, u_char *dst, size_t dstsiz) > return (dn - dst); > } > > -/*% > - * Pack domain name 'domain' into 'comp_dn'. > - * > - * return: > - *\li Size of the compressed name, or -1. > - * > - * notes: > - *\li 'dnptrs' is an array of pointers to previous compressed names. > - *\li dnptrs[0] is a pointer to the beginning of the message. The array > - * ends with NULL. > - *\li 'lastdnptr' is a pointer to the end of the array pointed to > - * by 'dnptrs'. > - * > - * Side effects: > - *\li The list of pointers in dnptrs is updated for labels inserted into > - * the message as we compress the name. If 'dnptr' is NULL, we don't > - * try to compress names. If 'lastdnptr' is NULL, we don't update the > - * list. > - */ > -int > -ns_name_pack(const u_char *src, u_char *dst, int dstsiz, > - const u_char **dnptrs, const u_char **lastdnptr) > -{ > - u_char *dstp; > - const u_char **cpp, **lpp, *eob, *msg; > - const u_char *srcp; > - int n, l, first = 1; > - > - srcp = src; > - dstp = dst; > - eob = dstp + dstsiz; > - lpp = cpp = NULL; > - if (dnptrs != NULL) { > - if ((msg = *dnptrs++) != NULL) { > - for (cpp = dnptrs; *cpp != NULL; cpp++) > - (void)NULL; > - lpp = cpp; /*%< end of list to search */ > - } > - } else > - msg = NULL; > - > - /* make sure the domain we are about to add is legal */ > - l = 0; > - do { > - int l0; > - > - n = *srcp; > - if ((n & NS_CMPRSFLGS) == NS_CMPRSFLGS) { > - __set_errno (EMSGSIZE); > - return (-1); > - } > - if ((l0 = labellen(srcp)) < 0) { > - __set_errno (EINVAL); > - return(-1); > - } > - l += l0 + 1; > - if (l > MAXCDNAME) { > - __set_errno (EMSGSIZE); > - return (-1); > - } > - srcp += l0 + 1; > - } while (n != 0); > - > - /* from here on we need to reset compression pointer array on error */ > - srcp = src; > - do { > - /* Look to see if we can use pointers. */ > - n = *srcp; > - if (n != 0 && msg != NULL) { > - l = dn_find(srcp, msg, (const u_char * const *)dnptrs, > - (const u_char * const *)lpp); > - if (l >= 0) { > - if (dstp + 1 >= eob) { > - goto cleanup; > - } > - *dstp++ = (l >> 8) | NS_CMPRSFLGS; > - *dstp++ = l % 256; > - return (dstp - dst); > - } > - /* Not found, save it. */ > - if (lastdnptr != NULL && cpp < lastdnptr - 1 && > - (dstp - msg) < 0x4000 && first) { > - *cpp++ = dstp; > - *cpp = NULL; > - first = 0; > - } > - } > - /* copy label to buffer */ > - if ((n & NS_CMPRSFLGS) == NS_CMPRSFLGS) { > - /* Should not happen. */ > - goto cleanup; > - } > - n = labellen(srcp); > - if (n + 1 > eob - dstp) { > - goto cleanup; > - } > - memcpy(dstp, srcp, n + 1); > - srcp += n + 1; > - dstp += n + 1; > - } while (n != 0); > - > - if (dstp > eob) { > -cleanup: > - if (msg != NULL) > - *lpp = NULL; > - __set_errno (EMSGSIZE); > - return (-1); > - } > - return (dstp - dst); > -} > -libresolv_hidden_def (ns_name_pack) > - OK. > /*% > * Compress a domain name into wire format, using compression pointers. > * > @@ -250,85 +135,6 @@ ns_name_rollback(const u_char *src, const u_char **dnptrs, > > /* Private. */ > > -/*% > - * Thinking in noninternationalized USASCII (per the DNS spec), > - * convert this character to lower case if it's upper case. > - */ > -static int > -mklower(int ch) { > - if (ch >= 0x41 && ch <= 0x5A) > - return (ch + 0x20); > - return (ch); > -} OK. mklower removed. > - > -/*% > - * Search for the counted-label name in an array of compressed names. > - * > - * return: > - *\li offset from msg if found, or -1. > - * > - * notes: > - *\li dnptrs is the pointer to the first name on the list, > - *\li not the pointer to the start of the message. > - */ > -static int > -dn_find(const u_char *domain, const u_char *msg, > - const u_char * const *dnptrs, > - const u_char * const *lastdnptr) > -{ > - const u_char *dn, *cp, *sp; > - const u_char * const *cpp; > - u_int n; > - > - for (cpp = dnptrs; cpp < lastdnptr; cpp++) { > - sp = *cpp; > - /* > - * terminate search on: > - * root label > - * compression pointer > - * unusable offset > - */ > - while (*sp != 0 && (*sp & NS_CMPRSFLGS) == 0 && > - (sp - msg) < 0x4000) { > - dn = domain; > - cp = sp; > - while ((n = *cp++) != 0) { > - /* > - * check for indirection > - */ > - switch (n & NS_CMPRSFLGS) { > - case 0: /*%< normal case, n == len */ > - n = labellen(cp - 1); /*%< XXX */ > - if (n != *dn++) > - goto next; > - > - for ((void)NULL; n > 0; n--) > - if (mklower(*dn++) != > - mklower(*cp++)) > - goto next; > - /* Is next root for both ? */ > - if (*dn == '\0' && *cp == '\0') > - return (sp - msg); > - if (*dn) > - continue; > - goto next; > - case NS_CMPRSFLGS: /*%< indirection */ > - cp = msg + (((n & 0x3f) << 8) | *cp); > - break; > - > - default: /*%< illegal type */ > - __set_errno (EMSGSIZE); > - return (-1); > - } > - } > - next: ; > - sp += *sp + 1; > - } > - } > - __set_errno (ENOENT); > - return (-1); > -} > - OK. dn_find removed. > /* Return the length of the encoded label starting at LP, or -1 for > compression references and extended label types. */ > static int > diff --git a/resolv/ns_name_pack.c b/resolv/ns_name_pack.c > new file mode 100644 > index 0000000000..3200b788b3 > --- /dev/null > +++ b/resolv/ns_name_pack.c > @@ -0,0 +1,202 @@ > +/* Compression of DNS domain names. 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 <string.h> > +#include <shlib-compat.h> > + > +/* Thinking in noninternationalized USASCII (per the DNS spec), > + convert this character to lower case if it's upper case. */ > +static int > +mklower (int ch) > +{ > + if (ch >= 'A' && ch <= 'Z') > + return ch - 'A' + 'a'; OK. Match. > + return ch; > +} > + > +/* Search for the counted-label name in an array of compressed names. > + Returns the offset from MSG if found, or -1. > + > + DNPTRS is the pointer to the first name on the list, not the > + pointer to the start of the message. */ > +static int > +dn_find (const unsigned char *domain, const unsigned char *msg, > + const unsigned char **dnptrs, > + const unsigned char **lastdnptr) > +{ > + const unsigned char *dn, *cp, *sp; > + const unsigned char **cpp; > + unsigned int n; OK. No dropped variables. > + > + for (cpp = dnptrs; cpp < lastdnptr; cpp++) > + { > + sp = *cpp; > + /* Terminate search on: root label, compression pointer, unusable > + offset. */ > + while (*sp != 0 && (*sp & NS_CMPRSFLGS) == 0 && (sp - msg) < 0x4000) > + { > + dn = domain; > + cp = sp; OK. > + while ((n = *cp++) != 0) > + { > + /* Check for indirection. */ > + switch (n & NS_CMPRSFLGS) > + { > + case 0: /* Normal case, n == len. */ OK. Drop labellen use. > + if (n != *dn++) > + goto next; OK. > + > + for (; n > 0; n--) OK. In the old code n could have been -1 if it was >= 64, and we would have skipped this, and it would have been wrong IMO. So the change to drop labellen seems correct to me. > + if (mklower (*dn++) != mklower (*cp++)) > + goto next; OK. > + /* Is next root for both? */ > + if (*dn == '\0' && *cp == '\0') > + return sp - msg; > + if (*dn) > + continue; > + goto next; OK. Match. > + case NS_CMPRSFLGS: /* Indirection. */ > + cp = msg + (((n & 0x3f) << 8) | *cp); > + break; OK. > + > + default: /* Illegal type. */ > + __set_errno (EMSGSIZE); > + return -1; OK. > + } > + } > + next: ; > + sp += *sp + 1; OK. > + } > + } > + __set_errno (ENOENT); > + return -1; OK. > +} > + > +/* Packs domain name SRC into DST. Returns size of the compressed > + name, or -1. > + > + DNPTRS is an array of pointers to previous compressed names. > + DNPTRS[0] is a pointer to the beginning of the message. The array > + ends with NULL. LASTDNPTR is a pointer to the end of the array > + pointed to by 'dnptrs'. > + > + The list of pointers in DNPTRS is updated for labels inserted into > + the message as we compress the name. If DNPTRS is NULL, we don't > + try to compress names. If LASTDNPTR is NULL, we don't update the > + list. */ OK. > +int > +___ns_name_pack (const unsigned char *src, unsigned char *dst, int dstsiz, > + const unsigned char **dnptrs, const unsigned char **lastdnptr) > +{ > + unsigned char *dstp; > + const unsigned char **cpp, **lpp, *eob, *msg; > + const unsigned char *srcp; > + int n, l, first = 1; OK. No dropped variables. > + > + srcp = src; > + dstp = dst; > + eob = dstp + dstsiz; > + lpp = cpp = NULL; OK. > + if (dnptrs != NULL) > + { > + if ((msg = *dnptrs++) != NULL) > + { > + for (cpp = dnptrs; *cpp != NULL; cpp++) > + ; > + lpp = cpp; /* End of list to search. */ OK. > + } > + } > + else > + msg = NULL; OK. > + > + /* Make sure the domain we are about to add is legal. */ > + l = 0; > + do > + { > + n = *srcp; OK. Drop the check for NS_CMPRSFLGS since it should not happen. > + if (n >= 64) OK. Fold labellen. > + { > + __set_errno (EMSGSIZE); > + return -1; > + } > + l += n + 1; > + if (l > MAXCDNAME) > + { > + __set_errno (EMSGSIZE); > + return -1; > + } > + srcp += n + 1; > + } > + while (n != 0); OK. > + > + /* from here on we need to reset compression pointer array on error */ > + srcp = src; > + do > + { > + /* Look to see if we can use pointers. */ > + n = *srcp; > + if (n != 0 && msg != NULL) > + { > + l = dn_find (srcp, msg, dnptrs, lpp); > + if (l >= 0) > + { > + if (eob - dstp <= 1) > + goto cleanup; OK. > + *dstp++ = (l >> 8) | NS_CMPRSFLGS; > + *dstp++ = l % 256; > + return dstp - dst; OK. > + } > + /* Not found, save it. */ > + if (lastdnptr != NULL && cpp < lastdnptr - 1 > + && (dstp - msg) < 0x4000 && first) > + { > + *cpp++ = dstp; > + *cpp = NULL; > + first = 0; > + } OK. > + } > + /* Copy label to buffer. */ > + if (n >= 64) > + /* Should not happen. */ > + goto cleanup; OK. > + if (n + 1 > eob - dstp) > + goto cleanup; OK. OK. Drop NS_CMPRSFLGS check since it should not happen. > + memcpy (dstp, srcp, n + 1); > + srcp += n + 1; > + dstp += n + 1; > + } > + while (n != 0); > + > + if (dstp > eob) > + { > + cleanup: > + if (msg != NULL) > + *lpp = NULL; > + __set_errno (EMSGSIZE); > + return -1; OK > + } > + return dstp - dst; > +} > +versioned_symbol (libc, ___ns_name_pack, ns_name_pack, GLIBC_2_34); > +versioned_symbol (libc, ___ns_name_pack, __ns_name_pack, GLIBC_PRIVATE); > +libc_hidden_ver (___ns_name_pack, __ns_name_pack) > + > +#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_9, GLIBC_2_34) > +compat_symbol (libresolv, ___ns_name_pack, ns_name_pack, GLIBC_2_9); > +#endif > diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist > index 83b4e2a983..b73d7d11a2 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2366,6 +2367,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/mach/hurd/i386/libresolv.abilist b/sysdeps/mach/hurd/i386/libresolv.abilist > index 1e75aaa6d7..533283afaa 100644 > --- a/sysdeps/mach/hurd/i386/libresolv.abilist > +++ b/sysdeps/mach/hurd/i386/libresolv.abilist > @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 1b6e962fe3..7ae7506b0b 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_pack F > GLIBC_2.17 ns_name_pton F > GLIBC_2.17 ns_name_skip F > GLIBC_2.17 ns_name_uncompress F > @@ -2456,6 +2457,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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist > index 9594f13195..ca67cff34e 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist > @@ -67,7 +67,6 @@ GLIBC_2.17 ns_makecanon F > 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_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 ef88aa8e36..47ab3bbcfb 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2988,6 +2989,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist > index b70366bcb8..7d0f5b6bd7 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 94f9908585..5b387418ab 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_pack F > GLIBC_2.32 ns_name_pton F > GLIBC_2.32 ns_name_skip F > GLIBC_2.32 ns_name_uncompress F > @@ -2215,6 +2216,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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/libresolv.abilist > index 8a29165fa5..f869f0003b 100644 > --- a/sysdeps/unix/sysv/linux/arc/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist > @@ -60,7 +60,6 @@ GLIBC_2.32 ns_makecanon F > 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_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 7157111655..2419fcbbb7 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2684,6 +2685,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist > index 473a4e7a31..e79c2c56e7 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist > @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 8f4e772481..0010d1e86c 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2681,6 +2682,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist > index 473a4e7a31..e79c2c56e7 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist > @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 f4368cc20b..27d8e165c1 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_pack F > GLIBC_2.29 ns_name_pton F > GLIBC_2.29 ns_name_skip F > GLIBC_2.29 ns_name_uncompress F > @@ -2481,6 +2482,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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/csky/libresolv.abilist b/sysdeps/unix/sysv/linux/csky/libresolv.abilist > index a88aaf06f0..181d1898b3 100644 > --- a/sysdeps/unix/sysv/linux/csky/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libresolv.abilist > @@ -60,7 +60,6 @@ GLIBC_2.29 ns_makecanon F > 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_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 d5a661c221..8c8bea67aa 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2698,6 +2699,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist > index 2bf26b6a56..7ab9ae8b79 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 49c26a44a6..3014ad7143 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2882,6 +2883,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/i386/libresolv.abilist b/sysdeps/unix/sysv/linux/i386/libresolv.abilist > index 2bf26b6a56..7ab9ae8b79 100644 > --- a/sysdeps/unix/sysv/linux/i386/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 bee668d6f7..8d00eaf6b1 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2657,6 +2658,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist > index b70366bcb8..7d0f5b6bd7 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 45fca7a557..19534dd36c 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2663,6 +2664,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist > index 473a4e7a31..e79c2c56e7 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist > @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 a1b316aa1c..8c03c6797a 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2825,6 +2826,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist > index 2bf26b6a56..7ab9ae8b79 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 7a991b941a..28a03e9915 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_pack F > GLIBC_2.18 ns_name_pton F > GLIBC_2.18 ns_name_skip F > GLIBC_2.18 ns_name_uncompress F > @@ -2532,6 +2533,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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist > index 600e164088..b03a3a68d6 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist > @@ -67,7 +67,6 @@ GLIBC_2.18 ns_makecanon F > 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_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 a3fae78187..5747e6f330 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_pack F > GLIBC_2.18 ns_name_pton F > GLIBC_2.18 ns_name_skip F > GLIBC_2.18 ns_name_uncompress F > @@ -2529,6 +2530,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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist > index 600e164088..b03a3a68d6 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist > @@ -67,7 +67,6 @@ GLIBC_2.18 ns_makecanon F > 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_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 84f9ab0af6..bbfe63587c 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2786,6 +2787,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist > index 2bf26b6a56..7ab9ae8b79 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 343c2925c3..62d1219681 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2784,6 +2785,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > index cd01ef31f0..a5da7c2236 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2792,6 +2793,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist > index 2bf26b6a56..7ab9ae8b79 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 1722ba6722..5957ca61e1 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress 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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist > index b70366bcb8..7d0f5b6bd7 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 aaf4b25fe0..7b30702bc8 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_pack F > GLIBC_2.21 ns_name_pton F > GLIBC_2.21 ns_name_skip F > GLIBC_2.21 ns_name_uncompress F > @@ -2571,6 +2572,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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist > index 704da254df..4a47e2e86e 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist > @@ -67,7 +67,6 @@ GLIBC_2.21 ns_makecanon F > 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_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 937d59759a..c6a6c3902b 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -3023,6 +3024,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist > index 2bf26b6a56..7ab9ae8b79 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 186c59d401..c54fe04c21 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -3068,6 +3069,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > index c9ffbc9455..de407254a8 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2792,6 +2793,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist > index 2c34859a4a..05b0034a8b 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist > @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 0c7183ba10..73d7784b6f 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_pack F > GLIBC_2.17 ns_name_pton F > GLIBC_2.17 ns_name_skip F > GLIBC_2.17 ns_name_uncompress F > @@ -2652,6 +2653,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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist > index 9594f13195..ca67cff34e 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist > @@ -67,7 +67,6 @@ GLIBC_2.17 ns_makecanon F > 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_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 0f345ea431..bd76b7f48c 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_pack F > GLIBC_2.33 ns_name_pton F > GLIBC_2.33 ns_name_skip F > GLIBC_2.33 ns_name_uncompress F > @@ -2217,6 +2218,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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist > index 3f04c43022..1a6fe9ecb7 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist > @@ -60,7 +60,6 @@ GLIBC_2.33 ns_makecanon F > 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_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 613ad3332d..ad0c74f1e8 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_pack F > GLIBC_2.27 ns_name_pton F > GLIBC_2.27 ns_name_skip F > GLIBC_2.27 ns_name_uncompress F > @@ -2417,6 +2418,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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist > index b546012c1b..941f79ecfb 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist > @@ -60,7 +60,6 @@ GLIBC_2.27 ns_makecanon F > 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_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 a4df94a8ed..f8d5c15c8f 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -3031,6 +3032,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist > index 2bf26b6a56..7ab9ae8b79 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 2002437627..f8f387c8bc 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2827,6 +2828,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist > index ef165535ce..1d35501b2d 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist > @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 934a8af021..4ba1fca626 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2705,6 +2706,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist > index 2bf26b6a56..7ab9ae8b79 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 82f0b5e2e5..8b6f0df2a4 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2702,6 +2703,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist > index 2bf26b6a56..7ab9ae8b79 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 78b5667c51..40e5363a64 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -3040,6 +3041,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist > index 2bf26b6a56..7ab9ae8b79 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 77076f51ec..794dfecaac 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress 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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist > index b70366bcb8..7d0f5b6bd7 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist > @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 c060a7b027..b886a7d9af 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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > @@ -2636,6 +2637,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_pack F > GLIBC_2.9 ns_name_pton F > GLIBC_2.9 ns_name_skip F > GLIBC_2.9 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist > index 2fced73187..3fd54a8e2d 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist > @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F > 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_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 2baaf7af06..d301782e21 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_pack F > GLIBC_2.16 ns_name_pton F > GLIBC_2.16 ns_name_skip F > GLIBC_2.16 ns_name_uncompress F > @@ -2471,6 +2472,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_pack F > GLIBC_2.34 ns_name_pton F > GLIBC_2.34 ns_name_skip F > GLIBC_2.34 ns_name_uncompress F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist > index 2f70944024..50247ce7a0 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist > @@ -67,7 +67,6 @@ GLIBC_2.16 ns_makecanon F > 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_rollback F > GLIBC_2.16 ns_parse_ttl F > GLIBC_2.16 ns_parserr F > OK.
diff --git a/include/arpa/nameser.h b/include/arpa/nameser.h index c27008b5ff..02d7b0b553 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_pack) libresolv_hidden_proto (ns_name_compress) libresolv_hidden_proto (ns_sprintrr) libresolv_hidden_proto (ns_sprintrrf) @@ -76,6 +75,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_pack) __ns_name_pack; +libc_hidden_proto (__ns_name_pack) extern __typeof (ns_name_pton) __ns_name_pton; libc_hidden_proto (__ns_name_pton) extern __typeof (ns_name_skip) __ns_name_skip; diff --git a/resolv/Makefile b/resolv/Makefile index 7839e1fb3c..8bb2585dca 100644 --- a/resolv/Makefile +++ b/resolv/Makefile @@ -33,6 +33,7 @@ routines := \ inet_ntop \ inet_pton \ ns_name_ntop \ + ns_name_pack \ ns_name_pton \ ns_name_skip \ ns_name_uncompress \ diff --git a/resolv/Versions b/resolv/Versions index 770a2b8d6b..8ea42da48d 100644 --- a/resolv/Versions +++ b/resolv/Versions @@ -26,6 +26,7 @@ libc { } GLIBC_2.9 { ns_name_ntop; + ns_name_pack; ns_name_pton; ns_name_skip; ns_name_uncompress; @@ -39,6 +40,7 @@ libc { getaddrinfo_a; %endif ns_name_ntop; + ns_name_pack; ns_name_pton; ns_name_skip; ns_name_uncompress; @@ -52,6 +54,7 @@ libc { __inet_aton_exact; __inet_pton_length; __ns_name_ntop; + __ns_name_pack; __ns_name_pton; __ns_name_skip; __ns_name_uncompress; @@ -154,7 +157,6 @@ libresolv { ns_msg_getflag; ns_name_compress; ns_name_ntol; - ns_name_pack; ns_name_pton; ns_name_rollback; ns_name_skip; diff --git a/resolv/ns_name.c b/resolv/ns_name.c index 9f7ca4a506..f1a84ad8a6 100644 --- a/resolv/ns_name.c +++ b/resolv/ns_name.c @@ -31,9 +31,6 @@ /* Forward. */ -static int dn_find(const u_char *, const u_char *, - const u_char * const *, - const u_char * const *); static int labellen(const u_char *); /* Public. */ @@ -92,118 +89,6 @@ ns_name_ntol(const u_char *src, u_char *dst, size_t dstsiz) return (dn - dst); } -/*% - * Pack domain name 'domain' into 'comp_dn'. - * - * return: - *\li Size of the compressed name, or -1. - * - * notes: - *\li 'dnptrs' is an array of pointers to previous compressed names. - *\li dnptrs[0] is a pointer to the beginning of the message. The array - * ends with NULL. - *\li 'lastdnptr' is a pointer to the end of the array pointed to - * by 'dnptrs'. - * - * Side effects: - *\li The list of pointers in dnptrs is updated for labels inserted into - * the message as we compress the name. If 'dnptr' is NULL, we don't - * try to compress names. If 'lastdnptr' is NULL, we don't update the - * list. - */ -int -ns_name_pack(const u_char *src, u_char *dst, int dstsiz, - const u_char **dnptrs, const u_char **lastdnptr) -{ - u_char *dstp; - const u_char **cpp, **lpp, *eob, *msg; - const u_char *srcp; - int n, l, first = 1; - - srcp = src; - dstp = dst; - eob = dstp + dstsiz; - lpp = cpp = NULL; - if (dnptrs != NULL) { - if ((msg = *dnptrs++) != NULL) { - for (cpp = dnptrs; *cpp != NULL; cpp++) - (void)NULL; - lpp = cpp; /*%< end of list to search */ - } - } else - msg = NULL; - - /* make sure the domain we are about to add is legal */ - l = 0; - do { - int l0; - - n = *srcp; - if ((n & NS_CMPRSFLGS) == NS_CMPRSFLGS) { - __set_errno (EMSGSIZE); - return (-1); - } - if ((l0 = labellen(srcp)) < 0) { - __set_errno (EINVAL); - return(-1); - } - l += l0 + 1; - if (l > MAXCDNAME) { - __set_errno (EMSGSIZE); - return (-1); - } - srcp += l0 + 1; - } while (n != 0); - - /* from here on we need to reset compression pointer array on error */ - srcp = src; - do { - /* Look to see if we can use pointers. */ - n = *srcp; - if (n != 0 && msg != NULL) { - l = dn_find(srcp, msg, (const u_char * const *)dnptrs, - (const u_char * const *)lpp); - if (l >= 0) { - if (dstp + 1 >= eob) { - goto cleanup; - } - *dstp++ = (l >> 8) | NS_CMPRSFLGS; - *dstp++ = l % 256; - return (dstp - dst); - } - /* Not found, save it. */ - if (lastdnptr != NULL && cpp < lastdnptr - 1 && - (dstp - msg) < 0x4000 && first) { - *cpp++ = dstp; - *cpp = NULL; - first = 0; - } - } - /* copy label to buffer */ - if ((n & NS_CMPRSFLGS) == NS_CMPRSFLGS) { - /* Should not happen. */ - goto cleanup; - } - n = labellen(srcp); - if (n + 1 > eob - dstp) { - goto cleanup; - } - memcpy(dstp, srcp, n + 1); - srcp += n + 1; - dstp += n + 1; - } while (n != 0); - - if (dstp > eob) { -cleanup: - if (msg != NULL) - *lpp = NULL; - __set_errno (EMSGSIZE); - return (-1); - } - return (dstp - dst); -} -libresolv_hidden_def (ns_name_pack) - /*% * Compress a domain name into wire format, using compression pointers. * @@ -250,85 +135,6 @@ ns_name_rollback(const u_char *src, const u_char **dnptrs, /* Private. */ -/*% - * Thinking in noninternationalized USASCII (per the DNS spec), - * convert this character to lower case if it's upper case. - */ -static int -mklower(int ch) { - if (ch >= 0x41 && ch <= 0x5A) - return (ch + 0x20); - return (ch); -} - -/*% - * Search for the counted-label name in an array of compressed names. - * - * return: - *\li offset from msg if found, or -1. - * - * notes: - *\li dnptrs is the pointer to the first name on the list, - *\li not the pointer to the start of the message. - */ -static int -dn_find(const u_char *domain, const u_char *msg, - const u_char * const *dnptrs, - const u_char * const *lastdnptr) -{ - const u_char *dn, *cp, *sp; - const u_char * const *cpp; - u_int n; - - for (cpp = dnptrs; cpp < lastdnptr; cpp++) { - sp = *cpp; - /* - * terminate search on: - * root label - * compression pointer - * unusable offset - */ - while (*sp != 0 && (*sp & NS_CMPRSFLGS) == 0 && - (sp - msg) < 0x4000) { - dn = domain; - cp = sp; - while ((n = *cp++) != 0) { - /* - * check for indirection - */ - switch (n & NS_CMPRSFLGS) { - case 0: /*%< normal case, n == len */ - n = labellen(cp - 1); /*%< XXX */ - if (n != *dn++) - goto next; - - for ((void)NULL; n > 0; n--) - if (mklower(*dn++) != - mklower(*cp++)) - goto next; - /* Is next root for both ? */ - if (*dn == '\0' && *cp == '\0') - return (sp - msg); - if (*dn) - continue; - goto next; - case NS_CMPRSFLGS: /*%< indirection */ - cp = msg + (((n & 0x3f) << 8) | *cp); - break; - - default: /*%< illegal type */ - __set_errno (EMSGSIZE); - return (-1); - } - } - next: ; - sp += *sp + 1; - } - } - __set_errno (ENOENT); - return (-1); -} - /* Return the length of the encoded label starting at LP, or -1 for compression references and extended label types. */ static int diff --git a/resolv/ns_name_pack.c b/resolv/ns_name_pack.c new file mode 100644 index 0000000000..3200b788b3 --- /dev/null +++ b/resolv/ns_name_pack.c @@ -0,0 +1,202 @@ +/* Compression of DNS domain names. + * 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 <string.h> +#include <shlib-compat.h> + +/* Thinking in noninternationalized USASCII (per the DNS spec), + convert this character to lower case if it's upper case. */ +static int +mklower (int ch) +{ + if (ch >= 'A' && ch <= 'Z') + return ch - 'A' + 'a'; + return ch; +} + +/* Search for the counted-label name in an array of compressed names. + Returns the offset from MSG if found, or -1. + + DNPTRS is the pointer to the first name on the list, not the + pointer to the start of the message. */ +static int +dn_find (const unsigned char *domain, const unsigned char *msg, + const unsigned char **dnptrs, + const unsigned char **lastdnptr) +{ + const unsigned char *dn, *cp, *sp; + const unsigned char **cpp; + unsigned int n; + + for (cpp = dnptrs; cpp < lastdnptr; cpp++) + { + sp = *cpp; + /* Terminate search on: root label, compression pointer, unusable + offset. */ + while (*sp != 0 && (*sp & NS_CMPRSFLGS) == 0 && (sp - msg) < 0x4000) + { + dn = domain; + cp = sp; + while ((n = *cp++) != 0) + { + /* Check for indirection. */ + switch (n & NS_CMPRSFLGS) + { + case 0: /* Normal case, n == len. */ + if (n != *dn++) + goto next; + + for (; n > 0; n--) + if (mklower (*dn++) != mklower (*cp++)) + goto next; + /* Is next root for both? */ + if (*dn == '\0' && *cp == '\0') + return sp - msg; + if (*dn) + continue; + goto next; + case NS_CMPRSFLGS: /* Indirection. */ + cp = msg + (((n & 0x3f) << 8) | *cp); + break; + + default: /* Illegal type. */ + __set_errno (EMSGSIZE); + return -1; + } + } + next: ; + sp += *sp + 1; + } + } + __set_errno (ENOENT); + return -1; +} + +/* Packs domain name SRC into DST. Returns size of the compressed + name, or -1. + + DNPTRS is an array of pointers to previous compressed names. + DNPTRS[0] is a pointer to the beginning of the message. The array + ends with NULL. LASTDNPTR is a pointer to the end of the array + pointed to by 'dnptrs'. + + The list of pointers in DNPTRS is updated for labels inserted into + the message as we compress the name. If DNPTRS is NULL, we don't + try to compress names. If LASTDNPTR is NULL, we don't update the + list. */ +int +___ns_name_pack (const unsigned char *src, unsigned char *dst, int dstsiz, + const unsigned char **dnptrs, const unsigned char **lastdnptr) +{ + unsigned char *dstp; + const unsigned char **cpp, **lpp, *eob, *msg; + const unsigned char *srcp; + int n, l, first = 1; + + srcp = src; + dstp = dst; + eob = dstp + dstsiz; + lpp = cpp = NULL; + if (dnptrs != NULL) + { + if ((msg = *dnptrs++) != NULL) + { + for (cpp = dnptrs; *cpp != NULL; cpp++) + ; + lpp = cpp; /* End of list to search. */ + } + } + else + msg = NULL; + + /* Make sure the domain we are about to add is legal. */ + l = 0; + do + { + n = *srcp; + if (n >= 64) + { + __set_errno (EMSGSIZE); + return -1; + } + l += n + 1; + if (l > MAXCDNAME) + { + __set_errno (EMSGSIZE); + return -1; + } + srcp += n + 1; + } + while (n != 0); + + /* from here on we need to reset compression pointer array on error */ + srcp = src; + do + { + /* Look to see if we can use pointers. */ + n = *srcp; + if (n != 0 && msg != NULL) + { + l = dn_find (srcp, msg, dnptrs, lpp); + if (l >= 0) + { + if (eob - dstp <= 1) + goto cleanup; + *dstp++ = (l >> 8) | NS_CMPRSFLGS; + *dstp++ = l % 256; + return dstp - dst; + } + /* Not found, save it. */ + if (lastdnptr != NULL && cpp < lastdnptr - 1 + && (dstp - msg) < 0x4000 && first) + { + *cpp++ = dstp; + *cpp = NULL; + first = 0; + } + } + /* Copy label to buffer. */ + if (n >= 64) + /* Should not happen. */ + goto cleanup; + if (n + 1 > eob - dstp) + goto cleanup; + memcpy (dstp, srcp, n + 1); + srcp += n + 1; + dstp += n + 1; + } + while (n != 0); + + if (dstp > eob) + { + cleanup: + if (msg != NULL) + *lpp = NULL; + __set_errno (EMSGSIZE); + return -1; + } + return dstp - dst; +} +versioned_symbol (libc, ___ns_name_pack, ns_name_pack, GLIBC_2_34); +versioned_symbol (libc, ___ns_name_pack, __ns_name_pack, GLIBC_PRIVATE); +libc_hidden_ver (___ns_name_pack, __ns_name_pack) + +#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_9, GLIBC_2_34) +compat_symbol (libresolv, ___ns_name_pack, ns_name_pack, GLIBC_2_9); +#endif diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 83b4e2a983..b73d7d11a2 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2366,6 +2367,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/mach/hurd/i386/libresolv.abilist b/sysdeps/mach/hurd/i386/libresolv.abilist index 1e75aaa6d7..533283afaa 100644 --- a/sysdeps/mach/hurd/i386/libresolv.abilist +++ b/sysdeps/mach/hurd/i386/libresolv.abilist @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F 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_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 1b6e962fe3..7ae7506b0b 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_pack F GLIBC_2.17 ns_name_pton F GLIBC_2.17 ns_name_skip F GLIBC_2.17 ns_name_uncompress F @@ -2456,6 +2457,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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist index 9594f13195..ca67cff34e 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist @@ -67,7 +67,6 @@ GLIBC_2.17 ns_makecanon F 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_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 ef88aa8e36..47ab3bbcfb 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2988,6 +2989,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist index b70366bcb8..7d0f5b6bd7 100644 --- a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 94f9908585..5b387418ab 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_pack F GLIBC_2.32 ns_name_pton F GLIBC_2.32 ns_name_skip F GLIBC_2.32 ns_name_uncompress F @@ -2215,6 +2216,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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/libresolv.abilist index 8a29165fa5..f869f0003b 100644 --- a/sysdeps/unix/sysv/linux/arc/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist @@ -60,7 +60,6 @@ GLIBC_2.32 ns_makecanon F 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_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 7157111655..2419fcbbb7 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2684,6 +2685,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist index 473a4e7a31..e79c2c56e7 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F 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_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 8f4e772481..0010d1e86c 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2681,6 +2682,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist index 473a4e7a31..e79c2c56e7 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F 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_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 f4368cc20b..27d8e165c1 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_pack F GLIBC_2.29 ns_name_pton F GLIBC_2.29 ns_name_skip F GLIBC_2.29 ns_name_uncompress F @@ -2481,6 +2482,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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/csky/libresolv.abilist b/sysdeps/unix/sysv/linux/csky/libresolv.abilist index a88aaf06f0..181d1898b3 100644 --- a/sysdeps/unix/sysv/linux/csky/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/csky/libresolv.abilist @@ -60,7 +60,6 @@ GLIBC_2.29 ns_makecanon F 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_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 d5a661c221..8c8bea67aa 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2698,6 +2699,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist index 2bf26b6a56..7ab9ae8b79 100644 --- a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 49c26a44a6..3014ad7143 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2882,6 +2883,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/i386/libresolv.abilist b/sysdeps/unix/sysv/linux/i386/libresolv.abilist index 2bf26b6a56..7ab9ae8b79 100644 --- a/sysdeps/unix/sysv/linux/i386/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/i386/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 bee668d6f7..8d00eaf6b1 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2657,6 +2658,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist index b70366bcb8..7d0f5b6bd7 100644 --- a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 45fca7a557..19534dd36c 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2663,6 +2664,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist index 473a4e7a31..e79c2c56e7 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F 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_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 a1b316aa1c..8c03c6797a 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2825,6 +2826,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist index 2bf26b6a56..7ab9ae8b79 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 7a991b941a..28a03e9915 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_pack F GLIBC_2.18 ns_name_pton F GLIBC_2.18 ns_name_skip F GLIBC_2.18 ns_name_uncompress F @@ -2532,6 +2533,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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist index 600e164088..b03a3a68d6 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist @@ -67,7 +67,6 @@ GLIBC_2.18 ns_makecanon F 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_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 a3fae78187..5747e6f330 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_pack F GLIBC_2.18 ns_name_pton F GLIBC_2.18 ns_name_skip F GLIBC_2.18 ns_name_uncompress F @@ -2529,6 +2530,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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist index 600e164088..b03a3a68d6 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist @@ -67,7 +67,6 @@ GLIBC_2.18 ns_makecanon F 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_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 84f9ab0af6..bbfe63587c 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2786,6 +2787,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist index 2bf26b6a56..7ab9ae8b79 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 343c2925c3..62d1219681 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2784,6 +2785,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index cd01ef31f0..a5da7c2236 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2792,6 +2793,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist index 2bf26b6a56..7ab9ae8b79 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 1722ba6722..5957ca61e1 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress 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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist index b70366bcb8..7d0f5b6bd7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 aaf4b25fe0..7b30702bc8 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_pack F GLIBC_2.21 ns_name_pton F GLIBC_2.21 ns_name_skip F GLIBC_2.21 ns_name_uncompress F @@ -2571,6 +2572,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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist index 704da254df..4a47e2e86e 100644 --- a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist @@ -67,7 +67,6 @@ GLIBC_2.21 ns_makecanon F 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_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 937d59759a..c6a6c3902b 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -3023,6 +3024,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist index 2bf26b6a56..7ab9ae8b79 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 186c59d401..c54fe04c21 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -3068,6 +3069,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index c9ffbc9455..de407254a8 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2792,6 +2793,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist index 2c34859a4a..05b0034a8b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F 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_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 0c7183ba10..73d7784b6f 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_pack F GLIBC_2.17 ns_name_pton F GLIBC_2.17 ns_name_skip F GLIBC_2.17 ns_name_uncompress F @@ -2652,6 +2653,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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist index 9594f13195..ca67cff34e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist @@ -67,7 +67,6 @@ GLIBC_2.17 ns_makecanon F 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_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 0f345ea431..bd76b7f48c 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_pack F GLIBC_2.33 ns_name_pton F GLIBC_2.33 ns_name_skip F GLIBC_2.33 ns_name_uncompress F @@ -2217,6 +2218,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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist index 3f04c43022..1a6fe9ecb7 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist @@ -60,7 +60,6 @@ GLIBC_2.33 ns_makecanon F 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_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 613ad3332d..ad0c74f1e8 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_pack F GLIBC_2.27 ns_name_pton F GLIBC_2.27 ns_name_skip F GLIBC_2.27 ns_name_uncompress F @@ -2417,6 +2418,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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist index b546012c1b..941f79ecfb 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist @@ -60,7 +60,6 @@ GLIBC_2.27 ns_makecanon F 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_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 a4df94a8ed..f8d5c15c8f 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -3031,6 +3032,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist index 2bf26b6a56..7ab9ae8b79 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 2002437627..f8f387c8bc 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2827,6 +2828,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist index ef165535ce..1d35501b2d 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F 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_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 934a8af021..4ba1fca626 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2705,6 +2706,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist index 2bf26b6a56..7ab9ae8b79 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 82f0b5e2e5..8b6f0df2a4 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2702,6 +2703,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist index 2bf26b6a56..7ab9ae8b79 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 78b5667c51..40e5363a64 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -3040,6 +3041,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist index 2bf26b6a56..7ab9ae8b79 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 77076f51ec..794dfecaac 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress 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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist index b70366bcb8..7d0f5b6bd7 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F 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_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 c060a7b027..b886a7d9af 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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F @@ -2636,6 +2637,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_pack F GLIBC_2.9 ns_name_pton F GLIBC_2.9 ns_name_skip F GLIBC_2.9 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist index 2fced73187..3fd54a8e2d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F 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_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 2baaf7af06..d301782e21 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_pack F GLIBC_2.16 ns_name_pton F GLIBC_2.16 ns_name_skip F GLIBC_2.16 ns_name_uncompress F @@ -2471,6 +2472,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_pack F GLIBC_2.34 ns_name_pton F GLIBC_2.34 ns_name_skip F GLIBC_2.34 ns_name_uncompress F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist index 2f70944024..50247ce7a0 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist @@ -67,7 +67,6 @@ GLIBC_2.16 ns_makecanon F 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_rollback F GLIBC_2.16 ns_parse_ttl F GLIBC_2.16 ns_parserr F