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()
631 server->negflavor = CIFS_NEGFLAVOR_EXTENDED; in CIFSSMBNegotiate()
633 } else if (server->sec_mode & SECMODE_PW_ENCRYPT) { in CIFSSMBNegotiate()
636 server->negflavor = CIFS_NEGFLAVOR_UNENCAP; in CIFSSMBNegotiate()
637 server->capabilities &= ~CAP_EXTENDED_SECURITY; in CIFSSMBNegotiate()
642 rc = cifs_enable_signing(server, ses->sign); in CIFSSMBNegotiate()
659 if ((tcon->ses == NULL) || (tcon->ses->server == NULL)) in CIFSSMBTDis()
698 struct TCP_Server_Info *server = mid->callback_data; in cifs_echo_callback() local
701 add_credits(server, 1, CIFS_ECHO_OP); in cifs_echo_callback()
705 CIFSSMBEcho(struct TCP_Server_Info *server) in CIFSSMBEcho() argument
729 rc = cifs_call_async(server, &rqst, NULL, cifs_echo_callback, in CIFSSMBEcho()
730 server, CIFS_ASYNC_OP | CIFS_ECHO_OP); in CIFSSMBEcho()
752 if (!ses || !ses->server) in CIFSSMBLogoff()
765 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSSMBLogoff()
767 if (ses->server->sign) in CIFSSMBLogoff()
1398 discard_remaining_data(struct TCP_Server_Info *server) in discard_remaining_data() argument
1400 unsigned int rfclen = get_rfc1002_length(server->smallbuf); in discard_remaining_data()
1401 int remaining = rfclen + 4 - server->total_read; in discard_remaining_data()
1406 length = cifs_read_from_socket(server, server->bigbuf, in discard_remaining_data()
1408 CIFSMaxBufSize + MAX_HEADER_SIZE(server))); in discard_remaining_data()
1411 server->total_read += length; in discard_remaining_data()
1419 cifs_readv_discard(struct TCP_Server_Info *server, struct mid_q_entry *mid) in cifs_readv_discard() argument
1424 length = discard_remaining_data(server); in cifs_readv_discard()
1430 cifs_readv_receive(struct TCP_Server_Info *server, struct mid_q_entry *mid) in cifs_readv_receive() argument
1435 char *buf = server->smallbuf; in cifs_readv_receive()
1446 len = min_t(unsigned int, buflen, server->vals->read_rsp_size) - in cifs_readv_receive()
1447 HEADER_SIZE(server) + 1; in cifs_readv_receive()
1449 rdata->iov.iov_base = buf + HEADER_SIZE(server) - 1; in cifs_readv_receive()
1452 length = cifs_readv_from_socket(server, &rdata->iov, 1, len); in cifs_readv_receive()
1455 server->total_read += length; in cifs_readv_receive()
1457 if (server->ops->is_status_pending && in cifs_readv_receive()
1458 server->ops->is_status_pending(buf, server, 0)) { in cifs_readv_receive()
1459 discard_remaining_data(server); in cifs_readv_receive()
1464 rdata->result = server->ops->map_error(buf, false); in cifs_readv_receive()
1468 return cifs_readv_discard(server, mid); in cifs_readv_receive()
1472 if (server->total_read < server->vals->read_rsp_size) { in cifs_readv_receive()
1474 __func__, server->total_read, in cifs_readv_receive()
1475 server->vals->read_rsp_size); in cifs_readv_receive()
1477 return cifs_readv_discard(server, mid); in cifs_readv_receive()
1480 data_offset = server->ops->read_data_offset(buf) + 4; in cifs_readv_receive()
1481 if (data_offset < server->total_read) { in cifs_readv_receive()
1489 data_offset = server->total_read; in cifs_readv_receive()
1495 return cifs_readv_discard(server, mid); in cifs_readv_receive()
1499 __func__, server->total_read, data_offset); in cifs_readv_receive()
1501 len = data_offset - server->total_read; in cifs_readv_receive()
1504 rdata->iov.iov_base = buf + server->total_read; in cifs_readv_receive()
1506 length = cifs_readv_from_socket(server, &rdata->iov, 1, len); in cifs_readv_receive()
1509 server->total_read += length; in cifs_readv_receive()
1514 rdata->iov.iov_len = server->total_read; in cifs_readv_receive()
1519 data_len = server->ops->read_data_length(buf); in cifs_readv_receive()
1523 return cifs_readv_discard(server, mid); in cifs_readv_receive()
1526 length = rdata->read_into_pages(server, rdata, data_len); in cifs_readv_receive()
1530 server->total_read += length; in cifs_readv_receive()
1533 server->total_read, buflen, data_len); in cifs_readv_receive()
1536 if (server->total_read < buflen) in cifs_readv_receive()
1537 return cifs_readv_discard(server, mid); in cifs_readv_receive()
1548 struct TCP_Server_Info *server = tcon->ses->server; in cifs_readv_callback() local
1563 if (server->sign) { in cifs_readv_callback()
1566 rc = cifs_verify_signature(&rqst, server, in cifs_readv_callback()
1579 if (server->sign && rdata->got_bytes) in cifs_readv_callback()
1592 add_credits(server, 1, 0); in cifs_readv_callback()
1648 rc = cifs_call_async(tcon->ses->server, &rqst, cifs_readv_receive, in cifs_async_readv()
1697 if (tcon->ses->server == NULL) in CIFSSMBRead()
1811 if (tcon->ses->server == NULL) in CIFSSMBWrite()
1831 bytes_sent = (tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE) in CIFSSMBWrite()
1917 struct TCP_Server_Info *server; in cifs_writev_requeue() local
1920 server = tlink_tcon(wdata->cfile->tlink)->ses->server; in cifs_writev_requeue()
1927 wsize = server->ops->wp_retry_size(inode); in cifs_writev_requeue()
1968 rc = server->ops->async_writev(wdata2, cifs_writedata_release); in cifs_writev_requeue()
2056 wdata->result = cifs_check_receive(mid, tcon->ses->server, 0); in cifs_writev_callback()
2088 add_credits(tcon->ses->server, 1, 0); in cifs_writev_callback()
2162 rc = cifs_call_async(tcon->ses->server, &rqst, NULL, in cifs_async_writev()
2211 if (tcon->ses->server == NULL) in CIFSSMBWrite2()
4914 pSMB->hdr.Mid = get_next_mid(ses->server); in CIFSGetDFSRefer()
4936 if (ses->server->sign) in CIFSGetDFSRefer()