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

Commit 1a67570c authored by Jeff Layton's avatar Jeff Layton Committed by Steve French
Browse files

[CIFS] use krb5 session key from first SMB session after a NegProt



Currently, any new kerberos SMB session overwrites the server's session
key. The session key should only be set by the first SMB session set up
on the socket.

Signed-off-by: default avatarJeff Layton <jlayton@tupile.poochiereds.net>
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent 1d9a8852
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -528,9 +528,11 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
			rc = -EOVERFLOW;
			goto ssetup_exit;
		}
		if (first_time) {
			ses->server->mac_signing_key.len = msg->sesskey_len;
		memcpy(ses->server->mac_signing_key.data.krb5, msg->data,
			msg->sesskey_len);
			memcpy(ses->server->mac_signing_key.data.krb5,
				msg->data, msg->sesskey_len);
		}
		pSMB->req.hdr.Flags2 |= SMBFLG2_EXT_SEC;
		capabilities |= CAP_EXTENDED_SECURITY;
		pSMB->req.Capabilities = cpu_to_le32(capabilities);