aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsencrypt.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/cifsencrypt.c')
-rw-r--r--fs/cifs/cifsencrypt.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/cifs/cifsencrypt.c b/fs/cifs/cifsencrypt.c
index e11d8c6bb227..3ae964bbfdc3 100644
--- a/fs/cifs/cifsencrypt.c
+++ b/fs/cifs/cifsencrypt.c
@@ -271,9 +271,18 @@ void calc_lanman_hash(struct cifsSesInfo * ses, char * lnm_session_key)
271 int i; 271 int i;
272 char password_with_pad[CIFS_ENCPWD_SIZE]; 272 char password_with_pad[CIFS_ENCPWD_SIZE];
273 273
274 if(ses->server == NULL)
275 return;
276
274 memset(password_with_pad, 0, CIFS_ENCPWD_SIZE); 277 memset(password_with_pad, 0, CIFS_ENCPWD_SIZE);
275 strncpy(password_with_pad, ses->password, CIFS_ENCPWD_SIZE); 278 strncpy(password_with_pad, ses->password, CIFS_ENCPWD_SIZE);
276 279
280 if((ses->server->secMode & SECMODE_PW_ENCRYPT) == 0)
281 if(extended_security & CIFSSEC_MAY_PLNTXT) {
282 memcpy(lnm_session_key, password_with_pad, CIFS_ENCPWD_SIZE);
283 return;
284 }
285
277 /* calculate old style session key */ 286 /* calculate old style session key */
278 /* calling toupper is less broken than repeatedly 287 /* calling toupper is less broken than repeatedly
279 calling nls_toupper would be since that will never 288 calling nls_toupper would be since that will never