|
@@ -528,9 +528,11 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
|
|
rc = -EOVERFLOW;
|
|
rc = -EOVERFLOW;
|
|
goto ssetup_exit;
|
|
goto ssetup_exit;
|
|
}
|
|
}
|
|
- ses->server->mac_signing_key.len = msg->sesskey_len;
|
|
|
|
- memcpy(ses->server->mac_signing_key.data.krb5, msg->data,
|
|
|
|
- msg->sesskey_len);
|
|
|
|
|
|
+ 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);
|
|
|
|
+ }
|
|
pSMB->req.hdr.Flags2 |= SMBFLG2_EXT_SEC;
|
|
pSMB->req.hdr.Flags2 |= SMBFLG2_EXT_SEC;
|
|
capabilities |= CAP_EXTENDED_SECURITY;
|
|
capabilities |= CAP_EXTENDED_SECURITY;
|
|
pSMB->req.Capabilities = cpu_to_le32(capabilities);
|
|
pSMB->req.Capabilities = cpu_to_le32(capabilities);
|