[PATCH v2 00/30] nss_dns move into libc
Carlos O'Donell
carlos@redhat.com
Thu Jul 15 04:58:57 GMT 2021
On 7/8/21 10:59 AM, Florian Weimer via Libc-alpha wrote:
> This is a rebase of the previous series. The final patch (direct
> loading) has been integrated with the nss_files changes.
OK for glibc 2.34 in general, with a few patches needing v3.
Please repost the series and I'll ack the remaining patches quickly
when I see which are left without Reviewed-by.
Thank you for tackling this. I think having nss_files and nss_dns
within libc allows for some straight forward use cases that allow
a process to use 'files' and 'dns' entries in nss regardless of
the current system state and that is often sufficient functionality
in a container/chroot to do the required work.
I've reviewed the entire series and I think we should include
it immediately for glibc 2.34 to go with the other ABI changes.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
> Re-tested on i686-linux-gnu, x86_64-linux-gnu. Built with
> build-many-glibcs.py.
>
> Thanks,
> Florian
>
> Florian Weimer (30):
> socket: Add hidden prototype for setsockopt
> resolv: Deprecate legacy interfaces in <resolv.h>
> resolv: Sort Makefile routines and Versions lexicographically
> nss_dns: Do not use deprecated packet parsing functions
> resolv: Move ns_name_ntop to its own file and into libc
> resolv: Move ns_name_unpack to its own file and into libc
> resolv: Move ns_name_skip to its own file and into libc
> resolv: Move ns_name_uncompress into its own file and into libc
> resolv: Move ns_name_pton into its own file and into libc
> resolv: Move ns_name_pack into its own file and into libc
> resolv: Move ns_name_compress into its own file and into libc
> resolv: Move dn_expand to its own file and into libc
> resolv: Move _getlong, _getshort, __putlong, __putshort to res-putget
> resolv: Move dn_comp to its own file and into libc
> resolv: Move dn_skipname to its own file and into libc
> resolv: Rename res_comp.c to res-name-checking.c and move into libc
> resolv: Remove unnecessary res_isourserver_p call from send_dg
> resolv: Move __res_get_nsaddr to its own file and into libc
> resolv: Move res_isourserver to its own file and reformat to GNU style
> resolv: Move ns_makecanon into its own file, and into libc
> resolv: Move ns_samename into its own file, and into libc
> resolv: Move res_nameinquery to its own file and into libc
> resolv: Move res_queriesmatch to its own file and into libc
> resolv: Move __res_context_hostalias into its own file and into libc
> resolv: Move res_hostalias into its own file, along with hostalias
> resolv: Move res_send, res_nsend into libc
> resolv: Move res_mkquery, res_nmkquery into libc
> resolv: Move res_query functions into libc
> resolv: Move nss_dns into libc
> nss: Directly load nss_dns, without going through dlsym/dlopen
>
> NEWS | 4 +
> include/arpa/nameser.h | 28 +-
> include/nss_dns.h | 39 ++
> include/resolv.h | 22 +-
> include/sys/socket.h | 3 +-
> nss/nss_files_functions.c | 6 -
> nss/nss_module.c | 55 +-
> nss/nss_module.h | 10 +-
> resolv/Makefile | 85 ++-
> resolv/Versions | 256 ++++++--
> resolv/arpa/nameser.h | 33 +-
> resolv/compat-gethnamaddr.c | 13 +-
> resolv/dn_comp.c | 103 +++
> resolv/dn_expand.c | 112 ++++
> resolv/dn_skipname.c | 103 +++
> resolv/ns_makecanon.c | 50 ++
> resolv/ns_name.c | 614 ------------------
> resolv/ns_name_compress.c | 50 ++
> resolv/ns_name_ntop.c | 145 +++++
> resolv/ns_name_pack.c | 202 ++++++
> resolv/ns_name_pton.c | 157 +++++
> resolv/ns_name_skip.c | 62 ++
> resolv/ns_name_uncompress.c | 45 ++
> resolv/ns_name_unpack.c | 115 ++++
> resolv/ns_parse.c | 4 +-
> resolv/ns_print.c | 8 +-
> resolv/ns_samedomain.c | 62 +-
> resolv/ns_samename.c | 38 ++
> resolv/nss_dns/dns-canon.c | 25 +-
> resolv/nss_dns/dns-host.c | 78 +--
> resolv/nss_dns/dns-network.c | 15 +-
> resolv/nss_dns_functions.c | 40 ++
> resolv/{res_comp.c => res-name-checking.c} | 116 +---
> resolv/res-putget.c | 112 ++++
> resolv/res_context_hostalias.c | 132 ++++
> resolv/res_debug.c | 4 +-
> resolv/res_enable_icmp.c | 4 +-
> resolv/res_get_nsaddr.c | 39 ++
> resolv/res_hostalias.c | 51 ++
> resolv/res_isourserver.c | 134 ++++
> resolv/res_mkquery.c | 48 +-
> resolv/res_nameinquery.c | 115 ++++
> resolv/res_queriesmatch.c | 129 ++++
> resolv/res_query.c | 158 ++---
> resolv/res_send.c | 238 ++-----
> resolv/resolv-deprecated.c | 56 ++
> resolv/resolv-internal.h | 21 +-
> resolv/resolv.h | 101 +--
> sysdeps/mach/hurd/i386/libc.abilist | 48 ++
> sysdeps/mach/hurd/i386/libresolv.abilist | 24 -
> sysdeps/mach/hurd/setsockopt.c | 2 +-
> sysdeps/unix/sysv/linux/aarch64/libc.abilist | 48 ++
> .../unix/sysv/linux/aarch64/libresolv.abilist | 24 -
> sysdeps/unix/sysv/linux/alpha/libc.abilist | 53 ++
> .../unix/sysv/linux/alpha/libresolv.abilist | 29 -
> sysdeps/unix/sysv/linux/arc/libc.abilist | 48 ++
> sysdeps/unix/sysv/linux/arc/libresolv.abilist | 24 -
> sysdeps/unix/sysv/linux/arm/be/libc.abilist | 48 ++
> .../unix/sysv/linux/arm/be/libresolv.abilist | 24 -
> sysdeps/unix/sysv/linux/arm/le/libc.abilist | 48 ++
> .../unix/sysv/linux/arm/le/libresolv.abilist | 24 -
> sysdeps/unix/sysv/linux/csky/libc.abilist | 48 ++
> .../unix/sysv/linux/csky/libresolv.abilist | 24 -
> sysdeps/unix/sysv/linux/hppa/libc.abilist | 53 ++
> .../unix/sysv/linux/hppa/libresolv.abilist | 29 -
> sysdeps/unix/sysv/linux/i386/libc.abilist | 53 ++
> .../unix/sysv/linux/i386/libresolv.abilist | 29 -
> sysdeps/unix/sysv/linux/ia64/libc.abilist | 53 ++
> .../unix/sysv/linux/ia64/libresolv.abilist | 29 -
> .../sysv/linux/m68k/coldfire/libc.abilist | 48 ++
> .../linux/m68k/coldfire/libresolv.abilist | 24 -
> .../unix/sysv/linux/m68k/m680x0/libc.abilist | 53 ++
> .../sysv/linux/m68k/m680x0/libresolv.abilist | 29 -
> .../sysv/linux/microblaze/be/libc.abilist | 48 ++
> .../linux/microblaze/be/libresolv.abilist | 24 -
> .../sysv/linux/microblaze/le/libc.abilist | 48 ++
> .../linux/microblaze/le/libresolv.abilist | 24 -
> .../sysv/linux/mips/mips32/fpu/libc.abilist | 53 ++
> .../sysv/linux/mips/mips32/libresolv.abilist | 29 -
> .../sysv/linux/mips/mips32/nofpu/libc.abilist | 53 ++
> .../sysv/linux/mips/mips64/n32/libc.abilist | 53 ++
> .../linux/mips/mips64/n32/libresolv.abilist | 29 -
> .../sysv/linux/mips/mips64/n64/libc.abilist | 53 ++
> .../linux/mips/mips64/n64/libresolv.abilist | 29 -
> sysdeps/unix/sysv/linux/nios2/libc.abilist | 48 ++
> .../unix/sysv/linux/nios2/libresolv.abilist | 24 -
> .../linux/powerpc/powerpc32/fpu/libc.abilist | 53 ++
> .../linux/powerpc/powerpc32/libresolv.abilist | 29 -
> .../powerpc/powerpc32/nofpu/libc.abilist | 53 ++
> .../linux/powerpc/powerpc64/be/libc.abilist | 48 ++
> .../powerpc/powerpc64/be/libresolv.abilist | 24 -
> .../linux/powerpc/powerpc64/le/libc.abilist | 48 ++
> .../powerpc/powerpc64/le/libresolv.abilist | 24 -
> .../unix/sysv/linux/riscv/rv32/libc.abilist | 48 ++
> .../sysv/linux/riscv/rv32/libresolv.abilist | 24 -
> .../unix/sysv/linux/riscv/rv64/libc.abilist | 48 ++
> .../sysv/linux/riscv/rv64/libresolv.abilist | 24 -
> .../unix/sysv/linux/s390/s390-32/libc.abilist | 53 ++
> .../sysv/linux/s390/s390-32/libresolv.abilist | 29 -
> .../unix/sysv/linux/s390/s390-64/libc.abilist | 48 ++
> .../sysv/linux/s390/s390-64/libresolv.abilist | 24 -
> sysdeps/unix/sysv/linux/setsockopt.c | 5 +-
> sysdeps/unix/sysv/linux/sh/be/libc.abilist | 53 ++
> .../unix/sysv/linux/sh/be/libresolv.abilist | 29 -
> sysdeps/unix/sysv/linux/sh/le/libc.abilist | 53 ++
> .../unix/sysv/linux/sh/le/libresolv.abilist | 29 -
> .../sysv/linux/sparc/sparc32/libc.abilist | 53 ++
> .../linux/sparc/sparc32/libresolv.abilist | 29 -
> .../sysv/linux/sparc/sparc64/libc.abilist | 53 ++
> .../linux/sparc/sparc64/libresolv.abilist | 29 -
> .../unix/sysv/linux/x86_64/64/libc.abilist | 48 ++
> .../sysv/linux/x86_64/64/libresolv.abilist | 24 -
> .../unix/sysv/linux/x86_64/x32/libc.abilist | 48 ++
> .../sysv/linux/x86_64/x32/libresolv.abilist | 24 -
> 114 files changed, 4365 insertions(+), 2160 deletions(-)
> create mode 100644 include/nss_dns.h
> create mode 100644 resolv/dn_comp.c
> create mode 100644 resolv/dn_expand.c
> create mode 100644 resolv/dn_skipname.c
> create mode 100644 resolv/ns_makecanon.c
> create mode 100644 resolv/ns_name_compress.c
> create mode 100644 resolv/ns_name_ntop.c
> create mode 100644 resolv/ns_name_pack.c
> create mode 100644 resolv/ns_name_pton.c
> create mode 100644 resolv/ns_name_skip.c
> create mode 100644 resolv/ns_name_uncompress.c
> create mode 100644 resolv/ns_name_unpack.c
> create mode 100644 resolv/ns_samename.c
> create mode 100644 resolv/nss_dns_functions.c
> rename resolv/{res_comp.c => res-name-checking.c} (73%)
> create mode 100644 resolv/res-putget.c
> create mode 100644 resolv/res_context_hostalias.c
> create mode 100644 resolv/res_get_nsaddr.c
> create mode 100644 resolv/res_hostalias.c
> create mode 100644 resolv/res_isourserver.c
> create mode 100644 resolv/res_nameinquery.c
> create mode 100644 resolv/res_queriesmatch.c
> create mode 100644 resolv/resolv-deprecated.c
>
--
Cheers,
Carlos.
More information about the Libc-alpha
mailing list