Lines Matching refs:server

30 smb3_crypto_shash_allocate(struct TCP_Server_Info *server)  in smb3_crypto_shash_allocate()  argument
32 struct cifs_secmech *p = &server->secmech; in smb3_crypto_shash_allocate()
50 smb311_crypto_shash_allocate(struct TCP_Server_Info *server) in smb311_crypto_shash_allocate() argument
52 struct cifs_secmech *p = &server->secmech; in smb311_crypto_shash_allocate()
77 int smb2_get_sign_key(__u64 ses_id, struct TCP_Server_Info *server, u8 *key) in smb2_get_sign_key() argument
89 pserver = SERVER_IS_CHAN(server) ? server->primary_server : server; in smb2_get_sign_key()
105 is_binding = (cifs_chan_needs_reconnect(ses, server) && in smb2_get_sign_key()
125 if (chan->server == server) { in smb2_get_sign_key()
146 smb2_find_smb_ses_unlocked(struct TCP_Server_Info *server, __u64 ses_id) in smb2_find_smb_ses_unlocked() argument
152 pserver = SERVER_IS_CHAN(server) ? server->primary_server : server; in smb2_find_smb_ses_unlocked()
172 smb2_find_smb_ses(struct TCP_Server_Info *server, __u64 ses_id) in smb2_find_smb_ses() argument
177 ses = smb2_find_smb_ses_unlocked(server, ses_id); in smb2_find_smb_ses()
206 smb2_find_smb_tcon(struct TCP_Server_Info *server, __u64 ses_id, __u32 tid) in smb2_find_smb_tcon() argument
212 ses = smb2_find_smb_ses_unlocked(server, ses_id); in smb2_find_smb_tcon()
231 smb2_calc_signature(struct smb_rqst *rqst, struct TCP_Server_Info *server, in smb2_calc_signature() argument
243 ses = smb2_find_smb_ses(server, le64_to_cpu(shdr->SessionId)); in smb2_calc_signature()
260 shash = server->secmech.hmacsha256; in smb2_calc_signature()
299 rc = __cifs_calc_signature(&drqst, server, sigptr, shash); in smb2_calc_signature()
321 struct TCP_Server_Info *server = ses->server; in generate_key() local
326 rc = smb3_crypto_shash_allocate(server); in generate_key()
332 rc = crypto_shash_setkey(server->secmech.hmacsha256->tfm, in generate_key()
339 rc = crypto_shash_init(server->secmech.hmacsha256); in generate_key()
345 rc = crypto_shash_update(server->secmech.hmacsha256, i, 4); in generate_key()
351 rc = crypto_shash_update(server->secmech.hmacsha256, label.iov_base, label.iov_len); in generate_key()
357 rc = crypto_shash_update(server->secmech.hmacsha256, &zero, 1); in generate_key()
363 rc = crypto_shash_update(server->secmech.hmacsha256, context.iov_base, context.iov_len); in generate_key()
369 if ((server->cipher_type == SMB2_ENCRYPTION_AES256_CCM) || in generate_key()
370 (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) { in generate_key()
371 rc = crypto_shash_update(server->secmech.hmacsha256, L256, 4); in generate_key()
373 rc = crypto_shash_update(server->secmech.hmacsha256, L128, 4); in generate_key()
380 rc = crypto_shash_final(server->secmech.hmacsha256, hashptr); in generate_key()
405 struct TCP_Server_Info *server, in generate_smb3signingkey() argument
414 is_binding = (cifs_chan_needs_reconnect(ses, server) && in generate_smb3signingkey()
417 chan_index = cifs_ses_get_chan_index(ses, server); in generate_smb3signingkey()
481 cifs_dbg(VFS, "Cipher type %d\n", server->cipher_type); in generate_smb3signingkey()
486 if ((server->cipher_type == SMB2_ENCRYPTION_AES256_CCM) || in generate_smb3signingkey()
487 (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) { in generate_smb3signingkey()
504 struct TCP_Server_Info *server) in generate_smb30signingkey() argument
528 return generate_smb3signingkey(ses, server, &triplet); in generate_smb30signingkey()
533 struct TCP_Server_Info *server) in generate_smb311signingkey() argument
557 return generate_smb3signingkey(ses, server, &triplet); in generate_smb311signingkey()
561 smb3_calc_signature(struct smb_rqst *rqst, struct TCP_Server_Info *server, in smb3_calc_signature() argument
573 rc = smb2_get_sign_key(le64_to_cpu(shdr->SessionId), server, key); in smb3_calc_signature()
584 shash = server->secmech.aes_cmac; in smb3_calc_signature()
627 rc = __cifs_calc_signature(&drqst, server, sigptr, shash); in smb3_calc_signature()
639 smb2_sign_rqst(struct smb_rqst *rqst, struct TCP_Server_Info *server) in smb2_sign_rqst() argument
656 spin_lock(&server->srv_lock); in smb2_sign_rqst()
657 if (server->ops->need_neg && in smb2_sign_rqst()
658 server->ops->need_neg(server)) { in smb2_sign_rqst()
659 spin_unlock(&server->srv_lock); in smb2_sign_rqst()
662 spin_unlock(&server->srv_lock); in smb2_sign_rqst()
663 if (!is_binding && !server->session_estab) { in smb2_sign_rqst()
668 rc = server->ops->calc_signature(rqst, server, false); in smb2_sign_rqst()
674 smb2_verify_signature(struct smb_rqst *rqst, struct TCP_Server_Info *server) in smb2_verify_signature() argument
684 server->ignore_signature || in smb2_verify_signature()
685 (!server->session_estab)) in smb2_verify_signature()
706 rc = server->ops->calc_signature(rqst, server, true); in smb2_verify_signature()
724 smb2_seq_num_into_buf(struct TCP_Server_Info *server, in smb2_seq_num_into_buf() argument
729 shdr->MessageId = get_next_mid64(server); in smb2_seq_num_into_buf()
732 get_next_mid(server); in smb2_seq_num_into_buf()
737 struct TCP_Server_Info *server) in smb2_mid_entry_alloc() argument
742 if (server == NULL) { in smb2_mid_entry_alloc()
755 temp->server = server; in smb2_mid_entry_alloc()
775 smb2_get_mid_entry(struct cifs_ses *ses, struct TCP_Server_Info *server, in smb2_get_mid_entry() argument
778 spin_lock(&server->srv_lock); in smb2_get_mid_entry()
779 if (server->tcpStatus == CifsExiting) { in smb2_get_mid_entry()
780 spin_unlock(&server->srv_lock); in smb2_get_mid_entry()
784 if (server->tcpStatus == CifsNeedReconnect) { in smb2_get_mid_entry()
785 spin_unlock(&server->srv_lock); in smb2_get_mid_entry()
790 if (server->tcpStatus == CifsNeedNegotiate && in smb2_get_mid_entry()
792 spin_unlock(&server->srv_lock); in smb2_get_mid_entry()
795 spin_unlock(&server->srv_lock); in smb2_get_mid_entry()
816 *mid = smb2_mid_entry_alloc(shdr, server); in smb2_get_mid_entry()
819 spin_lock(&server->mid_lock); in smb2_get_mid_entry()
820 list_add_tail(&(*mid)->qhead, &server->pending_mid_q); in smb2_get_mid_entry()
821 spin_unlock(&server->mid_lock); in smb2_get_mid_entry()
827 smb2_check_receive(struct mid_q_entry *mid, struct TCP_Server_Info *server, in smb2_check_receive() argument
840 if (len > 24 && server->sign && !mid->decrypted) { in smb2_check_receive()
843 rc = smb2_verify_signature(&rqst, server); in smb2_check_receive()
853 smb2_setup_request(struct cifs_ses *ses, struct TCP_Server_Info *server, in smb2_setup_request() argument
861 smb2_seq_num_into_buf(server, shdr); in smb2_setup_request()
863 rc = smb2_get_mid_entry(ses, server, shdr, &mid); in smb2_setup_request()
865 revert_current_mid_from_hdr(server, shdr); in smb2_setup_request()
869 rc = smb2_sign_rqst(rqst, server); in smb2_setup_request()
871 revert_current_mid_from_hdr(server, shdr); in smb2_setup_request()
880 smb2_setup_async_request(struct TCP_Server_Info *server, struct smb_rqst *rqst) in smb2_setup_async_request() argument
887 spin_lock(&server->srv_lock); in smb2_setup_async_request()
888 if (server->tcpStatus == CifsNeedNegotiate && in smb2_setup_async_request()
890 spin_unlock(&server->srv_lock); in smb2_setup_async_request()
893 spin_unlock(&server->srv_lock); in smb2_setup_async_request()
895 smb2_seq_num_into_buf(server, shdr); in smb2_setup_async_request()
897 mid = smb2_mid_entry_alloc(shdr, server); in smb2_setup_async_request()
899 revert_current_mid_from_hdr(server, shdr); in smb2_setup_async_request()
903 rc = smb2_sign_rqst(rqst, server); in smb2_setup_async_request()
905 revert_current_mid_from_hdr(server, shdr); in smb2_setup_async_request()
914 smb3_crypto_aead_allocate(struct TCP_Server_Info *server) in smb3_crypto_aead_allocate() argument
918 if (!server->secmech.enc) { in smb3_crypto_aead_allocate()
919 if ((server->cipher_type == SMB2_ENCRYPTION_AES128_GCM) || in smb3_crypto_aead_allocate()
920 (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) in smb3_crypto_aead_allocate()
929 server->secmech.enc = tfm; in smb3_crypto_aead_allocate()
932 if (!server->secmech.dec) { in smb3_crypto_aead_allocate()
933 if ((server->cipher_type == SMB2_ENCRYPTION_AES128_GCM) || in smb3_crypto_aead_allocate()
934 (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) in smb3_crypto_aead_allocate()
939 crypto_free_aead(server->secmech.enc); in smb3_crypto_aead_allocate()
940 server->secmech.enc = NULL; in smb3_crypto_aead_allocate()
945 server->secmech.dec = tfm; in smb3_crypto_aead_allocate()