Lines Matching refs:server

120 	struct TCP_Server_Info *server;  in cifs_reconnect_tcon()  local
132 server = ses->server; in cifs_reconnect_tcon()
152 while (server->tcpStatus == CifsNeedReconnect) { in cifs_reconnect_tcon()
153 wait_event_interruptible_timeout(server->response_q, in cifs_reconnect_tcon()
154 (server->tcpStatus != CifsNeedReconnect), 10 * HZ); in cifs_reconnect_tcon()
157 if (server->tcpStatus != CifsNeedReconnect) in cifs_reconnect_tcon()
270 buffer->Mid = get_next_mid(ses->server); in small_smb_init_no_tc()
372 struct TCP_Server_Info *server = ses->server; in decode_ext_sec_blob() local
379 if (server->srv_count > 1) { in decode_ext_sec_blob()
381 if (memcmp(server->server_GUID, guid, SMB1_CLIENT_GUID_SIZE) != 0) { in decode_ext_sec_blob()
383 memcpy(server->server_GUID, guid, SMB1_CLIENT_GUID_SIZE); in decode_ext_sec_blob()
387 memcpy(server->server_GUID, guid, SMB1_CLIENT_GUID_SIZE); in decode_ext_sec_blob()
391 server->sec_ntlmssp = true; in decode_ext_sec_blob()
395 pSMBr->u.extended_response.SecurityBlob, count, server); in decode_ext_sec_blob()
404 cifs_enable_signing(struct TCP_Server_Info *server, bool mnt_sign_required) in cifs_enable_signing() argument
406 bool srv_sign_required = server->sec_mode & server->vals->signing_required; in cifs_enable_signing()
407 bool srv_sign_enabled = server->sec_mode & server->vals->signing_enabled; in cifs_enable_signing()
431 server->sign = true; in cifs_enable_signing()
440 server->sign = true; in cifs_enable_signing()
448 decode_lanman_negprot_rsp(struct TCP_Server_Info *server, NEGOTIATE_RSP *pSMBr) in decode_lanman_negprot_rsp() argument
453 if (server->dialect != LANMAN_PROT && server->dialect != LANMAN2_PROT) in decode_lanman_negprot_rsp()
456 server->sec_mode = le16_to_cpu(rsp->SecurityMode); in decode_lanman_negprot_rsp()
457 server->maxReq = min_t(unsigned int, in decode_lanman_negprot_rsp()
460 set_credits(server, server->maxReq); in decode_lanman_negprot_rsp()
461 server->maxBuf = le16_to_cpu(rsp->MaxBufSize); in decode_lanman_negprot_rsp()
465 server->max_rw = 0xFF00; in decode_lanman_negprot_rsp()
466 server->capabilities = CAP_MPX_MODE | CAP_RAW_MODE; in decode_lanman_negprot_rsp()
468 server->max_rw = 0;/* do not need to use raw anyway */ in decode_lanman_negprot_rsp()
469 server->capabilities = CAP_MPX_MODE; in decode_lanman_negprot_rsp()
496 server->timeAdj = result; in decode_lanman_negprot_rsp()
498 server->timeAdj = (int)tmp; in decode_lanman_negprot_rsp()
499 server->timeAdj *= 60; /* also in seconds */ in decode_lanman_negprot_rsp()
501 cifs_dbg(FYI, "server->timeAdj: %d seconds\n", server->timeAdj); in decode_lanman_negprot_rsp()
509 memcpy(server->cryptkey, rsp->EncryptionKey, in decode_lanman_negprot_rsp()
511 } else if (server->sec_mode & SECMODE_PW_ENCRYPT) { in decode_lanman_negprot_rsp()
520 decode_lanman_negprot_rsp(struct TCP_Server_Info *server, NEGOTIATE_RSP *pSMBr) in decode_lanman_negprot_rsp() argument
552 struct TCP_Server_Info *server = ses->server; in CIFSSMBNegotiate() local
555 if (!server) { in CIFSSMBNegotiate()
565 pSMB->hdr.Mid = get_next_mid(server); in CIFSSMBNegotiate()
587 server->dialect = le16_to_cpu(pSMBr->DialectIndex); in CIFSSMBNegotiate()
588 cifs_dbg(FYI, "Dialect: %d\n", server->dialect); in CIFSSMBNegotiate()
590 if ((pSMBr->hdr.WordCount < 13) || (server->dialect == BAD_PROT)) { in CIFSSMBNegotiate()
597 server->negflavor = CIFS_NEGFLAVOR_LANMAN; in CIFSSMBNegotiate()
598 rc = decode_lanman_negprot_rsp(server, pSMBr); in CIFSSMBNegotiate()
607 server->sec_mode = pSMBr->SecurityMode; in CIFSSMBNegotiate()
608 if ((server->sec_mode & SECMODE_USER) == 0) in CIFSSMBNegotiate()
613 server->maxReq = min_t(unsigned int, le16_to_cpu(pSMBr->MaxMpxCount), in CIFSSMBNegotiate()
615 set_credits(server, server->maxReq); in CIFSSMBNegotiate()
617 server->maxBuf = le32_to_cpu(pSMBr->MaxBufferSize); in CIFSSMBNegotiate()
618 server->max_rw = le32_to_cpu(pSMBr->MaxRawSize); in CIFSSMBNegotiate()
619 cifs_dbg(NOISY, "Max buf = %d\n", ses->server->maxBuf); in CIFSSMBNegotiate()
620 server->capabilities = le32_to_cpu(pSMBr->Capabilities); in CIFSSMBNegotiate()
621 server->timeAdj = (int)(__s16)le16_to_cpu(pSMBr->ServerTimeZone); in CIFSSMBNegotiate()
622 server->timeAdj *= 60; in CIFSSMBNegotiate()
625 server->negflavor = CIFS_NEGFLAVOR_UNENCAP; in CIFSSMBNegotiate()
626 memcpy(ses->server->cryptkey, pSMBr->u.EncryptionKey, in CIFSSMBNegotiate()
629 server->capabilities & CAP_EXTENDED_SECURITY) { in CIFSSMBNegotiate()
630 server->negflavor = CIFS_NEGFLAVOR_EXTENDED; in CIFSSMBNegotiate()
632 } else if (server->sec_mode & SECMODE_PW_ENCRYPT) { in CIFSSMBNegotiate()
635 server->negflavor = CIFS_NEGFLAVOR_UNENCAP; in CIFSSMBNegotiate()
636 server->capabilities &= ~CAP_EXTENDED_SECURITY; in CIFSSMBNegotiate()
641 rc = cifs_enable_signing(server, ses->sign); in CIFSSMBNegotiate()
658 if ((tcon->ses == NULL) || (tcon->ses->server == NULL)) in CIFSSMBTDis()
697 struct TCP_Server_Info *server = mid->callback_data; in cifs_echo_callback() local
699 mutex_lock(&server->srv_mutex); in cifs_echo_callback()
701 mutex_unlock(&server->srv_mutex); in cifs_echo_callback()
702 add_credits(server, 1, CIFS_ECHO_OP); in cifs_echo_callback()
706 CIFSSMBEcho(struct TCP_Server_Info *server) in CIFSSMBEcho() argument
730 rc = cifs_call_async(server, &rqst, NULL, cifs_echo_callback, in CIFSSMBEcho()
731 server, CIFS_ASYNC_OP | CIFS_ECHO_OP); in CIFSSMBEcho()
753 if (!ses || !ses->server) in CIFSSMBLogoff()
766 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSSMBLogoff()
768 if (ses->server->sign) in CIFSSMBLogoff()
1399 discard_remaining_data(struct TCP_Server_Info *server) in discard_remaining_data() argument
1401 unsigned int rfclen = get_rfc1002_length(server->smallbuf); in discard_remaining_data()
1402 int remaining = rfclen + 4 - server->total_read; in discard_remaining_data()
1407 length = cifs_read_from_socket(server, server->bigbuf, in discard_remaining_data()
1409 CIFSMaxBufSize + MAX_HEADER_SIZE(server))); in discard_remaining_data()
1412 server->total_read += length; in discard_remaining_data()
1420 cifs_readv_discard(struct TCP_Server_Info *server, struct mid_q_entry *mid) in cifs_readv_discard() argument
1425 length = discard_remaining_data(server); in cifs_readv_discard()
1431 cifs_readv_receive(struct TCP_Server_Info *server, struct mid_q_entry *mid) in cifs_readv_receive() argument
1436 char *buf = server->smallbuf; in cifs_readv_receive()
1447 len = min_t(unsigned int, buflen, server->vals->read_rsp_size) - in cifs_readv_receive()
1448 HEADER_SIZE(server) + 1; in cifs_readv_receive()
1450 rdata->iov.iov_base = buf + HEADER_SIZE(server) - 1; in cifs_readv_receive()
1453 length = cifs_readv_from_socket(server, &rdata->iov, 1, len); in cifs_readv_receive()
1456 server->total_read += length; in cifs_readv_receive()
1458 if (server->ops->is_status_pending && in cifs_readv_receive()
1459 server->ops->is_status_pending(buf, server, 0)) { in cifs_readv_receive()
1460 discard_remaining_data(server); in cifs_readv_receive()
1465 rdata->result = server->ops->map_error(buf, false); in cifs_readv_receive()
1469 return cifs_readv_discard(server, mid); in cifs_readv_receive()
1473 if (server->total_read < server->vals->read_rsp_size) { in cifs_readv_receive()
1475 __func__, server->total_read, in cifs_readv_receive()
1476 server->vals->read_rsp_size); in cifs_readv_receive()
1478 return cifs_readv_discard(server, mid); in cifs_readv_receive()
1481 data_offset = server->ops->read_data_offset(buf) + 4; in cifs_readv_receive()
1482 if (data_offset < server->total_read) { in cifs_readv_receive()
1490 data_offset = server->total_read; in cifs_readv_receive()
1496 return cifs_readv_discard(server, mid); in cifs_readv_receive()
1500 __func__, server->total_read, data_offset); in cifs_readv_receive()
1502 len = data_offset - server->total_read; in cifs_readv_receive()
1505 rdata->iov.iov_base = buf + server->total_read; in cifs_readv_receive()
1507 length = cifs_readv_from_socket(server, &rdata->iov, 1, len); in cifs_readv_receive()
1510 server->total_read += length; in cifs_readv_receive()
1515 rdata->iov.iov_len = server->total_read; in cifs_readv_receive()
1520 data_len = server->ops->read_data_length(buf); in cifs_readv_receive()
1524 return cifs_readv_discard(server, mid); in cifs_readv_receive()
1527 length = rdata->read_into_pages(server, rdata, data_len); in cifs_readv_receive()
1531 server->total_read += length; in cifs_readv_receive()
1534 server->total_read, buflen, data_len); in cifs_readv_receive()
1537 if (server->total_read < buflen) in cifs_readv_receive()
1538 return cifs_readv_discard(server, mid); in cifs_readv_receive()
1549 struct TCP_Server_Info *server = tcon->ses->server; in cifs_readv_callback() local
1564 if (server->sign) { in cifs_readv_callback()
1567 rc = cifs_verify_signature(&rqst, server, in cifs_readv_callback()
1580 if (server->sign && rdata->got_bytes) in cifs_readv_callback()
1592 mutex_lock(&server->srv_mutex); in cifs_readv_callback()
1594 mutex_unlock(&server->srv_mutex); in cifs_readv_callback()
1595 add_credits(server, 1, 0); in cifs_readv_callback()
1651 rc = cifs_call_async(tcon->ses->server, &rqst, cifs_readv_receive, in cifs_async_readv()
1700 if (tcon->ses->server == NULL) in CIFSSMBRead()
1814 if (tcon->ses->server == NULL) in CIFSSMBWrite()
1834 bytes_sent = (tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE) in CIFSSMBWrite()
1920 struct TCP_Server_Info *server; in cifs_writev_requeue() local
1923 server = tlink_tcon(wdata->cfile->tlink)->ses->server; in cifs_writev_requeue()
1930 wsize = server->ops->wp_retry_size(inode); in cifs_writev_requeue()
1971 rc = server->ops->async_writev(wdata2, cifs_writedata_release); in cifs_writev_requeue()
2054 struct TCP_Server_Info *server = tcon->ses->server; in cifs_writev_callback() local
2060 wdata->result = cifs_check_receive(mid, tcon->ses->server, 0); in cifs_writev_callback()
2091 mutex_lock(&server->srv_mutex); in cifs_writev_callback()
2093 mutex_unlock(&server->srv_mutex); in cifs_writev_callback()
2094 add_credits(tcon->ses->server, 1, 0); in cifs_writev_callback()
2168 rc = cifs_call_async(tcon->ses->server, &rqst, NULL, in cifs_async_writev()
2217 if (tcon->ses->server == NULL) in CIFSSMBWrite2()
4920 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSGetDFSRefer()
4942 if (ses->server->sign) in CIFSGetDFSRefer()