Default setting for "client max protocol" is NT1

Jeremy Allison jra at
Fri Nov 4 16:48:25 UTC 2016

This was brought to my attention recently:

int lpcfg_client_max_protocol(struct loadparm_context *lp_ctx)
	int client_max_protocol = lpcfg__client_max_protocol(lp_ctx);
	if (client_max_protocol == PROTOCOL_DEFAULT) {
		return PROTOCOL_NT1;
	return client_max_protocol;

This is correct from the man page:

    <para>The value <constant>default</constant> refers to <constant>NT1</constant>.</para>

However - "client ipc max protocol" has:

int lpcfg_client_ipc_max_protocol(struct loadparm_context *lp_ctx)
        int client_ipc_max_protocol = lpcfg__client_ipc_max_protocol(lp_ctx);
        if (client_ipc_max_protocol == PROTOCOL_DEFAULT) {
                return PROTOCOL_LATEST;

PROTOCOL_LATEST == PROTOCOL_SMB3_11. And indeed looking at the
man page we have:

    <para>The value <constant>default</constant> refers to the latest
    supported protocol, currently <constant>SMB3_11</constant>.</para>

Do we want to change the default for "client max protocol" to be
PROTOCOL_LATEST to match "client ipc max protocol" ?


More information about the samba-technical mailing list