Lines Matching refs:server
28 struct TCP_Server_Info *server, char *signature, in __cifs_calc_signature() argument
37 if (!is_smb1(server)) { in __cifs_calc_signature()
99 struct TCP_Server_Info *server, char *signature) in cifs_calc_signature() argument
103 if (!rqst->rq_iov || !signature || !server) in cifs_calc_signature()
106 rc = cifs_alloc_hash("md5", &server->secmech.md5); in cifs_calc_signature()
110 rc = crypto_shash_init(server->secmech.md5); in cifs_calc_signature()
116 rc = crypto_shash_update(server->secmech.md5, in cifs_calc_signature()
117 server->session_key.response, server->session_key.len); in cifs_calc_signature()
123 return __cifs_calc_signature(rqst, server, signature, server->secmech.md5); in cifs_calc_signature()
127 int cifs_sign_rqst(struct smb_rqst *rqst, struct TCP_Server_Info *server, in cifs_sign_rqst() argument
138 if ((cifs_pdu == NULL) || (server == NULL)) in cifs_sign_rqst()
141 spin_lock(&server->srv_lock); in cifs_sign_rqst()
143 server->tcpStatus == CifsNeedNegotiate) { in cifs_sign_rqst()
144 spin_unlock(&server->srv_lock); in cifs_sign_rqst()
147 spin_unlock(&server->srv_lock); in cifs_sign_rqst()
149 if (!server->session_estab) { in cifs_sign_rqst()
155 cpu_to_le32(server->sequence_number); in cifs_sign_rqst()
158 *pexpected_response_sequence_number = ++server->sequence_number; in cifs_sign_rqst()
159 ++server->sequence_number; in cifs_sign_rqst()
161 rc = cifs_calc_signature(rqst, server, smb_signature); in cifs_sign_rqst()
170 int cifs_sign_smbv(struct kvec *iov, int n_vec, struct TCP_Server_Info *server, in cifs_sign_smbv() argument
176 return cifs_sign_rqst(&rqst, server, pexpected_response_sequence); in cifs_sign_smbv()
180 int cifs_sign_smb(struct smb_hdr *cifs_pdu, struct TCP_Server_Info *server, in cifs_sign_smb() argument
190 return cifs_sign_smbv(iov, 2, server, in cifs_sign_smb()
195 struct TCP_Server_Info *server, in cifs_verify_signature() argument
207 if (cifs_pdu == NULL || server == NULL) in cifs_verify_signature()
210 if (!server->session_estab) in cifs_verify_signature()
236 cifs_server_lock(server); in cifs_verify_signature()
237 rc = cifs_calc_signature(rqst, server, what_we_think_sig_should_be); in cifs_verify_signature()
238 cifs_server_unlock(server); in cifs_verify_signature()
411 wchar_t *server; in calc_ntlmv2_hash() local
413 if (!ses->server->secmech.hmacmd5) { in calc_ntlmv2_hash()
421 rc = crypto_shash_setkey(ses->server->secmech.hmacmd5->tfm, nt_hash, in calc_ntlmv2_hash()
428 rc = crypto_shash_init(ses->server->secmech.hmacmd5); in calc_ntlmv2_hash()
449 rc = crypto_shash_update(ses->server->secmech.hmacmd5, in calc_ntlmv2_hash()
469 crypto_shash_update(ses->server->secmech.hmacmd5, in calc_ntlmv2_hash()
481 server = kmalloc(2 + (len * 2), GFP_KERNEL); in calc_ntlmv2_hash()
482 if (server == NULL) { in calc_ntlmv2_hash()
486 len = cifs_strtoUTF16((__le16 *)server, ses->ip_addr, len, in calc_ntlmv2_hash()
489 crypto_shash_update(ses->server->secmech.hmacmd5, in calc_ntlmv2_hash()
490 (char *)server, 2 * len); in calc_ntlmv2_hash()
491 kfree(server); in calc_ntlmv2_hash()
499 rc = crypto_shash_final(ses->server->secmech.hmacmd5, in calc_ntlmv2_hash()
519 if (!ses->server->secmech.hmacmd5) { in CalcNTLMv2_response()
524 rc = crypto_shash_setkey(ses->server->secmech.hmacmd5->tfm, in CalcNTLMv2_response()
532 rc = crypto_shash_init(ses->server->secmech.hmacmd5); in CalcNTLMv2_response()
538 if (ses->server->negflavor == CIFS_NEGFLAVOR_EXTENDED) in CalcNTLMv2_response()
543 ses->server->cryptkey, CIFS_SERVER_CHALLENGE_SIZE); in CalcNTLMv2_response()
544 rc = crypto_shash_update(ses->server->secmech.hmacmd5, in CalcNTLMv2_response()
552 rc = crypto_shash_final(ses->server->secmech.hmacmd5, in CalcNTLMv2_response()
576 if (ses->server->negflavor == CIFS_NEGFLAVOR_EXTENDED) { in setup_ntlmv2_rsp()
626 cifs_server_lock(ses->server); in setup_ntlmv2_rsp()
628 rc = cifs_alloc_hash("hmac(md5)", &ses->server->secmech.hmacmd5); in setup_ntlmv2_rsp()
648 rc = crypto_shash_setkey(ses->server->secmech.hmacmd5->tfm, in setup_ntlmv2_rsp()
656 rc = crypto_shash_init(ses->server->secmech.hmacmd5); in setup_ntlmv2_rsp()
662 rc = crypto_shash_update(ses->server->secmech.hmacmd5, in setup_ntlmv2_rsp()
670 rc = crypto_shash_final(ses->server->secmech.hmacmd5, in setup_ntlmv2_rsp()
676 cifs_server_unlock(ses->server); in setup_ntlmv2_rsp()
715 cifs_crypto_secmech_release(struct TCP_Server_Info *server) in cifs_crypto_secmech_release() argument
717 cifs_free_hash(&server->secmech.aes_cmac); in cifs_crypto_secmech_release()
718 cifs_free_hash(&server->secmech.hmacsha256); in cifs_crypto_secmech_release()
719 cifs_free_hash(&server->secmech.md5); in cifs_crypto_secmech_release()
720 cifs_free_hash(&server->secmech.sha512); in cifs_crypto_secmech_release()
721 cifs_free_hash(&server->secmech.hmacmd5); in cifs_crypto_secmech_release()
723 if (server->secmech.enc) { in cifs_crypto_secmech_release()
724 crypto_free_aead(server->secmech.enc); in cifs_crypto_secmech_release()
725 server->secmech.enc = NULL; in cifs_crypto_secmech_release()
728 if (server->secmech.dec) { in cifs_crypto_secmech_release()
729 crypto_free_aead(server->secmech.dec); in cifs_crypto_secmech_release()
730 server->secmech.dec = NULL; in cifs_crypto_secmech_release()