glibc: Drop nss-skip-unavail.patch
From a quick look at the 1063-line monstrosity that is gaih_inet(), I *think* that this patch is no longer needed. But I could be wrong.
This commit is contained in:
parent
d3d3cea6bd
commit
291527a6d9
@ -32,30 +32,7 @@ stdenv.mkDerivation ({
|
|||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
patches =
|
patches =
|
||||||
[ /* Fix for NIXPKGS-79: when doing host name lookups, when
|
[ /* Have rpcgen(1) look for cpp(1) in $PATH. */
|
||||||
nsswitch.conf contains a line like
|
|
||||||
|
|
||||||
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
|
|
||||||
|
|
||||||
don't return an error when mdns4_minimal can't be found. This
|
|
||||||
is a bug in Glibc: when a service can't be found, NSS should
|
|
||||||
continue to the next service unless "UNAVAIL=return" is set.
|
|
||||||
("NOTFOUND=return" refers to the service returning a NOTFOUND
|
|
||||||
error, not the service itself not being found.) The reason is
|
|
||||||
that the "status" variable (while initialised to UNAVAIL) is
|
|
||||||
outside of the loop that iterates over the services, the
|
|
||||||
"files" service sets status to NOTFOUND. So when the call to
|
|
||||||
find "mdns4_minimal" fails, "status" will still be NOTFOUND,
|
|
||||||
and it will return instead of continuing to "dns". Thus, the
|
|
||||||
line
|
|
||||||
|
|
||||||
hosts: mdns4_minimal [NOTFOUND=return] dns mdns4
|
|
||||||
|
|
||||||
does work because "status" will contain UNAVAIL after the
|
|
||||||
failure to find mdns4_minimal. */
|
|
||||||
./nss-skip-unavail.patch
|
|
||||||
|
|
||||||
/* Have rpcgen(1) look for cpp(1) in $PATH. */
|
|
||||||
./rpcgen-path.patch
|
./rpcgen-path.patch
|
||||||
|
|
||||||
/* Allow NixOS and Nix to handle the locale-archive. */
|
/* Allow NixOS and Nix to handle the locale-archive. */
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
diff -ru glibc-2.11.2-orig/sysdeps/posix/getaddrinfo.c glibc-2.11.2/sysdeps/posix/getaddrinfo.c
|
|
||||||
--- glibc-2.11.2-orig/sysdeps/posix/getaddrinfo.c 2010-05-19 22:38:20.000000000 +0200
|
|
||||||
+++ glibc-2.11.2/sysdeps/posix/getaddrinfo.c 2010-08-05 18:39:54.259556327 +0200
|
|
||||||
@@ -505,8 +505,6 @@
|
|
||||||
int no_data = 0;
|
|
||||||
int no_inet6_data = 0;
|
|
||||||
service_user *nip = NULL;
|
|
||||||
- enum nss_status inet6_status = NSS_STATUS_UNAVAIL;
|
|
||||||
- enum nss_status status = NSS_STATUS_UNAVAIL;
|
|
||||||
int no_more;
|
|
||||||
int old_res_options;
|
|
||||||
|
|
||||||
@@ -702,6 +700,8 @@
|
|
||||||
|
|
||||||
while (!no_more)
|
|
||||||
{
|
|
||||||
+ enum nss_status inet6_status = NSS_STATUS_UNAVAIL;
|
|
||||||
+ enum nss_status status = NSS_STATUS_UNAVAIL;
|
|
||||||
no_data = 0;
|
|
||||||
nss_gethostbyname4_r fct4
|
|
||||||
= __nss_lookup_function (nip, "gethostbyname4_r");
|
|
Loading…
x
Reference in New Issue
Block a user