Lines Matching refs:sess_data
1428 SMB2_sess_alloc_buffer(struct SMB2_sess_data *sess_data)
1431 struct cifs_ses *ses = sess_data->ses;
1432 struct TCP_Server_Info *server = sess_data->server;
1460 req->PreviousSessionId = cpu_to_le64(sess_data->previous_session);
1463 sess_data->previous_session);
1490 sess_data->iov[0].iov_base = (char *)req;
1492 sess_data->iov[0].iov_len = total_len - 1;
1497 sess_data->buf0_type = CIFS_SMALL_BUFFER;
1503 SMB2_sess_free_buffer(struct SMB2_sess_data *sess_data)
1505 struct kvec *iov = sess_data->iov;
1508 if (sess_data->buf0_type != CIFS_NO_BUFFER && iov[0].iov_base)
1511 free_rsp_buf(sess_data->buf0_type, iov[0].iov_base);
1512 sess_data->buf0_type = CIFS_NO_BUFFER;
1516 SMB2_sess_sendreceive(struct SMB2_sess_data *sess_data)
1520 struct smb2_sess_setup_req *req = sess_data->iov[0].iov_base;
1526 req->SecurityBufferLength = cpu_to_le16(sess_data->iov[1].iov_len);
1529 rqst.rq_iov = sess_data->iov;
1533 rc = cifs_send_recv(sess_data->xid, sess_data->ses,
1534 sess_data->server,
1536 &sess_data->buf0_type,
1538 cifs_small_buf_release(sess_data->iov[0].iov_base);
1540 sess_data->ses->expired_pwd = false;
1542 sess_data->ses->expired_pwd = true;
1544 memcpy(&sess_data->iov[0], &rsp_iov, sizeof(struct kvec));
1550 SMB2_sess_establish_session(struct SMB2_sess_data *sess_data)
1553 struct cifs_ses *ses = sess_data->ses;
1554 struct TCP_Server_Info *server = sess_data->server;
1578 SMB2_auth_kerberos(struct SMB2_sess_data *sess_data)
1581 struct cifs_ses *ses = sess_data->ses;
1582 struct TCP_Server_Info *server = sess_data->server;
1588 rc = SMB2_sess_alloc_buffer(sess_data);
1631 sess_data->iov[1].iov_base = msg->data + msg->sesskey_len;
1632 sess_data->iov[1].iov_len = msg->secblob_len;
1634 rc = SMB2_sess_sendreceive(sess_data);
1638 rsp = (struct smb2_sess_setup_rsp *)sess_data->iov[0].iov_base;
1645 rc = SMB2_sess_establish_session(sess_data);
1655 sess_data->result = rc;
1656 sess_data->func = NULL;
1657 SMB2_sess_free_buffer(sess_data);
1661 SMB2_auth_kerberos(struct SMB2_sess_data *sess_data)
1664 sess_data->result = -EOPNOTSUPP;
1665 sess_data->func = NULL;
1670 SMB2_sess_auth_rawntlmssp_authenticate(struct SMB2_sess_data *sess_data);
1673 SMB2_sess_auth_rawntlmssp_negotiate(struct SMB2_sess_data *sess_data)
1676 struct cifs_ses *ses = sess_data->ses;
1677 struct TCP_Server_Info *server = sess_data->server;
1695 rc = SMB2_sess_alloc_buffer(sess_data);
1701 sess_data->nls_cp);
1711 sess_data->iov[1].iov_base = ntlmssp_blob;
1712 sess_data->iov[1].iov_len = blob_length;
1714 rc = SMB2_sess_sendreceive(sess_data);
1715 rsp = (struct smb2_sess_setup_rsp *)sess_data->iov[0].iov_base;
1718 if (sess_data->buf0_type != CIFS_NO_BUFFER &&
1751 SMB2_sess_free_buffer(sess_data);
1753 sess_data->result = 0;
1754 sess_data->func = SMB2_sess_auth_rawntlmssp_authenticate;
1760 sess_data->result = rc;
1761 sess_data->func = NULL;
1765 SMB2_sess_auth_rawntlmssp_authenticate(struct SMB2_sess_data *sess_data)
1768 struct cifs_ses *ses = sess_data->ses;
1769 struct TCP_Server_Info *server = sess_data->server;
1777 rc = SMB2_sess_alloc_buffer(sess_data);
1781 req = (struct smb2_sess_setup_req *) sess_data->iov[0].iov_base;
1786 sess_data->nls_cp);
1798 sess_data->iov[1].iov_base = ntlmssp_blob;
1799 sess_data->iov[1].iov_len = blob_length;
1801 rc = SMB2_sess_sendreceive(sess_data);
1805 rsp = (struct smb2_sess_setup_rsp *)sess_data->iov[0].iov_base;
1817 rc = SMB2_sess_establish_session(sess_data);
1835 SMB2_sess_free_buffer(sess_data);
1838 sess_data->result = rc;
1839 sess_data->func = NULL;
1843 SMB2_select_sec(struct SMB2_sess_data *sess_data)
1846 struct cifs_ses *ses = sess_data->ses;
1847 struct TCP_Server_Info *server = sess_data->server;
1858 sess_data->func = SMB2_auth_kerberos;
1861 sess_data->func = SMB2_sess_auth_rawntlmssp_negotiate;
1877 struct SMB2_sess_data *sess_data;
1886 sess_data = kzalloc(sizeof(struct SMB2_sess_data), GFP_KERNEL);
1887 if (!sess_data)
1890 sess_data->xid = xid;
1891 sess_data->ses = ses;
1892 sess_data->server = server;
1893 sess_data->buf0_type = CIFS_NO_BUFFER;
1894 sess_data->nls_cp = (struct nls_table *) nls_cp;
1895 sess_data->previous_session = ses->Suid;
1897 rc = SMB2_select_sec(sess_data);
1907 while (sess_data->func)
1908 sess_data->func(sess_data);
1912 rc = sess_data->result;
1914 kfree_sensitive(sess_data);