From: Stefan Metzmacher Date: Wed, 2 Apr 2025 18:45:53 +0000 (+0200) Subject: docs-xml/smbdotconf: add 'server smb transport' option X-Git-Tag: tevent-0.17.0~290 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a835ec933d3c36707b57f77611b99c2cbb39e4a;p=thirdparty%2Fsamba.git docs-xml/smbdotconf: add 'server smb transport' option In the next commits 'smb ports' will become just a synonym for 'server smb transport'... Signed-off-by: Stefan Metzmacher Reviewed-by: Volker Lendecke --- diff --git a/docs-xml/smbdotconf/protocol/serversmbtransports.xml b/docs-xml/smbdotconf/protocol/serversmbtransports.xml new file mode 100644 index 00000000000..f50afd34438 --- /dev/null +++ b/docs-xml/smbdotconf/protocol/serversmbtransports.xml @@ -0,0 +1,34 @@ + + + Specifies which transports and ports the server should listen on for SMB traffic. + + The order matters only for mDNS registrations, the first + 'tcp' or 'nbt' port is used for that. + + The transport 'tcp' uses raw tcp with a 4 byte length header per SMB PDU. + The default port for 'tcp' is 445. Other ports can be specified by adding it + after ':', e.g. 'tcp:1445'. + + + The transport 'nbt' uses netbios framing on top of tcp per SMB PDU. + The default port for 'nbt' is 139. Other ports can be specified by adding it + after ':', e.g. 'nbt:1139'. + + + Numerical ports are handled as 'tcp' except port '139' is handled as 'nbt'. + + + Note that's currently a limit of 10 unique transports, all others will + be ignored. + + +445 +tcp, tcp:1445 +8000, nbt:1139 + +tcp, nbt + diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index 49b12837f53..29f7c75048d 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -1520,6 +1520,15 @@ bool handle_client_smb_transports(struct loadparm_context *lp_ctx, "client smb transports"); } +bool handle_server_smb_transports(struct loadparm_context *lp_ctx, + struct loadparm_service *service, + const char *pszParmValue, + char **ptr) +{ + return handle_smb_transports(lp_ctx, service, pszParmValue, ptr, + "server smb transports"); +} + bool handle_rpc_server_dynamic_port_range(struct loadparm_context *lp_ctx, struct loadparm_service *service, const char *pszParmValue, @@ -2974,6 +2983,7 @@ struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx) lpcfg_do_global_parameter(lp_ctx, "use mmap", "True"); + lpcfg_do_global_parameter(lp_ctx, "server smb transports", "tcp, nbt"); lpcfg_do_global_parameter(lp_ctx, "client smb transports", "tcp, nbt"); lpcfg_do_global_parameter(lp_ctx, "smb ports", "445 139"); lpcfg_do_global_parameter_var(lp_ctx, "nbt port", "%d", NBT_NAME_SERVICE_PORT); diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 999c4f74d80..a27521cf002 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -848,6 +848,7 @@ void loadparm_s3_init_globals(struct loadparm_context *lp_ctx, Globals.defer_sharing_violations = true; Globals.smb_ports = str_list_make_v3_const(NULL, SMB_PORTS, NULL); + Globals.server_smb_transports = str_list_make_v3_const(NULL, "tcp, nbt", NULL); Globals.client_smb_transports = str_list_make_v3_const(NULL, "tcp, nbt", NULL); Globals.enable_privileges = true;