From 6606f74b93ced7e7ef4bb308f5667fb528489f4a Mon Sep 17 00:00:00 2001
From: Lejla Murselovic <lejla.murselovic@iopsys.eu>
Date: Thu, 3 Sep 2020 17:10:09 +0200
Subject: [PATCH] ksmbd: introduce more parameters to uci config

---
 net/ksmbd-tools/files/ksmbd.init | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/net/ksmbd-tools/files/ksmbd.init b/net/ksmbd-tools/files/ksmbd.init
index 5eb3470851..1104f8a3ad 100644
--- a/net/ksmbd-tools/files/ksmbd.init
+++ b/net/ksmbd-tools/files/ksmbd.init
@@ -27,16 +27,29 @@ smb_header()
 	local hostname
 	hostname="$(cat /proc/sys/kernel/hostname)"
 
+	local max_active_sessions
+	local tcp_port
+	local restrict_anonymous
+
 	config_get workgroup $1 workgroup "WORKGROUP"
 	config_get description $1 description "Ksmbd on OpenWrt"
 	config_get_bool ALLOW_LEGACY_PROTOCOLS $1 allow_legacy_protocols 0
+	config_get max_active_sessions $1 max_active_sessions
+	config_get tcp_port $1 tcp_port
+	config_get restrict_anonymous $1 restrict_anonymous
 
 	sed -e "s#|NAME|#$hostname#g" \
 	    -e "s#|WORKGROUP|#$workgroup#g" \
 	    -e "s#|DESCRIPTION|#$description#g" \
 	    -e "s#|INTERFACES|#$interfaces#g" \
 	    /etc/ksmbd/smb.conf.template > /var/etc/ksmbd/smb.conf
-		
+
+	{
+		[ -n "$max_active_sessions" ] && printf "\tmax active sessions = %s\n" "$max_active_sessions"
+		[ -n "$tcp_port" ] && printf "\ttcp port = %s\n" "$tcp_port"
+		[ -n "$restrict_anonymous" ] && printf "\trestrict anonymous = %s\n" "$restrict_anonymous"
+	} >> /var/etc/ksmbd/smb.conf
+
 	{
 		printf "\n######### Dynamic written config options #########\n"
 
@@ -74,6 +87,11 @@ smb_add_share()
 	local inherit_owner
 	local force_create_mode
 	local force_directory_mode
+	local max_connections
+	local invalid_users
+	local hosts_allow
+	local hosts_deny
+	local valid_users
 
 	config_get name $1 name
 	config_get path $1 path
@@ -93,6 +111,11 @@ smb_add_share()
 	config_get inherit_owner $1 inherit_owner
 	config_get force_create_mode $1 force_create_mode
 	config_get force_directory_mode $1 force_directory_mode
+	config_get max_connections $1 max_connections
+	config_get invalid_users $1 invalid_users
+	config_get hosts_allow $1 hosts_allow
+	config_get hosts_deny $1 hosts_deny
+	config_get valid_users $1 valid_users
 
 	[ -z "$name" ] || [ -z "$path" ] && return
 
@@ -124,6 +147,12 @@ smb_add_share()
 
 		[ -n "$hide_dot_files" ] && printf "\thide dot files = %s\n" "$hide_dot_files"
 		[ -n "$veto_files" ] && printf "\tveto files = %s\n" "$veto_files"
+
+		[ -n "$max_connections" ] && printf "\tmax connections = %s\n" "$max_connections"
+		[ -n "$invalid_users" ] && printf "\tinvalid users = %s\n" "$invalid_users"
+		[ -n "$hosts_allow" ] && printf "\thosts allow = %s\n" "$hosts_allow"
+		[ -n "$hosts_deny" ] && printf "\thosts_deny = %s\n" "$hosts_deny"
+		[ -n "$valid_users" ] && printf "\tvalid users = %s\n" "$valid_users"
 	} >> /var/etc/ksmbd/smb.conf
 }
 
-- 
GitLab