<para>This parameter is not available when Samba listens on port 445, as clients no longer
send this information. If you use this macro in an include statement on a domain that has
- a Samba domain controller be sure to set in the [global] section <parameter>smb ports =
+ a Samba domain controller be sure to set in the [global] section <parameter>server smb transports =
139</parameter>. This will cause Samba to not listen on port 445 and will permit include
functionality to function as it did with Samba 2.x.
</para></listitem>
<value type="default">tcp, nbt</value>
</samba:parameter>
+
+<samba:parameter name="smb ports"
+ context="G"
+ type="list"
+ handler="handle_server_smb_transports"
+ function="server_smb_transports"
+ synonym="1"
+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+ <para>
+ This is a synonym for <smbconfoption name="server smb transports"/>.
+ </para>
+</description>
+</samba:parameter>
+++ /dev/null
-<samba:parameter name="smb ports"
- context="G"
- type="cmdlist"
- handler="handle_smb_ports"
- xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
-<description>
- <para>Specifies which ports the server should listen on for SMB traffic.</para>
-</description>
-
-<value type="default">445 139</value>
-</samba:parameter>
return lpcfg_string_set(lp_ctx->globals->ctx, ptr, pszParmValue);
}
-bool handle_smb_ports(struct loadparm_context *lp_ctx, struct loadparm_service *service,
- const char *pszParmValue, char **ptr)
-{
- static int parm_num = -1;
- int i;
- const char **list;
-
- if (!pszParmValue || !*pszParmValue) {
- return false;
- }
-
- if (parm_num == -1) {
- parm_num = lpcfg_map_parameter("smb ports");
- if (parm_num == -1) {
- return false;
- }
- }
-
- if (!set_variable_helper(lp_ctx->globals->ctx, parm_num, ptr, "smb ports",
- pszParmValue)) {
- return false;
- }
-
- list = lp_ctx->globals->smb_ports;
- if (list == NULL) {
- return false;
- }
-
- /* Check that each port is a valid integer and within range */
- for (i = 0; list[i] != NULL; i++) {
- char *end = NULL;
- int port = 0;
- port = strtol(list[i], &end, 10);
- if (*end != '\0' || port <= 0 || port > 65535) {
- TALLOC_FREE(list);
- return false;
- }
- }
-
- return true;
-}
-
bool smb_transport_parse(const char *_value, struct smb_transport *_t)
{
size_t _value_len = strlen(_value);
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);
lpcfg_do_global_parameter_var(lp_ctx, "dgram port", "%d", NBT_DGRAM_SERVICE_PORT);
lpcfg_do_global_parameter(lp_ctx, "krb5 port", "88");
struct smbcli_options *options);
void lpcfg_smbcli_session_options(struct loadparm_context *lp_ctx,
struct smbcli_session_options *options);
-const char **lpcfg_smb_ports(struct loadparm_context *);
const char *lpcfg_socket_options(struct loadparm_context *);
struct dcerpc_server_info *lpcfg_dcerpc_server_info(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx);
struct gensec_settings *lpcfg_gensec_settings(TALLOC_CTX *, struct loadparm_context *);
exceptions = ['client lanman auth',
'client plaintext auth',
'registry shares',
- 'smb ports',
'rpc server dynamic port range',
'name resolve order',
'clustering'])
self._test_default(['bin/samba-tool', 'testparm'])
self._set_defaults(['bin/samba-tool', 'testparm'])
self._set_arbitrary(['bin/samba-tool', 'testparm'],
- exceptions=['smb ports',
- 'rpc server dynamic port range',
+ exceptions=['rpc server dynamic port range',
'name resolve order'])
self._test_empty(['bin/samba-tool', 'testparm'])
Globals.server_signing = SMB_SIGNING_DEFAULT;
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);