summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2001-12-10 19:18:56 +0000
committerJeremy Allison <jra@samba.org>2001-12-10 19:18:56 +0000
commit3c68b94199ff08b205d1eb14da56804936b900a8 (patch)
treea23395d2a93ce915da00508a2cc561ec19563009
parent55d55e311e67ea75e13c4a81fe3033b43bed38ca (diff)
downloadsamba-3c68b94199ff08b205d1eb14da56804936b900a8.tar.gz
samba-3c68b94199ff08b205d1eb14da56804936b900a8.tar.xz
samba-3c68b94199ff08b205d1eb14da56804936b900a8.zip
RAP error strings take precedence as they are not encoded in the SMB header
(ie. the call can succeed, but still be an encoded error). Jeremy.
-rw-r--r--source/libsmb/clierror.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/source/libsmb/clierror.c b/source/libsmb/clierror.c
index e4d931b965e..cd1f86a4767 100644
--- a/source/libsmb/clierror.c
+++ b/source/libsmb/clierror.c
@@ -72,7 +72,14 @@ char *cli_errstr(struct cli_state *cli)
uint8 errclass;
int i;
- /* Case #1: 32-bit NT errors */
+ /* Case #1: RAP error */
+ for (i = 0; rap_errmap[i].message != NULL; i++) {
+ if (rap_errmap[i].err == cli->rap_error) {
+ return rap_errmap[i].message;
+ }
+ }
+
+ /* Case #2: 32-bit NT errors */
if (flgs2 & FLAGS2_32_BIT_ERROR_CODES) {
NTSTATUS status = NT_STATUS(IVAL(cli->inbuf,smb_rcls));
@@ -81,18 +88,11 @@ char *cli_errstr(struct cli_state *cli)
cli_dos_error(cli, &errclass, &errnum);
- /* Case #2: SMB error */
+ /* Case #3: SMB error */
if (errclass != 0)
return cli_smb_errstr(cli);
- /* Case #3: RAP error */
- for (i = 0; rap_errmap[i].message != NULL; i++) {
- if (rap_errmap[i].err == cli->rap_error) {
- return rap_errmap[i].message;
- }
- }
-
slprintf(cli_error_message, sizeof(cli_error_message) - 1, "code %d",
cli->rap_error);