From 62d02fa725ebe581d7f44b85aaf224957d44dd5a Mon Sep 17 00:00:00 2001 From: Gerben Meijer Date: Wed, 8 Aug 2018 13:54:44 +0200 Subject: [PATCH] Don't use setresgid or setgid in ssh-agent Fixes it for Android Pie, see #2714 --- packages/openssh/build.sh | 2 +- packages/openssh/ssh-agent.c.patch | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 packages/openssh/ssh-agent.c.patch diff --git a/packages/openssh/build.sh b/packages/openssh/build.sh index 9029a9da0..b836cbb1b 100755 --- a/packages/openssh/build.sh +++ b/packages/openssh/build.sh @@ -47,7 +47,7 @@ termux_step_pre_configure() { ## prefixed path to program 'passwd' export PATH_PASSWD_PROG="${TERMUX_PREFIX}/bin/passwd" - CPPFLAGS+=" -DHAVE_ATTRIBUTE__SENTINEL__=1" + CPPFLAGS+=" -DHAVE_ATTRIBUTE__SENTINEL__=1 -DBROKEN_SETRESGID" LD=$CC # Needed to link the binaries LDFLAGS+=" -llog" # liblog for android logging in syslog hack } diff --git a/packages/openssh/ssh-agent.c.patch b/packages/openssh/ssh-agent.c.patch new file mode 100644 index 000000000..3f7f19a37 --- /dev/null +++ b/packages/openssh/ssh-agent.c.patch @@ -0,0 +1,15 @@ +diff -ruN a/ssh-agent.c b/ssh-agent.c +--- a/ssh-agent.c 2018-08-08 13:44:30.076228968 +0200 ++++ b/ssh-agent.c 2018-08-08 13:46:37.282997806 +0200 +@@ -1064,9 +1064,11 @@ + /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ + sanitise_stdfd(); + ++#ifndef __ANDROID__ + /* drop */ + setegid(getgid()); + setgid(getgid()); ++#endif + + platform_disable_tracing(0); /* strict=no */ +