Update dropbear files

pull/192/head
Igor Zalatov (from Citadel PC) 2022-02-24 13:09:58 +03:00
parent 3ac2750179
commit 7f0c71ba3d
4 changed files with 77 additions and 67 deletions

View File

@ -1,6 +1,7 @@
source "$BR2_EXTERNAL_HISILICON_PATH/linux/Config.ext.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/hisi_patcher/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/aura-httpd/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/dropbear-openipc/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/f2fs-tools-openipc/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/fdk-aac-openipc/Config.in"
source "$BR2_EXTERNAL_HISILICON_PATH/package/fwprintenv-openipc/Config.in"

View File

@ -1,10 +1,11 @@
include $(BR2_EXTERNAL_HISILICON_PATH)/linux/linux-ext-hisi_patcher.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/hisi_patcher/hisi_patcher.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/aura-httpd/aura-httpd.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/gdbserver-lite/gdbserver-lite.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/f2fs-tools-openipc/f2fs-tools-openipc.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/dropbear-openipc/dropbear-openipc.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/fdk-aac-openipc/fdk-aac-openipc.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/fwprintenv-openipc/fwprintenv-openipc.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/gdbserver-lite/gdbserver-lite.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/hisi_gpio/hisi_gpio.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-opensdk/hisilicon-opensdk.mk
include $(BR2_EXTERNAL_HISILICON_PATH)/package/hisilicon-osdrv-hi3516av100/hisilicon-osdrv-hi3516av100.mk

View File

@ -1,7 +1,7 @@
config BR2_PACKAGE_DROPBEAR
bool "dropbear"
select BR2_PACKAGE_ZLIB if !BR2_PACKAGE_DROPBEAR_SMALL
select BR2_PACKAGE_LIBTOMCRYPT if !BR2_PACKAGE_DROPBEAR_SMALL
config BR2_PACKAGE_DROPBEAR_OPENIPC
bool "dropbear-openipc"
select BR2_PACKAGE_ZLIB if !BR2_PACKAGE_DROPBEAR_OPENIPC_SMALL
select BR2_PACKAGE_LIBTOMCRYPT if !BR2_PACKAGE_DROPBEAR_OPENIPC_SMALL
help
A small SSH 2 server designed for small memory environments.
@ -16,9 +16,9 @@ config BR2_PACKAGE_DROPBEAR
https://matt.ucc.asn.au/dropbear/dropbear.html
if BR2_PACKAGE_DROPBEAR
if BR2_PACKAGE_DROPBEAR_OPENIPC
config BR2_PACKAGE_DROPBEAR_CLIENT
config BR2_PACKAGE_DROPBEAR_OPENIPC_CLIENT
bool "client programs"
default y
help
@ -28,14 +28,14 @@ config BR2_PACKAGE_DROPBEAR_CLIENT
and are therefore always build regardless this setting:
dropbear, dropbearkey, dropbearconvert, scp
config BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS
config BR2_PACKAGE_DROPBEAR_OPENIPC_DISABLE_REVERSEDNS
bool "disable reverse DNS lookups"
help
Disable reverse DNS lookups on connection. This can be handy
on systems without working DNS, as connections otherwise
stall until DNS times out.
config BR2_PACKAGE_DROPBEAR_SMALL
config BR2_PACKAGE_DROPBEAR_OPENIPC_SMALL
bool "optimize for size"
default y
help
@ -44,19 +44,19 @@ config BR2_PACKAGE_DROPBEAR_SMALL
Tradeoffs are slower hashes and ciphers, and disabling of the
blowfish cipher and zlib.
config BR2_PACKAGE_DROPBEAR_WTMP
config BR2_PACKAGE_DROPBEAR_OPENIPC_WTMP
bool "log dropbear access to wtmp"
help
Enable logging of dropbear access to wtmp. Notice that
Buildroot does not generate wtmp by default.
config BR2_PACKAGE_DROPBEAR_LASTLOG
config BR2_PACKAGE_DROPBEAR_OPENIPC_LASTLOG
bool "log dropbear access to lastlog"
help
Enable logging of dropbear access to lastlog. Notice that
Buildroot does not generate lastlog by default.
config BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO
config BR2_PACKAGE_DROPBEAR_OPENIPC_LEGACY_CRYPTO
bool "enable legacy crypto"
help
Enable legacy and possibly insecure algorithms:
@ -66,7 +66,7 @@ config BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO
DSA public keys
Diffie-Hellman Group1 key exchange
config BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE
config BR2_PACKAGE_DROPBEAR_OPENIPC_LOCALOPTIONS_FILE
string "path to custom localoptions.h definitions file"
help
Path to a file whose contents will be appended to Dropbear

View File

@ -4,130 +4,138 @@
#
################################################################################
DROPBEAR_VERSION = 2019.78
DROPBEAR_SITE = https://matt.ucc.asn.au/dropbear/releases
DROPBEAR_SOURCE = dropbear-$(DROPBEAR_VERSION).tar.bz2
DROPBEAR_LICENSE = MIT, BSD-2-Clause, BSD-3-Clause
DROPBEAR_LICENSE_FILES = LICENSE
DROPBEAR_TARGET_BINS = dropbearkey dropbearconvert scp
DROPBEAR_PROGRAMS = dropbear $(DROPBEAR_TARGET_BINS)
DROPBEAR_OPENIPC_VERSION = 2020.81
DROPBEAR_OPENIPC_SITE = https://matt.ucc.asn.au/dropbear/releases
DROPBEAR_OPENIPC_SOURCE = dropbear-$(DROPBEAR_OPENIPC_VERSION).tar.bz2
DROPBEAR_OPENIPC_LICENSE = MIT, BSD-2-Clause, Public domain
DROPBEAR_OPENIPC_LICENSE_FILES = LICENSE
DROPBEAR_OPENIPC_TARGET_BINS = dropbearkey dropbearconvert scp
DROPBEAR_OPENIPC_PROGRAMS = dropbear $(DROPBEAR_OPENIPC_TARGET_BINS)
DROPBEAR_OPENIPC_CPE_ID_VENDOR = dropbear_ssh_project
DROPBEAR_OPENIPC_CPE_ID_PRODUCT = dropbear_ssh
# Disable hardening flags added by dropbear configure.ac, and let
# Buildroot add them when the relevant options are enabled. This
# prevents dropbear from using SSP support when not available.
DROPBEAR_CONF_OPTS = --disable-harden
DROPBEAR_OPENIPC_CONF_OPTS = --disable-harden
ifeq ($(BR2_PACKAGE_DROPBEAR_CLIENT),y)
ifeq ($(BR2_PACKAGE_DROPBEAR_OPENIPC_CLIENT),y)
# Build dbclient, and create a convenience symlink named ssh
DROPBEAR_PROGRAMS += dbclient
DROPBEAR_TARGET_BINS += dbclient ssh
DROPBEAR_OPENIPC_PROGRAMS += dbclient
DROPBEAR_OPENIPC_TARGET_BINS += dbclient ssh
endif
DROPBEAR_MAKE = \
DROPBEAR_OPENIPC_MAKE = \
$(MAKE) MULTI=1 SCPPROGRESS=1 \
PROGRAMS="$(DROPBEAR_PROGRAMS)"
PROGRAMS="$(DROPBEAR_OPENIPC_PROGRAMS)"
# With BR2_SHARED_STATIC_LIBS=y the generic infrastructure adds a
# --enable-static flags causing dropbear to be built as a static
# binary. Adding a --disable-static reverts this
ifeq ($(BR2_SHARED_STATIC_LIBS),y)
DROPBEAR_CONF_OPTS += --disable-static
DROPBEAR_OPENIPC_CONF_OPTS += --disable-static
endif
ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
define DROPBEAR_SVR_PAM_AUTH
define DROPBEAR_OPENIPC_SVR_PAM_AUTH
echo '#define DROPBEAR_SVR_PASSWORD_AUTH 0' >> $(@D)/localoptions.h
echo '#define DROPBEAR_SVR_PAM_AUTH 1' >> $(@D)/localoptions.h
endef
define DROPBEAR_INSTALL_PAM_CONF
define DROPBEAR_OPENIPC_INSTALL_PAM_CONF
$(INSTALL) -D -m 644 package/dropbear/etc-pam.d-sshd $(TARGET_DIR)/etc/pam.d/sshd
endef
DROPBEAR_DEPENDENCIES += linux-pam
DROPBEAR_CONF_OPTS += --enable-pam
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_SVR_PAM_AUTH
DROPBEAR_POST_INSTALL_TARGET_HOOKS += DROPBEAR_INSTALL_PAM_CONF
DROPBEAR_OPENIPC_DEPENDENCIES += linux-pam
DROPBEAR_OPENIPC_CONF_OPTS += --enable-pam
DROPBEAR_OPENIPC_POST_EXTRACT_HOOKS += DROPBEAR_OPENIPC_SVR_PAM_AUTH
DROPBEAR_OPENIPC_POST_INSTALL_TARGET_HOOKS += DROPBEAR_OPENIPC_INSTALL_PAM_CONF
else
# Ensure that dropbear doesn't use crypt() when it's not available
define DROPBEAR_SVR_PASSWORD_AUTH
define DROPBEAR_OPENIPC_SVR_PASSWORD_AUTH
echo '#if !HAVE_CRYPT' >> $(@D)/localoptions.h
echo '#define DROPBEAR_SVR_PASSWORD_AUTH 0' >> $(@D)/localoptions.h
echo '#endif' >> $(@D)/localoptions.h
endef
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_SVR_PASSWORD_AUTH
DROPBEAR_OPENIPC_POST_EXTRACT_HOOKS += DROPBEAR_OPENIPC_SVR_PASSWORD_AUTH
endif
ifneq ($(BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO),y)
define DROPBEAR_DISABLE_LEGACY_CRYPTO
echo '#define DROPBEAR_3DES 0' >> $(@D)/localoptions.h
echo '#define DROPBEAR_ENABLE_CBC_MODE 0' >> $(@D)/localoptions.h
echo '#define DROPBEAR_SHA1_96_HMAC 0' >> $(@D)/localoptions.h
ifeq ($(BR2_PACKAGE_DROPBEAR_OPENIPC_LEGACY_CRYPTO),y)
define DROPBEAR_OPENIPC_ENABLE_LEGACY_CRYPTO
echo '#define DROPBEAR_3DES 1' >> $(@D)/localoptions.h
echo '#define DROPBEAR_ENABLE_CBC_MODE 1' >> $(@D)/localoptions.h
echo '#define DROPBEAR_SHA1_96_HMAC 1' >> $(@D)/localoptions.h
endef
DROPBEAR_OPENIPC_POST_EXTRACT_HOOKS += DROPBEAR_OPENIPC_ENABLE_LEGACY_CRYPTO
else
define DROPBEAR_OPENIPC_DISABLE_LEGACY_CRYPTO
echo '#define DROPBEAR_DSS 0' >> $(@D)/localoptions.h
echo '#define DROPBEAR_DH_GROUP1 0' >> $(@D)/localoptions.h
endef
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_DISABLE_LEGACY_CRYPTO
DROPBEAR_OPENIPC_POST_EXTRACT_HOOKS += DROPBEAR_OPENIPC_DISABLE_LEGACY_CRYPTO
endif
ifeq ($(BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS),)
define DROPBEAR_ENABLE_REVERSE_DNS
ifeq ($(BR2_PACKAGE_DROPBEAR_OPENIPC_DISABLE_REVERSEDNS),)
define DROPBEAR_OPENIPC_ENABLE_REVERSE_DNS
echo '#define DO_HOST_LOOKUP 1' >> $(@D)/localoptions.h
endef
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_ENABLE_REVERSE_DNS
DROPBEAR_OPENIPC_POST_EXTRACT_HOOKS += DROPBEAR_OPENIPC_ENABLE_REVERSE_DNS
endif
ifeq ($(BR2_PACKAGE_DROPBEAR_SMALL),y)
DROPBEAR_CONF_OPTS += --disable-zlib --enable-bundled-libtom
ifeq ($(BR2_PACKAGE_DROPBEAR_OPENIPC_SMALL),y)
DROPBEAR_OPENIPC_LICENSE += , Unlicense, WTFPL
DROPBEAR_OPENIPC_LICENSE_FILES += libtommath/LICENSE libtomcrypt/LICENSE
DROPBEAR_OPENIPC_CONF_OPTS += --disable-zlib --enable-bundled-libtom
else
define DROPBEAR_BUILD_FEATURED
define DROPBEAR_OPENIPC_BUILD_FEATURED
echo '#define DROPBEAR_SMALL_CODE 0' >> $(@D)/localoptions.h
echo '#define DROPBEAR_TWOFISH128 1' >> $(@D)/localoptions.h
echo '#define DROPBEAR_TWOFISH256 1' >> $(@D)/localoptions.h
endef
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_BUILD_FEATURED
DROPBEAR_DEPENDENCIES += zlib libtomcrypt
DROPBEAR_CONF_OPTS += --disable-bundled-libtom
DROPBEAR_OPENIPC_POST_EXTRACT_HOOKS += DROPBEAR_OPENIPC_BUILD_FEATURED
DROPBEAR_OPENIPC_DEPENDENCIES += zlib libtomcrypt
DROPBEAR_OPENIPC_CONF_OPTS += --disable-bundled-libtom
endif
define DROPBEAR_CUSTOM_PATH
define DROPBEAR_OPENIPC_CUSTOM_PATH
echo '#define DEFAULT_PATH $(BR2_SYSTEM_DEFAULT_PATH)' >>$(@D)/localoptions.h
endef
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_CUSTOM_PATH
DROPBEAR_OPENIPC_POST_EXTRACT_HOOKS += DROPBEAR_OPENIPC_CUSTOM_PATH
define DROPBEAR_INSTALL_INIT_SYSTEMD
define DROPBEAR_OPENIPC_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/dropbear/dropbear.service \
$(TARGET_DIR)/usr/lib/systemd/system/dropbear.service
endef
ifeq ($(BR2_USE_MMU),y)
define DROPBEAR_INSTALL_INIT_SYSV
define DROPBEAR_OPENIPC_INSTALL_INIT_SYSV
$(INSTALL) -D -m 755 package/dropbear/S50dropbear \
$(TARGET_DIR)/etc/init.d/S50dropbear
endef
else
define DROPBEAR_DISABLE_STANDALONE
define DROPBEAR_OPENIPC_DISABLE_STANDALONE
echo '#define NON_INETD_MODE 0' >> $(@D)/localoptions.h
endef
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_DISABLE_STANDALONE
DROPBEAR_OPENIPC_POST_EXTRACT_HOOKS += DROPBEAR_OPENIPC_DISABLE_STANDALONE
endif
ifneq ($(BR2_PACKAGE_DROPBEAR_WTMP),y)
DROPBEAR_CONF_OPTS += --disable-wtmp
ifneq ($(BR2_PACKAGE_DROPBEAR_OPENIPC_WTMP),y)
DROPBEAR_OPENIPC_CONF_OPTS += --disable-wtmp
endif
ifneq ($(BR2_PACKAGE_DROPBEAR_LASTLOG),y)
DROPBEAR_CONF_OPTS += --disable-lastlog
ifneq ($(BR2_PACKAGE_DROPBEAR_OPENIPC_LASTLOG),y)
DROPBEAR_OPENIPC_CONF_OPTS += --disable-lastlog
endif
DROPBEAR_LOCALOPTIONS_FILE = $(call qstrip,$(BR2_PACKAGE_DROPBEAR_LOCALOPTIONS_FILE))
ifneq ($(DROPBEAR_LOCALOPTIONS_FILE),)
define DROPBEAR_APPEND_LOCALOPTIONS_FILE
cat $(DROPBEAR_LOCALOPTIONS_FILE) >> $(@D)/localoptions.h
DROPBEAR_OPENIPC_LOCALOPTIONS_FILE = $(call qstrip,$(BR2_PACKAGE_DROPBEAR_OPENIPC_LOCALOPTIONS_FILE))
ifneq ($(DROPBEAR_OPENIPC_LOCALOPTIONS_FILE),)
define DROPBEAR_OPENIPC_APPEND_LOCALOPTIONS_FILE
cat $(DROPBEAR_OPENIPC_LOCALOPTIONS_FILE) >> $(@D)/localoptions.h
endef
DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_APPEND_LOCALOPTIONS_FILE
DROPBEAR_OPENIPC_POST_EXTRACT_HOOKS += DROPBEAR_OPENIPC_APPEND_LOCALOPTIONS_FILE
endif
define DROPBEAR_INSTALL_TARGET_CMDS
define DROPBEAR_OPENIPC_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 $(@D)/dropbearmulti $(TARGET_DIR)/usr/sbin/dropbear
for f in $(DROPBEAR_TARGET_BINS); do \
for f in $(DROPBEAR_OPENIPC_TARGET_BINS); do \
ln -snf ../sbin/dropbear $(TARGET_DIR)/usr/bin/$$f ; \
done
ln -snf /var/run/dropbear $(TARGET_DIR)/etc/dropbear