Lines Matching refs:ses

114 	if ((tcon->ses) && (tcon->ses->server) &&  in smb2_hdr_assemble()
115 (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) in smb2_hdr_assemble()
121 if (tcon->ses) in smb2_hdr_assemble()
122 hdr->SessionId = tcon->ses->Suid; in smb2_hdr_assemble()
137 if (tcon->ses && tcon->ses->server && tcon->ses->server->sign) in smb2_hdr_assemble()
149 struct cifs_ses *ses; in smb2_reconnect() local
177 if ((!tcon->ses) || (tcon->ses->status == CifsExiting) || in smb2_reconnect()
178 (!tcon->ses->server)) in smb2_reconnect()
181 ses = tcon->ses; in smb2_reconnect()
182 server = ses->server; in smb2_reconnect()
222 if (!tcon->ses->need_reconnect && !tcon->need_reconnect) in smb2_reconnect()
231 mutex_lock(&tcon->ses->session_mutex); in smb2_reconnect()
232 rc = cifs_negotiate_protocol(0, tcon->ses); in smb2_reconnect()
233 if (!rc && tcon->ses->need_reconnect) in smb2_reconnect()
234 rc = cifs_setup_session(0, tcon->ses, nls_codepage); in smb2_reconnect()
237 mutex_unlock(&tcon->ses->session_mutex); in smb2_reconnect()
242 rc = SMB2_tcon(0, tcon->ses, tcon->treeName, tcon, nls_codepage); in smb2_reconnect()
243 mutex_unlock(&tcon->ses->session_mutex); in smb2_reconnect()
377 SMB2_negotiate(const unsigned int xid, struct cifs_ses *ses) in SMB2_negotiate() argument
384 struct TCP_Server_Info *server = ses->server; in SMB2_negotiate()
402 req->Dialects[0] = cpu_to_le16(ses->server->vals->protocol_id); in SMB2_negotiate()
408 if (ses->sign) in SMB2_negotiate()
415 req->Capabilities = cpu_to_le32(ses->server->vals->req_capabilities); in SMB2_negotiate()
418 if (ses->server->vals->protocol_id == SMB20_PROT_ID) in SMB2_negotiate()
423 if (ses->server->vals->protocol_id == SMB311_PROT_ID) in SMB2_negotiate()
430 rc = SendReceive2(xid, ses, iov, 1, &resp_buftype, flags); in SMB2_negotiate()
489 rc = cifs_enable_signing(server, ses->sign); in SMB2_negotiate()
521 if (tcon->ses->server->sign == false) in smb3_validate_negotiate()
525 cpu_to_le32(tcon->ses->server->vals->req_capabilities); in smb3_validate_negotiate()
526 memcpy(vneg_inbuf.Guid, tcon->ses->server->client_guid, in smb3_validate_negotiate()
529 if (tcon->ses->sign) in smb3_validate_negotiate()
540 cpu_to_le16(tcon->ses->server->vals->protocol_id); in smb3_validate_negotiate()
559 cpu_to_le16(tcon->ses->server->vals->protocol_id)) in smb3_validate_negotiate()
562 if (pneg_rsp->SecurityMode != cpu_to_le16(tcon->ses->server->sec_mode)) in smb3_validate_negotiate()
568 SMB2_LARGE_FILES) != tcon->ses->server->capabilities) in smb3_validate_negotiate()
581 SMB2_sess_setup(const unsigned int xid, struct cifs_ses *ses, in SMB2_sess_setup() argument
590 struct TCP_Server_Info *server = ses->server; in SMB2_sess_setup()
608 kfree(ses->auth_key.response); in SMB2_sess_setup()
609 ses->auth_key.response = NULL; in SMB2_sess_setup()
615 ses->ntlmssp = kmalloc(sizeof(struct ntlmssp_auth), GFP_KERNEL); in SMB2_sess_setup()
616 if (!ses->ntlmssp) in SMB2_sess_setup()
618 ses->ntlmssp->sesskey_per_smbsess = true; in SMB2_sess_setup()
621 if (ses->sectype != Kerberos && ses->sectype != RawNTLMSSP) in SMB2_sess_setup()
622 ses->sectype = RawNTLMSSP; in SMB2_sess_setup()
652 if (ses->sectype == Kerberos) { in SMB2_sess_setup()
656 spnego_key = cifs_get_spnego_key(ses); in SMB2_sess_setup()
675 ses->auth_key.response = kmemdup(msg->data, msg->sesskey_len, in SMB2_sess_setup()
677 if (!ses->auth_key.response) { in SMB2_sess_setup()
684 ses->auth_key.len = msg->sesskey_len; in SMB2_sess_setup()
699 build_ntlmssp_negotiate_blob(ntlmssp_blob, ses); in SMB2_sess_setup()
718 req->hdr.SessionId = ses->Suid; in SMB2_sess_setup()
725 rc = build_ntlmssp_auth_blob(ntlmssp_blob, &blob_length, ses, in SMB2_sess_setup()
762 rc = SendReceive2(xid, ses, iov, 2, &resp_buftype, in SMB2_sess_setup()
767 ses->Suid = rsp->hdr.SessionId; in SMB2_sess_setup()
786 le16_to_cpu(rsp->SecurityBufferLength), ses); in SMB2_sess_setup()
800 ses->session_flags = le16_to_cpu(rsp->SessionFlags); in SMB2_sess_setup()
801 if (ses->session_flags & SMB2_SESSION_FLAG_ENCRYPT_DATA) in SMB2_sess_setup()
813 rc = server->ops->generate_signingkey(ses); in SMB2_sess_setup()
814 kfree(ses->auth_key.response); in SMB2_sess_setup()
815 ses->auth_key.response = NULL; in SMB2_sess_setup()
831 ses->status = CifsGood; in SMB2_sess_setup()
832 ses->need_reconnect = false; in SMB2_sess_setup()
838 kfree(ses->auth_key.response); in SMB2_sess_setup()
839 ses->auth_key.response = NULL; in SMB2_sess_setup()
845 kfree(ses->ntlmssp); in SMB2_sess_setup()
851 SMB2_logoff(const unsigned int xid, struct cifs_ses *ses) in SMB2_logoff() argument
857 cifs_dbg(FYI, "disconnect session %p\n", ses); in SMB2_logoff()
859 if (ses && (ses->server)) in SMB2_logoff()
860 server = ses->server; in SMB2_logoff()
865 if (ses->need_reconnect) in SMB2_logoff()
873 req->hdr.SessionId = ses->Suid; in SMB2_logoff()
877 rc = SendReceiveNoRsp(xid, ses, (char *) &req->hdr, 0); in SMB2_logoff()
903 SMB2_tcon(const unsigned int xid, struct cifs_ses *ses, const char *tree, in SMB2_tcon() argument
917 if ((ses->server) && tree) in SMB2_tcon()
918 server = ses->server; in SMB2_tcon()
926 ((ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION) == 0)) { in SMB2_tcon()
950 req->hdr.SessionId = ses->Suid; in SMB2_tcon()
968 rc = SendReceive2(xid, ses, iov, 2, &resp_buftype, 0); in SMB2_tcon()
980 ses->ipc_tid = rsp->hdr.TreeId; in SMB2_tcon()
1012 if (tcon->ses->server->ops->validate_negotiate) in SMB2_tcon()
1013 rc = tcon->ses->server->ops->validate_negotiate(xid, tcon); in SMB2_tcon()
1034 struct cifs_ses *ses = tcon->ses; in SMB2_tdis() local
1038 if (ses && (ses->server)) in SMB2_tdis()
1039 server = ses->server; in SMB2_tdis()
1043 if ((tcon->need_reconnect) || (tcon->ses->need_reconnect)) in SMB2_tdis()
1050 rc = SendReceiveNoRsp(xid, ses, (char *)&req->hdr, 0); in SMB2_tdis()
1310 struct cifs_ses *ses = tcon->ses; in SMB2_open() local
1323 if (ses && (ses->server)) in SMB2_open()
1324 server = ses->server; in SMB2_open()
1411 rc = SendReceive2(xid, ses, iov, num_iovecs, &resp_buftype, 0); in SMB2_open()
1457 struct cifs_ses *ses; in SMB2_ioctl() local
1473 ses = tcon->ses; in SMB2_ioctl()
1477 if (ses && (ses->server)) in SMB2_ioctl()
1478 server = ses->server; in SMB2_ioctl()
1536 rc = SendReceive2(xid, ses, iov, num_iovecs, &resp_buftype, 0); in SMB2_ioctl()
1619 struct cifs_ses *ses = tcon->ses; in SMB2_close() local
1626 if (ses && (ses->server)) in SMB2_close()
1627 server = ses->server; in SMB2_close()
1642 rc = SendReceive2(xid, ses, iov, 1, &resp_buftype, 0); in SMB2_close()
1725 struct cifs_ses *ses = tcon->ses; in query_info() local
1729 if (ses && (ses->server)) in query_info()
1730 server = ses->server; in query_info()
1751 rc = SendReceive2(xid, ses, iov, 1, &resp_buftype, 0); in query_info()
1848 struct cifs_ses *ses = tcon->ses; in SMB2_flush() local
1855 if (ses && (ses->server)) in SMB2_flush()
1856 server = ses->server; in SMB2_flush()
1871 rc = SendReceive2(xid, ses, iov, 1, &resp_buftype, 0); in SMB2_flush()
1894 if (io_parms->tcon->ses->server == NULL) in smb2_new_read_req()
1943 struct TCP_Server_Info *server = tcon->ses->server; in smb2_readv_callback()
2019 server = io_parms.tcon->ses->server; in smb2_async_readv()
2050 rc = cifs_call_async(io_parms.tcon->ses->server, &rqst, in smb2_async_readv()
2075 rc = SendReceive2(xid, io_parms->tcon->ses, iov, 1, in SMB2_read()
2122 struct TCP_Server_Info *server = tcon->ses->server; in smb2_writev_callback()
2130 wdata->result = smb2_check_receive(mid, tcon->ses->server, 0); in smb2_writev_callback()
2165 add_credits(tcon->ses->server, credits_received, 0); in smb2_writev_callback()
2176 struct TCP_Server_Info *server = tcon->ses->server; in smb2_async_writev()
2272 if (io_parms->tcon->ses->server == NULL) in SMB2_write()
2296 rc = SendReceive2(xid, io_parms->tcon->ses, iov, n_vec + 1, in SMB2_write()
2366 struct cifs_ses *ses = tcon->ses; in SMB2_query_directory() local
2372 if (ses && (ses->server)) in SMB2_query_directory()
2373 server = ses->server; in SMB2_query_directory()
2425 rc = SendReceive2(xid, ses, iov, 2, &resp_buftype, 0); in SMB2_query_directory()
2489 struct cifs_ses *ses = tcon->ses; in send_set_info() local
2491 if (ses && (ses->server)) in send_set_info()
2492 server = ses->server; in send_set_info()
2536 rc = SendReceive2(xid, ses, iov, num, &resp_buftype, 0); in send_set_info()
2677 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) req, CIFS_OBREAK_OP); in SMB2_oplock_break()
2709 if ((tcon->ses == NULL) || (tcon->ses->server == NULL)) in build_qfs_info_req()
2740 struct cifs_ses *ses = tcon->ses; in SMB2_QFS_info() local
2749 rc = SendReceive2(xid, ses, &iov, 1, &resp_buftype, 0); in SMB2_QFS_info()
2777 struct cifs_ses *ses = tcon->ses; in SMB2_QFS_attr() local
2799 rc = SendReceive2(xid, ses, &iov, 1, &resp_buftype, 0); in SMB2_QFS_attr()
2865 rc = SendReceive2(xid, tcon->ses, iov, 2, &resp_buf_type, CIFS_NO_RESP); in smb2_lockv()
2911 rc = SendReceiveNoRsp(xid, tcon->ses, (char *) req, CIFS_OBREAK_OP); in SMB2_lease_break()