Merge Volker's fix.
authorJeremy Allison <jra@samba.org>
Mon, 20 Oct 2003 19:02:04 +0000 (19:02 +0000)
committerJeremy Allison <jra@samba.org>
Mon, 20 Oct 2003 19:02:04 +0000 (19:02 +0000)
We are doing NT error codes now.... If we have an NT error, report that
back the same way we handle the DOS error. Although I don't see why
BUFFER_TOO_SMALL should not be handled as an error, simply copy the logic.

This is only called from smbcacls and smbcquotas.

Jeremy.
(This used to be commit f67154fe41d7d458a11dfb9b2f0c6c26609c9a72)

source3/libsmb/clitrans.c

index e6771ac68857a877e66293ea570a2002ac151c82..92c1cc99eeb8c701e6a3de319e1d05fa588b7552 100644 (file)
@@ -488,6 +488,17 @@ BOOL cli_receive_nt_trans(struct cli_state *cli,
                }
        }
 
+       /*
+        * Likewise for NT_STATUS_BUFFER_TOO_SMALL
+        */
+       if (cli_is_nt_error(cli)) {
+               if (!NT_STATUS_EQUAL(cli_nt_error(cli),
+                                    NT_STATUS_BUFFER_TOO_SMALL)) {
+                       cli_signing_trans_stop(cli);
+                       return(False);
+               }
+       }
+
        /* parse out the lengths */
        total_data = SVAL(cli->inbuf,smb_ntr_TotalDataCount);
        total_param = SVAL(cli->inbuf,smb_ntr_TotalParameterCount);