|
DeterministicESPAsyncWebServer v6.27.1
Zero-allocation, bounded-execution async HTTP server for ESP32
|
SMB2 client wire codec (MS-SMB2), DETWS_ENABLE_SMB - increment 1: the transport frame, the 64-byte sync packet header, and the NEGOTIATE exchange. More...
#include "ServerConfig.h"Go to the source code of this file.
SMB2 client wire codec (MS-SMB2), DETWS_ENABLE_SMB - increment 1: the transport frame, the 64-byte sync packet header, and the NEGOTIATE exchange.
Windows-share program storage is a common CNC file path (Fanuc / Haas / Mazak / Heidenhain expose one), so a device can read/write .nc files over SMB2. This is the pure wire layer: build the little-endian SMB2 messages and parse the responses; the TCP socket is the application's. All fields are little-endian (SMB2 is a little-endian protocol).
A client speaks SMB2 over Direct TCP (port 445): each message is prefixed by a 4-byte transport header (0x00 + a 24-bit big-endian length), then the 64-byte SMB2 sync header (MS-SMB2 §2.2.1.2), then the per-command body. The exchange begins with NEGOTIATE (§2.2.3 request / §2.2.4 response): the client offers a dialect list, the server picks one and returns the SPNEGO security token that seeds authentication.
Shipped: the NEGOTIATE exchange; the NTLM crypto (smb_md / ntlm / ntlmssp); the SPNEGO wrapping (spnego); the SESSION_SETUP request/response framing that carries those tokens; and the TREE_CONNECT / CREATE / CLOSE / READ / WRITE file commands - the full read/write-a-file-on-a-share client. Roadmap (later options): SMB 3.1.1 negotiate contexts + preauth integrity, SMB2 signing.
Definition in file smb2.h.