openssh: add linux-pam support
PATCH 1/2 openssh: add linux-pam support
--- package/openssh/openssh.mk | 5 +++++ 1 file changed, 5 insertions(+)
package/openssh/openssh.mk +5 -0
@@ -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
Signature · 1 line
1.7.9.5
PATCH 2/2 vsftpd: add linux-pam support
--- package/vsftpd/vsftpd.mk | 5 +++++ 1 file changed, 5 insertions(+)
package/vsftpd/vsftpd.mk +5 -0
@@ -23,6 +23,11 @@ VSFTPD_DEPENDENCIES += libcap VSFTPD_LIBS += -lcap endif +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +VSFTPD_DEPENDENCIES += linux-pam +VSFTPD_LIBS += -lpam +endif + define VSFTPD_BUILD_CMDS $(MAKE) CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" LIBS="$(VSFTPD_LIBS)" -C $(@D)
Signature · 1 line
1.7.9.5
PATCH 2/2 vsftpd: add linux-pam support
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Danomi" == Danomi Manchego <[email protected]> writes:
Danomi> Signed-off-by: Danomi Manchego <[email protected]>
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/2 openssh: add linux-pam support
In reply to Danomi ManchegoQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Danomi" == Danomi Manchego <[email protected]> writes:
Danomi> Signed-off-by: Danomi Manchego <[email protected]>
Danomi> ---
Danomi> package/openssh/openssh.mk | 5 +++++
Danomi> 1 file changed, 5 insertions(+)
Danomi> diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk
Danomi> index 0878fce..815ed33 100644
Danomi> --- a/package/openssh/openssh.mk
Danomi> +++ b/package/openssh/openssh.mk
Danomi> @@ -12,6 +12,11 @@ OPENSSH_CONF_OPT = --libexecdir=/usr/lib --disable-lastlog --disable-utmp \
Danomi> OPENSSH_DEPENDENCIES = zlib openssl
Danomi> +ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
Danomi> +OPENSSH_DEPENDENCIES += linux-pam
Danomi> +OPENSSH_CONF_OPT += --with-pam
Danomi> +endif
What configurations did you test this with? It seems to break here with the internal toolchain because pthread.h somehow gets included:
output/host/usr/bin/arm-linux-gcc -pipe -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -fno-builtin-memset -I. -I. -DSSHDIR=\"/etc\" -D_PATH_SSH_PROGRAM=\"/usr/bin/ssh\" -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/lib/ssh-askpass\" -D_PATH_SFTP_SERVER=\"/usr/lib/sftp-server\" -D_PATH_SSH_KEY_SIGN=\"/usr/lib/ssh-keysign\" -D_PATH_SSH_PKCS11_HELPER=\"/usr/lib/ssh-pkcs11-helper\" -D_PATH_SSH_PIDDIR=\"/var/run\" -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\" -DHAVE_CONFIG_H -c auth-pam.c auth-pam.c:171: error: static declaration of ?pthread_exit? follows non-static declaration/home/peko/source/buildroot/output/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/usr/include/pthread.h:236: error: previous declaration of ?pthread_exit? was here
auth-pam.c:178: error: conflicting types for ?pthread_create?/home/peko/source/buildroot/output/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/usr/include/pthread.h:227: error: previous declaration of ?pthread_create? was here
auth-pam.c:204: error: conflicting types for ?pthread_cancel?/home/peko/source/buildroot/output/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/usr/include/pthread.h:487:
error: previous declaration of ?pthread_cancel? was here
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/2 openssh: add linux-pam support
Hi Peter,
Quoted 2 lines
What configurations did you test this with? It seems to break here with the internal toolchain because
pthread.hsomehow gets included:
All my projects use codesourcery toolchains. Sorry, I don't regularly use any uclibc
toolchains. However, I gave it a try, and reproduced the breakdown. It appears
that when PAM is enabled, openssh used a local static definition of the common
pthread functions. But when a uclibc toolchain is used, somehow pthreads.h gets
included indirectly. The exported and static definitions clash, causing the error.
Googling around, it seems that both the openwrt and the oe people have hit on this problem. The oe people elected to simply force openssh to be configured
with pam disabled when a uclibc toolchain is used. The openwrt people, on the other hand, changed all the pthead_*() calls to pthread2_*(). I think a variant
of the second approach would be best - I added macros above each static declaration
to map the static definitions (and the subsequent calls) to different, unique names.
I will resubmit this change as a v2.
Thanks,
Danomi -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120915/993a0426/attachment.html>