diff --git a/glibc-rh1906066.patch b/glibc-rh1906066.patch new file mode 100644 index 0000000..902e353 --- /dev/null +++ b/glibc-rh1906066.patch @@ -0,0 +1,59 @@ +From d74a39158ab4aafa8af874e996bf5ddbde593bc0 Mon Sep 17 00:00:00 2001 +From: DJ Delorie +Date: Wed, 9 Dec 2020 21:46:30 -0500 +Subject: nsswitch: handle missing actions properly + +Some internal functions need to know if a database has a nonzero +list of actions; success getting the database does not guarantee +that. Add checks for such as needed. + +Skip the ":" in each nsswitch.conf line so as not to add a dummy +action libnss_:.so + +diff --git a/grp/initgroups.c b/grp/initgroups.c +index a60ca1c395..a0a836d862 100644 +--- a/grp/initgroups.c ++++ b/grp/initgroups.c +@@ -72,11 +72,13 @@ internal_getgrouplist (const char *user, gid_t group, long int *size, + + nss_action_list nip; + +- if (__nss_database_get (nss_database_initgroups, &nip)) ++ if (__nss_database_get (nss_database_initgroups, &nip) ++ && nip != NULL) + { + use_initgroups_entry = true; + } +- else if (__nss_database_get (nss_database_group, &nip)) ++ else if (__nss_database_get (nss_database_group, &nip) ++ && nip != NULL) + { + use_initgroups_entry = false; + } +diff --git a/nss/nss_database.c b/nss/nss_database.c +index e8c307d1f3..a036e95fbf 100644 +--- a/nss/nss_database.c ++++ b/nss/nss_database.c +@@ -212,7 +212,8 @@ process_line (struct nss_database_data *data, char *line) + if (line[0] == '\0' || name == line) + /* Syntax error. Skip this line. */ + return true; +- *line++ = '\0'; ++ while (line[0] != '\0' && (isspace (line[0]) || line[0] == ':')) ++ *line++ = '\0'; + + int db = name_to_database_index (name); + if (db < 0) +diff --git a/nss/nsswitch.c b/nss/nsswitch.c +index 40109c744d..921062e04f 100644 +--- a/nss/nsswitch.c ++++ b/nss/nsswitch.c +@@ -81,7 +81,7 @@ __nss_database_lookup2 (const char *database, const char *alternate_name, + if (database_names[database_id] == NULL) + return -1; + +- if (__nss_database_get (database_id, ni)) ++ if (__nss_database_get (database_id, ni) && *ni) + { + /* Success. */ + return 0; diff --git a/glibc.spec b/glibc.spec index 51446ec..af60777 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,4 +1,4 @@ -%define glibcsrcdir glibc-2.32.9000-366-g4c38c1a229 +%define glibcsrcdir glibc-2.32.9000-374-g088e962537 %define glibcversion 2.32.9000 # Pre-release tarballs are pulled in from git using a command that is # effectively: @@ -27,12 +27,8 @@ %bcond_without benchtests # Default: Not bootstrapping. %bcond_with bootstrap -# Default: Enable using -Werror (except for ELN). -%if 0%{?rhel} > 0 -%bcond_with werror -%else +# Default: Enable using -Werror %bcond_without werror -%endif # Default: Always build documentation. %bcond_without docs @@ -100,7 +96,7 @@ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 18%{?dist} +Release: 21%{?dist} # In general, GPLv2+ is used by programs, LGPLv2+ is used for # libraries. @@ -162,6 +158,9 @@ Patch29: glibc-fedora-nsswitch.patch Patch30: glibc-deprecated-selinux-makedb.patch Patch31: glibc-deprecated-selinux-nscd.patch +# Temporary until official patch is committed upstream +Patch99: glibc-rh1906066.patch + ############################################################################## # Continued list of core "glibc" package information: ############################################################################## @@ -2258,6 +2257,24 @@ fi %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %changelog +* Mon Dec 14 2020 Florian Weimer - 2.32.9000-21 +- Re-enable -Werror everywhere (#1888246) + +* Wed Dec 09 2020 DJ Delorie - 2.32.9000-20 +- nsswitch: handle missing actions properly (temporary fix for 1906066) + +* Mon Dec 07 2020 Arjun Shankar - 2.32.9000-19 +- Auto-sync with upstream branch master, + commit 088e9625378f25607acff3daf7a79cbdee497043: +- x86: Rename readelflib.c +- nsswitch: use new internal API (callers) +- nsswitch: user new internal API (tests) +- nsswitch: use new internal API (core) +- nss: Implement +- : New abstraction for combining NSS modules and NSS actions +- nss: Introduce +- Add scripts/move-symbol-to-libc.py + * Fri Dec 04 2020 Arjun Shankar - 2.32.9000-18 - Drop glibc-revert-fxstat-compat.patch; applied upstream. - Drop glibc-revert-mknod-compat.patch; applied upstream. diff --git a/sources b/sources index 137c9f5..1dd85ba 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glibc-2.32.9000-366-g4c38c1a229.tar.xz) = fbf6178b6bd9e1e752173af3ddaca4e32e7ccc34efaa654eec287697b9d219214bd6ca82231d2b16adab01f135d396934fb08995325a8004e59c9b376a383704 +SHA512 (glibc-2.32.9000-374-g088e962537.tar.xz) = e621b9a2e28491a1823f13541dc2d17ad812e6c8a12ae1b128dce0697280b8eb0571a06570b9e05ea1004d20d639f0193dfe425974bffccb9ff83bc14fd7c629