Lines Matching refs:server

172 			  struct TCP_Server_Info *server, char *signature,
181 if (!is_smb1(server)) {
224 * should be called with the server->srv_mutex held.
227 struct TCP_Server_Info *server, char *signature)
231 if (!rqst->rq_iov || !signature || !server)
234 rc = cifs_alloc_hash("md5", &server->secmech.md5);
238 rc = crypto_shash_init(server->secmech.md5);
244 rc = crypto_shash_update(server->secmech.md5,
245 server->session_key.response, server->session_key.len);
251 return __cifs_calc_signature(rqst, server, signature, server->secmech.md5);
254 /* must be called with server->srv_mutex held */
255 int cifs_sign_rqst(struct smb_rqst *rqst, struct TCP_Server_Info *server,
266 if ((cifs_pdu == NULL) || (server == NULL))
269 spin_lock(&server->srv_lock);
271 server->tcpStatus == CifsNeedNegotiate) {
272 spin_unlock(&server->srv_lock);
275 spin_unlock(&server->srv_lock);
277 if (!server->session_estab) {
283 cpu_to_le32(server->sequence_number);
286 *pexpected_response_sequence_number = ++server->sequence_number;
287 ++server->sequence_number;
289 rc = cifs_calc_signature(rqst, server, smb_signature);
298 int cifs_sign_smbv(struct kvec *iov, int n_vec, struct TCP_Server_Info *server,
304 return cifs_sign_rqst(&rqst, server, pexpected_response_sequence);
307 /* must be called with server->srv_mutex held */
308 int cifs_sign_smb(struct smb_hdr *cifs_pdu, struct TCP_Server_Info *server,
318 return cifs_sign_smbv(iov, 2, server,
323 struct TCP_Server_Info *server,
335 if (cifs_pdu == NULL || server == NULL)
338 if (!server->session_estab)
349 server does not send one? BB */
357 its signature against what the server sent */
364 cifs_server_lock(server);
365 rc = cifs_calc_signature(rqst, server, what_we_think_sig_should_be);
366 cifs_server_unlock(server);
438 * domain name, authentication may fail against some server but
490 * We parse that blob here to find the server given timestamp
540 wchar_t *server;
542 if (!ses->server->secmech.hmacmd5) {
550 rc = crypto_shash_setkey(ses->server->secmech.hmacmd5->tfm, nt_hash,
557 rc = crypto_shash_init(ses->server->secmech.hmacmd5);
578 rc = crypto_shash_update(ses->server->secmech.hmacmd5,
598 crypto_shash_update(ses->server->secmech.hmacmd5,
610 server = kmalloc(2 + (len * 2), GFP_KERNEL);
611 if (server == NULL) {
615 len = cifs_strtoUTF16((__le16 *)server, ses->ip_addr, len,
618 crypto_shash_update(ses->server->secmech.hmacmd5,
619 (char *)server, 2 * len);
620 kfree(server);
622 cifs_dbg(VFS, "%s: Could not update with server\n",
628 rc = crypto_shash_final(ses->server->secmech.hmacmd5,
648 if (!ses->server->secmech.hmacmd5) {
653 rc = crypto_shash_setkey(ses->server->secmech.hmacmd5->tfm,
661 rc = crypto_shash_init(ses->server->secmech.hmacmd5);
667 if (ses->server->negflavor == CIFS_NEGFLAVOR_EXTENDED)
672 ses->server->cryptkey, CIFS_SERVER_CHALLENGE_SIZE);
673 rc = crypto_shash_update(ses->server->secmech.hmacmd5,
681 rc = crypto_shash_final(ses->server->secmech.hmacmd5,
705 if (ses->server->negflavor == CIFS_NEGFLAVOR_EXTENDED) {
726 /* Must be within 5 minutes of the server (or in range +/-2h
727 * in case of Mac OS X), so simply carry over server timestamp
755 cifs_server_lock(ses->server);
757 rc = cifs_alloc_hash("hmac(md5)", &ses->server->secmech.hmacmd5);
777 rc = crypto_shash_setkey(ses->server->secmech.hmacmd5->tfm,
785 rc = crypto_shash_init(ses->server->secmech.hmacmd5);
791 rc = crypto_shash_update(ses->server->secmech.hmacmd5,
799 rc = crypto_shash_final(ses->server->secmech.hmacmd5,
805 cifs_server_unlock(ses->server);
844 cifs_crypto_secmech_release(struct TCP_Server_Info *server)
846 cifs_free_hash(&server->secmech.aes_cmac);
847 cifs_free_hash(&server->secmech.hmacsha256);
848 cifs_free_hash(&server->secmech.md5);
849 cifs_free_hash(&server->secmech.sha512);
850 cifs_free_hash(&server->secmech.hmacmd5);
852 if (server->secmech.enc) {
853 crypto_free_aead(server->secmech.enc);
854 server->secmech.enc = NULL;
857 if (server->secmech.dec) {
858 crypto_free_aead(server->secmech.dec);
859 server->secmech.dec = NULL;