diff options
Diffstat (limited to 'sys-libs/glibc/files/2.20/glibc-2.20-configurable-paths.patch')
-rw-r--r-- | sys-libs/glibc/files/2.20/glibc-2.20-configurable-paths.patch | 3012 |
1 files changed, 0 insertions, 3012 deletions
diff --git a/sys-libs/glibc/files/2.20/glibc-2.20-configurable-paths.patch b/sys-libs/glibc/files/2.20/glibc-2.20-configurable-paths.patch deleted file mode 100644 index 1480595..0000000 --- a/sys-libs/glibc/files/2.20/glibc-2.20-configurable-paths.patch +++ /dev/null @@ -1,3012 +0,0 @@ -Index: glibc-2.20/nis/Makefile -=================================================================== ---- glibc-2.20.orig/nis/Makefile -+++ glibc-2.20/nis/Makefile -@@ -58,6 +58,11 @@ libnsl-routines = yp_xdr ypclnt ypupdate - nis_clone_res nss-default - - libnss_compat-routines := $(addprefix compat-,grp pwd spwd initgroups) -+SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"' -+CPPFLAGS-compat-grp.c = $(SYSCONF-FLAGS) -+CPPFLAGS-compat-pwd.c = $(SYSCONF-FLAGS) -+CPPFLAGS-compat-spwd.c = $(SYSCONF-FLAGS) -+CPPFLAGS-compat-initgroups.c = $(SYSCONF-FLAGS) - libnss_compat-inhibit-o = $(filter-out .os,$(object-suffixes)) - - libnss_nis-routines := $(addprefix nis-,$(databases)) nis-initgroups \ -Index: glibc-2.20/nis/nss_compat/compat-grp.c -=================================================================== ---- glibc-2.20.orig/nis/nss_compat/compat-grp.c -+++ glibc-2.20/nis/nss_compat/compat-grp.c -@@ -120,7 +120,7 @@ internal_setgrent (ent_t *ent, int stayo - - if (ent->stream == NULL) - { -- ent->stream = fopen ("/etc/group", "rme"); -+ ent->stream = fopen (SYSCONFDIR "/group", "rme"); - - if (ent->stream == NULL) - status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL; -Index: glibc-2.20/nis/nss_compat/compat-initgroups.c -=================================================================== ---- glibc-2.20.orig/nis/nss_compat/compat-initgroups.c -+++ glibc-2.20/nis/nss_compat/compat-initgroups.c -@@ -136,7 +136,7 @@ internal_setgrent (ent_t *ent) - else - ent->blacklist.current = 0; - -- ent->stream = fopen ("/etc/group", "rme"); -+ ent->stream = fopen (SYSCONFDIR "/group", "rme"); - - if (ent->stream == NULL) - status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL; -Index: glibc-2.20/nis/nss_compat/compat-pwd.c -=================================================================== ---- glibc-2.20.orig/nis/nss_compat/compat-pwd.c -+++ glibc-2.20/nis/nss_compat/compat-pwd.c -@@ -235,7 +235,7 @@ internal_setpwent (ent_t *ent, int stayo - - if (ent->stream == NULL) - { -- ent->stream = fopen ("/etc/passwd", "rme"); -+ ent->stream = fopen (SYSCONFDIR "/passwd", "rme"); - - if (ent->stream == NULL) - status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL; -Index: glibc-2.20/nis/nss_compat/compat-spwd.c -=================================================================== ---- glibc-2.20.orig/nis/nss_compat/compat-spwd.c -+++ glibc-2.20/nis/nss_compat/compat-spwd.c -@@ -191,7 +191,7 @@ internal_setspent (ent_t *ent, int stayo - - if (ent->stream == NULL) - { -- ent->stream = fopen ("/etc/shadow", "rme"); -+ ent->stream = fopen (SYSCONFDIR "/shadow", "rme"); - - if (ent->stream == NULL) - status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL; -Index: glibc-2.20/nss/Makefile -=================================================================== ---- glibc-2.20.orig/nss/Makefile -+++ glibc-2.20/nss/Makefile -@@ -41,6 +41,8 @@ extra-objs += $(makedb-modules:=.o) - - tests = test-netdb tst-nss-test1 test-digits-dots - xtests = bug-erange -+SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"' -+CPPFLAGS-bug-erange.c = $(SYSCONF-FLAGS) - - # Specify rules for the nss_* modules. We have some services. - services := files db -@@ -57,6 +59,8 @@ vpath %.c $(subdir-dirs) ../locale/progr - - libnss_files-routines := $(addprefix files-,$(databases)) \ - files-initgroups files-have_o_cloexec files-init -+CPPFLAGS-files-init.c = $(SYSCONF-FLAGS) -+CPPFLAGS-files-initgroups.c = $(SYSCONF-FLAGS) - - libnss_db-dbs := $(addprefix db-,\ - $(filter-out hosts network key alias,\ -@@ -102,7 +106,7 @@ $(libnss_db-dbs:%=$(objpfx)%.c): $(objpf - - $(objpfx)makedb: $(makedb-modules:%=$(objpfx)%.o) - --$(inst_vardbdir)/Makefile: db-Makefile $(+force) -+$(inst_vardbdir)/Makefile: $(objpfx)db-Makefile $(+force) - $(do-install) - - CFLAGS-nss_test1.c = -DNOT_IN_libc=1 -Index: glibc-2.20/nss/bug-erange.c -=================================================================== ---- glibc-2.20.orig/nss/bug-erange.c -+++ glibc-2.20/nss/bug-erange.c -@@ -37,7 +37,7 @@ main (void) - { - printf ("gethostbyname_r failed: %s (errno: %m)\n", strerror (res)); - -- if (access ("/etc/resolv.conf", R_OK)) -+ if (access (SYSCONFDIR "/resolv.conf", R_OK)) - { - puts ("DNS probably not set up"); - return 0; -Index: glibc-2.20/nss/nss_files/files-init.c -=================================================================== ---- glibc-2.20.orig/nss/nss_files/files-init.c -+++ glibc-2.20/nss/nss_files/files-init.c -@@ -35,33 +35,33 @@ static union \ - } \ - } - --TF (pwd, "/etc/passwd"); --TF (grp, "/etc/group"); --TF (hst, "/etc/hosts"); --TF (resolv, "/etc/resolv.conf", .call_res_init = 1); --TF (serv, "/etc/services"); --TF (netgr, "/etc/netgroup"); -+TF (pwd, SYSCONFDIR "/passwd"); -+TF (grp, SYSCONFDIR "/group"); -+TF (hst, SYSCONFDIR "/hosts"); -+TF (resolv, SYSCONFDIR "/resolv.conf", .call_res_init = 1); -+TF (serv, SYSCONFDIR "/services"); -+TF (netgr, SYSCONFDIR "/netgroup"); - - - void - _nss_files_init (void (*cb) (size_t, struct traced_file *)) - { -- strcpy (pwd_traced_file.file.fname, "/etc/passwd"); -+ strcpy (pwd_traced_file.file.fname, SYSCONFDIR "/passwd"); - cb (pwddb, &pwd_traced_file.file); - -- strcpy (grp_traced_file.file.fname, "/etc/group"); -+ strcpy (grp_traced_file.file.fname, SYSCONFDIR "/group"); - cb (grpdb, &grp_traced_file.file); - -- strcpy (hst_traced_file.file.fname, "/etc/hosts"); -+ strcpy (hst_traced_file.file.fname, SYSCONFDIR "/hosts"); - cb (hstdb, &hst_traced_file.file); - -- strcpy (resolv_traced_file.file.fname, "/etc/resolv.conf"); -+ strcpy (resolv_traced_file.file.fname, SYSCONFDIR "/resolv.conf"); - cb (hstdb, &resolv_traced_file.file); - -- strcpy (serv_traced_file.file.fname, "/etc/services"); -+ strcpy (serv_traced_file.file.fname, SYSCONFDIR "/services"); - cb (servdb, &serv_traced_file.file); - -- strcpy (netgr_traced_file.file.fname, "/etc/netgroup"); -+ strcpy (netgr_traced_file.file.fname, SYSCONFDIR "/netgroup"); - cb (netgrdb, &netgr_traced_file.file); - } - -Index: glibc-2.20/nss/nss_files/files-initgroups.c -=================================================================== ---- glibc-2.20.orig/nss/nss_files/files-initgroups.c -+++ glibc-2.20/nss/nss_files/files-initgroups.c -@@ -31,7 +31,7 @@ _nss_files_initgroups_dyn (const char *u - long int *size, gid_t **groupsp, long int limit, - int *errnop) - { -- FILE *stream = fopen ("/etc/group", "rce"); -+ FILE *stream = fopen (SYSCONFDIR "/group", "rce"); - if (stream == NULL) - { - *errnop = errno; -Index: glibc-2.20/nss/db-Makefile -=================================================================== ---- glibc-2.20.orig/nss/db-Makefile -+++ /dev/null -@@ -1,166 +0,0 @@ --# Makefile to (re-)generate db versions of system database files. --# Copyright (C) 1996-2014 Free Software Foundation, Inc. --# This file is part of the GNU C Library. --# Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. --# -- --# The GNU C Library is free software; you can redistribute it and/or --# modify it under the terms of the GNU Lesser General Public --# License as published by the Free Software Foundation; either --# version 2.1 of the License, or (at your option) any later version. -- --# The GNU C Library is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --# Lesser General Public License for more details. -- --# You should have received a copy of the GNU Lesser General Public --# License along with the GNU C Library; if not, see --# <http://www.gnu.org/licenses/>. -- --DATABASES = $(wildcard /etc/passwd /etc/group /etc/ethers /etc/protocols \ -- /etc/rpc /etc/services /etc/shadow /etc/gshadow \ -- /etc/netgroup) -- --VAR_DB = /var/db -- --AWK = awk --MAKEDB = makedb --quiet -- --all: $(patsubst %,$(VAR_DB)/%.db,$(notdir $(DATABASES))) -- -- --$(VAR_DB)/passwd.db: /etc/passwd -- @echo -n "$(patsubst %.db,%,$(@F))... " -- @$(AWK) 'BEGIN { FS=":"; OFS=":" } \ -- /^[ \t]*$$/ { next } \ -- /^[ \t]*#/ { next } \ -- /^[^#]/ { printf ".%s ", $$1; print; \ -- printf "=%s ", $$3; print }' $^ | \ -- $(MAKEDB) -o $@ - -- @echo "done." -- --$(VAR_DB)/group.db: /etc/group -- @echo -n "$(patsubst %.db,%,$(@F))... " -- @$(AWK) 'BEGIN { FS=":"; OFS=":" } \ -- /^[ \t]*$$/ { next } \ -- /^[ \t]*#/ { next } \ -- /^[^#]/ { printf ".%s ", $$1; print; \ -- printf "=%s ", $$3; print; \ -- if ($$4 != "") { \ -- split($$4, grmems, ","); \ -- for (memidx in grmems) { \ -- mem=grmems[memidx]; \ -- if (members[mem] == "") \ -- members[mem]=$$3; \ -- else \ -- members[mem]=members[mem] "," $$3; \ -- } \ -- delete grmems; } } \ -- END { for (mem in members) \ -- printf ":%s %s %s\n", mem, mem, members[mem]; }' $^ | \ -- $(MAKEDB) -o $@ - -- @echo "done." -- --$(VAR_DB)/ethers.db: /etc/ethers -- @echo -n "$(patsubst %.db,%,$(@F))... " -- @$(AWK) '/^[ \t]*$$/ { next } \ -- /^[ \t]*#/ { next } \ -- /^[^#]/ { printf ".%s ", $$1; print; \ -- printf "=%s ", $$2; print }' $^ | \ -- $(MAKEDB) -o $@ - -- @echo "done." -- --$(VAR_DB)/protocols.db: /etc/protocols -- @echo -n "$(patsubst %.db,%,$(@F))... " -- @$(AWK) '/^[ \t]*$$/ { next } \ -- /^[ \t]*#/ { next } \ -- /^[^#]/ { printf ".%s ", $$1; print; \ -- printf "=%s ", $$2; print; \ -- for (i = 3; i <= NF && !($$i ~ /^#/); ++i) \ -- { printf ".%s ", $$i; print } }' $^ | \ -- $(MAKEDB) -o $@ - -- @echo "done." -- --$(VAR_DB)/rpc.db: /etc/rpc -- @echo -n "$(patsubst %.db,%,$(@F))... " -- @$(AWK) '/^[ \t]*$$/ { next } \ -- /^[ \t]*#/ { next } \ -- /^[^#]/ { printf ".%s ", $$1; print; \ -- printf "=%s ", $$2; print; \ -- for (i = 3; i <= NF && !($$i ~ /^#/); ++i) \ -- { printf ".%s ", $$i; print } }' $^ | \ -- $(MAKEDB) -o $@ - -- @echo "done." -- --$(VAR_DB)/services.db: /etc/services -- @echo -n "$(patsubst %.db,%,$(@F))... " -- @$(AWK) 'BEGIN { FS="[ \t/]+" } \ -- /^[ \t]*$$/ { next } \ -- /^[ \t]*#/ { next } \ -- /^[^#]/ { sub(/[ \t]*#.*$$/, "");\ -- printf ":%s/%s ", $$1, $$3; print; \ -- printf ":%s/ ", $$1; print; \ -- printf "=%s/%s ", $$2, $$3; print; \ -- printf "=%s/ ", $$2; print; \ -- for (i = 4; i <= NF && !($$i ~ /^#/); ++i) \ -- { printf ":%s/%s ", $$i, $$3; print; \ -- printf ":%s/ ", $$i; print } }' $^ | \ -- $(MAKEDB) -o $@ - -- @echo "done." -- --$(VAR_DB)/shadow.db: /etc/shadow -- @echo -n "$(patsubst %.db,%,$(@F))... " -- @$(AWK) 'BEGIN { FS=":"; OFS=":" } \ -- /^[ \t]*$$/ { next } \ -- /^[ \t]*#/ { next } \ -- /^[^#]/ { printf ".%s ", $$1; print }' $^ | \ -- (umask 077 && $(MAKEDB) -o $@ -) -- @echo "done." -- @if chgrp shadow $@ 2>/dev/null; then \ -- chmod g+r $@; \ -- else \ -- chown 0 $@; chgrp 0 $@; chmod 600 $@; \ -- echo; \ -- echo "Warning: The shadow password database $@"; \ -- echo "has been set to be readable only by root. You may want"; \ -- echo "to make it readable by the \`shadow' group depending"; \ -- echo "on your configuration."; \ -- echo; \ -- fi -- --$(VAR_DB)/gshadow.db: /etc/gshadow -- @echo -n "$(patsubst %.db,%,$(@F))... " -- @$(AWK) 'BEGIN { FS=":"; OFS=":" } \ -- /^[ \t]*$$/ { next } \ -- /^[ \t]*#/ { next } \ -- /^[^#]/ { printf ".%s ", $$1; print }' $^ | \ -- (umask 077 && $(MAKEDB) -o $@ -) -- @echo "done." -- @if chgrp shadow $@ 2>/dev/null; then \ -- chmod g+r $@; \ -- else \ -- chown 0 $@; chgrp 0 $@; chmod 600 $@; \ -- echo; \ -- echo "Warning: The shadow group database $@"; \ -- echo "has been set to be readable only by root. You may want"; \ -- echo "to make it readable by the \`shadow' group depending"; \ -- echo "on your configuration."; \ -- echo; \ -- fi -- --$(VAR_DB)/netgroup.db: /etc/netgroup -- @echo -n "$(patsubst %.db,%,$(@F))... " -- @$(AWK) 'BEGIN { ini=1 } \ -- /^[ \t]*$$/ { next } \ -- /^[ \t]*#/ { next } \ -- /^[^#]/ { if (sub(/[ \t]*\\$$/, " ") == 0) end="\n"; \ -- else end=""; \ -- gsub(/[ \t]+/, " "); \ -- sub(/^[ \t]*/, ""); \ -- if (ini == 0) printf "%s%s", $$0, end; \ -- else printf ".%s %s%s", $$1, $$0, end; \ -- ini=end == "" ? 0 : 1; } \ -- END { if (ini==0) printf "\n" }' $^ | \ -- $(MAKEDB) -o $@ - -- @echo "done." -Index: glibc-2.20/nss/db-Makefile.in -=================================================================== ---- /dev/null -+++ glibc-2.20/nss/db-Makefile.in -@@ -0,0 +1,173 @@ -+ -+# Makefile to (re-)generate db versions of system database files. -+# Copyright (C) 1996-2014 Free Software Foundation, Inc. -+# This file is part of the GNU C Library. -+# Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. -+# -+ -+# The GNU C Library is free software; you can redistribute it and/or -+# modify it under the terms of the GNU Lesser General Public -+# License as published by the Free Software Foundation; either -+# version 2.1 of the License, or (at your option) any later version. -+ -+# The GNU C Library is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+# Lesser General Public License for more details. -+ -+# You should have received a copy of the GNU Lesser General Public -+# License along with the GNU C Library; if not, see -+# <http://www.gnu.org/licenses/>. -+ -+DATABASES = $(wildcard @libc_cv_sysconfdir@/passwd \ -+ @libc_cv_sysconfdir@/group \ -+ @libc_cv_sysconfdir@/ethers \ -+ @libc_cv_sysconfdir@/protocols \ -+ @libc_cv_sysconfdir@/rpc \ -+ @libc_cv_sysconfdir@/services \ -+ @libc_cv_sysconfdir@/shadow \ -+ @libc_cv_sysconfdir@/gshadow \ -+ @libc_cv_sysconfdir@/netgroup) -+ -+VAR_DB = /var/db -+ -+AWK = awk -+MAKEDB = makedb --quiet -+ -+all: $(patsubst %,$(VAR_DB)/%.db,$(notdir $(DATABASES))) -+ -+ -+$(VAR_DB)/passwd.db: @libc_cv_sysconfdir@/passwd -+ @echo -n "$(patsubst %.db,%,$(@F))... " -+ @$(AWK) 'BEGIN { FS=":"; OFS=":" } \ -+ /^[ \t]*$$/ { next } \ -+ /^[ \t]*#/ { next } \ -+ /^[^#]/ { printf ".%s ", $$1; print; \ -+ printf "=%s ", $$3; print }' $^ | \ -+ $(MAKEDB) -o $@ - -+ @echo "done." -+ -+$(VAR_DB)/group.db: @libc_cv_sysconfdir@/group -+ @echo -n "$(patsubst %.db,%,$(@F))... " -+ @$(AWK) 'BEGIN { FS=":"; OFS=":" } \ -+ /^[ \t]*$$/ { next } \ -+ /^[ \t]*#/ { next } \ -+ /^[^#]/ { printf ".%s ", $$1; print; \ -+ printf "=%s ", $$3; print; \ -+ if ($$4 != "") { \ -+ split($$4, grmems, ","); \ -+ for (memidx in grmems) { \ -+ mem=grmems[memidx]; \ -+ if (members[mem] == "") \ -+ members[mem]=$$3; \ -+ else \ -+ members[mem]=members[mem] "," $$3; \ -+ } \ -+ delete grmems; } } \ -+ END { for (mem in members) \ -+ printf ":%s %s %s\n", mem, mem, members[mem]; }' $^ | \ -+ $(MAKEDB) -o $@ - -+ @echo "done." -+ -+$(VAR_DB)/ethers.db: @libc_cv_sysconfdir@/ethers -+ @echo -n "$(patsubst %.db,%,$(@F))... " -+ @$(AWK) '/^[ \t]*$$/ { next } \ -+ /^[ \t]*#/ { next } \ -+ /^[^#]/ { printf ".%s ", $$1; print; \ -+ printf "=%s ", $$2; print }' $^ | \ -+ $(MAKEDB) -o $@ - -+ @echo "done." -+ -+$(VAR_DB)/protocols.db: @libc_cv_sysconfdir@/protocols -+ @echo -n "$(patsubst %.db,%,$(@F))... " -+ @$(AWK) '/^[ \t]*$$/ { next } \ -+ /^[ \t]*#/ { next } \ -+ /^[^#]/ { printf ".%s ", $$1; print; \ -+ printf "=%s ", $$2; print; \ -+ for (i = 3; i <= NF && !($$i ~ /^#/); ++i) \ -+ { printf ".%s ", $$i; print } }' $^ | \ -+ $(MAKEDB) -o $@ - -+ @echo "done." -+ -+$(VAR_DB)/rpc.db: @libc_cv_sysconfdir@/rpc -+ @echo -n "$(patsubst %.db,%,$(@F))... " -+ @$(AWK) '/^[ \t]*$$/ { next } \ -+ /^[ \t]*#/ { next } \ -+ /^[^#]/ { printf ".%s ", $$1; print; \ -+ printf "=%s ", $$2; print; \ -+ for (i = 3; i <= NF && !($$i ~ /^#/); ++i) \ -+ { printf ".%s ", $$i; print } }' $^ | \ -+ $(MAKEDB) -o $@ - -+ @echo "done." -+ -+$(VAR_DB)/services.db: @libc_cv_sysconfdir@/services -+ @echo -n "$(patsubst %.db,%,$(@F))... " -+ @$(AWK) 'BEGIN { FS="[ \t/]+" } \ -+ /^[ \t]*$$/ { next } \ -+ /^[ \t]*#/ { next } \ -+ /^[^#]/ { sub(/[ \t]*#.*$$/, "");\ -+ printf ":%s/%s ", $$1, $$3; print; \ -+ printf ":%s/ ", $$1; print; \ -+ printf "=%s/%s ", $$2, $$3; print; \ -+ printf "=%s/ ", $$2; print; \ -+ for (i = 4; i <= NF && !($$i ~ /^#/); ++i) \ -+ { printf ":%s/%s ", $$i, $$3; print; \ -+ printf ":%s/ ", $$i; print } }' $^ | \ -+ $(MAKEDB) -o $@ - -+ @echo "done." -+ -+$(VAR_DB)/shadow.db: @libc_cv_sysconfdir@/shadow -+ @echo -n "$(patsubst %.db,%,$(@F))... " -+ @$(AWK) 'BEGIN { FS=":"; OFS=":" } \ -+ /^[ \t]*$$/ { next } \ -+ /^[ \t]*#/ { next } \ -+ /^[^#]/ { printf ".%s ", $$1; print }' $^ | \ -+ (umask 077 && $(MAKEDB) -o $@ -) -+ @echo "done." -+ @if chgrp shadow $@ 2>/dev/null; then \ -+ chmod g+r $@; \ -+ else \ -+ chown 0 $@; chgrp 0 $@; chmod 600 $@; \ -+ echo; \ -+ echo "Warning: The shadow password database $@"; \ -+ echo "has been set to be readable only by root. You may want"; \ -+ echo "to make it readable by the \`shadow' group depending"; \ -+ echo "on your configuration."; \ -+ echo; \ -+ fi -+ -+$(VAR_DB)/gshadow.db: @libc_cv_sysconfdir@/gshadow -+ @echo -n "$(patsubst %.db,%,$(@F))... " -+ @$(AWK) 'BEGIN { FS=":"; OFS=":" } \ -+ /^[ \t]*$$/ { next } \ -+ /^[ \t]*#/ { next } \ -+ /^[^#]/ { printf ".%s ", $$1; print }' $^ | \ -+ (umask 077 && $(MAKEDB) -o $@ -) -+ @echo "done." -+ @if chgrp shadow $@ 2>/dev/null; then \ -+ chmod g+r $@; \ -+ else \ -+ chown 0 $@; chgrp 0 $@; chmod 600 $@; \ -+ echo; \ -+ echo "Warning: The shadow group database $@"; \ -+ echo "has been set to be readable only by root. You may want"; \ -+ echo "to make it readable by the \`shadow' group depending"; \ -+ echo "on your configuration."; \ -+ echo; \ -+ fi -+ -+$(VAR_DB)/netgroup.db: @libc_cv_sysconfdir@/netgroup -+ @echo -n "$(patsubst %.db,%,$(@F))... " -+ @$(AWK) 'BEGIN { ini=1 } \ -+ /^[ \t]*$$/ { next } \ -+ /^[ \t]*#/ { next } \ -+ /^[^#]/ { if (sub(/[ \t]*\\$$/, " ") == 0) end="\n"; \ -+ else end=""; \ -+ gsub(/[ \t]+/, " "); \ -+ sub(/^[ \t]*/, ""); \ -+ if (ini == 0) printf "%s%s", $$0, end; \ -+ else printf ".%s %s%s", $$1, $$0, end; \ -+ ini=end == "" ? 0 : 1; } \ -+ END { if (ini==0) printf "\n" }' $^ | \ -+ $(MAKEDB) -o $@ - -+ @echo "done." -Index: glibc-2.20/resolv/netdb.h -=================================================================== ---- glibc-2.20.orig/resolv/netdb.h -+++ /dev/null -@@ -1,715 +0,0 @@ -- /* Copyright (C) 1996-2014 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- <http://www.gnu.org/licenses/>. */ -- --/* All data returned by the network data base library are supplied in -- host order and returned in network order (suitable for use in -- system calls). */ -- --#ifndef _NETDB_H --#define _NETDB_H 1 -- --#include <features.h> -- --#include <netinet/in.h> --#include <stdint.h> --#ifdef __USE_MISC --/* This is necessary to make this include file properly replace the -- Sun version. */ --# include <rpc/netdb.h> --#endif -- --#ifdef __USE_GNU --# define __need_sigevent_t --# include <bits/siginfo.h> --# define __need_timespec --# include <time.h> --#endif -- --#include <bits/netdb.h> -- --/* Absolute file name for network data base files. */ --#define _PATH_HEQUIV "/etc/hosts.equiv" --#define _PATH_HOSTS "/etc/hosts" --#define _PATH_NETWORKS "/etc/networks" --#define _PATH_NSSWITCH_CONF "/etc/nsswitch.conf" --#define _PATH_PROTOCOLS "/etc/protocols" --#define _PATH_SERVICES "/etc/services" -- -- --__BEGIN_DECLS -- --#if defined __USE_MISC || !defined __USE_XOPEN2K8 --/* Error status for non-reentrant lookup functions. -- We use a macro to access always the thread-specific `h_errno' variable. */ --# define h_errno (*__h_errno_location ()) -- --/* Function to get address of global `h_errno' variable. */ --extern int *__h_errno_location (void) __THROW __attribute__ ((__const__)); -- -- --/* Possible values left in `h_errno'. */ --# define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found. */ --# define TRY_AGAIN 2 /* Non-Authoritative Host not found, -- or SERVERFAIL. */ --# define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, -- NOTIMP. */ --# define NO_DATA 4 /* Valid name, no data record of requested -- type. */ --#endif --#ifdef __USE_MISC --# define NETDB_INTERNAL -1 /* See errno. */ --# define NETDB_SUCCESS 0 /* No problem. */ --# define NO_ADDRESS NO_DATA /* No address, look for MX record. */ --#endif -- --#if defined __USE_XOPEN2K || defined __USE_XOPEN_EXTENDED --/* Highest reserved Internet port number. */ --# define IPPORT_RESERVED 1024 --#endif -- --#ifdef __USE_GNU --/* Scope delimiter for getaddrinfo(), getnameinfo(). */ --# define SCOPE_DELIMITER '%' --#endif -- --#ifdef __USE_MISC --/* Print error indicated by `h_errno' variable on standard error. STR -- if non-null is printed before the error string. */ --extern void herror (const char *__str) __THROW; -- --/* Return string associated with error ERR_NUM. */ --extern const char *hstrerror (int __err_num) __THROW; --#endif -- -- --/* Description of data base entry for a single host. */ --struct hostent --{ -- char *h_name; /* Official name of host. */ -- char **h_aliases; /* Alias list. */ -- int h_addrtype; /* Host address type. */ -- int h_length; /* Length of address. */ -- char **h_addr_list; /* List of addresses from name server. */ --#ifdef __USE_MISC --# define h_addr h_addr_list[0] /* Address, for backward compatibility.*/ --#endif --}; -- --/* Open host data base files and mark them as staying open even after -- a later search if STAY_OPEN is non-zero. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern void sethostent (int __stay_open); -- --/* Close host data base files and clear `stay open' flag. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern void endhostent (void); -- --/* Get next entry from host data base file. Open data base if -- necessary. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct hostent *gethostent (void); -- --/* Return entry from host data base which address match ADDR with -- length LEN and type TYPE. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct hostent *gethostbyaddr (const void *__addr, __socklen_t __len, -- int __type); -- --/* Return entry from host data base for host with NAME. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct hostent *gethostbyname (const char *__name); -- --#ifdef __USE_MISC --/* Return entry from host data base for host with NAME. AF must be -- set to the address type which is `AF_INET' for IPv4 or `AF_INET6' -- for IPv6. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern struct hostent *gethostbyname2 (const char *__name, int __af); -- --/* Reentrant versions of the functions above. The additional -- arguments specify a buffer of BUFLEN starting at BUF. The last -- argument is a pointer to a variable which gets the value which -- would be stored in the global variable `herrno' by the -- non-reentrant functions. -- -- These functions are not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation they are cancellation points and -- therefore not marked with __THROW. */ --extern int gethostent_r (struct hostent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct hostent **__restrict __result, -- int *__restrict __h_errnop); -- --extern int gethostbyaddr_r (const void *__restrict __addr, __socklen_t __len, -- int __type, -- struct hostent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct hostent **__restrict __result, -- int *__restrict __h_errnop); -- --extern int gethostbyname_r (const char *__restrict __name, -- struct hostent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct hostent **__restrict __result, -- int *__restrict __h_errnop); -- --extern int gethostbyname2_r (const char *__restrict __name, int __af, -- struct hostent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct hostent **__restrict __result, -- int *__restrict __h_errnop); --#endif /* misc */ -- -- --/* Open network data base files and mark them as staying open even -- after a later search if STAY_OPEN is non-zero. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern void setnetent (int __stay_open); -- --/* Close network data base files and clear `stay open' flag. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern void endnetent (void); -- --/* Get next entry from network data base file. Open data base if -- necessary. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct netent *getnetent (void); -- --/* Return entry from network data base which address match NET and -- type TYPE. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct netent *getnetbyaddr (uint32_t __net, int __type); -- --/* Return entry from network data base for network with NAME. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct netent *getnetbyname (const char *__name); -- --#ifdef __USE_MISC --/* Reentrant versions of the functions above. The additional -- arguments specify a buffer of BUFLEN starting at BUF. The last -- argument is a pointer to a variable which gets the value which -- would be stored in the global variable `herrno' by the -- non-reentrant functions. -- -- These functions are not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation they are cancellation points and -- therefore not marked with __THROW. */ --extern int getnetent_r (struct netent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct netent **__restrict __result, -- int *__restrict __h_errnop); -- --extern int getnetbyaddr_r (uint32_t __net, int __type, -- struct netent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct netent **__restrict __result, -- int *__restrict __h_errnop); -- --extern int getnetbyname_r (const char *__restrict __name, -- struct netent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct netent **__restrict __result, -- int *__restrict __h_errnop); --#endif /* misc */ -- -- --/* Description of data base entry for a single service. */ --struct servent --{ -- char *s_name; /* Official service name. */ -- char **s_aliases; /* Alias list. */ -- int s_port; /* Port number. */ -- char *s_proto; /* Protocol to use. */ --}; -- --/* Open service data base files and mark them as staying open even -- after a later search if STAY_OPEN is non-zero. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern void setservent (int __stay_open); -- --/* Close service data base files and clear `stay open' flag. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern void endservent (void); -- --/* Get next entry from service data base file. Open data base if -- necessary. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct servent *getservent (void); -- --/* Return entry from network data base for network with NAME and -- protocol PROTO. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct servent *getservbyname (const char *__name, const char *__proto); -- --/* Return entry from service data base which matches port PORT and -- protocol PROTO. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct servent *getservbyport (int __port, const char *__proto); -- -- --#ifdef __USE_MISC --/* Reentrant versions of the functions above. The additional -- arguments specify a buffer of BUFLEN starting at BUF. -- -- These functions are not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation they are cancellation points and -- therefore not marked with __THROW. */ --extern int getservent_r (struct servent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct servent **__restrict __result); -- --extern int getservbyname_r (const char *__restrict __name, -- const char *__restrict __proto, -- struct servent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct servent **__restrict __result); -- --extern int getservbyport_r (int __port, const char *__restrict __proto, -- struct servent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct servent **__restrict __result); --#endif /* misc */ -- -- --/* Description of data base entry for a single service. */ --struct protoent --{ -- char *p_name; /* Official protocol name. */ -- char **p_aliases; /* Alias list. */ -- int p_proto; /* Protocol number. */ --}; -- --/* Open protocol data base files and mark them as staying open even -- after a later search if STAY_OPEN is non-zero. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern void setprotoent (int __stay_open); -- --/* Close protocol data base files and clear `stay open' flag. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern void endprotoent (void); -- --/* Get next entry from protocol data base file. Open data base if -- necessary. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct protoent *getprotoent (void); -- --/* Return entry from protocol data base for network with NAME. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct protoent *getprotobyname (const char *__name); -- --/* Return entry from protocol data base which number is PROTO. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern struct protoent *getprotobynumber (int __proto); -- -- --#ifdef __USE_MISC --/* Reentrant versions of the functions above. The additional -- arguments specify a buffer of BUFLEN starting at BUF. -- -- These functions are not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation they are cancellation points and -- therefore not marked with __THROW. */ --extern int getprotoent_r (struct protoent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct protoent **__restrict __result); -- --extern int getprotobyname_r (const char *__restrict __name, -- struct protoent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct protoent **__restrict __result); -- --extern int getprotobynumber_r (int __proto, -- struct protoent *__restrict __result_buf, -- char *__restrict __buf, size_t __buflen, -- struct protoent **__restrict __result); -- -- --/* Establish network group NETGROUP for enumeration. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int setnetgrent (const char *__netgroup); -- --/* Free all space allocated by previous `setnetgrent' call. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern void endnetgrent (void); -- --/* Get next member of netgroup established by last `setnetgrent' call -- and return pointers to elements in HOSTP, USERP, and DOMAINP. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int getnetgrent (char **__restrict __hostp, -- char **__restrict __userp, -- char **__restrict __domainp); -- -- --/* Test whether NETGROUP contains the triple (HOST,USER,DOMAIN). -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int innetgr (const char *__netgroup, const char *__host, -- const char *__user, const char *__domain); -- --/* Reentrant version of `getnetgrent' where result is placed in BUFFER. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int getnetgrent_r (char **__restrict __hostp, -- char **__restrict __userp, -- char **__restrict __domainp, -- char *__restrict __buffer, size_t __buflen); --#endif /* misc */ -- -- --#ifdef __USE_MISC --/* Call `rshd' at port RPORT on remote machine *AHOST to execute CMD. -- The local user is LOCUSER, on the remote machine the command is -- executed as REMUSER. In *FD2P the descriptor to the socket for the -- connection is returned. The caller must have the right to use a -- reserved port. When the function returns *AHOST contains the -- official host name. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int rcmd (char **__restrict __ahost, unsigned short int __rport, -- const char *__restrict __locuser, -- const char *__restrict __remuser, -- const char *__restrict __cmd, int *__restrict __fd2p); -- --/* This is the equivalent function where the protocol can be selected -- and which therefore can be used for IPv6. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport, -- const char *__restrict __locuser, -- const char *__restrict __remuser, -- const char *__restrict __cmd, int *__restrict __fd2p, -- sa_family_t __af); -- --/* Call `rexecd' at port RPORT on remote machine *AHOST to execute -- CMD. The process runs at the remote machine using the ID of user -- NAME whose cleartext password is PASSWD. In *FD2P the descriptor -- to the socket for the connection is returned. When the function -- returns *AHOST contains the official host name. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int rexec (char **__restrict __ahost, int __rport, -- const char *__restrict __name, -- const char *__restrict __pass, -- const char *__restrict __cmd, int *__restrict __fd2p); -- --/* This is the equivalent function where the protocol can be selected -- and which therefore can be used for IPv6. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int rexec_af (char **__restrict __ahost, int __rport, -- const char *__restrict __name, -- const char *__restrict __pass, -- const char *__restrict __cmd, int *__restrict __fd2p, -- sa_family_t __af); -- --/* Check whether user REMUSER on system RHOST is allowed to login as LOCUSER. -- If SUSER is not zero the user tries to become superuser. Return 0 if -- it is possible. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int ruserok (const char *__rhost, int __suser, -- const char *__remuser, const char *__locuser); -- --/* This is the equivalent function where the protocol can be selected -- and which therefore can be used for IPv6. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int ruserok_af (const char *__rhost, int __suser, -- const char *__remuser, const char *__locuser, -- sa_family_t __af); -- --/* Check whether user REMUSER on system indicated by IPv4 address -- RADDR is allowed to login as LOCUSER. Non-IPv4 (e.g., IPv6) are -- not supported. If SUSER is not zero the user tries to become -- superuser. Return 0 if it is possible. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int iruserok (uint32_t __raddr, int __suser, -- const char *__remuser, const char *__locuser); -- --/* This is the equivalent function where the pfamiliy if the address -- pointed to by RADDR is determined by the value of AF. It therefore -- can be used for IPv6 -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int iruserok_af (const void *__raddr, int __suser, -- const char *__remuser, const char *__locuser, -- sa_family_t __af); -- --/* Try to allocate reserved port, returning a descriptor for a socket opened -- at this port or -1 if unsuccessful. The search for an available port -- will start at ALPORT and continues with lower numbers. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int rresvport (int *__alport); -- --/* This is the equivalent function where the protocol can be selected -- and which therefore can be used for IPv6. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int rresvport_af (int *__alport, sa_family_t __af); --#endif -- -- --/* Extension from POSIX.1g. */ --#ifdef __USE_POSIX --/* Structure to contain information about address of a service provider. */ --struct addrinfo --{ -- int ai_flags; /* Input flags. */ -- int ai_family; /* Protocol family for socket. */ -- int ai_socktype; /* Socket type. */ -- int ai_protocol; /* Protocol for socket. */ -- socklen_t ai_addrlen; /* Length of socket address. */ -- struct sockaddr *ai_addr; /* Socket address for socket. */ -- char *ai_canonname; /* Canonical name for service location. */ -- struct addrinfo *ai_next; /* Pointer to next in list. */ --}; -- --# ifdef __USE_GNU --/* Structure used as control block for asynchronous lookup. */ --struct gaicb --{ -- const char *ar_name; /* Name to look up. */ -- const char *ar_service; /* Service name. */ -- const struct addrinfo *ar_request; /* Additional request specification. */ -- struct addrinfo *ar_result; /* Pointer to result. */ -- /* The following are internal elements. */ -- int __return; -- int __glibc_reserved[5]; --}; -- --/* Lookup mode. */ --# define GAI_WAIT 0 --# define GAI_NOWAIT 1 --# endif -- --/* Possible values for `ai_flags' field in `addrinfo' structure. */ --# define AI_PASSIVE 0x0001 /* Socket address is intended for `bind'. */ --# define AI_CANONNAME 0x0002 /* Request for canonical name. */ --# define AI_NUMERICHOST 0x0004 /* Don't use name resolution. */ --# define AI_V4MAPPED 0x0008 /* IPv4 mapped addresses are acceptable. */ --# define AI_ALL 0x0010 /* Return IPv4 mapped and IPv6 addresses. */ --# define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose -- returned address type.. */ --# ifdef __USE_GNU --# define AI_IDN 0x0040 /* IDN encode input (assuming it is encoded -- in the current locale's character set) -- before looking it up. */ --# define AI_CANONIDN 0x0080 /* Translate canonical name from IDN format. */ --# define AI_IDN_ALLOW_UNASSIGNED 0x0100 /* Don't reject unassigned Unicode -- code points. */ --# define AI_IDN_USE_STD3_ASCII_RULES 0x0200 /* Validate strings according to -- STD3 rules. */ --# endif --# define AI_NUMERICSERV 0x0400 /* Don't use name resolution. */ -- --/* Error values for `getaddrinfo' function. */ --# define EAI_BADFLAGS -1 /* Invalid value for `ai_flags' field. */ --# define EAI_NONAME -2 /* NAME or SERVICE is unknown. */ --# define EAI_AGAIN -3 /* Temporary failure in name resolution. */ --# define EAI_FAIL -4 /* Non-recoverable failure in name res. */ --# define EAI_FAMILY -6 /* `ai_family' not supported. */ --# define EAI_SOCKTYPE -7 /* `ai_socktype' not supported. */ --# define EAI_SERVICE -8 /* SERVICE not supported for `ai_socktype'. */ --# define EAI_MEMORY -10 /* Memory allocation failure. */ --# define EAI_SYSTEM -11 /* System error returned in `errno'. */ --# define EAI_OVERFLOW -12 /* Argument buffer overflow. */ --# ifdef __USE_GNU --# define EAI_NODATA -5 /* No address associated with NAME. */ --# define EAI_ADDRFAMILY -9 /* Address family for NAME not supported. */ --# define EAI_INPROGRESS -100 /* Processing request in progress. */ --# define EAI_CANCELED -101 /* Request canceled. */ --# define EAI_NOTCANCELED -102 /* Request not canceled. */ --# define EAI_ALLDONE -103 /* All requests done. */ --# define EAI_INTR -104 /* Interrupted by a signal. */ --# define EAI_IDN_ENCODE -105 /* IDN encoding failed. */ --# endif -- --# ifdef __USE_MISC --# define NI_MAXHOST 1025 --# define NI_MAXSERV 32 --# endif -- --# define NI_NUMERICHOST 1 /* Don't try to look up hostname. */ --# define NI_NUMERICSERV 2 /* Don't convert port number to name. */ --# define NI_NOFQDN 4 /* Only return nodename portion. */ --# define NI_NAMEREQD 8 /* Don't return numeric addresses. */ --# define NI_DGRAM 16 /* Look up UDP service rather than TCP. */ --# ifdef __USE_GNU --# define NI_IDN 32 /* Convert name from IDN format. */ --# define NI_IDN_ALLOW_UNASSIGNED 64 /* Don't reject unassigned Unicode -- code points. */ --# define NI_IDN_USE_STD3_ASCII_RULES 128 /* Validate strings according to -- STD3 rules. */ --# endif -- --/* Translate name of a service location and/or a service name to set of -- socket addresses. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern int getaddrinfo (const char *__restrict __name, -- const char *__restrict __service, -- const struct addrinfo *__restrict __req, -- struct addrinfo **__restrict __pai); -- --/* Free `addrinfo' structure AI including associated storage. */ --extern void freeaddrinfo (struct addrinfo *__ai) __THROW; -- --/* Convert error return from getaddrinfo() to a string. */ --extern const char *gai_strerror (int __ecode) __THROW; -- --/* Translate a socket address to a location and service name. -- -- This function is a possible cancellation point and therefore not -- marked with __THROW. */ --extern int getnameinfo (const struct sockaddr *__restrict __sa, -- socklen_t __salen, char *__restrict __host, -- socklen_t __hostlen, char *__restrict __serv, -- socklen_t __servlen, int __flags); --#endif /* POSIX */ -- --#ifdef __USE_GNU --/* Enqueue ENT requests from the LIST. If MODE is GAI_WAIT wait until all -- requests are handled. If WAIT is GAI_NOWAIT return immediately after -- queueing the requests and signal completion according to SIG. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int getaddrinfo_a (int __mode, struct gaicb *__list[__restrict_arr], -- int __ent, struct sigevent *__restrict __sig); -- --/* Suspend execution of the thread until at least one of the ENT requests -- in LIST is handled. If TIMEOUT is not a null pointer it specifies the -- longest time the function keeps waiting before returning with an error. -- -- This function is not part of POSIX and therefore no official -- cancellation point. But due to similarity with an POSIX interface -- or due to the implementation it is a cancellation point and -- therefore not marked with __THROW. */ --extern int gai_suspend (const struct gaicb *const __list[], int __ent, -- const struct timespec *__timeout); -- --/* Get the error status of the request REQ. */ --extern int gai_error (struct gaicb *__req) __THROW; -- --/* Cancel the requests associated with GAICBP. */ --extern int gai_cancel (struct gaicb *__gaicbp) __THROW; --#endif /* GNU */ -- --__END_DECLS -- --#endif /* netdb.h */ -Index: glibc-2.20/resolv/resolv.h -=================================================================== ---- glibc-2.20.orig/resolv/resolv.h -+++ /dev/null -@@ -1,389 +0,0 @@ --/* -- * Copyright (c) 1983, 1987, 1989 -- * The Regents of the University of California. All rights reserved. -- * -- * Redistribution and use in source and binary forms, with or without -- * modification, are permitted provided that the following conditions -- * are met: -- * 1. Redistributions of source code must retain the above copyright -- * notice, this list of conditions and the following disclaimer. -- * 2. Redistributions in binary form must reproduce the above copyright -- * notice, this list of conditions and the following disclaimer in the -- * documentation and/or other materials provided with the distribution. -- * 4. Neither the name of the University nor the names of its contributors -- * may be used to endorse or promote products derived from this software -- * without specific prior written permission. -- * -- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -- * SUCH DAMAGE. -- */ -- --/* -- * Portions 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS -- * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE -- * CONSORTIUM 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. -- */ -- --/* -- * @(#)resolv.h 8.1 (Berkeley) 6/2/93 -- * $BINDId: resolv.h,v 8.31 2000/03/30 20:16:50 vixie Exp $ -- */ -- --#ifndef _RESOLV_H_ -- --/* These headers are needed for types used in the `struct res_state' -- declaration. */ --#include <sys/types.h> --#include <netinet/in.h> -- --#ifndef __need_res_state --# define _RESOLV_H_ -- --# include <sys/param.h> --# include <sys/cdefs.h> --# include <stdio.h> --# include <arpa/nameser.h> --#endif -- --#ifndef __res_state_defined --# define __res_state_defined -- --typedef enum { res_goahead, res_nextns, res_modified, res_done, res_error } -- res_sendhookact; -- --typedef res_sendhookact (*res_send_qhook) (struct sockaddr_in * const *__ns, -- const u_char **__query, -- int *__querylen, -- u_char *__ans, -- int __anssiz, -- int *__resplen); -- --typedef res_sendhookact (*res_send_rhook) (const struct sockaddr_in *__ns, -- const u_char *__query, -- int __querylen, -- u_char *__ans, -- int __anssiz, -- int *__resplen); -- --/* -- * Global defines and variables for resolver stub. -- */ --# define MAXNS 3 /* max # name servers we'll track */ --# define MAXDFLSRCH 3 /* # default domain levels to try */ --# define MAXDNSRCH 6 /* max # domains in search path */ --# define LOCALDOMAINPARTS 2 /* min levels in name that is "local" */ -- --# define RES_TIMEOUT 5 /* min. seconds between retries */ --# define MAXRESOLVSORT 10 /* number of net to sort on */ --# define RES_MAXNDOTS 15 /* should reflect bit field size */ --# define RES_MAXRETRANS 30 /* only for resolv.conf/RES_OPTIONS */ --# define RES_MAXRETRY 5 /* only for resolv.conf/RES_OPTIONS */ --# define RES_DFLRETRY 2 /* Default #/tries. */ --# define RES_MAXTIME 65535 /* Infinity, in milliseconds. */ -- --struct __res_state { -- int retrans; /* retransmition time interval */ -- int retry; /* number of times to retransmit */ -- u_long options; /* option flags - see below. */ -- int nscount; /* number of name servers */ -- struct sockaddr_in -- nsaddr_list[MAXNS]; /* address of name server */ --# define nsaddr nsaddr_list[0] /* for backward compatibility */ -- u_short id; /* current message id */ -- /* 2 byte hole here. */ -- char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */ -- char defdname[256]; /* default domain (deprecated) */ -- u_long pfcode; /* RES_PRF_ flags - see below. */ -- unsigned ndots:4; /* threshold for initial abs. query */ -- unsigned nsort:4; /* number of elements in sort_list[] */ -- unsigned ipv6_unavail:1; /* connecting to IPv6 server failed */ -- unsigned unused:23; -- struct { -- struct in_addr addr; -- u_int32_t mask; -- } sort_list[MAXRESOLVSORT]; -- /* 4 byte hole here on 64-bit architectures. */ -- res_send_qhook qhook; /* query hook */ -- res_send_rhook rhook; /* response hook */ -- int res_h_errno; /* last one set for this context */ -- int _vcsock; /* PRIVATE: for res_send VC i/o */ -- u_int _flags; /* PRIVATE: see below */ -- /* 4 byte hole here on 64-bit architectures. */ -- union { -- char pad[52]; /* On an i386 this means 512b total. */ -- struct { -- u_int16_t nscount; -- u_int16_t nsmap[MAXNS]; -- int nssocks[MAXNS]; -- u_int16_t nscount6; -- u_int16_t nsinit; -- struct sockaddr_in6 *nsaddrs[MAXNS]; --#ifdef _LIBC -- unsigned long long int initstamp -- __attribute__((packed)); --#else -- unsigned int _initstamp[2]; --#endif -- } _ext; -- } _u; --}; -- --typedef struct __res_state *res_state; --# undef __need_res_state --#endif -- --#ifdef _RESOLV_H_ --/* -- * Revision information. This is the release date in YYYYMMDD format. -- * It can change every day so the right thing to do with it is use it -- * in preprocessor commands such as "#if (__RES > 19931104)". Do not -- * compare for equality; rather, use it to determine whether your resolver -- * is new enough to contain a certain feature. -- */ -- --#define __RES 19991006 -- --/* -- * Resolver configuration file. -- * Normally not present, but may contain the address of the -- * inital name server(s) to query and the domain search list. -- */ -- --#ifndef _PATH_RESCONF --#define _PATH_RESCONF "/etc/resolv.conf" --#endif -- --struct res_sym { -- int number; /* Identifying number, like T_MX */ -- char * name; /* Its symbolic name, like "MX" */ -- char * humanname; /* Its fun name, like "mail exchanger" */ --}; -- --/* -- * Resolver flags (used to be discrete per-module statics ints). -- */ --#define RES_F_VC 0x00000001 /* socket is TCP */ --#define RES_F_CONN 0x00000002 /* socket is connected */ --#define RES_F_EDNS0ERR 0x00000004 /* EDNS0 caused errors */ -- --/* res_findzonecut() options */ --#define RES_EXHAUSTIVE 0x00000001 /* always do all queries */ -- --/* -- * Resolver options (keep these in synch with res_debug.c, please) -- */ --#define RES_INIT 0x00000001 /* address initialized */ --#define RES_DEBUG 0x00000002 /* print debug messages */ --#define RES_AAONLY 0x00000004 /* authoritative answers only (!IMPL)*/ --#define RES_USEVC 0x00000008 /* use virtual circuit */ --#define RES_PRIMARY 0x00000010 /* query primary server only (!IMPL) */ --#define RES_IGNTC 0x00000020 /* ignore trucation errors */ --#define RES_RECURSE 0x00000040 /* recursion desired */ --#define RES_DEFNAMES 0x00000080 /* use default domain name */ --#define RES_STAYOPEN 0x00000100 /* Keep TCP socket open */ --#define RES_DNSRCH 0x00000200 /* search up local domain tree */ --#define RES_INSECURE1 0x00000400 /* type 1 security disabled */ --#define RES_INSECURE2 0x00000800 /* type 2 security disabled */ --#define RES_NOALIASES 0x00001000 /* shuts off HOSTALIASES feature */ --#define RES_USE_INET6 0x00002000 /* use/map IPv6 in gethostbyname() */ --#define RES_ROTATE 0x00004000 /* rotate ns list after each query */ --#define RES_NOCHECKNAME 0x00008000 /* do not check names for sanity (!IMPL) */ --#define RES_KEEPTSIG 0x00010000 /* do not strip TSIG records */ --#define RES_BLAST 0x00020000 /* blast all recursive servers */ --#define RES_USEBSTRING 0x00040000 /* IPv6 reverse lookup with byte -- strings */ --#define RES_NOIP6DOTINT 0x00080000 /* Do not use .ip6.int in IPv6 -- reverse lookup */ --#define RES_USE_EDNS0 0x00100000 /* Use EDNS0. */ --#define RES_SNGLKUP 0x00200000 /* one outstanding request at a time */ --#define RES_SNGLKUPREOP 0x00400000 /* -"-, but open new socket for each -- request */ --#define RES_USE_DNSSEC 0x00800000 /* use DNSSEC using OK bit in OPT */ --#define RES_NOTLDQUERY 0x01000000 /* Do not look up unqualified name -- as a TLD. */ -- --#define RES_DEFAULT (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH|RES_NOIP6DOTINT) -- --/* -- * Resolver "pfcode" values. Used by dig. -- */ --#define RES_PRF_STATS 0x00000001 --#define RES_PRF_UPDATE 0x00000002 --#define RES_PRF_CLASS 0x00000004 --#define RES_PRF_CMD 0x00000008 --#define RES_PRF_QUES 0x00000010 --#define RES_PRF_ANS 0x00000020 --#define RES_PRF_AUTH 0x00000040 --#define RES_PRF_ADD 0x00000080 --#define RES_PRF_HEAD1 0x00000100 --#define RES_PRF_HEAD2 0x00000200 --#define RES_PRF_TTLID 0x00000400 --#define RES_PRF_HEADX 0x00000800 --#define RES_PRF_QUERY 0x00001000 --#define RES_PRF_REPLY 0x00002000 --#define RES_PRF_INIT 0x00004000 --/* 0x00008000 */ -- --/* Things involving an internal (static) resolver context. */ --__BEGIN_DECLS --extern struct __res_state *__res_state(void) __attribute__ ((__const__)); --__END_DECLS --#define _res (*__res_state()) -- --#ifndef __BIND_NOSTATIC --#define fp_nquery __fp_nquery --#define fp_query __fp_query --#define hostalias __hostalias --#define p_query __p_query --#define res_close __res_close --#define res_init __res_init --#define res_isourserver __res_isourserver --#define res_mkquery __res_mkquery --#define res_query __res_query --#define res_querydomain __res_querydomain --#define res_search __res_search --#define res_send __res_send -- --__BEGIN_DECLS --void fp_nquery (const u_char *, int, FILE *) __THROW; --void fp_query (const u_char *, FILE *) __THROW; --const char * hostalias (const char *) __THROW; --void p_query (const u_char *) __THROW; --void res_close (void) __THROW; --int res_init (void) __THROW; --int res_isourserver (const struct sockaddr_in *) __THROW; --int res_mkquery (int, const char *, int, int, const u_char *, -- int, const u_char *, u_char *, int) __THROW; --int res_query (const char *, int, int, u_char *, int) __THROW; --int res_querydomain (const char *, const char *, int, int, -- u_char *, int) __THROW; --int res_search (const char *, int, int, u_char *, int) __THROW; --int res_send (const u_char *, int, u_char *, int) __THROW; --__END_DECLS --#endif -- --#define b64_ntop __b64_ntop --#define b64_pton __b64_pton --#define dn_comp __dn_comp --#define dn_count_labels __dn_count_labels --#define dn_expand __dn_expand --#define dn_skipname __dn_skipname --#define fp_resstat __fp_resstat --#define loc_aton __loc_aton --#define loc_ntoa __loc_ntoa --#define p_cdname __p_cdname --#define p_cdnname __p_cdnname --#define p_class __p_class --#define p_fqname __p_fqname --#define p_fqnname __p_fqnname --#define p_option __p_option --#define p_secstodate __p_secstodate --#define p_section __p_section --#define p_time __p_time --#define p_type __p_type --#define p_rcode __p_rcode --#define putlong __putlong --#define putshort __putshort --#define res_dnok __res_dnok --#define res_hnok __res_hnok --#define res_hostalias __res_hostalias --#define res_mailok __res_mailok --#define res_nameinquery __res_nameinquery --#define res_nclose __res_nclose --#define res_ninit __res_ninit --#define res_nmkquery __res_nmkquery --#define res_npquery __res_npquery --#define res_nquery __res_nquery --#define res_nquerydomain __res_nquerydomain --#define res_nsearch __res_nsearch --#define res_nsend __res_nsend --#define res_nisourserver __res_nisourserver --#define res_ownok __res_ownok --#define res_queriesmatch __res_queriesmatch --#define res_randomid __res_randomid --#define sym_ntop __sym_ntop --#define sym_ntos __sym_ntos --#define sym_ston __sym_ston --__BEGIN_DECLS --int res_hnok (const char *) __THROW; --int res_ownok (const char *) __THROW; --int res_mailok (const char *) __THROW; --int res_dnok (const char *) __THROW; --int sym_ston (const struct res_sym *, const char *, int *) __THROW; --const char * sym_ntos (const struct res_sym *, int, int *) __THROW; --const char * sym_ntop (const struct res_sym *, int, int *) __THROW; --int b64_ntop (u_char const *, size_t, char *, size_t) __THROW; --int b64_pton (char const *, u_char *, size_t) __THROW; --int loc_aton (const char *__ascii, u_char *__binary) __THROW; --const char * loc_ntoa (const u_char *__binary, char *__ascii) __THROW; --int dn_skipname (const u_char *, const u_char *) __THROW; --void putlong (u_int32_t, u_char *) __THROW; --void putshort (u_int16_t, u_char *) __THROW; --const char * p_class (int) __THROW; --const char * p_time (u_int32_t) __THROW; --const char * p_type (int) __THROW; --const char * p_rcode (int) __THROW; --const u_char * p_cdnname (const u_char *, const u_char *, int, FILE *) -- __THROW; --const u_char * p_cdname (const u_char *, const u_char *, FILE *) __THROW; --const u_char * p_fqnname (const u_char *__cp, const u_char *__msg, -- int, char *, int) __THROW; --const u_char * p_fqname (const u_char *, const u_char *, FILE *) __THROW; --const char * p_option (u_long __option) __THROW; --char * p_secstodate (u_long) __THROW; --int dn_count_labels (const char *) __THROW; --int dn_comp (const char *, u_char *, int, u_char **, u_char **) -- __THROW; --int dn_expand (const u_char *, const u_char *, const u_char *, -- char *, int) __THROW; --u_int res_randomid (void) __THROW; --int res_nameinquery (const char *, int, int, -- const u_char *, const u_char *) __THROW; --int res_queriesmatch (const u_char *, const u_char *, -- const u_char *, const u_char *) __THROW; --const char * p_section (int __section, int __opcode) __THROW; --/* Things involving a resolver context. */ --int res_ninit (res_state) __THROW; --int res_nisourserver (const res_state, -- const struct sockaddr_in *) __THROW; --void fp_resstat (const res_state, FILE *) __THROW; --void res_npquery (const res_state, const u_char *, int, FILE *) -- __THROW; --const char * res_hostalias (const res_state, const char *, char *, size_t) -- __THROW; --int res_nquery (res_state, const char *, int, int, u_char *, int) -- __THROW; --int res_nsearch (res_state, const char *, int, int, u_char *, int) -- __THROW; --int res_nquerydomain (res_state, const char *, const char *, int, -- int, u_char *, int) __THROW; --int res_nmkquery (res_state, int, const char *, int, int, -- const u_char *, int, const u_char *, u_char *, -- int) __THROW; --int res_nsend (res_state, const u_char *, int, u_char *, int) -- __THROW; --void res_nclose (res_state) __THROW; --__END_DECLS --#endif -- --#endif /* !_RESOLV_H_ */ -Index: glibc-2.20/shadow/Makefile -=================================================================== ---- glibc-2.20.orig/shadow/Makefile -+++ glibc-2.20/shadow/Makefile -@@ -36,5 +36,6 @@ CFLAGS-fgetspent_r.c = -fexceptions $(li - CFLAGS-putspent.c = -fexceptions $(libio-mtsafe) - CFLAGS-getspnam.c = -fexceptions - CFLAGS-getspnam_r.c = -fexceptions -+CPPFLAGS-lckpwdf.c = -DSYSCONFDIR='"$(sysconfdir)"' - - include ../Rules -Index: glibc-2.20/shadow/lckpwdf.c -=================================================================== ---- glibc-2.20.orig/shadow/lckpwdf.c -+++ glibc-2.20/shadow/lckpwdf.c -@@ -29,7 +29,7 @@ - - - /* Name of the lock file. */ --#define PWD_LOCKFILE "/etc/.pwd.lock" -+#define PWD_LOCKFILE SYSCONFDIR "/.pwd.lock" - - /* How long to wait for getting the lock before returning with an - error. */ -Index: glibc-2.20/configure.ac -=================================================================== ---- glibc-2.20.orig/configure.ac -+++ glibc-2.20/configure.ac -@@ -2038,7 +2038,8 @@ RELEASE=`sed -n -e 's/^#define RELEASE " - AC_SUBST(VERSION) - AC_SUBST(RELEASE) - --AC_CONFIG_FILES([config.make Makefile]) -+AC_CONFIG_FILES([config.make Makefile nss/db-Makefile resolv/netdb.h resolv/resolv.h -+ sysdeps/generic/ldconfig.h]) - AC_CONFIG_COMMANDS([default],[[ - case $CONFIG_FILES in *config.make*) - echo "$config_vars" >> config.make;; -Index: glibc-2.20/resolv/netdb.h.in -=================================================================== ---- /dev/null -+++ glibc-2.20/resolv/netdb.h.in -@@ -0,0 +1,715 @@ -+ /* Copyright (C) 1996-2014 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+/* All data returned by the network data base library are supplied in -+ host order and returned in network order (suitable for use in -+ system calls). */ -+ -+#ifndef _NETDB_H -+#define _NETDB_H 1 -+ -+#include <features.h> -+ -+#include <netinet/in.h> -+#include <stdint.h> -+#ifdef __USE_MISC -+/* This is necessary to make this include file properly replace the -+ Sun version. */ -+# include <rpc/netdb.h> -+#endif -+ -+#ifdef __USE_GNU -+# define __need_sigevent_t -+# include <bits/siginfo.h> -+# define __need_timespec -+# include <time.h> -+#endif -+ -+#include <bits/netdb.h> -+ -+/* Absolute file name for network data base files. */ -+#define _PATH_HEQUIV "@libc_cv_sysconfdir@/hosts.equiv" -+#define _PATH_HOSTS "@libc_cv_sysconfdir@/hosts" -+#define _PATH_NETWORKS "@libc_cv_sysconfdir@/networks" -+#define _PATH_NSSWITCH_CONF "@libc_cv_sysconfdir@/nsswitch.conf" -+#define _PATH_PROTOCOLS "@libc_cv_sysconfdir@/protocols" -+#define _PATH_SERVICES "@libc_cv_sysconfdir@/services" -+ -+ -+__BEGIN_DECLS -+ -+#if defined __USE_MISC || !defined __USE_XOPEN2K8 -+/* Error status for non-reentrant lookup functions. -+ We use a macro to access always the thread-specific `h_errno' variable. */ -+# define h_errno (*__h_errno_location ()) -+ -+/* Function to get address of global `h_errno' variable. */ -+extern int *__h_errno_location (void) __THROW __attribute__ ((__const__)); -+ -+ -+/* Possible values left in `h_errno'. */ -+# define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found. */ -+# define TRY_AGAIN 2 /* Non-Authoritative Host not found, -+ or SERVERFAIL. */ -+# define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, -+ NOTIMP. */ -+# define NO_DATA 4 /* Valid name, no data record of requested -+ type. */ -+#endif -+#ifdef __USE_MISC -+# define NETDB_INTERNAL -1 /* See errno. */ -+# define NETDB_SUCCESS 0 /* No problem. */ -+# define NO_ADDRESS NO_DATA /* No address, look for MX record. */ -+#endif -+ -+#if defined __USE_XOPEN2K || defined __USE_XOPEN_EXTENDED -+/* Highest reserved Internet port number. */ -+# define IPPORT_RESERVED 1024 -+#endif -+ -+#ifdef __USE_GNU -+/* Scope delimiter for getaddrinfo(), getnameinfo(). */ -+# define SCOPE_DELIMITER '%' -+#endif -+ -+#ifdef __USE_MISC -+/* Print error indicated by `h_errno' variable on standard error. STR -+ if non-null is printed before the error string. */ -+extern void herror (const char *__str) __THROW; -+ -+/* Return string associated with error ERR_NUM. */ -+extern const char *hstrerror (int __err_num) __THROW; -+#endif -+ -+ -+/* Description of data base entry for a single host. */ -+struct hostent -+{ -+ char *h_name; /* Official name of host. */ -+ char **h_aliases; /* Alias list. */ -+ int h_addrtype; /* Host address type. */ -+ int h_length; /* Length of address. */ -+ char **h_addr_list; /* List of addresses from name server. */ -+#ifdef __USE_MISC -+# define h_addr h_addr_list[0] /* Address, for backward compatibility.*/ -+#endif -+}; -+ -+/* Open host data base files and mark them as staying open even after -+ a later search if STAY_OPEN is non-zero. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern void sethostent (int __stay_open); -+ -+/* Close host data base files and clear `stay open' flag. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern void endhostent (void); -+ -+/* Get next entry from host data base file. Open data base if -+ necessary. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct hostent *gethostent (void); -+ -+/* Return entry from host data base which address match ADDR with -+ length LEN and type TYPE. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct hostent *gethostbyaddr (const void *__addr, __socklen_t __len, -+ int __type); -+ -+/* Return entry from host data base for host with NAME. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct hostent *gethostbyname (const char *__name); -+ -+#ifdef __USE_MISC -+/* Return entry from host data base for host with NAME. AF must be -+ set to the address type which is `AF_INET' for IPv4 or `AF_INET6' -+ for IPv6. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern struct hostent *gethostbyname2 (const char *__name, int __af); -+ -+/* Reentrant versions of the functions above. The additional -+ arguments specify a buffer of BUFLEN starting at BUF. The last -+ argument is a pointer to a variable which gets the value which -+ would be stored in the global variable `herrno' by the -+ non-reentrant functions. -+ -+ These functions are not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation they are cancellation points and -+ therefore not marked with __THROW. */ -+extern int gethostent_r (struct hostent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct hostent **__restrict __result, -+ int *__restrict __h_errnop); -+ -+extern int gethostbyaddr_r (const void *__restrict __addr, __socklen_t __len, -+ int __type, -+ struct hostent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct hostent **__restrict __result, -+ int *__restrict __h_errnop); -+ -+extern int gethostbyname_r (const char *__restrict __name, -+ struct hostent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct hostent **__restrict __result, -+ int *__restrict __h_errnop); -+ -+extern int gethostbyname2_r (const char *__restrict __name, int __af, -+ struct hostent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct hostent **__restrict __result, -+ int *__restrict __h_errnop); -+#endif /* misc */ -+ -+ -+/* Open network data base files and mark them as staying open even -+ after a later search if STAY_OPEN is non-zero. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern void setnetent (int __stay_open); -+ -+/* Close network data base files and clear `stay open' flag. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern void endnetent (void); -+ -+/* Get next entry from network data base file. Open data base if -+ necessary. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct netent *getnetent (void); -+ -+/* Return entry from network data base which address match NET and -+ type TYPE. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct netent *getnetbyaddr (uint32_t __net, int __type); -+ -+/* Return entry from network data base for network with NAME. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct netent *getnetbyname (const char *__name); -+ -+#ifdef __USE_MISC -+/* Reentrant versions of the functions above. The additional -+ arguments specify a buffer of BUFLEN starting at BUF. The last -+ argument is a pointer to a variable which gets the value which -+ would be stored in the global variable `herrno' by the -+ non-reentrant functions. -+ -+ These functions are not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation they are cancellation points and -+ therefore not marked with __THROW. */ -+extern int getnetent_r (struct netent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct netent **__restrict __result, -+ int *__restrict __h_errnop); -+ -+extern int getnetbyaddr_r (uint32_t __net, int __type, -+ struct netent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct netent **__restrict __result, -+ int *__restrict __h_errnop); -+ -+extern int getnetbyname_r (const char *__restrict __name, -+ struct netent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct netent **__restrict __result, -+ int *__restrict __h_errnop); -+#endif /* misc */ -+ -+ -+/* Description of data base entry for a single service. */ -+struct servent -+{ -+ char *s_name; /* Official service name. */ -+ char **s_aliases; /* Alias list. */ -+ int s_port; /* Port number. */ -+ char *s_proto; /* Protocol to use. */ -+}; -+ -+/* Open service data base files and mark them as staying open even -+ after a later search if STAY_OPEN is non-zero. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern void setservent (int __stay_open); -+ -+/* Close service data base files and clear `stay open' flag. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern void endservent (void); -+ -+/* Get next entry from service data base file. Open data base if -+ necessary. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct servent *getservent (void); -+ -+/* Return entry from network data base for network with NAME and -+ protocol PROTO. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct servent *getservbyname (const char *__name, const char *__proto); -+ -+/* Return entry from service data base which matches port PORT and -+ protocol PROTO. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct servent *getservbyport (int __port, const char *__proto); -+ -+ -+#ifdef __USE_MISC -+/* Reentrant versions of the functions above. The additional -+ arguments specify a buffer of BUFLEN starting at BUF. -+ -+ These functions are not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation they are cancellation points and -+ therefore not marked with __THROW. */ -+extern int getservent_r (struct servent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct servent **__restrict __result); -+ -+extern int getservbyname_r (const char *__restrict __name, -+ const char *__restrict __proto, -+ struct servent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct servent **__restrict __result); -+ -+extern int getservbyport_r (int __port, const char *__restrict __proto, -+ struct servent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct servent **__restrict __result); -+#endif /* misc */ -+ -+ -+/* Description of data base entry for a single service. */ -+struct protoent -+{ -+ char *p_name; /* Official protocol name. */ -+ char **p_aliases; /* Alias list. */ -+ int p_proto; /* Protocol number. */ -+}; -+ -+/* Open protocol data base files and mark them as staying open even -+ after a later search if STAY_OPEN is non-zero. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern void setprotoent (int __stay_open); -+ -+/* Close protocol data base files and clear `stay open' flag. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern void endprotoent (void); -+ -+/* Get next entry from protocol data base file. Open data base if -+ necessary. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct protoent *getprotoent (void); -+ -+/* Return entry from protocol data base for network with NAME. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct protoent *getprotobyname (const char *__name); -+ -+/* Return entry from protocol data base which number is PROTO. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern struct protoent *getprotobynumber (int __proto); -+ -+ -+#ifdef __USE_MISC -+/* Reentrant versions of the functions above. The additional -+ arguments specify a buffer of BUFLEN starting at BUF. -+ -+ These functions are not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation they are cancellation points and -+ therefore not marked with __THROW. */ -+extern int getprotoent_r (struct protoent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct protoent **__restrict __result); -+ -+extern int getprotobyname_r (const char *__restrict __name, -+ struct protoent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct protoent **__restrict __result); -+ -+extern int getprotobynumber_r (int __proto, -+ struct protoent *__restrict __result_buf, -+ char *__restrict __buf, size_t __buflen, -+ struct protoent **__restrict __result); -+ -+ -+/* Establish network group NETGROUP for enumeration. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int setnetgrent (const char *__netgroup); -+ -+/* Free all space allocated by previous `setnetgrent' call. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern void endnetgrent (void); -+ -+/* Get next member of netgroup established by last `setnetgrent' call -+ and return pointers to elements in HOSTP, USERP, and DOMAINP. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int getnetgrent (char **__restrict __hostp, -+ char **__restrict __userp, -+ char **__restrict __domainp); -+ -+ -+/* Test whether NETGROUP contains the triple (HOST,USER,DOMAIN). -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int innetgr (const char *__netgroup, const char *__host, -+ const char *__user, const char *__domain); -+ -+/* Reentrant version of `getnetgrent' where result is placed in BUFFER. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int getnetgrent_r (char **__restrict __hostp, -+ char **__restrict __userp, -+ char **__restrict __domainp, -+ char *__restrict __buffer, size_t __buflen); -+#endif /* misc */ -+ -+ -+#ifdef __USE_MISC -+/* Call `rshd' at port RPORT on remote machine *AHOST to execute CMD. -+ The local user is LOCUSER, on the remote machine the command is -+ executed as REMUSER. In *FD2P the descriptor to the socket for the -+ connection is returned. The caller must have the right to use a -+ reserved port. When the function returns *AHOST contains the -+ official host name. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int rcmd (char **__restrict __ahost, unsigned short int __rport, -+ const char *__restrict __locuser, -+ const char *__restrict __remuser, -+ const char *__restrict __cmd, int *__restrict __fd2p); -+ -+/* This is the equivalent function where the protocol can be selected -+ and which therefore can be used for IPv6. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport, -+ const char *__restrict __locuser, -+ const char *__restrict __remuser, -+ const char *__restrict __cmd, int *__restrict __fd2p, -+ sa_family_t __af); -+ -+/* Call `rexecd' at port RPORT on remote machine *AHOST to execute -+ CMD. The process runs at the remote machine using the ID of user -+ NAME whose cleartext password is PASSWD. In *FD2P the descriptor -+ to the socket for the connection is returned. When the function -+ returns *AHOST contains the official host name. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int rexec (char **__restrict __ahost, int __rport, -+ const char *__restrict __name, -+ const char *__restrict __pass, -+ const char *__restrict __cmd, int *__restrict __fd2p); -+ -+/* This is the equivalent function where the protocol can be selected -+ and which therefore can be used for IPv6. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int rexec_af (char **__restrict __ahost, int __rport, -+ const char *__restrict __name, -+ const char *__restrict __pass, -+ const char *__restrict __cmd, int *__restrict __fd2p, -+ sa_family_t __af); -+ -+/* Check whether user REMUSER on system RHOST is allowed to login as LOCUSER. -+ If SUSER is not zero the user tries to become superuser. Return 0 if -+ it is possible. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int ruserok (const char *__rhost, int __suser, -+ const char *__remuser, const char *__locuser); -+ -+/* This is the equivalent function where the protocol can be selected -+ and which therefore can be used for IPv6. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int ruserok_af (const char *__rhost, int __suser, -+ const char *__remuser, const char *__locuser, -+ sa_family_t __af); -+ -+/* Check whether user REMUSER on system indicated by IPv4 address -+ RADDR is allowed to login as LOCUSER. Non-IPv4 (e.g., IPv6) are -+ not supported. If SUSER is not zero the user tries to become -+ superuser. Return 0 if it is possible. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int iruserok (uint32_t __raddr, int __suser, -+ const char *__remuser, const char *__locuser); -+ -+/* This is the equivalent function where the pfamiliy if the address -+ pointed to by RADDR is determined by the value of AF. It therefore -+ can be used for IPv6 -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int iruserok_af (const void *__raddr, int __suser, -+ const char *__remuser, const char *__locuser, -+ sa_family_t __af); -+ -+/* Try to allocate reserved port, returning a descriptor for a socket opened -+ at this port or -1 if unsuccessful. The search for an available port -+ will start at ALPORT and continues with lower numbers. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int rresvport (int *__alport); -+ -+/* This is the equivalent function where the protocol can be selected -+ and which therefore can be used for IPv6. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int rresvport_af (int *__alport, sa_family_t __af); -+#endif -+ -+ -+/* Extension from POSIX.1g. */ -+#ifdef __USE_POSIX -+/* Structure to contain information about address of a service provider. */ -+struct addrinfo -+{ -+ int ai_flags; /* Input flags. */ -+ int ai_family; /* Protocol family for socket. */ -+ int ai_socktype; /* Socket type. */ -+ int ai_protocol; /* Protocol for socket. */ -+ socklen_t ai_addrlen; /* Length of socket address. */ -+ struct sockaddr *ai_addr; /* Socket address for socket. */ -+ char *ai_canonname; /* Canonical name for service location. */ -+ struct addrinfo *ai_next; /* Pointer to next in list. */ -+}; -+ -+# ifdef __USE_GNU -+/* Structure used as control block for asynchronous lookup. */ -+struct gaicb -+{ -+ const char *ar_name; /* Name to look up. */ -+ const char *ar_service; /* Service name. */ -+ const struct addrinfo *ar_request; /* Additional request specification. */ -+ struct addrinfo *ar_result; /* Pointer to result. */ -+ /* The following are internal elements. */ -+ int __return; -+ int __glibc_reserved[5]; -+}; -+ -+/* Lookup mode. */ -+# define GAI_WAIT 0 -+# define GAI_NOWAIT 1 -+# endif -+ -+/* Possible values for `ai_flags' field in `addrinfo' structure. */ -+# define AI_PASSIVE 0x0001 /* Socket address is intended for `bind'. */ -+# define AI_CANONNAME 0x0002 /* Request for canonical name. */ -+# define AI_NUMERICHOST 0x0004 /* Don't use name resolution. */ -+# define AI_V4MAPPED 0x0008 /* IPv4 mapped addresses are acceptable. */ -+# define AI_ALL 0x0010 /* Return IPv4 mapped and IPv6 addresses. */ -+# define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose -+ returned address type.. */ -+# ifdef __USE_GNU -+# define AI_IDN 0x0040 /* IDN encode input (assuming it is encoded -+ in the current locale's character set) -+ before looking it up. */ -+# define AI_CANONIDN 0x0080 /* Translate canonical name from IDN format. */ -+# define AI_IDN_ALLOW_UNASSIGNED 0x0100 /* Don't reject unassigned Unicode -+ code points. */ -+# define AI_IDN_USE_STD3_ASCII_RULES 0x0200 /* Validate strings according to -+ STD3 rules. */ -+# endif -+# define AI_NUMERICSERV 0x0400 /* Don't use name resolution. */ -+ -+/* Error values for `getaddrinfo' function. */ -+# define EAI_BADFLAGS -1 /* Invalid value for `ai_flags' field. */ -+# define EAI_NONAME -2 /* NAME or SERVICE is unknown. */ -+# define EAI_AGAIN -3 /* Temporary failure in name resolution. */ -+# define EAI_FAIL -4 /* Non-recoverable failure in name res. */ -+# define EAI_FAMILY -6 /* `ai_family' not supported. */ -+# define EAI_SOCKTYPE -7 /* `ai_socktype' not supported. */ -+# define EAI_SERVICE -8 /* SERVICE not supported for `ai_socktype'. */ -+# define EAI_MEMORY -10 /* Memory allocation failure. */ -+# define EAI_SYSTEM -11 /* System error returned in `errno'. */ -+# define EAI_OVERFLOW -12 /* Argument buffer overflow. */ -+# ifdef __USE_GNU -+# define EAI_NODATA -5 /* No address associated with NAME. */ -+# define EAI_ADDRFAMILY -9 /* Address family for NAME not supported. */ -+# define EAI_INPROGRESS -100 /* Processing request in progress. */ -+# define EAI_CANCELED -101 /* Request canceled. */ -+# define EAI_NOTCANCELED -102 /* Request not canceled. */ -+# define EAI_ALLDONE -103 /* All requests done. */ -+# define EAI_INTR -104 /* Interrupted by a signal. */ -+# define EAI_IDN_ENCODE -105 /* IDN encoding failed. */ -+# endif -+ -+# ifdef __USE_MISC -+# define NI_MAXHOST 1025 -+# define NI_MAXSERV 32 -+# endif -+ -+# define NI_NUMERICHOST 1 /* Don't try to look up hostname. */ -+# define NI_NUMERICSERV 2 /* Don't convert port number to name. */ -+# define NI_NOFQDN 4 /* Only return nodename portion. */ -+# define NI_NAMEREQD 8 /* Don't return numeric addresses. */ -+# define NI_DGRAM 16 /* Look up UDP service rather than TCP. */ -+# ifdef __USE_GNU -+# define NI_IDN 32 /* Convert name from IDN format. */ -+# define NI_IDN_ALLOW_UNASSIGNED 64 /* Don't reject unassigned Unicode -+ code points. */ -+# define NI_IDN_USE_STD3_ASCII_RULES 128 /* Validate strings according to -+ STD3 rules. */ -+# endif -+ -+/* Translate name of a service location and/or a service name to set of -+ socket addresses. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern int getaddrinfo (const char *__restrict __name, -+ const char *__restrict __service, -+ const struct addrinfo *__restrict __req, -+ struct addrinfo **__restrict __pai); -+ -+/* Free `addrinfo' structure AI including associated storage. */ -+extern void freeaddrinfo (struct addrinfo *__ai) __THROW; -+ -+/* Convert error return from getaddrinfo() to a string. */ -+extern const char *gai_strerror (int __ecode) __THROW; -+ -+/* Translate a socket address to a location and service name. -+ -+ This function is a possible cancellation point and therefore not -+ marked with __THROW. */ -+extern int getnameinfo (const struct sockaddr *__restrict __sa, -+ socklen_t __salen, char *__restrict __host, -+ socklen_t __hostlen, char *__restrict __serv, -+ socklen_t __servlen, int __flags); -+#endif /* POSIX */ -+ -+#ifdef __USE_GNU -+/* Enqueue ENT requests from the LIST. If MODE is GAI_WAIT wait until all -+ requests are handled. If WAIT is GAI_NOWAIT return immediately after -+ queueing the requests and signal completion according to SIG. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int getaddrinfo_a (int __mode, struct gaicb *__list[__restrict_arr], -+ int __ent, struct sigevent *__restrict __sig); -+ -+/* Suspend execution of the thread until at least one of the ENT requests -+ in LIST is handled. If TIMEOUT is not a null pointer it specifies the -+ longest time the function keeps waiting before returning with an error. -+ -+ This function is not part of POSIX and therefore no official -+ cancellation point. But due to similarity with an POSIX interface -+ or due to the implementation it is a cancellation point and -+ therefore not marked with __THROW. */ -+extern int gai_suspend (const struct gaicb *const __list[], int __ent, -+ const struct timespec *__timeout); -+ -+/* Get the error status of the request REQ. */ -+extern int gai_error (struct gaicb *__req) __THROW; -+ -+/* Cancel the requests associated with GAICBP. */ -+extern int gai_cancel (struct gaicb *__gaicbp) __THROW; -+#endif /* GNU */ -+ -+__END_DECLS -+ -+#endif /* netdb.h */ -Index: glibc-2.20/resolv/resolv.h.in -=================================================================== ---- /dev/null -+++ glibc-2.20/resolv/resolv.h.in -@@ -0,0 +1,389 @@ -+/* -+ * Copyright (c) 1983, 1987, 1989 -+ * The Regents of the University of California. All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ */ -+ -+/* -+ * Portions 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 INTERNET SOFTWARE CONSORTIUM DISCLAIMS -+ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE -+ * CONSORTIUM 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. -+ */ -+ -+/* -+ * @(#)resolv.h 8.1 (Berkeley) 6/2/93 -+ * $BINDId: resolv.h,v 8.31 2000/03/30 20:16:50 vixie Exp $ -+ */ -+ -+#ifndef _RESOLV_H_ -+ -+/* These headers are needed for types used in the `struct res_state' -+ declaration. */ -+#include <sys/types.h> -+#include <netinet/in.h> -+ -+#ifndef __need_res_state -+# define _RESOLV_H_ -+ -+# include <sys/param.h> -+# include <sys/cdefs.h> -+# include <stdio.h> -+# include <arpa/nameser.h> -+#endif -+ -+#ifndef __res_state_defined -+# define __res_state_defined -+ -+typedef enum { res_goahead, res_nextns, res_modified, res_done, res_error } -+ res_sendhookact; -+ -+typedef res_sendhookact (*res_send_qhook) (struct sockaddr_in * const *__ns, -+ const u_char **__query, -+ int *__querylen, -+ u_char *__ans, -+ int __anssiz, -+ int *__resplen); -+ -+typedef res_sendhookact (*res_send_rhook) (const struct sockaddr_in *__ns, -+ const u_char *__query, -+ int __querylen, -+ u_char *__ans, -+ int __anssiz, -+ int *__resplen); -+ -+/* -+ * Global defines and variables for resolver stub. -+ */ -+# define MAXNS 3 /* max # name servers we'll track */ -+# define MAXDFLSRCH 3 /* # default domain levels to try */ -+# define MAXDNSRCH 6 /* max # domains in search path */ -+# define LOCALDOMAINPARTS 2 /* min levels in name that is "local" */ -+ -+# define RES_TIMEOUT 5 /* min. seconds between retries */ -+# define MAXRESOLVSORT 10 /* number of net to sort on */ -+# define RES_MAXNDOTS 15 /* should reflect bit field size */ -+# define RES_MAXRETRANS 30 /* only for resolv.conf/RES_OPTIONS */ -+# define RES_MAXRETRY 5 /* only for resolv.conf/RES_OPTIONS */ -+# define RES_DFLRETRY 2 /* Default #/tries. */ -+# define RES_MAXTIME 65535 /* Infinity, in milliseconds. */ -+ -+struct __res_state { -+ int retrans; /* retransmition time interval */ -+ int retry; /* number of times to retransmit */ -+ u_long options; /* option flags - see below. */ -+ int nscount; /* number of name servers */ -+ struct sockaddr_in -+ nsaddr_list[MAXNS]; /* address of name server */ -+# define nsaddr nsaddr_list[0] /* for backward compatibility */ -+ u_short id; /* current message id */ -+ /* 2 byte hole here. */ -+ char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */ -+ char defdname[256]; /* default domain (deprecated) */ -+ u_long pfcode; /* RES_PRF_ flags - see below. */ -+ unsigned ndots:4; /* threshold for initial abs. query */ -+ unsigned nsort:4; /* number of elements in sort_list[] */ -+ unsigned ipv6_unavail:1; /* connecting to IPv6 server failed */ -+ unsigned unused:23; -+ struct { -+ struct in_addr addr; -+ u_int32_t mask; -+ } sort_list[MAXRESOLVSORT]; -+ /* 4 byte hole here on 64-bit architectures. */ -+ res_send_qhook qhook; /* query hook */ -+ res_send_rhook rhook; /* response hook */ -+ int res_h_errno; /* last one set for this context */ -+ int _vcsock; /* PRIVATE: for res_send VC i/o */ -+ u_int _flags; /* PRIVATE: see below */ -+ /* 4 byte hole here on 64-bit architectures. */ -+ union { -+ char pad[52]; /* On an i386 this means 512b total. */ -+ struct { -+ u_int16_t nscount; -+ u_int16_t nsmap[MAXNS]; -+ int nssocks[MAXNS]; -+ u_int16_t nscount6; -+ u_int16_t nsinit; -+ struct sockaddr_in6 *nsaddrs[MAXNS]; -+#ifdef _LIBC -+ unsigned long long int initstamp -+ __attribute__((packed)); -+#else -+ unsigned int _initstamp[2]; -+#endif -+ } _ext; -+ } _u; -+}; -+ -+typedef struct __res_state *res_state; -+# undef __need_res_state -+#endif -+ -+#ifdef _RESOLV_H_ -+/* -+ * Revision information. This is the release date in YYYYMMDD format. -+ * It can change every day so the right thing to do with it is use it -+ * in preprocessor commands such as "#if (__RES > 19931104)". Do not -+ * compare for equality; rather, use it to determine whether your resolver -+ * is new enough to contain a certain feature. -+ */ -+ -+#define __RES 19991006 -+ -+/* -+ * Resolver configuration file. -+ * Normally not present, but may contain the address of the -+ * inital name server(s) to query and the domain search list. -+ */ -+ -+#ifndef _PATH_RESCONF -+#define _PATH_RESCONF "@libc_cv_sysconfdir@/resolv.conf" -+#endif -+ -+struct res_sym { -+ int number; /* Identifying number, like T_MX */ -+ char * name; /* Its symbolic name, like "MX" */ -+ char * humanname; /* Its fun name, like "mail exchanger" */ -+}; -+ -+/* -+ * Resolver flags (used to be discrete per-module statics ints). -+ */ -+#define RES_F_VC 0x00000001 /* socket is TCP */ -+#define RES_F_CONN 0x00000002 /* socket is connected */ -+#define RES_F_EDNS0ERR 0x00000004 /* EDNS0 caused errors */ -+ -+/* res_findzonecut() options */ -+#define RES_EXHAUSTIVE 0x00000001 /* always do all queries */ -+ -+/* -+ * Resolver options (keep these in synch with res_debug.c, please) -+ */ -+#define RES_INIT 0x00000001 /* address initialized */ -+#define RES_DEBUG 0x00000002 /* print debug messages */ -+#define RES_AAONLY 0x00000004 /* authoritative answers only (!IMPL)*/ -+#define RES_USEVC 0x00000008 /* use virtual circuit */ -+#define RES_PRIMARY 0x00000010 /* query primary server only (!IMPL) */ -+#define RES_IGNTC 0x00000020 /* ignore trucation errors */ -+#define RES_RECURSE 0x00000040 /* recursion desired */ -+#define RES_DEFNAMES 0x00000080 /* use default domain name */ -+#define RES_STAYOPEN 0x00000100 /* Keep TCP socket open */ -+#define RES_DNSRCH 0x00000200 /* search up local domain tree */ -+#define RES_INSECURE1 0x00000400 /* type 1 security disabled */ -+#define RES_INSECURE2 0x00000800 /* type 2 security disabled */ -+#define RES_NOALIASES 0x00001000 /* shuts off HOSTALIASES feature */ -+#define RES_USE_INET6 0x00002000 /* use/map IPv6 in gethostbyname() */ -+#define RES_ROTATE 0x00004000 /* rotate ns list after each query */ -+#define RES_NOCHECKNAME 0x00008000 /* do not check names for sanity (!IMPL) */ -+#define RES_KEEPTSIG 0x00010000 /* do not strip TSIG records */ -+#define RES_BLAST 0x00020000 /* blast all recursive servers */ -+#define RES_USEBSTRING 0x00040000 /* IPv6 reverse lookup with byte -+ strings */ -+#define RES_NOIP6DOTINT 0x00080000 /* Do not use .ip6.int in IPv6 -+ reverse lookup */ -+#define RES_USE_EDNS0 0x00100000 /* Use EDNS0. */ -+#define RES_SNGLKUP 0x00200000 /* one outstanding request at a time */ -+#define RES_SNGLKUPREOP 0x00400000 /* -"-, but open new socket for each -+ request */ -+#define RES_USE_DNSSEC 0x00800000 /* use DNSSEC using OK bit in OPT */ -+#define RES_NOTLDQUERY 0x01000000 /* Do not look up unqualified name -+ as a TLD. */ -+ -+#define RES_DEFAULT (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH|RES_NOIP6DOTINT) -+ -+/* -+ * Resolver "pfcode" values. Used by dig. -+ */ -+#define RES_PRF_STATS 0x00000001 -+#define RES_PRF_UPDATE 0x00000002 -+#define RES_PRF_CLASS 0x00000004 -+#define RES_PRF_CMD 0x00000008 -+#define RES_PRF_QUES 0x00000010 -+#define RES_PRF_ANS 0x00000020 -+#define RES_PRF_AUTH 0x00000040 -+#define RES_PRF_ADD 0x00000080 -+#define RES_PRF_HEAD1 0x00000100 -+#define RES_PRF_HEAD2 0x00000200 -+#define RES_PRF_TTLID 0x00000400 -+#define RES_PRF_HEADX 0x00000800 -+#define RES_PRF_QUERY 0x00001000 -+#define RES_PRF_REPLY 0x00002000 -+#define RES_PRF_INIT 0x00004000 -+/* 0x00008000 */ -+ -+/* Things involving an internal (static) resolver context. */ -+__BEGIN_DECLS -+extern struct __res_state *__res_state(void) __attribute__ ((__const__)); -+__END_DECLS -+#define _res (*__res_state()) -+ -+#ifndef __BIND_NOSTATIC -+#define fp_nquery __fp_nquery -+#define fp_query __fp_query -+#define hostalias __hostalias -+#define p_query __p_query -+#define res_close __res_close -+#define res_init __res_init -+#define res_isourserver __res_isourserver -+#define res_mkquery __res_mkquery -+#define res_query __res_query -+#define res_querydomain __res_querydomain -+#define res_search __res_search -+#define res_send __res_send -+ -+__BEGIN_DECLS -+void fp_nquery (const u_char *, int, FILE *) __THROW; -+void fp_query (const u_char *, FILE *) __THROW; -+const char * hostalias (const char *) __THROW; -+void p_query (const u_char *) __THROW; -+void res_close (void) __THROW; -+int res_init (void) __THROW; -+int res_isourserver (const struct sockaddr_in *) __THROW; -+int res_mkquery (int, const char *, int, int, const u_char *, -+ int, const u_char *, u_char *, int) __THROW; -+int res_query (const char *, int, int, u_char *, int) __THROW; -+int res_querydomain (const char *, const char *, int, int, -+ u_char *, int) __THROW; -+int res_search (const char *, int, int, u_char *, int) __THROW; -+int res_send (const u_char *, int, u_char *, int) __THROW; -+__END_DECLS -+#endif -+ -+#define b64_ntop __b64_ntop -+#define b64_pton __b64_pton -+#define dn_comp __dn_comp -+#define dn_count_labels __dn_count_labels -+#define dn_expand __dn_expand -+#define dn_skipname __dn_skipname -+#define fp_resstat __fp_resstat -+#define loc_aton __loc_aton -+#define loc_ntoa __loc_ntoa -+#define p_cdname __p_cdname -+#define p_cdnname __p_cdnname -+#define p_class __p_class -+#define p_fqname __p_fqname -+#define p_fqnname __p_fqnname -+#define p_option __p_option -+#define p_secstodate __p_secstodate -+#define p_section __p_section -+#define p_time __p_time -+#define p_type __p_type -+#define p_rcode __p_rcode -+#define putlong __putlong -+#define putshort __putshort -+#define res_dnok __res_dnok -+#define res_hnok __res_hnok -+#define res_hostalias __res_hostalias -+#define res_mailok __res_mailok -+#define res_nameinquery __res_nameinquery -+#define res_nclose __res_nclose -+#define res_ninit __res_ninit -+#define res_nmkquery __res_nmkquery -+#define res_npquery __res_npquery -+#define res_nquery __res_nquery -+#define res_nquerydomain __res_nquerydomain -+#define res_nsearch __res_nsearch -+#define res_nsend __res_nsend -+#define res_nisourserver __res_nisourserver -+#define res_ownok __res_ownok -+#define res_queriesmatch __res_queriesmatch -+#define res_randomid __res_randomid -+#define sym_ntop __sym_ntop -+#define sym_ntos __sym_ntos -+#define sym_ston __sym_ston -+__BEGIN_DECLS -+int res_hnok (const char *) __THROW; -+int res_ownok (const char *) __THROW; -+int res_mailok (const char *) __THROW; -+int res_dnok (const char *) __THROW; -+int sym_ston (const struct res_sym *, const char *, int *) __THROW; -+const char * sym_ntos (const struct res_sym *, int, int *) __THROW; -+const char * sym_ntop (const struct res_sym *, int, int *) __THROW; -+int b64_ntop (u_char const *, size_t, char *, size_t) __THROW; -+int b64_pton (char const *, u_char *, size_t) __THROW; -+int loc_aton (const char *__ascii, u_char *__binary) __THROW; -+const char * loc_ntoa (const u_char *__binary, char *__ascii) __THROW; -+int dn_skipname (const u_char *, const u_char *) __THROW; -+void putlong (u_int32_t, u_char *) __THROW; -+void putshort (u_int16_t, u_char *) __THROW; -+const char * p_class (int) __THROW; -+const char * p_time (u_int32_t) __THROW; -+const char * p_type (int) __THROW; -+const char * p_rcode (int) __THROW; -+const u_char * p_cdnname (const u_char *, const u_char *, int, FILE *) -+ __THROW; -+const u_char * p_cdname (const u_char *, const u_char *, FILE *) __THROW; -+const u_char * p_fqnname (const u_char *__cp, const u_char *__msg, -+ int, char *, int) __THROW; -+const u_char * p_fqname (const u_char *, const u_char *, FILE *) __THROW; -+const char * p_option (u_long __option) __THROW; -+char * p_secstodate (u_long) __THROW; -+int dn_count_labels (const char *) __THROW; -+int dn_comp (const char *, u_char *, int, u_char **, u_char **) -+ __THROW; -+int dn_expand (const u_char *, const u_char *, const u_char *, -+ char *, int) __THROW; -+u_int res_randomid (void) __THROW; -+int res_nameinquery (const char *, int, int, -+ const u_char *, const u_char *) __THROW; -+int res_queriesmatch (const u_char *, const u_char *, -+ const u_char *, const u_char *) __THROW; -+const char * p_section (int __section, int __opcode) __THROW; -+/* Things involving a resolver context. */ -+int res_ninit (res_state) __THROW; -+int res_nisourserver (const res_state, -+ const struct sockaddr_in *) __THROW; -+void fp_resstat (const res_state, FILE *) __THROW; -+void res_npquery (const res_state, const u_char *, int, FILE *) -+ __THROW; -+const char * res_hostalias (const res_state, const char *, char *, size_t) -+ __THROW; -+int res_nquery (res_state, const char *, int, int, u_char *, int) -+ __THROW; -+int res_nsearch (res_state, const char *, int, int, u_char *, int) -+ __THROW; -+int res_nquerydomain (res_state, const char *, const char *, int, -+ int, u_char *, int) __THROW; -+int res_nmkquery (res_state, int, const char *, int, int, -+ const u_char *, int, const u_char *, u_char *, -+ int) __THROW; -+int res_nsend (res_state, const u_char *, int, u_char *, int) -+ __THROW; -+void res_nclose (res_state) __THROW; -+__END_DECLS -+#endif -+ -+#endif /* !_RESOLV_H_ */ -Index: glibc-2.20/configure -=================================================================== ---- glibc-2.20.orig/configure -+++ glibc-2.20/configure -@@ -7177,7 +7177,7 @@ RELEASE=`sed -n -e 's/^#define RELEASE " - - - --ac_config_files="$ac_config_files config.make Makefile" -+ac_config_files="$ac_config_files config.make Makefile nss/db-Makefile resolv/netdb.h resolv/resolv.h sysdeps/generic/ldconfig.h" - - ac_config_commands="$ac_config_commands default" - -@@ -7897,6 +7897,10 @@ do - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "config.make") CONFIG_FILES="$CONFIG_FILES config.make" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; -+ "nss/db-Makefile") CONFIG_FILES="$CONFIG_FILES nss/db-Makefile" ;; -+ "resolv/netdb.h") CONFIG_FILES="$CONFIG_FILES resolv/netdb.h" ;; -+ "resolv/resolv.h") CONFIG_FILES="$CONFIG_FILES resolv/resolv.h" ;; -+ "sysdeps/generic/ldconfig.h") CONFIG_FILES="$CONFIG_FILES sysdeps/generic/ldconfig.h" ;; - "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; -Index: glibc-2.20/sysdeps/generic/ldconfig.h -=================================================================== ---- glibc-2.20.orig/sysdeps/generic/ldconfig.h -+++ /dev/null -@@ -1,94 +0,0 @@ --/* Copyright (C) 1999-2014 Free Software Foundation, Inc. -- This file is part of the GNU C Library. -- Contributed by Andreas Jaeger <aj@suse.de>, 1999. -- -- The GNU C Library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Lesser General Public -- License as published by the Free Software Foundation; either -- version 2.1 of the License, or (at your option) any later version. -- -- The GNU C Library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Lesser General Public License for more details. -- -- You should have received a copy of the GNU Lesser General Public -- License along with the GNU C Library; if not, see -- <http://www.gnu.org/licenses/>. */ -- --#ifndef _LDCONFIG_H --#define _LDCONFIG_H -- --#include <stdint.h> -- --#define FLAG_ANY -1 --#define FLAG_TYPE_MASK 0x00ff --#define FLAG_LIBC4 0x0000 --#define FLAG_ELF 0x0001 --#define FLAG_ELF_LIBC5 0x0002 --#define FLAG_ELF_LIBC6 0x0003 --#define FLAG_REQUIRED_MASK 0xff00 --#define FLAG_SPARC_LIB64 0x0100 --#define FLAG_IA64_LIB64 0x0200 --#define FLAG_X8664_LIB64 0x0300 --#define FLAG_S390_LIB64 0x0400 --#define FLAG_POWERPC_LIB64 0x0500 --#define FLAG_MIPS64_LIBN32 0x0600 --#define FLAG_MIPS64_LIBN64 0x0700 --#define FLAG_X8664_LIBX32 0x0800 --#define FLAG_ARM_LIBHF 0x0900 --#define FLAG_AARCH64_LIB64 0x0a00 --#define FLAG_ARM_LIBSF 0x0b00 --#define FLAG_MIPS_LIB32_NAN2008 0x0c00 --#define FLAG_MIPS64_LIBN32_NAN2008 0x0d00 --#define FLAG_MIPS64_LIBN64_NAN2008 0x0e00 -- --/* Name of auxiliary cache. */ --#define _PATH_LDCONFIG_AUX_CACHE "/var/cache/ldconfig/aux-cache" -- --/* Declared in cache.c. */ --extern void print_cache (const char *cache_name); -- --extern void init_cache (void); -- --extern void save_cache (const char *cache_name); -- --extern void add_to_cache (const char *path, const char *lib, int flags, -- unsigned int osversion, uint64_t hwcap); -- --extern void init_aux_cache (void); -- --extern void load_aux_cache (const char *aux_cache_name); -- --extern int search_aux_cache (struct stat64 *stat_buf, int *flags, -- unsigned int *osversion, char **soname); -- --extern void add_to_aux_cache (struct stat64 *stat_buf, int flags, -- unsigned int osversion, const char *soname); -- --extern void save_aux_cache (const char *aux_cache_name); -- --/* Declared in readlib.c. */ --extern int process_file (const char *real_file_name, const char *file_name, -- const char *lib, int *flag, unsigned int *osversion, -- char **soname, int is_link, struct stat64 *stat_buf); -- --extern char *implicit_soname (const char *lib, int flag); -- --/* Declared in readelflib.c. */ --extern int process_elf_file (const char *file_name, const char *lib, int *flag, -- unsigned int *osversion, char **soname, -- void *file_contents, size_t file_length); -- --/* Declared in chroot_canon.c. */ --extern char *chroot_canon (const char *chroot, const char *name); -- --/* Declared in ldconfig.c. */ --extern int opt_verbose; -- --extern int opt_format; -- --/* Prototypes for a few program-wide used functions. */ --#include <programs/xmalloc.h> -- --#endif /* ! _LDCONFIG_H */ -Index: glibc-2.20/sysdeps/generic/ldconfig.h.in -=================================================================== ---- /dev/null -+++ glibc-2.20/sysdeps/generic/ldconfig.h.in -@@ -0,0 +1,94 @@ -+/* Copyright (C) 1999-2014 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ Contributed by Andreas Jaeger <aj@suse.de>, 1999. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#ifndef _LDCONFIG_H -+#define _LDCONFIG_H -+ -+#include <stdint.h> -+ -+#define FLAG_ANY -1 -+#define FLAG_TYPE_MASK 0x00ff -+#define FLAG_LIBC4 0x0000 -+#define FLAG_ELF 0x0001 -+#define FLAG_ELF_LIBC5 0x0002 -+#define FLAG_ELF_LIBC6 0x0003 -+#define FLAG_REQUIRED_MASK 0xff00 -+#define FLAG_SPARC_LIB64 0x0100 -+#define FLAG_IA64_LIB64 0x0200 -+#define FLAG_X8664_LIB64 0x0300 -+#define FLAG_S390_LIB64 0x0400 -+#define FLAG_POWERPC_LIB64 0x0500 -+#define FLAG_MIPS64_LIBN32 0x0600 -+#define FLAG_MIPS64_LIBN64 0x0700 -+#define FLAG_X8664_LIBX32 0x0800 -+#define FLAG_ARM_LIBHF 0x0900 -+#define FLAG_AARCH64_LIB64 0x0a00 -+#define FLAG_ARM_LIBSF 0x0b00 -+#define FLAG_MIPS_LIB32_NAN2008 0x0c00 -+#define FLAG_MIPS64_LIBN32_NAN2008 0x0d00 -+#define FLAG_MIPS64_LIBN64_NAN2008 0x0e00 -+ -+/* Name of auxiliary cache. */ -+#define _PATH_LDCONFIG_AUX_CACHE "@libc_cv_localstatedir@/cache/ldconfig/aux-cache" -+ -+/* Declared in cache.c. */ -+extern void print_cache (const char *cache_name); -+ -+extern void init_cache (void); -+ -+extern void save_cache (const char *cache_name); -+ -+extern void add_to_cache (const char *path, const char *lib, int flags, -+ unsigned int osversion, uint64_t hwcap); -+ -+extern void init_aux_cache (void); -+ -+extern void load_aux_cache (const char *aux_cache_name); -+ -+extern int search_aux_cache (struct stat64 *stat_buf, int *flags, -+ unsigned int *osversion, char **soname); -+ -+extern void add_to_aux_cache (struct stat64 *stat_buf, int flags, -+ unsigned int osversion, const char *soname); -+ -+extern void save_aux_cache (const char *aux_cache_name); -+ -+/* Declared in readlib.c. */ -+extern int process_file (const char *real_file_name, const char *file_name, -+ const char *lib, int *flag, unsigned int *osversion, -+ char **soname, int is_link, struct stat64 *stat_buf); -+ -+extern char *implicit_soname (const char *lib, int flag); -+ -+/* Declared in readelflib.c. */ -+extern int process_elf_file (const char *file_name, const char *lib, int *flag, -+ unsigned int *osversion, char **soname, -+ void *file_contents, size_t file_length); -+ -+/* Declared in chroot_canon.c. */ -+extern char *chroot_canon (const char *chroot, const char *name); -+ -+/* Declared in ldconfig.c. */ -+extern int opt_verbose; -+ -+extern int opt_format; -+ -+/* Prototypes for a few program-wide used functions. */ -+#include <programs/xmalloc.h> -+ -+#endif /* ! _LDCONFIG_H */ |