r13170: Remove some dependencies on -1 implying the size of pstring
[ira/wip.git] / source / torture / basic / scanner.c
index 0e79e94f82caf34416c7856633e3de5a959e950c..92de78e7afc536a06d8f8920225181dfbf9aeda1 100644 (file)
 */
 
 #include "includes.h"
+#include "torture/torture.h"
+#include "libcli/libcli.h"
+#include "libcli/raw/libcliraw.h"
+#include "system/filesys.h"
+#include "pstring.h"
 
 #define VERBOSE 0
 #define OP_MIN 0
@@ -29,11 +34,11 @@ look for a partial hit
 ****************************************************************************/
 static void trans2_check_hit(const char *format, int op, int level, NTSTATUS status)
 {
-       if (NT_STATUS_V(status) == NT_STATUS_V(NT_STATUS_INVALID_LEVEL) ||
-           NT_STATUS_V(status) == NT_STATUS_V(NT_STATUS_NOT_IMPLEMENTED) ||
-           NT_STATUS_V(status) == NT_STATUS_V(NT_STATUS_NOT_SUPPORTED) ||
-           NT_STATUS_V(status) == NT_STATUS_V(NT_STATUS_UNSUCCESSFUL) ||
-           NT_STATUS_V(status) == NT_STATUS_V(NT_STATUS_INVALID_INFO_CLASS)) {
+       if (NT_STATUS_EQUAL(status, NT_STATUS_INVALID_LEVEL) ||
+           NT_STATUS_EQUAL(status, NT_STATUS_NOT_IMPLEMENTED) ||
+           NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED) ||
+           NT_STATUS_EQUAL(status, NT_STATUS_UNSUCCESSFUL) ||
+           NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) {
                return;
        }
 #if VERBOSE
@@ -47,7 +52,7 @@ check for existance of a trans2 call
 ****************************************************************************/
 static NTSTATUS try_trans2(struct smbcli_state *cli, 
                           int op,
-                          char *param, char *data,
+                          uint8_t *param, uint8_t *data,
                           int param_len, int data_len,
                           int *rparam_len, int *rdata_len)
 {
@@ -75,7 +80,7 @@ static NTSTATUS try_trans2(struct smbcli_state *cli,
        *rparam_len = t2.out.params.length;
        *rdata_len = t2.out.data.length;
 
-       talloc_destroy(mem_ctx);
+       talloc_free(mem_ctx);
        
        return status;
 }
@@ -84,7 +89,7 @@ static NTSTATUS try_trans2(struct smbcli_state *cli,
 static NTSTATUS try_trans2_len(struct smbcli_state *cli, 
                             const char *format,
                             int op, int level,
-                            char *param, char *data,
+                            uint8_t *param, uint8_t *data,
                             int param_len, int *data_len,
                             int *rparam_len, int *rdata_len)
 {
@@ -122,7 +127,7 @@ static BOOL trans2_op_exists(struct smbcli_state *cli, int op)
        int data_len = 0;
        int param_len = 0;
        int rparam_len, rdata_len;
-       pstring param, data;
+       uint8_t param[1024], data[1024];
        NTSTATUS status1, status2;
 
        memset(data, 0, sizeof(data));
@@ -157,7 +162,7 @@ static BOOL scan_trans2(struct smbcli_state *cli, int op, int level,
        int data_len = 0;
        int param_len = 0;
        int rparam_len, rdata_len;
-       pstring param, data;
+       uint8_t param[1024], data[1024];
        NTSTATUS status;
 
        memset(data, 0, sizeof(data));
@@ -254,16 +259,18 @@ BOOL torture_trans2_scan(void)
                printf("file open failed - %s\n", smbcli_errstr(cli->tree));
        }
        dnum = smbcli_nt_create_full(cli->tree, "\\", 
-                                 0, GENERIC_RIGHTS_FILE_READ, FILE_ATTRIBUTE_NORMAL,
-                                 NTCREATEX_SHARE_ACCESS_READ | NTCREATEX_SHARE_ACCESS_WRITE, 
-                                 NTCREATEX_DISP_OPEN, 
-                                 NTCREATEX_OPTIONS_DIRECTORY, 0);
+                                    0, 
+                                    SEC_RIGHTS_FILE_READ, 
+                                    FILE_ATTRIBUTE_NORMAL,
+                                    NTCREATEX_SHARE_ACCESS_READ | NTCREATEX_SHARE_ACCESS_WRITE, 
+                                    NTCREATEX_DISP_OPEN, 
+                                    NTCREATEX_OPTIONS_DIRECTORY, 0);
        if (dnum == -1) {
                printf("directory open failed - %s\n", smbcli_errstr(cli->tree));
        }
        qfnum = smbcli_nt_create_full(cli->tree, "\\$Extend\\$Quota:$Q:$INDEX_ALLOCATION", 
                                   NTCREATEX_FLAGS_EXTENDED, 
-                                  SEC_RIGHTS_MAXIMUM_ALLOWED, 
+                                  SEC_FLAG_MAXIMUM_ALLOWED, 
                                   0,
                                   NTCREATEX_SHARE_ACCESS_READ|NTCREATEX_SHARE_ACCESS_WRITE, 
                                   NTCREATEX_DISP_OPEN, 
@@ -305,11 +312,11 @@ look for a partial hit
 ****************************************************************************/
 static void nttrans_check_hit(const char *format, int op, int level, NTSTATUS status)
 {
-       if (NT_STATUS_V(status) == NT_STATUS_V(NT_STATUS_INVALID_LEVEL) ||
-           NT_STATUS_V(status) == NT_STATUS_V(NT_STATUS_NOT_IMPLEMENTED) ||
-           NT_STATUS_V(status) == NT_STATUS_V(NT_STATUS_NOT_SUPPORTED) ||
-           NT_STATUS_V(status) == NT_STATUS_V(NT_STATUS_UNSUCCESSFUL) ||
-           NT_STATUS_V(status) == NT_STATUS_V(NT_STATUS_INVALID_INFO_CLASS)) {
+       if (NT_STATUS_EQUAL(status, NT_STATUS_INVALID_LEVEL) ||
+           NT_STATUS_EQUAL(status, NT_STATUS_NOT_IMPLEMENTED) ||
+           NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED) ||
+           NT_STATUS_EQUAL(status, NT_STATUS_UNSUCCESSFUL) ||
+           NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) {
                return;
        }
 #if VERBOSE
@@ -323,7 +330,7 @@ check for existence of a nttrans call
 ****************************************************************************/
 static NTSTATUS try_nttrans(struct smbcli_state *cli, 
                            int op,
-                           char *param, char *data,
+                           uint8_t *param, uint8_t *data,
                            int param_len, int data_len,
                            int *rparam_len, int *rdata_len)
 {
@@ -351,13 +358,13 @@ static NTSTATUS try_nttrans(struct smbcli_state *cli,
        
        if (NT_STATUS_IS_ERR(status)) {
                DEBUG(1,("Failed to send NT_TRANS\n"));
-               talloc_destroy(mem_ctx);
+               talloc_free(mem_ctx);
                return status;
        }
        *rparam_len = parms.out.params.length;
        *rdata_len = parms.out.data.length;
 
-       talloc_destroy(mem_ctx);
+       talloc_free(mem_ctx);
 
        return status;
 }
@@ -366,7 +373,7 @@ static NTSTATUS try_nttrans(struct smbcli_state *cli,
 static NTSTATUS try_nttrans_len(struct smbcli_state *cli, 
                             const char *format,
                             int op, int level,
-                            char *param, char *data,
+                            uint8_t *param, uint8_t *data,
                             int param_len, int *data_len,
                             int *rparam_len, int *rdata_len)
 {
@@ -404,7 +411,7 @@ static BOOL scan_nttrans(struct smbcli_state *cli, int op, int level,
        int data_len = 0;
        int param_len = 0;
        int rparam_len, rdata_len;
-       pstring param, data;
+       uint8_t param[1024], data[1024];
        NTSTATUS status;
 
        memset(data, 0, sizeof(data));
@@ -441,7 +448,7 @@ static BOOL scan_nttrans(struct smbcli_state *cli, int op, int level,
        SSVAL(param, 0, level);
        SSVAL(param, 2, 0);
        SSVAL(param, 4, 0);
-       param_len += push_string(&param[6], fname, -1, STR_TERMINATE | STR_UNICODE);
+       param_len += push_string(&param[6], fname, sizeof(pstring), STR_TERMINATE | STR_UNICODE);
 
        status = try_nttrans_len(cli, "fname", op, level, param, data, param_len, &data_len, 
                                &rparam_len, &rdata_len);
@@ -452,7 +459,7 @@ static BOOL scan_nttrans(struct smbcli_state *cli, int op, int level,
        SSVAL(param, 0, level);
        SSVAL(param, 2, 0);
        SSVAL(param, 4, 0);
-       param_len += push_string(&param[6], "\\newfile.dat", -1, STR_TERMINATE | STR_UNICODE);
+       param_len += push_string(&param[6], "\\newfile.dat", sizeof(pstring), STR_TERMINATE | STR_UNICODE);
 
        status = try_nttrans_len(cli, "newfile", op, level, param, data, param_len, &data_len, 
                                &rparam_len, &rdata_len);
@@ -464,7 +471,7 @@ static BOOL scan_nttrans(struct smbcli_state *cli, int op, int level,
        smbcli_mkdir(cli->tree, "\\testdir");
        param_len = 2;
        SSVAL(param, 0, level);
-       param_len += push_string(&param[2], "\\testdir", -1, STR_TERMINATE | STR_UNICODE);
+       param_len += push_string(&param[2], "\\testdir", sizeof(pstring), STR_TERMINATE | STR_UNICODE);
 
        status = try_nttrans_len(cli, "dfs", op, level, param, data, param_len, &data_len, 
                                &rparam_len, &rdata_len);