Skip to contentSkip to conversation

shadow: fix the behavior of su

PATCH In review Chen Qi 2 participants 3 messages Jul 22, 2014

lore
Share & tools
lore

Chen Qi

author
#0 lore raw

cover shadow: fix the behavior of su

The following changes since commit 6bc3696d8451a23d743daf03ee98c4ba54ce4551:

wget: Remove unneeded DEPENDS line (2014-07-21 19:10:30 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib ChenQi/shadow-su
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/shadow-su

Chen Qi (1):
shadow: fix the behavior of su

 .../0001-su.c-fix-to-exec-command-correctly.patch  |   25 ++++++++++++++++++++
 meta/recipes-extended/shadow/shadow.inc            |    1 +
 2 files changed, 26 insertions(+)
 create mode 100644 meta/recipes-extended/shadow/files/0001-su.c-fix-to-exec-command-correctly.patch
Signature · 1 line
1.7.9.5
author
#1 lore raw

PATCH 1/1 shadow: fix the behavior of su

In systems where bash is not installed and /bin/sh is provided by busybox. Commands like `su -l -c '/home/root/test' xuser' would fail complaining the the 'su' applet could not be found.

This patch references the old version of shadow to keep the behaviour the way it was in old version so that we would avoid the problem mentioned above.

---
 .../0001-su.c-fix-to-exec-command-correctly.patch  |   25 ++++++++++++++++++++
 meta/recipes-extended/shadow/shadow.inc            |    1 +
 2 files changed, 26 insertions(+)
 create mode 100644 meta/recipes-extended/shadow/files/0001-su.c-fix-to-exec-command-correctly.patch
meta/recipes-extended/shadow/files/0001-su.c-fix-to-exec-command-correctly.patch new file +25 -0
new file mode 100644
index 0000000..31337de
@@ -0,0 +1,25 @@
+Upstream-Status: Pending
+
+Subject: su.c: fix to exec command correctly
+
+Signed-off-by: Chen Qi <[email protected]>
+---
+ src/su.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/su.c b/src/su.c
+index 3704217..bc4f2ac 100644
+--- a/src/su.c
++++ b/src/su.c
+@@ -1156,7 +1156,7 @@ int main (int argc, char **argv)
+ 		 * Use the shell and create an argv
+ 		 * with the rest of the command line included.
+ 		 */
+-		argv[-1] = cp;
++		argv[-1] = shellstr;
+ 		execve_shell (shellstr, &argv[-1], environ);
+ 		err = errno;
+ 		(void) fprintf (stderr,
+-- 
+1.7.9.5
+
meta/recipes-extended/shadow/shadow.inc +1 -0
index 66541f4..84d1f86 100644
@@ -14,6 +14,7 @@ SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.xz \
            file://shadow-4.1.3-dots-in-usernames.patch \
            file://usermod-fix-compilation-failure-with-subids-disabled.patch \
            file://fix-installation-failure-with-subids-disabled.patch \
+           file://0001-su.c-fix-to-exec-command-correctly.patch \
            ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
            "
 
Signature · 1 line
1.7.9.5
Acked-by on v1 1/1
#2 lore raw
Quoted 9 lines · Chen Qi

In systems where bash is not installed and /bin/sh is provided by busybox. Commands like `su -l -c '/home/root/test' xuser' would fail complaining the the 'su' applet could not be found.

This patch references the old version of shadow to keep the behaviour the way it was in old version so that we would avoid the problem mentioned above.

Quoted 50 lines
---
  .../0001-su.c-fix-to-exec-command-correctly.patch  |   25 ++++++++++++++++++++
  meta/recipes-extended/shadow/shadow.inc            |    1 +
  2 files changed, 26 insertions(+)

create mode 100644 meta/recipes-extended/shadow/files/0001-su.c-fix-to-exec-command-correctly.patch

meta/recipes-extended/shadow/files/0001-su.c-fix-to-exec-command-correctly.patch new file +25 -0
new file mode 100644
index 0000000..31337de
@@ -0,0 +1,25 @@
+Upstream-Status: Pending
+
+Subject: su.c: fix to exec command correctly
+
+Signed-off-by: Chen Qi <[email protected]>
+---
+ src/su.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/su.c b/src/su.c
+index 3704217..bc4f2ac 100644
+--- a/src/su.c
++++ b/src/su.c
+@@ -1156,7 +1156,7 @@ int main (int argc, char **argv)
+ 		 * Use the shell and create an argv
+ 		 * with the rest of the command line included.
+ 		 */
+-		argv[-1] = cp;
++		argv[-1] = shellstr;
+ 		execve_shell (shellstr, &argv[-1], environ);
+ 		err = errno;
+ 		(void) fprintf (stderr,
+--
+1.7.9.5
+
meta/recipes-extended/shadow/shadow.inc +1 -0
index 66541f4..84d1f86 100644
@@ -14,6 +14,7 @@ SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.xz \
             file://shadow-4.1.3-dots-in-usernames.patch \
             file://usermod-fix-compilation-failure-with-subids-disabled.patch \
             file://fix-installation-failure-with-subids-disabled.patch \
+           file://0001-su.c-fix-to-exec-command-correctly.patch \
             ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
             "
 
Signature · 4 lines
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------