Lines Matching refs:server
91 (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION)) in smb3_encryption_required()
103 if (tcon && tcon->ses && tcon->ses->server) { in smb2_hdr_assemble()
104 struct TCP_Server_Info *server = tcon->ses->server; in smb2_hdr_assemble() local
106 spin_lock(&server->req_lock); in smb2_hdr_assemble()
108 if (server->credits >= server->max_credits) in smb2_hdr_assemble()
112 min_t(int, server->max_credits - in smb2_hdr_assemble()
113 server->credits, 2)); in smb2_hdr_assemble()
114 spin_unlock(&server->req_lock); in smb2_hdr_assemble()
125 if ((tcon->ses) && (tcon->ses->server) && in smb2_hdr_assemble()
126 (tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_LARGE_MTU)) in smb2_hdr_assemble()
148 if (tcon->ses && tcon->ses->server && tcon->ses->server->sign && in smb2_hdr_assemble()
161 struct TCP_Server_Info *server; in smb2_reconnect() local
189 (!tcon->ses->server)) in smb2_reconnect()
193 server = ses->server; in smb2_reconnect()
199 while (server->tcpStatus == CifsNeedReconnect) { in smb2_reconnect()
215 rc = wait_event_interruptible_timeout(server->response_q, in smb2_reconnect()
216 (server->tcpStatus != CifsNeedReconnect), in smb2_reconnect()
225 if (server->tcpStatus != CifsNeedReconnect) in smb2_reconnect()
255 if (server->tcpStatus == CifsNeedReconnect) { in smb2_reconnect()
285 queue_delayed_work(cifsiod_wq, &server->reconnect, 0); in smb2_reconnect()
448 static int decode_encrypt_ctx(struct TCP_Server_Info *server, in decode_encrypt_ctx() argument
469 server->cipher_type = ctxt->Ciphers[0]; in decode_encrypt_ctx()
470 server->capabilities |= SMB2_GLOBAL_CAP_ENCRYPTION; in decode_encrypt_ctx()
475 struct TCP_Server_Info *server, in smb311_decode_neg_context() argument
510 rc = decode_encrypt_ctx(server, in smb311_decode_neg_context()
513 server->posix_ext_supported = true; in smb311_decode_neg_context()
612 struct TCP_Server_Info *server = ses->server; in SMB2_negotiate() local
620 if (!server) { in SMB2_negotiate()
631 memset(server->preauth_sha_hash, 0, SMB2_PREAUTH_HASH_SIZE); in SMB2_negotiate()
634 if (strcmp(ses->server->vals->version_string, in SMB2_negotiate()
640 } else if (strcmp(ses->server->vals->version_string, in SMB2_negotiate()
649 req->Dialects[0] = cpu_to_le16(ses->server->vals->protocol_id); in SMB2_negotiate()
662 req->Capabilities = cpu_to_le32(ses->server->vals->req_capabilities); in SMB2_negotiate()
665 if (ses->server->vals->protocol_id == SMB20_PROT_ID) in SMB2_negotiate()
668 memcpy(req->ClientGUID, server->client_guid, in SMB2_negotiate()
670 if (ses->server->vals->protocol_id == SMB311_PROT_ID) in SMB2_negotiate()
695 if (strcmp(ses->server->vals->version_string, in SMB2_negotiate()
706 } else if (strcmp(ses->server->vals->version_string, in SMB2_negotiate()
714 ses->server->ops = &smb21_operations; in SMB2_negotiate()
717 ses->server->vals->protocol_id) { in SMB2_negotiate()
742 server->dialect = le16_to_cpu(rsp->DialectRevision); in SMB2_negotiate()
749 memcpy(server->preauth_sha_hash, ses->preauth_sha_hash, in SMB2_negotiate()
753 server->negflavor = CIFS_NEGFLAVOR_EXTENDED; in SMB2_negotiate()
755 server->maxBuf = min_t(unsigned int, le32_to_cpu(rsp->MaxTransactSize), in SMB2_negotiate()
757 server->max_read = le32_to_cpu(rsp->MaxReadSize); in SMB2_negotiate()
758 server->max_write = le32_to_cpu(rsp->MaxWriteSize); in SMB2_negotiate()
759 server->sec_mode = le16_to_cpu(rsp->SecurityMode); in SMB2_negotiate()
760 if ((server->sec_mode & SMB2_SEC_MODE_FLAGS_ALL) != server->sec_mode) in SMB2_negotiate()
762 server->sec_mode); in SMB2_negotiate()
763 server->capabilities = le32_to_cpu(rsp->Capabilities); in SMB2_negotiate()
765 server->capabilities |= SMB2_NT_FIND | SMB2_LARGE_FILES; in SMB2_negotiate()
778 server->sec_ntlmssp = true; in SMB2_negotiate()
781 rc = cifs_enable_signing(server, ses->sign); in SMB2_negotiate()
785 rc = decode_negTokenInit(security_blob, blob_length, server); in SMB2_negotiate()
794 rc = smb311_decode_neg_context(rsp, server, in SMB2_negotiate()
815 if (tcon->ses->server->dialect == SMB311_PROT_ID) in smb3_validate_negotiate()
841 cpu_to_le32(tcon->ses->server->vals->req_capabilities); in smb3_validate_negotiate()
842 memcpy(pneg_inbuf->Guid, tcon->ses->server->client_guid, in smb3_validate_negotiate()
855 if (strcmp(tcon->ses->server->vals->version_string, in smb3_validate_negotiate()
863 } else if (strcmp(tcon->ses->server->vals->version_string, in smb3_validate_negotiate()
874 cpu_to_le16(tcon->ses->server->vals->protocol_id); in smb3_validate_negotiate()
902 if (pneg_rsp->Dialect != cpu_to_le16(tcon->ses->server->dialect)) in smb3_validate_negotiate()
905 if (pneg_rsp->SecurityMode != cpu_to_le16(tcon->ses->server->sec_mode)) in smb3_validate_negotiate()
911 SMB2_LARGE_FILES) != tcon->ses->server->capabilities) in smb3_validate_negotiate()
929 smb2_select_sectype(struct TCP_Server_Info *server, enum securityEnum requested) in smb2_select_sectype() argument
938 if (server->sec_ntlmssp && in smb2_select_sectype()
941 if ((server->sec_kerberos || server->sec_mskerberos) && in smb2_select_sectype()
975 struct TCP_Server_Info *server = ses->server; in SMB2_sess_alloc_buffer() local
995 if (server->sign) in SMB2_sess_alloc_buffer()
1058 mutex_lock(&ses->server->srv_mutex); in SMB2_sess_establish_session()
1059 if (ses->server->ops->generate_signingkey) { in SMB2_sess_establish_session()
1060 rc = ses->server->ops->generate_signingkey(ses); in SMB2_sess_establish_session()
1064 mutex_unlock(&ses->server->srv_mutex); in SMB2_sess_establish_session()
1068 if (!ses->server->session_estab) { in SMB2_sess_establish_session()
1069 ses->server->sequence_number = 0x2; in SMB2_sess_establish_session()
1070 ses->server->session_estab = true; in SMB2_sess_establish_session()
1072 mutex_unlock(&ses->server->srv_mutex); in SMB2_sess_establish_session()
1308 type = smb2_select_sectype(ses->server, ses->sectype); in SMB2_select_sec()
1336 struct TCP_Server_Info *server = ses->server; in SMB2_sess_setup() local
1341 if (!server) { in SMB2_sess_setup()
1362 memcpy(ses->preauth_sha_hash, ses->server->preauth_sha_hash, in SMB2_sess_setup()
1382 struct TCP_Server_Info *server; in SMB2_logoff() local
1391 if (ses && (ses->server)) in SMB2_logoff()
1392 server = ses->server; in SMB2_logoff()
1409 else if (server->sign) in SMB2_logoff()
1465 if (!(ses->server) || !tree) in SMB2_tcon()
1504 if ((ses->server->dialect == SMB311_PROT_ID) && in SMB2_tcon()
1555 !(tcon->ses->server->capabilities & SMB2_GLOBAL_CAP_ENCRYPTION)) in SMB2_tcon()
1559 if (tcon->ses->server->ops->validate_negotiate) in SMB2_tcon()
1560 rc = tcon->ses->server->ops->validate_negotiate(xid, tcon); in SMB2_tcon()
1588 if (!ses || !(ses->server)) in SMB2_tdis()
1669 parse_lease_state(struct TCP_Server_Info *server, struct smb2_create_rsp *rsp, in parse_lease_state() argument
1685 return server->ops->parse_lease_buf(cc, epoch, in parse_lease_state()
1699 add_lease_context(struct TCP_Server_Info *server, struct kvec *iov, in add_lease_context() argument
1705 iov[num].iov_base = server->ops->create_lease_buf(lease_key, *oplock); in add_lease_context()
1708 iov[num].iov_len = server->vals->create_lease_size; in add_lease_context()
1715 server->vals->create_lease_size); in add_lease_context()
1957 struct TCP_Server_Info *server; in smb311_posix_mkdir() local
1980 if (ses && (ses->server)) in smb311_posix_mkdir()
1981 server = ses->server; in smb311_posix_mkdir()
2103 struct TCP_Server_Info *server = tcon->ses->server; in SMB2_open_init() local
2175 if (!server->oplocks) in SMB2_open_init()
2178 if (!(server->capabilities & SMB2_GLOBAL_CAP_LEASING) || in SMB2_open_init()
2181 else if (!(server->capabilities & SMB2_GLOBAL_CAP_DIRECTORY_LEASING) && in SMB2_open_init()
2185 rc = add_lease_context(server, iov, &n_iov, in SMB2_open_init()
2193 if (server->capabilities & SMB2_GLOBAL_CAP_LEASING) { in SMB2_open_init()
2197 cpu_to_le32(server->vals->create_lease_size); in SMB2_open_init()
2259 struct TCP_Server_Info *server; in SMB2_open() local
2269 if (ses && (ses->server)) in SMB2_open()
2270 server = ses->server; in SMB2_open()
2319 *oplock = parse_lease_state(server, rsp, &oparms->fid->epoch, in SMB2_open()
2364 if (!ses || !(ses->server)) in SMB2_ioctl()
2555 if (!ses || !(ses->server)) in SMB2_close_flags()
2708 if (!ses || !(ses->server)) in query_info()
2815 struct TCP_Server_Info *server = mid->callback_data; in smb2_echo_callback() local
2823 add_credits(server, credits_received, CIFS_ECHO_OP); in smb2_echo_callback()
2828 struct TCP_Server_Info *server = container_of(work, in smb2_reconnect_server() local
2839 mutex_lock(&server->reconnect_mutex); in smb2_reconnect_server()
2845 list_for_each_entry(ses, &server->smb_ses_list, smb_ses_list) { in smb2_reconnect_server()
2863 server->srv_count++; in smb2_reconnect_server()
2879 queue_delayed_work(cifsiod_wq, &server->reconnect, 2 * HZ); in smb2_reconnect_server()
2880 mutex_unlock(&server->reconnect_mutex); in smb2_reconnect_server()
2884 cifs_put_tcp_session(server, 1); in smb2_reconnect_server()
2888 SMB2_echo(struct TCP_Server_Info *server) in SMB2_echo() argument
2899 if (server->tcpStatus == CifsNeedNegotiate) { in SMB2_echo()
2901 queue_delayed_work(cifsiod_wq, &server->reconnect, 0); in SMB2_echo()
2914 rc = cifs_call_async(server, &rqst, NULL, smb2_echo_callback, NULL, in SMB2_echo()
2915 server, CIFS_ECHO_OP); in SMB2_echo()
2939 if (!ses || !(ses->server)) in SMB2_flush()
2984 struct TCP_Server_Info *server; in smb2_new_read_req() local
2991 server = io_parms->tcon->ses->server; in smb2_new_read_req()
2992 if (server == NULL) in smb2_new_read_req()
3011 if (server->rdma && rdata && !server->sign && in smb2_new_read_req()
3012 rdata->bytes >= server->smbd_conn->rdma_readwrite_threshold) { in smb2_new_read_req()
3016 io_parms->tcon->ses->server->dialect == SMB30_PROT_ID; in smb2_new_read_req()
3019 server->smbd_conn, rdata->pages, in smb2_new_read_req()
3073 struct TCP_Server_Info *server = tcon->ses->server; in smb2_readv_callback() local
3093 if (server->sign && !mid->decrypted) { in smb2_readv_callback()
3096 rc = smb2_verify_signature(&rqst, server); in smb2_readv_callback()
3108 if (server->sign && rdata->got_bytes) in smb2_readv_callback()
3135 add_credits(server, credits_received, 0); in smb2_readv_callback()
3148 struct TCP_Server_Info *server; in smb2_async_readv() local
3161 server = io_parms.tcon->ses->server; in smb2_async_readv()
3170 spin_lock(&server->req_lock); in smb2_async_readv()
3171 server->in_flight--; in smb2_async_readv()
3172 spin_unlock(&server->req_lock); in smb2_async_readv()
3189 spin_lock(&server->req_lock); in smb2_async_readv()
3190 server->credits += rdata->credits - in smb2_async_readv()
3192 spin_unlock(&server->req_lock); in smb2_async_readv()
3193 wake_up(&server->request_q); in smb2_async_readv()
3198 rc = cifs_call_async(io_parms.tcon->ses->server, &rqst, in smb2_async_readv()
3303 wdata->result = smb2_check_receive(mid, tcon->ses->server, 0); in smb2_writev_callback()
3348 add_credits(tcon->ses->server, credits_received, 0); in smb2_writev_callback()
3360 struct TCP_Server_Info *server = tcon->ses->server; in smb2_async_writev() local
3371 spin_lock(&server->req_lock); in smb2_async_writev()
3372 server->in_flight--; in smb2_async_writev()
3373 spin_unlock(&server->req_lock); in smb2_async_writev()
3398 if (server->rdma && !server->sign && wdata->bytes >= in smb2_async_writev()
3399 server->smbd_conn->rdma_readwrite_threshold) { in smb2_async_writev()
3402 bool need_invalidate = server->dialect == SMB30_PROT_ID; in smb2_async_writev()
3405 server->smbd_conn, wdata->pages, in smb2_async_writev()
3466 spin_lock(&server->req_lock); in smb2_async_writev()
3467 server->credits += wdata->credits - in smb2_async_writev()
3469 spin_unlock(&server->req_lock); in smb2_async_writev()
3470 wake_up(&server->request_q); in smb2_async_writev()
3475 rc = cifs_call_async(server, &rqst, NULL, smb2_writev_callback, NULL, in smb2_async_writev()
3523 if (io_parms->tcon->ses->server == NULL) in SMB2_write()
3636 struct TCP_Server_Info *server; in SMB2_query_directory() local
3645 if (ses && (ses->server)) in SMB2_query_directory()
3646 server = ses->server; in SMB2_query_directory()
3689 output_size = min_t(unsigned int, output_size, server->maxBuf); in SMB2_query_directory()
3775 if (!ses || !(ses->server)) in send_set_info()
4057 struct TCP_Server_Info *server; in build_qfs_info_req() local
4064 if ((tcon->ses == NULL) || (tcon->ses->server == NULL)) in build_qfs_info_req()
4067 server = tcon->ses->server; in build_qfs_info_req()