openssh: add linux-pam support
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
50bcee6ad5
commit
767ad5b4a7
44
package/openssh/openssh-fix-pam-uclibc-pthreads-clash.patch
Normal file
44
package/openssh/openssh-fix-pam-uclibc-pthreads-clash.patch
Normal file
@ -0,0 +1,44 @@
|
||||
When PAM is enabled, openssh makes its own static versions of pthreads
|
||||
functions. But when built with a uclibc toolchain, pthreads.h gets
|
||||
indirectly included. The clashing exported and static definitions of
|
||||
the pthreads functions then cause a compile error. This patch fixes
|
||||
the problem by changing the static pthread function names with macros
|
||||
when the static functions are defined.
|
||||
|
||||
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
|
||||
|
||||
diff -urN openssh-6.1p1.orig/auth-pam.c openssh-6.1p1/auth-pam.c
|
||||
--- openssh-6.1p1.orig/auth-pam.c 2009-07-12 08:07:21.000000000 -0400
|
||||
+++ openssh-6.1p1/auth-pam.c 2012-09-15 19:49:47.677288199 -0400
|
||||
@@ -166,6 +166,7 @@
|
||||
sigdie("PAM: authentication thread exited uncleanly");
|
||||
}
|
||||
|
||||
+#define pthread_exit pthread_exit_AVOID_UCLIBC_PTHREAD_CLASH
|
||||
/* ARGSUSED */
|
||||
static void
|
||||
pthread_exit(void *value)
|
||||
@@ -173,6 +174,7 @@
|
||||
_exit(0);
|
||||
}
|
||||
|
||||
+#define pthread_create pthread_create_AVOID_UCLIBC_PTHREAD_CLASH
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
pthread_create(sp_pthread_t *thread, const void *attr,
|
||||
@@ -200,6 +202,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
+#define pthread_cancel pthread_cancel_AVOID_UCLIBC_PTHREAD_CLASH
|
||||
static int
|
||||
pthread_cancel(sp_pthread_t thread)
|
||||
{
|
||||
@@ -207,6 +210,7 @@
|
||||
return (kill(thread, SIGTERM));
|
||||
}
|
||||
|
||||
+#define pthread_join pthread_join_AVOID_UCLIBC_PTHREAD_CLASH
|
||||
/* ARGSUSED */
|
||||
static int
|
||||
pthread_join(sp_pthread_t thread, void **value)
|
@ -12,6 +12,11 @@ OPENSSH_CONF_OPT = --libexecdir=/usr/lib --disable-lastlog --disable-utmp \
|
||||
|
||||
OPENSSH_DEPENDENCIES = zlib openssl
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
|
||||
OPENSSH_DEPENDENCIES += linux-pam
|
||||
OPENSSH_CONF_OPT += --with-pam
|
||||
endif
|
||||
|
||||
define OPENSSH_INSTALL_INITSCRIPT
|
||||
$(INSTALL) -D -m 755 package/openssh/S50sshd $(TARGET_DIR)/etc/init.d/S50sshd
|
||||
endef
|
||||
|
Loading…
Reference in New Issue
Block a user