From 33e4f03a40863f41be0db738bb7a53b6f91abdac Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Sun, 27 Aug 2017 08:18:06 +0100 Subject: [PATCH] LibreELEC-settings: add support for workgroup, server min/max proto settings --- packages/network/samba/config/smb.conf | 1 - packages/network/samba/default.d/samba.conf | 3 +++ packages/network/samba/scripts/smbd-config | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/network/samba/config/smb.conf b/packages/network/samba/config/smb.conf index 809afd50a0..75a553bc8a 100644 --- a/packages/network/samba/config/smb.conf +++ b/packages/network/samba/config/smb.conf @@ -22,7 +22,6 @@ [global] server string = LibreELEC - workgroup = WORKGROUP browseable = yes writeable = yes printable = no diff --git a/packages/network/samba/default.d/samba.conf b/packages/network/samba/default.d/samba.conf index d77b5bca24..9ad00368c3 100644 --- a/packages/network/samba/default.d/samba.conf +++ b/packages/network/samba/default.d/samba.conf @@ -2,3 +2,6 @@ SAMBA_AUTOSHARE="true" SAMBA_USERNAME="libreelec" SAMBA_PASSWORD="libreelec" SAMBA_SECURE="false" +SAMBA_MINPROTOCOL="SMB2" +SAMBA_MAXPROTOCOL="SMB3" +SAMBA_WORKGROUP="WORKGROUP" diff --git a/packages/network/samba/scripts/smbd-config b/packages/network/samba/scripts/smbd-config index 7751ded607..7b6bc16c1e 100755 --- a/packages/network/samba/scripts/smbd-config +++ b/packages/network/samba/scripts/smbd-config @@ -35,6 +35,21 @@ if [ "$SAMBA_AUTOSHARE" == "true" ] ; then done fi +ADD_CONFIG= + +# If workgroup is not set, don't set it - who knows, user may know better. +if [ -n "$SAMBA_WORKGROUP" ]; then + # Remove any existing workgroup setting + sed -E '/^[[:space:]]*workgroup[[:space:]]*=/d' -i $SMB_CONF + ADD_CONFIG="${ADD_CONFIG} workgroup = ${SAMBA_WORKGROUP:-WORKGROUP}\n" +fi + +ADD_CONFIG="${ADD_CONFIG} server min protocol = ${SAMBA_MINPROTOCOL/SMB1/NT1}\n" +ADD_CONFIG="${ADD_CONFIG} server max protocol = ${SAMBA_MAXPROTOCOL/SMB1/NT1}\n" + +# Add extra config after [global], escaping spaces so that all are retained by sed +sed -e "/\[global\]/ a ${ADD_CONFIG// /\\ }" -i $SMB_CONF + # only letters & numbers permitted for username & password SAMBA_USERNAME=`echo $SAMBA_USERNAME | sed "s/[^a-zA-Z0-9]//g;"` SAMBA_PASSWORD=`echo $SAMBA_PASSWORD | sed "s/[^a-zA-Z0-9]//g;"`