Skip to content

Commit

Permalink
Merge pull request #6973 from heitbaum/addons
Browse files Browse the repository at this point in the history
[le10] backports of proftpd and net-snmp addons
  • Loading branch information
chewitt committed Oct 8, 2022
2 parents c6133e1 + f4acb29 commit 53b312d
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 39 deletions.
21 changes: 0 additions & 21 deletions packages/addons/addon-depends/whois/package.mk

This file was deleted.

3 changes: 3 additions & 0 deletions packages/addons/service/net-snmp/changelog.txt
@@ -1,3 +1,6 @@
110
- update to 5.9.2

109
- update to 5.9.1

Expand Down
6 changes: 3 additions & 3 deletions packages/addons/service/net-snmp/package.mk
Expand Up @@ -2,9 +2,9 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)

PKG_NAME="net-snmp"
PKG_VERSION="5.9.1"
PKG_SHA256="eb7fd4a44de6cddbffd9a92a85ad1309e5c1054fb9d5a7dd93079c8953f48c3f"
PKG_REV="109"
PKG_VERSION="5.9.2"
PKG_SHA256="21e86b06c8b54639f915781c9bf6433a79da5b7aa109087ea47a9b5378a6c5fd"
PKG_REV="110"
PKG_ARCH="any"
PKG_LICENSE="BSD"
PKG_SITE="http://www.net-snmp.org"
Expand Down
8 changes: 8 additions & 0 deletions packages/addons/service/proftpd/changelog.txt
@@ -1,3 +1,11 @@
106
- update to proftpd 1.3.7e
- generate password hashes with python
- drop whois requirement

105
- not released for LibreELEC 10

104
- update to proftpd 1.3.7c
- update to whois 5.5.11
Expand Down
12 changes: 5 additions & 7 deletions packages/addons/service/proftpd/package.mk
Expand Up @@ -3,14 +3,14 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)

PKG_NAME="proftpd"
PKG_VERSION="1.3.7c"
PKG_SHA256="7070968b9b6cf614ce7f756c8c1a66c32c1afa4f961784a62301790a801400da"
PKG_REV="104"
PKG_VERSION="1.3.7e"
PKG_SHA256="6e716a3b53ee069290399fce6dccf4c229fafe6ec2cb14db3778b7aa3f9a8c92"
PKG_REV="106"
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"
Expand Down Expand Up @@ -50,10 +50,8 @@ 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/$(basename ${i}).mo
cp ${i}/LC_MESSAGES/proftpd.mo ${ADDON_BUILD}/${PKG_ADDON_ID}/locale/${i##*/}.mo
done
}
18 changes: 10 additions & 8 deletions packages/addons/service/proftpd/source/bin/proftpd.start
Expand Up @@ -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

Expand All @@ -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
Expand Down Expand Up @@ -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"
Expand Down

0 comments on commit 53b312d

Please sign in to comment.