[PATCH v2 00/30] nss_dns move into libc

Florian Weimer fweimer@redhat.com
Thu Jul 8 14:59:13 GMT 2021


This is a rebase of the previous series.  The final patch (direct
loading) has been integrated with the nss_files changes.

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

-- 
2.31.1



More information about the Libc-alpha mailing list