Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7a1ceba0 authored by Niklas Cassel's avatar Niklas Cassel Committed by Steve French
Browse files

cifs: fix MUST SecurityFlags filtering



If CONFIG_CIFS_WEAK_PW_HASH is not set, CIFSSEC_MUST_LANMAN
and CIFSSEC_MUST_PLNTXT is defined as 0.

When setting new SecurityFlags without any MUST flags,
your flags would be overwritten with CIFSSEC_MUST_LANMAN (0).

Signed-off-by: default avatarNiklas Cassel <niklass@axis.com>
Signed-off-by: default avatarSteve French <steve.french@primarydata.com>
parent ca7df8e0
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -606,9 +606,11 @@ cifs_security_flags_handle_must_flags(unsigned int *flags)
		*flags = CIFSSEC_MUST_NTLMV2;
		*flags = CIFSSEC_MUST_NTLMV2;
	else if ((*flags & CIFSSEC_MUST_NTLM) == CIFSSEC_MUST_NTLM)
	else if ((*flags & CIFSSEC_MUST_NTLM) == CIFSSEC_MUST_NTLM)
		*flags = CIFSSEC_MUST_NTLM;
		*flags = CIFSSEC_MUST_NTLM;
	else if ((*flags & CIFSSEC_MUST_LANMAN) == CIFSSEC_MUST_LANMAN)
	else if (CIFSSEC_MUST_LANMAN &&
		 (*flags & CIFSSEC_MUST_LANMAN) == CIFSSEC_MUST_LANMAN)
		*flags = CIFSSEC_MUST_LANMAN;
		*flags = CIFSSEC_MUST_LANMAN;
	else if ((*flags & CIFSSEC_MUST_PLNTXT) == CIFSSEC_MUST_PLNTXT)
	else if (CIFSSEC_MUST_PLNTXT &&
		 (*flags & CIFSSEC_MUST_PLNTXT) == CIFSSEC_MUST_PLNTXT)
		*flags = CIFSSEC_MUST_PLNTXT;
		*flags = CIFSSEC_MUST_PLNTXT;


	*flags |= signflags;
	*flags |= signflags;