Patchwork [1/1] shadow: backport a patch to make newgrp work

login
register
mail settings
Submitter rongqing.li@windriver.com
Date Aug. 20, 2013, 7:02 a.m.
Message ID <5a34823481741abaf039545e0809fd8305b125b6.1376982051.git.rongqing.li@windriver.com>
Download mbox | patch
Permalink /patch/56037/
State New
Headers show

Comments

rongqing.li@windriver.com - Aug. 20, 2013, 7:02 a.m.
From: "Roy.Li" <rongqing.li@windriver.com>

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
---
 .../shadow/files/fix-etc-gshadow-reading.patch     |   36 ++++++++++++++++++++
 meta/recipes-extended/shadow/shadow_4.1.4.3.bb     |    1 +
 2 files changed, 37 insertions(+)
 create mode 100644 meta/recipes-extended/shadow/files/fix-etc-gshadow-reading.patch

Patch

diff --git a/meta/recipes-extended/shadow/files/fix-etc-gshadow-reading.patch b/meta/recipes-extended/shadow/files/fix-etc-gshadow-reading.patch
new file mode 100644
index 0000000..80ebdc2
--- /dev/null
+++ b/meta/recipes-extended/shadow/files/fix-etc-gshadow-reading.patch
@@ -0,0 +1,36 @@ 
+shadow: Fix parsing of gshadow entries
+
+Upstream-Status: Backport [http://anonscm.debian.org/viewvc/pkg-shadow?view=revision&revision=3096]
+
+newgrp command does not function properly.
+Even with the valid password, it outputs: "'Invalid password'"
+
+Signed-off-by: Roy.Li <rongqing.li@windriver.com>
+
+2010-02-14  Michael Bunk  <mb@computer-leipzig.com>
+
+	* NEWS, lib/gshadow.c: Fix parsing of gshadow entries.
+
+diff -urpN a/lib/gshadow.c b/lib/gshadow.c
+--- a/lib/gshadow.c	2013-07-11 10:18:15.745450428 +0800
++++ b/lib/gshadow.c	2013-07-11 10:17:30.465450280 +0800
+@@ -222,6 +222,7 @@ void endsgent (void)
+ 		if (NULL == buf) {
+ 			return NULL;
+ 		}
++		buflen = BUFSIZ;
+ 	}
+ 
+ 	if (NULL == fp) {
+@@ -229,9 +230,9 @@ void endsgent (void)
+ 	}
+ 
+ #ifdef	USE_NIS
+-	while (fgetsx (buf, (int) sizeof buf, fp) == buf)
++	while (fgetsx (buf, (int) buflen, fp) == buf)
+ #else
+-	if (fgetsx (buf, (int) sizeof buf, fp) == buf)
++	if (fgetsx (buf, (int) buflen, fp) == buf)
+ #endif
+ 	{
+ 		while (   ((cp = strrchr (buf, '\n')) == NULL)
diff --git a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb b/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
index af67339..31cef20 100644
--- a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
+++ b/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
@@ -24,6 +24,7 @@  SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.bz2 \
            file://shadow-update-pam-conf.patch \
            file://shadow_fix_for_automake-1.12.patch \
            file://slackware_fix_for_glib-2.17_crypt.patch \
+           file://fix-etc-gshadow-reading.patch \
            "
 
 SRC_URI[md5sum] = "b8608d8294ac88974f27b20f991c0e79"