Lines Matching defs:server

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