summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2011-12-02 10:28:23 -0800
committerJeremy Allison <jra@samba.org>2011-12-02 20:41:02 +0100
commit3e0d923096cddcbf83cfa2d9594df5fa21331650 (patch)
tree22f9737789af5f9760c4cd7dd0cc8daa9b736602 /source3
parent010566215b4d76ae5348652e1f8f175b1895849a (diff)
downloadsamba-3e0d923096cddcbf83cfa2d9594df5fa21331650.tar.gz
samba-3e0d923096cddcbf83cfa2d9594df5fa21331650.tar.bz2
samba-3e0d923096cddcbf83cfa2d9594df5fa21331650.zip
Ensure we map our own Samba return of ERRSRV, ERRunknownsmb
on an unknown SMB request to NT_STATUS_NOT_IMPLEMENTED.
Diffstat (limited to 'source3')
-rw-r--r--source3/client/client.c3
-rw-r--r--source3/libsmb/errormap.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/source3/client/client.c b/source3/client/client.c
index ed95fdf160..b355917013 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 975de4f3c6..b80065dde0 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},