NT status/error codes instead of DOS error codes - bug 3.0.0
Michael B Allen
mba2000 at ioplex.com
Mon Dec 1 09:29:20 GMT 2003
> The FLAGS2 bit indicates what the client or server *has done* in the given
> packet, not what the client or server *can do*. There are some odd cases
> which a Windows server will send NT error codes even though the client
> for DOS codes. These situations are rare (jCIFS doesn't do NT codes and
> not yet--as far as I know--excersized any of the odd cases in which
> will send NT codes when it shouldn't), but they do exists.
I don't recall if I have ever seen that. If I have I could not claim that
it wasn't Samba. Here are two useless facts that you can add to your
collection of shifty SMB behavior:
1) With NT 4.0, a redundant negotiate with Flags2 NTSTATUS32 on returns
with Flags2 NTSTATUS32 on but with a dos errorcode ERRSVR/ERRerror (which
is what you would get had DOS error codes been requested).
2) With NT 4.0, with an STATUS_DFS_PATH_NOT_COVERED condition, if DOS
error codes were negotiated, an ERRSRV/ERRreserved is returned which near
as I can tell works just fine for triggering DFS referrals from a wide
variety of operations.
A program should be written to model the concepts of the task it
performs rather than the physical world or a process because this
maximizes the potential for it to be applied to tasks that are
conceptually similar and, more important, to tasks that have not
yet been conceived.
More information about the samba-technical