Ticket #9138: openssh-pam.patch

File openssh-pam.patch, 10.3 KB (added by DkSoul, 5 years ago)

OpenSSH with PAM

  • openssh-pam/Makefile

     
     1# 
     2# Copyright (C) 2006,2008-2012 OpenWrt.org 
     3# 
     4# This is free software, licensed under the GNU General Public License v2. 
     5# See /LICENSE for more information. 
     6# 
     7 
     8include $(TOPDIR)/rules.mk 
     9 
     10PKG_NAME:=openssh 
     11PKG_VERSION:=5.8p2 
     12PKG_RELEASE:=2 
     13 
     14PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 
     15PKG_SOURCE_URL:=ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \ 
     16                ftp://openbsd.wiretapped.net/pub/OpenBSD/OpenSSH/portable/ \ 
     17                ftp://ftp.belnet.be/packages/openbsd/OpenSSH/portable/ \ 
     18                ftp://ftp.de.openbsd.org/pub/unix/OpenBSD/OpenSSH/portable/ 
     19PKG_MD5SUM:=0541579adf9d55abb15ef927048d372e 
     20 
     21PKG_BUILD_DEPENDS:=libopenssl 
     22 
     23include $(INCLUDE_DIR)/package.mk 
     24 
     25define Package/openssh-server-pam 
     26  SECTION:=net 
     27  CATEGORY:=Network 
     28  DEPENDS:=+libopenssl +zlib +libgcc +libpam +openssh-keygen 
     29  TITLE:=OpenSSH server (with PAM support) 
     30  MAINTAINER:=Peter Wagner <tripolar@gmx.at> 
     31  URL:=http://www.openssh.com/ 
     32  SUBMENU:=SSH 
     33endef 
     34 
     35define Package/openssh-server-pam/description 
     36OpenSSH server (with PAM support). 
     37endef 
     38 
     39define Package/openssh-server-pam/conffiles 
     40/etc/pam.d/sshd 
     41/etc/security/access-sshd-local.conf 
     42/etc/ssh/sshd_config 
     43endef 
     44 
     45CONFIGURE_ARGS+= \ 
     46        $(DISABLE_NLS) \ 
     47        --sysconfdir=/etc/ssh \ 
     48        --enable-shared \ 
     49        --disable-static \ 
     50        --disable-debug \ 
     51        --disable-strip \ 
     52        --disable-etc-default-login \ 
     53        --disable-lastlog \ 
     54        --disable-utmp \ 
     55        --disable-utmpx \ 
     56        --disable-wtmp \ 
     57        --disable-wtmpx \ 
     58        --without-bsd-auth \ 
     59        --without-kerberos5 \ 
     60        --without-x \ 
     61        --with-pam 
     62 
     63ifneq ($(CONFIG_SSP_SUPPORT),y) 
     64CONFIGURE_ARGS += \ 
     65        --without-stackprotect 
     66endif 
     67 
     68CONFIGURE_VARS += LD="$(TARGET_CC)" 
     69 
     70TARGET_LDFLAGS += -lpthread 
     71 
     72define Build/Compile 
     73        $(MAKE) -C $(PKG_BUILD_DIR) \ 
     74                DESTDIR="$(PKG_INSTALL_DIR)" \ 
     75                STRIP_OPT="" \ 
     76                all install 
     77endef 
     78 
     79define Package/openssh-server-pam/install 
     80        $(INSTALL_DIR) $(1)/etc/ssh 
     81        chmod 0700 $(1)/etc/ssh 
     82        $(CP) $(PKG_INSTALL_DIR)/etc/ssh/sshd_config $(1)/etc/ssh/ 
     83        $(CP) $(PKG_INSTALL_DIR)/etc/ssh/moduli $(1)/etc/ssh/ 
     84        $(INSTALL_DIR) $(1)/etc/pam.d 
     85        $(INSTALL_DATA) ./files/sshd.pam $(1)/etc/pam.d/sshd 
     86        $(INSTALL_DIR) $(1)/etc/security 
     87        $(INSTALL_DATA) ./files/sshd.pam-access $(1)/etc/security/access-sshd-local.conf 
     88        $(INSTALL_DIR) $(1)/etc/init.d 
     89        $(INSTALL_BIN) ./files/sshd.init $(1)/etc/init.d/sshd 
     90        $(INSTALL_DIR) $(1)/usr/sbin 
     91        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/sshd $(1)/usr/sbin/ 
     92endef 
     93 
     94define Package/openssh-server-pam/postinst 
     95#!/bin/sh 
     96 
     97name=sshd 
     98id=22 
     99 
     100if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then 
     101        echo "adding group $$name to /etc/group" 
     102        echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group 
     103fi 
     104 
     105if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then 
     106        echo "adding user $$name to /etc/passwd" 
     107        echo "$${name}:x:$${id}:$${id}:$${name}:/var/empty/.$${name}:/bin/false" >> $${IPKG_INSTROOT}/etc/passwd 
     108fi 
     109endef 
     110 
     111$(eval $(call BuildPackage,openssh-server-pam)) 
  • openssh-pam/files/sshd.pam-access

     
     1# Skip Google Authenticator for local network 
     2#+ : ALL : 192.168.1.0/24 
     3+ : ALL : LOCAL 
     4- : ALL : ALL 
  • openssh-pam/files/sshd.pam

     
     1# PAM configuration for the Secure Shell service 
     2 
     3# Read environment variables from /etc/environment and 
     4# /etc/security/pam_env.conf. 
     5auth       required     pam_env.so 
     6 
     7# Skip Google Authenticator if logging in from the local network. 
     8# auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-sshd-local.conf 
     9# Google Authenticator 2-step verification. 
     10# auth       requisite    pam_google_authenticator.so 
     11 
     12# Standard Un*x authentication. 
     13auth       include      common-auth 
     14 
     15# Disallow non-root logins when /etc/nologin exists. 
     16account    required     pam_nologin.so 
     17 
     18# Uncomment and edit /etc/security/access.conf if you need to set complex 
     19# access limits that are hard to express in sshd_config. 
     20# account    required     pam_access.so 
     21 
     22# Standard Un*x authorization. 
     23account    include      common-account 
     24 
     25# Standard Un*x session setup and teardown. 
     26session    include      common-session 
     27 
     28# Print the message of the day upon successful login. 
     29session    optional     pam_motd.so 
     30 
     31# Print the status of the user's mailbox upon successful login. 
     32session    optional     pam_mail.so standard noenv 
     33 
     34# Set up user limits from /etc/security/limits.conf. 
     35session    required     pam_limits.so 
     36 
     37# Set up SELinux capabilities (need modified pam) 
     38# session    required     pam_selinux.so multiple 
     39 
     40# Standard Un*x password updating. 
     41password   include      common-password 
  • openssh-pam/files/sshd.init

     
     1#!/bin/sh /etc/rc.common 
     2# Copyright (C) 2006 OpenWrt.org 
     3START=50 
     4STOP=50 
     5 
     6start() { 
     7        for type in rsa dsa; do { 
     8                # check for keys 
     9                key=/etc/ssh/ssh_host_${type}_key 
     10                [ ! -f $key ] && { 
     11                        # generate missing keys 
     12                        [ -x /usr/bin/ssh-keygen ] && { 
     13                                /usr/bin/ssh-keygen -N '' -t $type -f $key 2>&- >&- && exec /etc/rc.common "$initscript" start 
     14                        } & 
     15                        exit 0 
     16                } 
     17        }; done 
     18        mkdir -p /var/empty 
     19        chmod 0700 /var/empty 
     20        /usr/sbin/sshd 
     21} 
     22 
     23stop() { 
     24        kill $(cat /var/run/sshd.pid) 
     25} 
     26 
     27shutdown() { 
     28        killall sshd 
     29} 
  • openssh-pam/patches/110-no_ripemd_fix.patch

     
     1--- a/mac.c 
     2+++ b/mac.c 
     3@@ -59,8 +59,10 @@ struct { 
     4        { "hmac-sha1-96",               SSH_EVP, EVP_sha1, 96, -1, -1 }, 
     5        { "hmac-md5",                   SSH_EVP, EVP_md5, 0, -1, -1 }, 
     6        { "hmac-md5-96",                SSH_EVP, EVP_md5, 96, -1, -1 }, 
     7+#ifndef OPENSSL_NO_RIPEMD 
     8        { "hmac-ripemd160",             SSH_EVP, EVP_ripemd160, 0, -1, -1 }, 
     9        { "hmac-ripemd160@openssh.com", SSH_EVP, EVP_ripemd160, 0, -1, -1 }, 
     10+#endif 
     11        { "umac-64@openssh.com",        SSH_UMAC, NULL, 0, 128, 64 }, 
     12        { NULL,                         0, NULL, 0, -1, -1 } 
     13 }; 
  • openssh-pam/patches/130-implicit_memset_decl_fix.patch

     
     1--- a/includes.h 
     2+++ b/includes.h 
     3@@ -57,6 +57,9 @@ 
     4 /* 
     5  *-*-nto-qnx needs these headers for strcasecmp and LASTLOG_FILE respectively 
     6  */ 
     7+#ifdef HAVE_STRING_H 
     8+# include <string.h> 
     9+#endif 
     10 #ifdef HAVE_STRINGS_H 
     11 # include <strings.h> 
     12 #endif 
  • openssh-pam/patches/220-sshd_config.patch

     
     1--- a/sshd_config 
     2+++ b/sshd_config 
     3@@ -57,8 +57,8 @@ 
     4 #IgnoreRhosts yes 
     5  
     6 # To disable tunneled clear text passwords, change to no here! 
     7-#PasswordAuthentication yes 
     8-#PermitEmptyPasswords no 
     9+PasswordAuthentication no 
     10+PermitEmptyPasswords no 
     11  
     12 # Change to no to disable s/key passwords 
     13 #ChallengeResponseAuthentication yes 
     14@@ -82,7 +82,7 @@ 
     15 # If you just want the PAM account and session checks to run without 
     16 # PAM authentication, then enable this but set PasswordAuthentication 
     17 # and ChallengeResponseAuthentication to 'no'. 
     18-#UsePAM no 
     19+UsePAM yes 
     20  
     21 #AllowAgentForwarding yes 
     22 #AllowTcpForwarding yes 
  • openssh-pam/patches/200-dscp-qos.patch

     
     1Index: packages/net/openssh/patches/200-enable_dscp_qos.patch 
     2=================================================================== 
     3--- packages/net/openssh/patches/200-enable_dscp_qos.patch      (revision 0) 
     4+++ packages/net/openssh/patches/200-enable_dscp_qos.patch      (revision 0) 
     5@@ -0,0 +1,21 @@ 
     6+--- a/ssh_config       2010-01-12 01:40:27.000000000 -0700 
     7++++ b/ssh_config       2011-02-09 14:35:30.000000000 -0700 
     8+@@ -45,3 +45,6 @@ 
     9+ #   PermitLocalCommand no 
     10+ #   VisualHostKey no 
     11+ #   ProxyCommand ssh -q -W %h:%p gateway.example.com 
     12++ 
     13++# enable DSCP QoS values (per RFC-4594) 
     14++#IPQoS AF21 AF11 
     15+--- a/sshd_config      2010-09-09 19:20:12.000000000 -0600 
     16++++ b/sshd_config      2011-02-09 14:32:25.000000000 -0700 
     17+@@ -108,6 +108,9 @@ 
     18+ # no default banner path 
     19+ #Banner none 
     20+  
     21++# enable DSCP QoS values (per RFC-4594) 
     22++#IPQoS AF21 AF11 
     23++ 
     24+ # override default of no subsystems 
     25+ Subsystem     sftp    /usr/libexec/sftp-server 
     26+  
  • openssh-pam/patches/100-no_cast_fix.patch

     
     1--- a/cipher.c 
     2+++ b/cipher.c 
     3@@ -73,7 +73,9 @@ struct Cipher { 
     4  
     5        { "3des-cbc",           SSH_CIPHER_SSH2, 8, 24, 0, 1, EVP_des_ede3_cbc }, 
     6        { "blowfish-cbc",       SSH_CIPHER_SSH2, 8, 16, 0, 1, EVP_bf_cbc }, 
     7+#ifndef OPENSSL_NO_CAST 
     8        { "cast128-cbc",        SSH_CIPHER_SSH2, 8, 16, 0, 1, EVP_cast5_cbc }, 
     9+#endif 
     10        { "arcfour",            SSH_CIPHER_SSH2, 8, 16, 0, 0, EVP_rc4 }, 
     11        { "arcfour128",         SSH_CIPHER_SSH2, 8, 16, 1536, 0, EVP_rc4 }, 
     12        { "arcfour256",         SSH_CIPHER_SSH2, 8, 32, 1536, 0, EVP_rc4 }, 
  • openssh-pam/patches/210-pthread-hack

     
     1--- a/auth-pam.c 
     2+++ b/auth-pam.c 
     3@@ -108,6 +108,8 @@ 
     4 # error "USE_POSIX_THREADS replaced by UNSUPPORTED_POSIX_THREADS_HACK" 
     5 #endif 
     6  
     7+#define UNSUPPORTED_POSIX_THREADS_HACK 1 
     8+ 
     9 /* 
     10  * Formerly known as USE_POSIX_THREADS, using this is completely unsupported 
     11  * and generally a bad idea.  Use at own risk and do not expect support if