openssh-server: manually set path to passwd binary
[feed/packages.git] / net / openssh / Makefile
index 2a0863248933248eb5b1cb2046646a369751b9b9..6ba72bf7028f9076a3911e4ed61987811d60b58a 100644 (file)
@@ -8,19 +8,23 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openssh
-PKG_VERSION:=8.4p1
-PKG_RELEASE:=1
+PKG_VERSION:=8.8p1
+PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \
                https://ftp.spline.de/pub/OpenBSD/OpenSSH/portable/
-PKG_HASH:=5a01d22e407eb1c05ba8a8f7c654d388a13e9f226e4ed33bd38748dafa1d2b24
+PKG_HASH:=4590890ea9bb9ace4f71ae331785a3a5823232435161960ed5fc86588f331fe9
 
 PKG_LICENSE:=BSD ISC
 PKG_LICENSE_FILES:=LICENCE
 PKG_CPE_ID:=cpe:/a:openssh:openssh
 
 PKG_REMOVE_FILES:=
+PKG_CONFIG_DEPENDS := \
+       CONFIG_OPENSSH_LIBFIDO2
+
+PKG_BUILD_DEPENDS += OPENSSH_LIBFIDO2:libfido2
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -49,9 +53,8 @@ define Package/openssh-client
        $(call Package/openssh/Default)
        TITLE+= client
        ALTERNATIVES:=\
-               200:/usr/bin/ssh:/usr/bin/openssh-ssh \
-               200:/usr/bin/scp:/usr/bin/openssh-scp \
-
+               200:/usr/bin/ssh:/usr/libexec/ssh-openssh \
+               200:/usr/bin/scp:/usr/libexec/scp-openssh
 endef
 
 define Package/openssh-client/description
@@ -83,11 +86,15 @@ endef
 
 define Package/openssh-server
        $(call Package/openssh/Default)
-       DEPENDS+= +openssh-keygen
+       DEPENDS+= +openssh-keygen +OPENSSH_LIBFIDO2:libfido2
        TITLE+= server
        USERID:=sshd=22:sshd=22
 endef
 
+define Package/openssh-server/config
+       source "$(SOURCE)/Config.in"
+endef
+
 define Package/openssh-server/description
 OpenSSH server.
 endef
@@ -115,7 +122,7 @@ endef
 define Package/openssh-server-pam/conffiles
 /etc/pam.d/sshd
 /etc/security/access-sshd-local.conf
-/etc/ssh/sshd_config
+$(Package/openssh-server/conffiles)
 endef
 
 define Package/openssh-sftp-client
@@ -165,8 +172,9 @@ CONFIGURE_ARGS += \
        --without-bsd-auth \
        --without-kerberos5 \
        --with-stackprotect \
-       --with$(if $(CONFIG_OPENSSL_ENGINE),,out)-ssl-engine
-
+       --with$(if $(CONFIG_OPENSSL_ENGINE),,out)-ssl-engine \
+       --with$(if $(CONFIG_OPENSSH_LIBFIDO2),,out)-security-key-builtin
+       
 ifeq ($(BUILD_VARIANT),with-pam)
 CONFIGURE_ARGS += \
        --with-pam
@@ -175,7 +183,7 @@ CONFIGURE_ARGS += \
        --without-pam
 endif
 
-CONFIGURE_VARS += LD="$(TARGET_CC)"
+CONFIGURE_VARS += LD="$(TARGET_CC)" PATH_PASSWD_PROG="/bin/passwd"
 
 ifeq ($(BUILD_VARIANT),with-pam)
 TARGET_LDFLAGS += -lpthread
@@ -189,17 +197,16 @@ define Build/Compile
 endef
 
 define Package/openssh-moduli/install
-       $(INSTALL_DIR) $(1)/etc/ssh
+       install -d -m0700 $(1)/etc/ssh
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ssh/moduli $(1)/etc/ssh/
 endef
 
 define Package/openssh-client/install
-       $(INSTALL_DIR) $(1)/etc/ssh
-       chmod 0700 $(1)/etc/ssh
+       install -d -m0700 $(1)/etc/ssh
        $(CP) $(PKG_INSTALL_DIR)/etc/ssh/ssh_config $(1)/etc/ssh/
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ssh $(1)/usr/bin/openssh-ssh
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/scp $(1)/usr/bin/openssh-scp
+       $(INSTALL_DIR) $(1)/usr/libexec
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ssh $(1)/usr/libexec/ssh-openssh
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/scp $(1)/usr/libexec/scp-openssh
 endef
 
 define Package/openssh-client-utils/install
@@ -213,12 +220,13 @@ define Package/openssh-keygen/install
 endef
 
 define Package/openssh-server/install
-       $(INSTALL_DIR) $(1)/etc/ssh
-       chmod 0700 $(1)/etc/ssh
+       install -d -m0700 $(1)/etc/ssh
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ssh/sshd_config $(1)/etc/ssh/
        sed -r -i 's,^#(HostKey /etc/ssh/ssh_host_(rsa|ed25519)_key)$$$$,\1,' $(1)/etc/ssh/sshd_config
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/sshd.init $(1)/etc/init.d/sshd
+       $(INSTALL_DIR) $(1)/lib/preinit
+       $(INSTALL_BIN) ./files/sshd.failsafe $(1)/lib/preinit/99_10_failsafe_sshd
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/sshd $(1)/usr/sbin/
 endef