The 17-bit length field in the header contains the number of
commit4b12f559b9fa61309e1a64c8b286136aba9ba3eb
authorChristopher R. Hertel <crh@samba.org>
Mon, 1 Jul 2002 03:42:04 +0000 (1 03:42 +0000)
committerChristopher R. Hertel <crh@samba.org>
Mon, 1 Jul 2002 03:42:04 +0000 (1 03:42 +0000)
treeeb07608717acc59cfd4cd47dd15d290606d086c0
parent3c6a7c73fb3be8264f34d97a04e35eb62bdfa5a4
The 17-bit length field in the header contains the number of
bytes which follow the header, not the full packet size.

    [Yes, the length field is either 17-bits, or (per the RFCs) it is a
    16-bit length field preceeded by an 8-bit flags field of which only
    the low-order bit may be used.  If that bit is set, then add 65536 to
    the 16-bit length field.  (In other words, it's a 17-bit unsigned
    length field.)
    ...unless, of course, the transport is native TCP [port 445] in which
    case the length field *might* be 24-bits wide.]

Anyway, the change is a very minor one.  We were including the four bytes
of the header in the length count and, as a result, sending four bytes of
garbage at the end of the SESSION REQUEST packet.

Small fix in function cli_session_request().
(This used to be commit cd2b1357066a712efcf87ac61922ef871118e8de)
source3/libsmb/cliconnect.c