nscd breaks initgroups with nis (initgroups are empty)

Update changelog and adjust extend_alloca removal patch.
This commit is contained in:
Florian Weimer 2016-07-05 19:05:46 +02:00
parent 9a78be1808
commit 0f28e7559e
2 changed files with 10 additions and 9 deletions

View File

@ -513,7 +513,7 @@ Index: b/nis/nss_nis/nis-initgroups.c
enum nss_status status; enum nss_status status;
intern_t intern = { NULL, NULL, 0 }; intern_t intern = { NULL, NULL, 0 };
gid_t *groups = *groupsp; gid_t *groups = *groupsp;
@@ -264,15 +265,20 @@ _nss_nis_initgroups_dyn (const char *use @@ -264,15 +265,21 @@ _nss_nis_initgroups_dyn (const char *use
if (status != NSS_STATUS_SUCCESS) if (status != NSS_STATUS_SUCCESS)
return status; return status;
@ -521,7 +521,7 @@ Index: b/nis/nss_nis/nis-initgroups.c
+ struct scratch_buffer tmpbuf; + struct scratch_buffer tmpbuf;
+ scratch_buffer_init (&tmpbuf); + scratch_buffer_init (&tmpbuf);
do while (1)
{ {
while ((status = while ((status =
- internal_getgrent_r (&grpbuf, tmpbuf, buflen, errnop, - internal_getgrent_r (&grpbuf, tmpbuf, buflen, errnop,
@ -532,12 +532,13 @@ Index: b/nis/nss_nis/nis-initgroups.c
+ if (!scratch_buffer_grow (&tmpbuf)) + if (!scratch_buffer_grow (&tmpbuf))
+ { + {
+ status = NSS_STATUS_TRYAGAIN; + status = NSS_STATUS_TRYAGAIN;
+ *errnop = errno;
+ goto done; + goto done;
+ } + }
if (status != NSS_STATUS_SUCCESS) if (status != NSS_STATUS_SUCCESS)
goto done; {
@@ -325,6 +331,7 @@ done: @@ -331,6 +338,7 @@ done:
intern.start = intern.start->next; intern.start = intern.start->next;
free (intern.next); free (intern.next);
} }
@ -893,7 +894,7 @@ Index: b/nscd/grpcache.c
#include "nscd.h" #include "nscd.h"
#include "dbg_log.h" #include "dbg_log.h"
@@ -437,12 +437,12 @@ addgrbyX (struct database_dyn *db, int f @@ -448,12 +448,12 @@ addgrbyX (struct database_dyn *db, int f
look again in the table whether the dataset is now available. We look again in the table whether the dataset is now available. We
simply insert it. It does not matter if it is in there twice. The simply insert it. It does not matter if it is in there twice. The
pruning function only will look at the timestamp. */ pruning function only will look at the timestamp. */
@ -909,7 +910,7 @@ Index: b/nscd/grpcache.c
if (__glibc_unlikely (debug_level > 0)) if (__glibc_unlikely (debug_level > 0))
{ {
@@ -452,43 +452,24 @@ addgrbyX (struct database_dyn *db, int f @@ -463,43 +463,24 @@ addgrbyX (struct database_dyn *db, int f
dbg_log (_("Reloading \"%s\" in group cache!"), keystr); dbg_log (_("Reloading \"%s\" in group cache!"), keystr);
} }
@ -1078,7 +1079,7 @@ Index: b/nscd/pwdcache.c
#include "nscd.h" #include "nscd.h"
#include "dbg_log.h" #include "dbg_log.h"
@@ -415,12 +415,11 @@ addpwbyX (struct database_dyn *db, int f @@ -426,12 +426,11 @@ addpwbyX (struct database_dyn *db, int f
look again in the table whether the dataset is now available. We look again in the table whether the dataset is now available. We
simply insert it. It does not matter if it is in there twice. The simply insert it. It does not matter if it is in there twice. The
pruning function only will look at the timestamp. */ pruning function only will look at the timestamp. */
@ -1093,7 +1094,7 @@ Index: b/nscd/pwdcache.c
if (__glibc_unlikely (debug_level > 0)) if (__glibc_unlikely (debug_level > 0))
{ {
@@ -430,45 +429,26 @@ addpwbyX (struct database_dyn *db, int f @@ -441,45 +440,26 @@ addpwbyX (struct database_dyn *db, int f
dbg_log (_("Reloading \"%s\" in password cache!"), keystr); dbg_log (_("Reloading \"%s\" in password cache!"), keystr);
} }

View File

@ -2072,7 +2072,7 @@ rm -f *.filelist*
* Tue Jul 05 2016 Florian Weimer <fweimer@redhat.com> - 2.23.90-26 * Tue Jul 05 2016 Florian Weimer <fweimer@redhat.com> - 2.23.90-26
- Auto-sync with upstream master, up to commit - Auto-sync with upstream master, up to commit
30e4cc5413f72c2c728a544389da0c48500d9904, fixing these bug: 30e4cc5413f72c2c728a544389da0c48500d9904, fixing these bug:
- glibc: strcasecmp failure on ppc64le (#1351737) - strcasecmp failure on ppc64le (#nscd breaks initgroups with nis (initgroups are empty) (#1294574)
* Fri Jun 24 2016 Carlos O'Donell <carlos@redhat.com> - 2.23.90-25 * Fri Jun 24 2016 Carlos O'Donell <carlos@redhat.com> - 2.23.90-25
- Properly handle more invalid --install-langs arguments (#1349906). - Properly handle more invalid --install-langs arguments (#1349906).