samba/more_patches/0002-Implement-reading-SMB_CLIENT_MIN_PROTOCOL-and-SMB_CL.patch
2019-02-13 11:18:55 +03:00

38 lines
1.4 KiB
Diff

From b7673daeba49f70da7299234a1dd957822849048 Mon Sep 17 00:00:00 2001
From: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Date: Tue, 12 Feb 2019 19:37:44 +0300
Subject: [PATCH 2/2] Implement reading SMB_CLIENT_MIN_PROTOCOL and
SMB_CLIENT_MAX_PROTOCOL environmental variables which may override smb.conf
---
source3/libsmb/libsmb_context.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/source3/libsmb/libsmb_context.c b/source3/libsmb/libsmb_context.c
index 9e7b083952f..77db30107a8 100644
--- a/source3/libsmb/libsmb_context.c
+++ b/source3/libsmb/libsmb_context.c
@@ -96,6 +96,20 @@ SMBC_module_init(void * punused)
}
}
+ const char* env_min_proto = getenv("SMB_CLIENT_MIN_PROTOCOL");
+ const char* env_max_proto = getenv("SMB_CLIENT_MAX_PROTOCOL");
+ /* TODO: validate envs somehow
+ * Is it secure to trust environmental variables? */
+ if (env_min_proto != NULL) {
+ DEBUG(10,("client min protocol defined as %s via SMB_CLIENT_MIN_PROTOCOL environmental variable = %s\n", env_min_proto));
+ lp_set_cmdline("client min protocol", env_min_proto);
+ }
+
+ if (env_max_proto != NULL) {
+ DEBUG(10,("client max protocol defined as %s via SMB_CLIENT_MAX_PROTOCOL environmental variable\n", env_max_proto));
+ lp_set_cmdline("client min protocol", env_max_proto);
+ }
+
load_interfaces(); /* Load the list of interfaces ... */
reopen_logs(); /* Get logging working ... */
--
2.17.1