Resolves: #1294574
nscd breaks initgroups with nis (initgroups are empty) Update changelog and adjust extend_alloca removal patch.
This commit is contained in:
parent
9a78be1808
commit
0f28e7559e
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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).
|
||||||
|
Loading…
Reference in New Issue
Block a user