8 Index

A

Abstract data model

   client (section 3.1.1, section 3.2.1)

   server (section 3.1.1, section 3.3.1)

Access mask encoding

Applicability

Application Requests Reauthenticating a User

Authenticating the user

C

Capability negotiation

Change notifications algorithm

Change tracking

Channel (section 3.2.1.8, section 3.3.1.14)

Client

   abstract data model (section 3.1.1, section 3.2.1)

   global connections

   higher-layer triggered events

      notifying offline status of server

      notifying online status of server

      overview

      re-establishing a durable open

      requesting applying of file attributes

      requesting applying of file security attributes

      requesting applying of file system attributes

      requesting applying of quota information

      requesting cancellation of operation

      requesting change of notifications for directory

      requesting closing of file or named pipe

      requesting closing of share connection

      requesting connection to share

      requesting enumeration of directory

      requesting flushing of cached data

      requesting IO control code operation

      requesting locking of array of byte ranges

      requesting move to server instance

      requesting number of opens on tree connect

      requesting opening of file

      requesting querying for file attributes

      requesting querying for file security attributes

      requesting querying for file system attributes

      requesting querying for quota information

      requesting reading from file or named pipe

      requesting session key for authenticated context

      requesting termination of authenticated context

      requesting unlocking of array of byte ranges

      requesting writing to file or named pipe

      sending any outgoing message

      signing outgoing message

   initialization (section 3.1.3, section 3.2.3)

   local events (section 3.1.7, section 3.2.7, section 3.2.7.1)

   message processing

      overview

      receiving any message

      receiving SMB2 CHANGE_NOTIFY response

      receiving SMB2 CLOSE response

      receiving SMB2 CREATE response for new create operation

      receiving SMB2 CREATE response for open reestablishment

      receiving SMB2 FLUSH response

      receiving SMB2 IOCTL response

      receiving SMB2 LOCK response

      receiving SMB2 LOGOFF response

      receiving SMB2 NEGOTIATE response

      receiving SMB2 OPLOCK_BREAK notification

      receiving SMB2 QUERY_DIRECTORY response

      receiving SMB2 QUERY_INFO response

      receiving SMB2 READ response

      receiving SMB2 SESSION_SETUP response

      receiving SMB2 SET_INFO response

      receiving SMB2 TREE_CONNECT response

      receiving SMB2 TREE_DISCONNECT response

      receiving SMB2 WRITE response

      verifying incoming message

   message sequence numbers algorithm

   per channel

   per open

   per pending request

   per session

   per SMB2 transport connection

   per tree connect

   per unique open file

   required global data

   sequencing rules

      overview

      receiving any message

      receiving SMB2 CHANGE_NOTIFY response

      receiving SMB2 CLOSE response

      receiving SMB2 CREATE response for new create operation

      receiving SMB2 CREATE response for open reestablishment

      receiving SMB2 FLUSH response

      receiving SMB2 IOCTL response

      receiving SMB2 LOCK response

      receiving SMB2 LOGOFF response

      receiving SMB2 NEGOTIATE response

      receiving SMB2 OPLOCK_BREAK notification

      receiving SMB2 QUERY_DIRECTORY response

      receiving SMB2 QUERY_INFO response

      receiving SMB2 READ response

      receiving SMB2 SESSION_SETUP response

      receiving SMB2 SET_INFO response

      receiving SMB2 TREE_CONNECT response

      receiving SMB2 TREE_DISCONNECT response

      receiving SMB2 WRITE response

      verifying incoming message

   timer events (section 3.1.6, section 3.2.6)

   timers (section 3.1.2, section 3.2.2)

Connecting to the share

Connecting to the target server

Connections - global

Credit granting algorithm

D

Data - global

Data model - abstract

   client

   server

Data model – abstract

   client (section 3.1.1, section 3.2.1)

   server (section 3.1.1, section 3.3.1)

Directory_Access_Mask packet

Disconnecting example

Durable open scavenger timer

Durable open scavenger timer event

E

Establishing alternate channel example

Examples

   disconnecting

   establishing alternate channel

   logging off

   multi-protocol negotiate

   named pipe

   negotiating SMB 2.10 dialect by using multi-protocol negotiate

   overview

   remote files

      reading

      writing

   SMB2 negotiate

F

Fields - vendor-extensible

Fields – vendor-extensible

File_Pipe_Printer_Access_Mask packet

G

Global connections

Global data

Global structures

Glossary

H

HASH_HEADER packet

Higher-layer triggered events

   client

      notifying offline status of server

      notifying online status of server

      overview

      re-establishing a durable open

      requesting applying of file attributes

      requesting applying of file security attributes

      requesting applying of file system attributes

      requesting applying of quota information

      requesting cancellation of operation

      requesting change of notifications for directory

      requesting closing of file or named pipe

      requesting closing of share connection

      requesting connection to share

      requesting enumeration of directory

      requesting flushing of cached data

      requesting IO control code operation

      requesting locking of array of byte ranges

      requesting move to server instance

      requesting number of opens on tree connect

      requesting opening of file

      requesting querying for file attributes

      requesting querying for file security attributes

      requesting querying for file system attributes

      requesting querying for quota information

      requesting reading from file or named pipe

      requesting session key for authenticated context

      requesting termination of authenticated context

      requesting unlocking of array of byte ranges

      requesting writing to file or named pipe

      sending any outgoing message

      signing outgoing message

   server

      deregistering share

      disabling SMB2 server

      enabling SMB2 server

      notification that DFS is active

      notification that share is DFS share

      notification that share is not DFS share

      object store indicating lease break

      object store indicating oplock break

      overview

      querying Open

      querying session

      querying share

      querying TreeConnect

      registering share

      requesting closing of open

      requesting closing of session

      requesting security context

      requesting server statistics

      requesting session key

      requesting transport binding change

      sending any outgoing message

      sending error response

      sending interim response for asynchronous operation

      sending success response

      signing outgoing message

      updating share

I

Idle connection timer

Idle connection timer event

Implementer - security considerations

Incoming message - verifying

Index of security parameters

Informative references

Initialization

   client (section 3.1.3, section 3.2.3)

   server (section 3.1.3, section 3.3.3)

Introduction

L

Lease

Lease table

Leasing algorithm

Local events

   client (section 3.1.7, section 3.2.7, section 3.2.7.1)

   server (section 3.1.7, section 3.3.7, section 3.3.7.1)

Logging off example

M

Message processing

   client

      overview

      receiving any message

      receiving SMB2 CHANGE_NOTIFY response

      receiving SMB2 CLOSE response

      receiving SMB2 CREATE response for new create operation

      receiving SMB2 CREATE response for open reestablishment

      receiving SMB2 FLUSH response

      receiving SMB2 IOCTL response

      receiving SMB2 LOCK response

      receiving SMB2 LOGOFF response

      receiving SMB2 NEGOTIATE response

      receiving SMB2 OPLOCK_BREAK notification

      receiving SMB2 QUERY_DIRECTORY response

      receiving SMB2 QUERY_INFO response

      receiving SMB2 READ response

      receiving SMB2 SESSION_SETUP response

      receiving SMB2 SET_INFO response

      receiving SMB2 TREE_CONNECT response

      receiving SMB2 TREE_DISCONNECT response

      receiving SMB2 WRITE response

      verifying incoming message

   server

      accepting incoming connection

      overview

      receiving any message

      receiving SMB_COM_NEGOTIATE

      receiving SMB2 CANCEL request

      receiving SMB2 CHANGE_NOTIFY request

      receiving SMB2 CLOSE request

      receiving SMB2 CREATE request

      receiving SMB2 ECHO request

      receiving SMB2 FLUSH request

      receiving SMB2 IOCTL request

      receiving SMB2 LOCK request

      receiving SMB2 LOGOFF request

      receiving SMB2 NEGOTIATE request

      receiving SMB2 OPLOCK_BREAK acknowledgment

      receiving SMB2 QUERY_DIRECTORY request

      receiving SMB2 QUERY_INFO request

      receiving SMB2 READ request

      receiving SMB2 SESSION_SETUP request

      receiving SMB2 SET_INFO request

      receiving SMB2 TREE_CONNECT request

      receiving SMB2 TREE_DISCONNECT request

      receiving SMB2 WRITE request

      verifying incoming message

Message sequence numbers algorithm (section 3.2.4.1.6, section 3.3.1.1)

Messages

   overview

   signing outgoing

   SMB2 CANCEL Request

   SMB2 CHANGE_NOTIFY Request

   SMB2 CHANGE_NOTIFY Response

   SMB2 CLOSE Request

   SMB2 CLOSE Response

   SMB2 CREATE Request

   SMB2 CREATE Response

   SMB2 ECHO Request

   SMB2 ECHO Response

   SMB2 ERROR Response

   SMB2 FLUSH Request

   SMB2 FLUSH Response

   SMB2 IOCTL Request

   SMB2 IOCTL Response

   SMB2 LOCK Request

   SMB2 LOCK Response

   SMB2 LOGOFF Request

   SMB2 LOGOFF Response

   SMB2 NEGOTIATE Request

   SMB2 NEGOTIATE Response

   SMB2 Packet Header

   SMB2 QUERY_DIRECTORY Request

   SMB2 QUERY_DIRECTORY Response

   SMB2 QUERY_INFO Request

   SMB2 QUERY_INFO Response

   SMB2 READ Request

   SMB2 READ Response

   SMB2 SESSION_SETUP Request

   SMB2 SESSION_SETUP Response

   SMB2 SET_INFO Request

   SMB2 SET_INFO Response

   SMB2 TRANSFORM_HEADER

   SMB2 TREE_CONNECT Request

   SMB2 TREE_CONNECT Response

   SMB2 TREE_DISCONNECT Request

   SMB2 TREE_DISCONNECT Response

   SMB2 WRITE Request

   SMB2 WRITE Response

   syntax

   transport

   verifying incoming

Multi-protocol negotiate example

N

Named pipe example

Negotiating SMB 2.10 dialect by using multi-protocol negotiate example

Negotiating the protocol

Network disconnect

NETWORK_INTERFACE_INFO_Response packet

NETWORK_RESILIENCY_REQUEST_Request packet

Normative references

O

Open (section 3.2.1.6, section 3.3.1.10)

Oplock break acknowledgment timer

Oplock break acknowledgment timer event

Outgoing message - signing

Overview (synopsis)

P

Parameter index - security

Parameters - security index

Pending request

Pipe - named - example

Preconditions

Prerequisites

Product behavior

R

References

   informative

   normative

Relationship to other protocols

Remote files

   reading - example

   writing - example

Request

Request expiration timer

Request expiration timer event

Resilient open scavenger timer

Resilient open scavenger timer event

S

Security

   implementer considerations

   overview

   parameter index

Sequencing rules

   client

      overview

      receiving any message

      receiving SMB2 CHANGE_NOTIFY response

      receiving SMB2 CLOSE response

      receiving SMB2 CREATE response for new create operation

      receiving SMB2 CREATE response for open reestablishment

      receiving SMB2 FLUSH response

      receiving SMB2 IOCTL response

      receiving SMB2 LOCK response

      receiving SMB2 LOGOFF response

      receiving SMB2 NEGOTIATE response

      receiving SMB2 OPLOCK_BREAK notification

      receiving SMB2 QUERY_DIRECTORY response

      receiving SMB2 QUERY_INFO response

      receiving SMB2 READ response

      receiving SMB2 SESSION_SETUP response

      receiving SMB2 SET_INFO response

      receiving SMB2 TREE_CONNECT response

      receiving SMB2 TREE_DISCONNECT response

      receiving SMB2 WRITE response

      verifying incoming message

   server

      accepting incoming connection

      overview

      receiving any message

      receiving SMB_COM_NEGOTIATE

      receiving SMB2 CANCEL request

      receiving SMB2 CHANGE_NOTIFY request

      receiving SMB2 CLOSE request

      receiving SMB2 CREATE request

      receiving SMB2 ECHO request

      receiving SMB2 FLUSH request

      receiving SMB2 IOCTL request

      receiving SMB2 LOCK request

      receiving SMB2 LOGOFF request

      receiving SMB2 NEGOTIATE request

      receiving SMB2 OPLOCK_BREAK acknowledgment

      receiving SMB2 QUERY_DIRECTORY request

      receiving SMB2 QUERY_INFO request

      receiving SMB2 READ request

      receiving SMB2 SESSION_SETUP request

      receiving SMB2 SET_INFO request

      receiving SMB2 TREE_CONNECT request

      receiving SMB2 TREE_DISCONNECT request

      receiving SMB2 WRITE request

      verifying incoming message

Server

   abstract data model (section 3.1.1, section 3.3.1)

   change notifications algorithm

   credit granting algorithm

   global structures

   higher-layer triggered events

      deregistering share

      disabling SMB2 server

      enabling SMB2 server

      notification that DFS is active

      notification that share is DFS share

      notification that share is not DFS share

      object store indicating lease break

      object store indicating oplock break

      overview

      querying Open

      querying session

      querying share

      querying TreeConnect

      registering share

      requesting closing of open

      requesting closing of session

      requesting security context

      requesting server statistics

      requesting session key

      requesting transport binding change

      sending any outgoing message

      sending error response

      sending interim response for asynchronous operation

      sending success response

      signing outgoing message

      updating share

   initialization (section 3.1.3, section 3.3.3)

   leasing algorithm

   local events (section 3.1.7, section 3.3.7, section 3.3.7.1)

   message processing

      accepting incoming connection

      overview

      receiving any message

      receiving SMB_COM_NEGOTIATE

      receiving SMB2 CANCEL request

      receiving SMB2 CHANGE_NOTIFY request

      receiving SMB2 CLOSE request

      receiving SMB2 CREATE request

      receiving SMB2 ECHO request

      receiving SMB2 FLUSH request

      receiving SMB2 IOCTL request

      receiving SMB2 LOCK request

      receiving SMB2 LOGOFF request

      receiving SMB2 NEGOTIATE request

      receiving SMB2 OPLOCK_BREAK acknowledgment

      receiving SMB2 QUERY_DIRECTORY request

      receiving SMB2 QUERY_INFO request

      receiving SMB2 READ request

      receiving SMB2 SESSION_SETUP request

      receiving SMB2 SET_INFO request

      receiving SMB2 TREE_CONNECT request

      receiving SMB2 TREE_DISCONNECT request

      receiving SMB2 WRITE request

      verifying incoming message

   message sequence numbers algorithm

   per channel

   per lease

   per lease table

   per open

   per request

   per session

   per share

   per transport connection

   per tree connect

   required global data

   sequencing rules

      accepting incoming connection

      overview

      receiving any message

      receiving SMB_COM_NEGOTIATE

      receiving SMB2 CANCEL request

      receiving SMB2 CHANGE_NOTIFY request

      receiving SMB2 CLOSE request

      receiving SMB2 CREATE request

      receiving SMB2 ECHO request

      receiving SMB2 FLUSH request

      receiving SMB2 IOCTL request

      receiving SMB2 LOCK request

      receiving SMB2 LOGOFF request

      receiving SMB2 NEGOTIATE request

      receiving SMB2 OPLOCK_BREAK acknowledgment

      receiving SMB2 QUERY_DIRECTORY request

      receiving SMB2 QUERY_INFO request

      receiving SMB2 READ request

      receiving SMB2 SESSION_SETUP request

      receiving SMB2 SET_INFO request

      receiving SMB2 TREE_CONNECT request

      receiving SMB2 TREE_DISCONNECT request

      receiving SMB2 WRITE request

      verifying incoming message

   timer events (section 3.1.6, section 3.3.6, section 3.3.6.1)

   timers (section 3.1.2, section 3.3.2)

Session (section 3.2.1.3, section 3.3.1.8)

Session expiration timer

Session expiration timer event

Share

SMB2 CANCEL Request message

SMB2 CHANGE_NOTIFY Request message

SMB2 CHANGE_NOTIFY Response message

SMB2 CLOSE Request message

SMB2 CLOSE Response message

SMB2 CREATE Request message

SMB2 CREATE Response message

SMB2 ECHO Request message

SMB2 ECHO Response message

SMB2 ERROR Response message

SMB2 FLUSH Request message

SMB2 FLUSH Response message

SMB2 IOCTL Request message

SMB2 IOCTL Response message

SMB2 LOCK Request message

SMB2 LOCK Request packet

SMB2 LOCK Response message

SMB2 LOGOFF Request message

SMB2 LOGOFF Response message

SMB2 negotiate example

SMB2 NEGOTIATE Request message

SMB2 NEGOTIATE Response message

SMB2 Packet Header

SMB2 Packet Header message

SMB2 QUERY_DIRECTORY Request message

SMB2 QUERY_DIRECTORY Response message

SMB2 QUERY_INFO Request message

SMB2 QUERY_INFO Response message

SMB2 READ Request message

SMB2 READ Response message

SMB2 SESSION_SETUP Request message

SMB2 SESSION_SETUP Response message

SMB2 SET_INFO Request message

SMB2 SET_INFO Response message

SMB2 TRANSFORM_HEADER message

SMB2 TREE_CONNECT Request message

SMB2 TREE_CONNECT Response message

SMB2 TREE_DISCONNECT Request message

SMB2 TREE_DISCONNECT Response message

SMB2 WRITE Request message

SMB2 WRITE Response message

SMB2_CANCEL_Request packet

SMB2_CHANGE_NOTIFY_Request packet

SMB2_CHANGE_NOTIFY_Response packet

SMB2_CLOSE_Request packet

SMB2_CLOSE_Response packet

SMB2_CREATE_ALLOCATION_SIZE

SMB2_CREATE_ALLOCATION_SIZE packet

SMB2_CREATE_APP_INSTANCE_ID packet

SMB2_CREATE_CONTEXT Response Values

SMB2_CREATE_CONTEXT_Request_Values packet

SMB2_CREATE_DURABLE_HANDLE_RECONNECT

SMB2_CREATE_DURABLE_HANDLE_RECONNECT packet

SMB2_CREATE_DURABLE_HANDLE_RECONNECT_V2 packet

SMB2_CREATE_DURABLE_HANDLE_REQUEST packet

SMB2_CREATE_DURABLE_HANDLE_REQUEST_V2 packet

SMB2_CREATE_DURABLE_HANDLE_RESPONSE packet

SMB2_CREATE_DURABLE_HANDLE_RESPONSE_V2 packet

SMB2_CREATE_EA_BUFFER

SMB2_CREATE_QUERY_MAXIMAL_ACCESS_REQUEST packet

SMB2_CREATE_QUERY_MAXIMAL_ACCESS_RESPONSE packet

SMB2_CREATE_QUERY_ON_DISK_ID

SMB2_CREATE_QUERY_ON_DISK_ID packet

SMB2_CREATE_Request packet

SMB2_CREATE_REQUEST_LEASE packet

SMB2_CREATE_REQUEST_LEASE_V2 packet

SMB2_CREATE_Response packet

SMB2_CREATE_RESPONSE_LEASE packet

SMB2_CREATE_RESPONSE_LEASE_V2 packet

SMB2_CREATE_SD_BUFFER

SMB2_CREATE_TIMEWARP_TOKEN

SMB2_CREATE_TIMEWARP_TOKEN packet

SMB2_ECHO_Request packet

SMB2_ECHO_Response packet

SMB2_ENCRYPTION_CAPABILITIES packet

SMB2_ERROR_Response packet

SMB2_FILEID packet

SMB2_FLUSH_Request packet

SMB2_FLUSH_Response packet

SMB2_IOCTL_Request packet

SMB2_IOCTL_Response packet

SMB2_Lease_Break_Acknowledgment packet

SMB2_Lease_Break_Notification packet

SMB2_Lease_Break_Response packet

SMB2_LOCK_ELEMENT packet

SMB2_LOCK_Request packet

SMB2_LOCK_Response packet

SMB2_LOGOFF_Request packet

SMB2_LOGOFF_Response packet

SMB2_NEGOTIATE_CONTEXT_Request_Values packet

SMB2_NEGOTIATE_Request packet

SMB2_NEGOTIATE_Response packet

SMB2_Oplock_Break_Acknowledgment packet

SMB2_Oplock_Break_Notification packet

SMB2_Oplock_Break_Response packet

SMB2_Packet_Header_ASYNC packet

SMB2_Packet_Header_SYNC packet

SMB2_Packet_Transport packet

SMB2_PREAUTH_INTEGRITY_CAPABILITIES packet

SMB2_QUERY_DIRECTORY_Request packet

SMB2_QUERY_DIRECTORY_Response packet

SMB2_QUERY_INFO_Request packet

SMB2_QUERY_INFO_Response packet

SMB2_QUERY_QUOTA_INFO packet

SMB2_READ_Request packet

SMB2_READ_Response packet

SMB2_SESSION_SETUP_Request packet

SMB2_SESSION_SETUP_Response packet

SMB2_SET_INFO_Request packet

SMB2_SET_INFO_Response packet

SMB2_TRANSFORM_HEADER packet

SMB2_TREE_CONNECT_Request packet

SMB2_TREE_CONNECT_Response packet

SMB2_TREE_DISCONNECT_Request packet

SMB2_TREE_DISCONNECT_Response packet

SMB2_WRITE_Request packet

SMB2_WRITE_Response packet

SOCKADDR_IN packet

SOCKADDR_IN6 packet

SOCKADDR_STORAGE packet

SRV_COPYCHUNK packet

SRV_COPYCHUNK_COPY packet

SRV_COPYCHUNK_RESPONSE packet

SRV_HASH_RETRIEVE_FILE_BASED_Response packet

SRV_READ_HASH packet

SRV_READ_HASH response

SRV_READ_HASH_Response packet

SRV_REQUEST_RESUME_KEY_Response packet

SRV_SNAPSHOT_ARRAY packet

Standards assignments

Symbolic_Link_Error_Response packet

Syntax

T

Timer events

   client (section 3.1.6, section 3.2.6)

   server (section 3.1.6, section 3.3.6, section 3.3.6.1)

Timers

   client (section 3.1.2, section 3.2.2)

   server (section 3.1.2, section 3.3.2)

Tracking changes

Transport

   connection

   disconnect

   messages

Transport connection

Tree connect (section 3.2.1.4, section 3.3.1.9)

Triggered events – higher layer

   client

      notifying offline status of server

      notifying online status of server

      overview

      re-establishing a durable open

      requesting applying of file attributes

      requesting applying of file security attributes

      requesting applying of file system attributes

      requesting applying of quota information

      requesting cancellation of operation

      requesting change of notifications for directory

      requesting closing of file or named pipe

      requesting closing of share connection

      requesting connection to share

      requesting enumeration of directory

      requesting flushing of cached data

      requesting IO control code operation

      requesting locking of array of byte ranges

      requesting move to server instance

      requesting number of opens on tree connect

      requesting opening of file

      requesting querying for file attributes

      requesting querying for file security attributes

      requesting querying for file system attributes

      requesting querying for quota information

      requesting reading from file or named pipe

      requesting session key for authenticated context

      requesting termination of authenticated context

      requesting unlocking of array of byte ranges

      requesting writing to file or named pipe

      sending any outgoing message

      signing outgoing message

   server

      deregistering share

      disabling SMB2 server

      enabling SMB2 server

      notification that DFS is active

      notification that share is DFS share

      notification that share is not DFS share

      object store indicating lease break

      object store indicating oplock break

      overview

      querying Open

      querying session

      querying share

      querying TreeConnect

      registering share

      requesting closing of open

      requesting closing of session

      requesting security context

      requesting server statistics

      requesting session key

      requesting transport binding change

      sending any outgoing message

      sending error response

      sending interim response for asynchronous operation

      sending success response

      signing outgoing message

      updating share

Triggered events - higher-layer

   client

   server

U

Unique open file

V

VALIDATE_NEGOTIATE_INFO_Request packet

VALIDATE_NEGOTIATE_INFO_Response packet

Vendor-extensible fields

Versioning

Show: