From 3e0d923096cddcbf83cfa2d9594df5fa21331650 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 2 Dec 2011 10:28:23 -0800 Subject: [PATCH] Ensure we map our own Samba return of ERRSRV, ERRunknownsmb on an unknown SMB request to NT_STATUS_NOT_IMPLEMENTED. --- source3/client/client.c | 3 +++ source3/libsmb/errormap.c | 1 + 2 files changed, 4 insertions(+) diff --git a/source3/client/client.c b/source3/client/client.c index ed95fdf1608..b3559170136 100644 --- a/source3/client/client.c +++ b/source3/client/client.c @@ -399,8 +399,11 @@ NTSTATUS smbclient_cli_open(struct cli_state *cli, const char *fname, int flags, if (NT_STATUS_EQUAL(status,NT_STATUS_NOT_IMPLEMENTED) || NT_STATUS_EQUAL(status,NT_STATUS_INVALID_INFO_CLASS) || NT_STATUS_EQUAL(status,NT_STATUS_PROCEDURE_NOT_FOUND) || + NT_STATUS_EQUAL(status,NT_STATUS_INVALID_LEVEL) || NT_STATUS_EQUAL(status,NT_STATUS_INVALID_PARAMETER) || NT_STATUS_EQUAL(status,NT_STATUS_INVALID_DEVICE_REQUEST) || + NT_STATUS_EQUAL(status,NT_STATUS_INVALID_DEVICE_STATE) || + NT_STATUS_EQUAL(status,NT_STATUS_CTL_FILE_NOT_SUPPORTED) || NT_STATUS_EQUAL(status,NT_STATUS_UNSUCCESSFUL)) { goto try_openx; } diff --git a/source3/libsmb/errormap.c b/source3/libsmb/errormap.c index 975de4f3c6b..b80065dde0f 100644 --- a/source3/libsmb/errormap.c +++ b/source3/libsmb/errormap.c @@ -166,6 +166,7 @@ static const struct { {ERRSRV, ERRnoroom, NT_STATUS_DISK_FULL}, {ERRSRV, ERRnoresource, NT_STATUS_REQUEST_NOT_ACCEPTED}, {ERRSRV, ERRtoomanyuids, NT_STATUS_TOO_MANY_SESSIONS}, + {ERRSRV, ERRunknownsmb, NT_STATUS_NOT_IMPLEMENTED}, {ERRSRV, 123, NT_STATUS_OBJECT_NAME_INVALID}, {ERRSRV, 206, NT_STATUS_OBJECT_NAME_INVALID}, {ERRHRD, 1, NT_STATUS_NOT_IMPLEMENTED}, -- 2.11.4.GIT