From bed1bc9315260de1e9e7af5dd716f88cc3d34444 Mon Sep 17 00:00:00 2001 From: Ian Leonard Date: Tue, 29 Jun 2021 06:19:49 +0000 Subject: [PATCH 1/4] proftpd: drop use of basename Signed-off-by: Ian Leonard --- packages/addons/service/proftpd/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/addons/service/proftpd/package.mk b/packages/addons/service/proftpd/package.mk index 59cf96cf91..311b8c89a9 100644 --- a/packages/addons/service/proftpd/package.mk +++ b/packages/addons/service/proftpd/package.mk @@ -54,6 +54,6 @@ addon() { mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/locale for i in ${PKG_INSTALL}/storage/.kodi/addons/${PKG_ADDON_ID}/locale/*; do - cp ${i}/LC_MESSAGES/proftpd.mo ${ADDON_BUILD}/${PKG_ADDON_ID}/locale/$(basename ${i}).mo + cp ${i}/LC_MESSAGES/proftpd.mo ${ADDON_BUILD}/${PKG_ADDON_ID}/locale/${i##*/}.mo done } From a1c1d277bc486d5df0a8a7c05b13718cf21abdb6 Mon Sep 17 00:00:00 2001 From: Ian Leonard Date: Tue, 29 Jun 2021 06:35:15 +0000 Subject: [PATCH 2/4] proftpd: replace mkpasswd with python Signed-off-by: Ian Leonard --- packages/addons/service/proftpd/package.mk | 4 +--- .../service/proftpd/source/bin/proftpd.start | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/addons/service/proftpd/package.mk b/packages/addons/service/proftpd/package.mk index 311b8c89a9..1bca3fa959 100644 --- a/packages/addons/service/proftpd/package.mk +++ b/packages/addons/service/proftpd/package.mk @@ -10,7 +10,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.proftpd.org/" PKG_URL="https://github.com/proftpd/proftpd/archive/v${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain libcap openssl ncurses pcre whois" +PKG_DEPENDS_TARGET="toolchain libcap openssl ncurses pcre" PKG_SECTION="service" PKG_SHORTDESC="ProFTPD: a FTP server for linux" PKG_LONGDESC="ProFTPD (${PKG_VERSION}): is a secure and configurable FTP server with SSL/TLS support" @@ -50,8 +50,6 @@ addon() { cp ${PKG_INSTALL}/usr/bin/ftpwho ${ADDON_BUILD}/${PKG_ADDON_ID}/bin cp ${PKG_INSTALL}/usr/bin/ftptop ${ADDON_BUILD}/${PKG_ADDON_ID}/bin - cp $(get_install_dir whois)/usr/bin/mkpasswd ${ADDON_BUILD}/${PKG_ADDON_ID}/bin - mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/locale for i in ${PKG_INSTALL}/storage/.kodi/addons/${PKG_ADDON_ID}/locale/*; do cp ${i}/LC_MESSAGES/proftpd.mo ${ADDON_BUILD}/${PKG_ADDON_ID}/locale/${i##*/}.mo diff --git a/packages/addons/service/proftpd/source/bin/proftpd.start b/packages/addons/service/proftpd/source/bin/proftpd.start index 234ff8f493..d1dcc1907f 100755 --- a/packages/addons/service/proftpd/source/bin/proftpd.start +++ b/packages/addons/service/proftpd/source/bin/proftpd.start @@ -4,6 +4,7 @@ # Copyright (C) 2012 x23 # Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv) # Copyright (C) 2012-2015 ultraman +# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv) . /etc/profile @@ -25,7 +26,7 @@ fi if [ ! -f "$ADDON_HOME/proftpd.cert.pem" -o ! -f "$ADDON_HOME/proftpd.key.pem" ]; then openssl req -newkey rsa:1024 -config $ADDON_HOME/openssl.cnf -new -x509 -days "$CertTTL" -nodes -out "$ADDON_HOME/proftpd.cert.pem" -keyout "$ADDON_HOME/proftpd.key.pem" fi - + # Edit proftpd.conf with user settings if [ "$TLSEngine" = "false" ]; then sed -i 's/TLSEngine.*/TLSEngine off/g' $ADDON_HOME/proftpd.conf @@ -91,24 +92,25 @@ fi cd "$ADDON_DIR/bin" -case "$CryptoHash" in - "0") CryptoHash="sha-512"; SALTLength="16";; - "1") CryptoHash="sha-256"; SALTLength="16";; - "2") CryptoHash="md5"; SALTLength="8";; -esac - mkdir -p /var/config/ rm -f /var/config/proftpd.passwd touch /var/config/proftpd.passwd chmod 700 /var/config/proftpd.passwd for NUM in $(seq 1 100); do + + case "$CryptoHash" in + "0") password_salt=$(python -c "import crypt; print(crypt.mksalt(crypt.METHOD_SHA512))");; + "1") password_salt=$(python -c "import crypt; print(crypt.mksalt(crypt.METHOD_SHA256))");; + "2") password_salt=$(python -c "import crypt; print(crypt.mksalt(crypt.METHOD_MD5))");; + esac + USERNAME=$(eval echo \$Username${NUM}) USERPASS=$(eval echo \$Userpass${NUM}) USERPATH=$(eval echo \$Userpath${NUM}) if [ -n "$USERNAME" ]; then - echo $USERNAME:$(./mkpasswd --hash=$CryptoHash --salt=$(cat /dev/urandom | tr -cd "[:alnum:]" | head -c $SALTLength) $USERPASS):10:10::$USERPATH:/bin/false >> /var/config/proftpd.passwd + echo $USERNAME:$(python -c "import crypt; print(crypt.crypt('${USERPASS}', '${password_salt}'))"):10:10::$USERPATH:/bin/false >> /var/config/proftpd.passwd # user writes with different user/group mkdir -p "$USERPATH" chmod 777 "$USERPATH" From 8310dae8c03a3545dcc7bf4649efeb4a15866312 Mon Sep 17 00:00:00 2001 From: Ian Leonard Date: Sun, 2 Oct 2022 02:17:08 +0000 Subject: [PATCH 3/4] addons/proftpd: update to 1.3.7e, use python for password hash gen Signed-off-by: Ian Leonard --- packages/addons/service/proftpd/changelog.txt | 5 +++++ packages/addons/service/proftpd/package.mk | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/addons/service/proftpd/changelog.txt b/packages/addons/service/proftpd/changelog.txt index 6114cb66bd..189686a157 100644 --- a/packages/addons/service/proftpd/changelog.txt +++ b/packages/addons/service/proftpd/changelog.txt @@ -1,3 +1,8 @@ +106 +- update to proftpd 1.3.7e +- generate password hashes with python +- drop whois requirement + 105 - update to proftpd 1.3.7d - update to whois 5.5.13 diff --git a/packages/addons/service/proftpd/package.mk b/packages/addons/service/proftpd/package.mk index 1bca3fa959..b8ffc682bb 100644 --- a/packages/addons/service/proftpd/package.mk +++ b/packages/addons/service/proftpd/package.mk @@ -3,9 +3,9 @@ # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="proftpd" -PKG_VERSION="1.3.7d" -PKG_SHA256="b231536e2978116801d06278e805b18e5240568d2bc921693ac7147652e267e4" -PKG_REV="105" +PKG_VERSION="1.3.7e" +PKG_SHA256="6e716a3b53ee069290399fce6dccf4c229fafe6ec2cb14db3778b7aa3f9a8c92" +PKG_REV="106" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.proftpd.org/" From 936dec77bb766b3745f26a17d3c69a7bfb360682 Mon Sep 17 00:00:00 2001 From: Ian Leonard Date: Sun, 2 Oct 2022 03:56:24 +0000 Subject: [PATCH 4/4] whois: drop package Signed-off-by: Ian Leonard --- .../addons/addon-depends/whois/package.mk | 21 ------------------- 1 file changed, 21 deletions(-) delete mode 100644 packages/addons/addon-depends/whois/package.mk diff --git a/packages/addons/addon-depends/whois/package.mk b/packages/addons/addon-depends/whois/package.mk deleted file mode 100644 index 82115ea3ec..0000000000 --- a/packages/addons/addon-depends/whois/package.mk +++ /dev/null @@ -1,21 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) -# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="whois" -PKG_VERSION="5.5.13" -PKG_SHA256="a96cf60722e5c3962f8abef36184a101011447d3fe5fa053ea97f593826568fb" -PKG_LICENSE="GPL" -PKG_SITE="http://www.linux.it/~md/software/" -PKG_URL="https://github.com/rfc1036/whois/archive/v${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain" -PKG_LONGDESC="A tool that queries the whois directory service for information pertaining to a particular domain name." -PKG_BUILD_FLAGS="-sysroot" - -make_target() { - make mkpasswd -} - -makeinstall_target() { - make install BASEDIR=${INSTALL} -}