</para>
<para>This parameter was added with version 4.4.</para>
<para>
- Warning: Note that this feature is still considered experimental.
- Use it at your own risk: Even though it may seem to work well in testing,
- it may result in data corruption under some race conditions.
- Future releases may improve this situation.
+ Note that this feature was still considered experimental up to 4.14.
</para>
<para>Due to dependencies to kernel APIs of Linux or FreeBSD, it's only possible
to use this feature on Linux and FreeBSD for now. For testing this restriction
can be overwritten by specifying <constant>force:server multi channel support=yes</constant>
in addition.</para>
+
+ <para>
+ This option is enabled by default starting with to 4.15 (on Linux and FreeBSD).
+ </para>
</description>
-<value type="default">no</value>
+<value type="default">yes</value>
</samba:parameter>
lpcfg_do_global_parameter(lp_ctx, "smb2 leases", "yes");
+ lpcfg_do_global_parameter(lp_ctx, "server multi channel support", "yes");
+
lpcfg_do_global_parameter(lp_ctx, "kerberos encryption types", "all");
lpcfg_do_global_parameter(lp_ctx,
Globals.smb2_max_trans = DEFAULT_SMB2_MAX_TRANSACT;
Globals.smb2_max_credits = DEFAULT_SMB2_MAX_CREDITS;
Globals.smb2_leases = true;
+ Globals.server_multi_channel_support = true;
lpcfg_string_set(Globals.ctx, &Globals.ncalrpc_dir,
get_dyn_NCALRPCDIR());
#include "system/network.h"
#include "smbd/smbd.h"
#include "smbd/globals.h"
+#include "lib/param/param.h"
#include "../libcli/smb/smb_common.h"
#include "../lib/tsocket/tsocket.h"
#include "../lib/util/tevent_ntstatus.h"
bool enabled = lp_server_multi_channel_support();
#ifndef __ALLOW_MULTI_CHANNEL_SUPPORT
bool forced = false;
+ struct loadparm_context *lp_ctx = loadparm_init_s3(NULL, loadparm_s3_helpers());
+ bool unspecified = lpcfg_parm_is_unspecified(lp_ctx, "server multi channel support");
+ if (unspecified) {
+ enabled = false;
+ }
/*
* If we don't have support from the kernel
* to ask for the un-acked number of bytes
"https://bugzilla.samba.org/show_bug.cgi?id=11897\n"));
enabled = false;
}
+ TALLOC_FREE(lp_ctx);
#endif /* ! __ALLOW_MULTI_CHANNEL_SUPPORT */
return enabled;
}