Message ID | cover.1625755445.git.fweimer@redhat.com |
---|---|
Headers | show |
Series | nss_dns move into libc | expand |
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 >