Convert all uses of uint32/16/8 to _t in source3/torture.
[bbaumbach/samba-autobuild/.git] / source3 / torture / utable.c
index f5afeb7adc16d4884c2ef1fa9f677ed57539e677..666f21a27f5a85ed3c44a1173588cbe32d0b6dd6 100644 (file)
 */
 
 #include "includes.h"
+#include "system/filesys.h"
 #include "torture/proto.h"
+#include "../libcli/security/security.h"
+#include "libsmb/libsmb.h"
+#include "libsmb/clirap.h"
 
 bool torture_utable(int dummy)
 {
@@ -28,7 +32,7 @@ bool torture_utable(int dummy)
        smb_ucs2_t c2;
        int c, len, fd;
        int chars_allowed=0, alt_allowed=0;
-       uint8 valid[0x10000];
+       uint8_t valid[0x10000];
 
        printf("starting utable\n");
 
@@ -39,21 +43,26 @@ bool torture_utable(int dummy)
        memset(valid, 0, sizeof(valid));
 
        cli_mkdir(cli, "\\utable");
-       cli_unlink(cli, "\\utable\\*", aSYSTEM | aHIDDEN);
+       cli_unlink(cli, "\\utable\\*", FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN);
 
        for (c=1; c < 0x10000; c++) {
+               size_t size = 0;
                char *p;
 
                SSVAL(&c2, 0, c);
                fstrcpy(fname, "\\utable\\x");
                p = fname+strlen(fname);
-               len = convert_string(CH_UTF16LE, CH_UNIX, 
+               if (!convert_string(CH_UTF16LE, CH_UNIX,
                                     &c2, 2, 
-                                    p, sizeof(fname)-strlen(fname), True);
+                                    p, sizeof(fname)-strlen(fname),&size)) {
+                       d_printf("convert_string %s failed !\n", fname);
+                       continue;
+               }
+               len = size;
                p[len] = 0;
                fstrcat(fname,"_a_long_extension");
 
-               if (!NT_STATUS_IS_OK(cli_open(cli, fname, O_RDWR | O_CREAT | O_TRUNC, 
+               if (!NT_STATUS_IS_OK(cli_openx(cli, fname, O_RDWR | O_CREAT | O_TRUNC, 
                                DENY_NONE, &fnum))) {
                        continue;
                }
@@ -69,7 +78,7 @@ bool torture_utable(int dummy)
                }
 
                cli_close(cli, fnum);
-               cli_unlink(cli, fname, aSYSTEM | aHIDDEN);
+               cli_unlink(cli, fname, FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN);
 
                if (c % 100 == 0) {
                        printf("%d (%d/%d)\r", c, chars_allowed, alt_allowed);
@@ -103,15 +112,19 @@ static char *form_name(int c)
        static fstring fname;
        smb_ucs2_t c2;
        char *p;
-       int len;
+       size_t len = 0;
 
        fstrcpy(fname, "\\utable\\");
        p = fname+strlen(fname);
        SSVAL(&c2, 0, c);
 
-       len = convert_string(CH_UTF16LE, CH_UNIX, 
+       if (!convert_string(CH_UTF16LE, CH_UNIX,
                             &c2, 2, 
-                            p, sizeof(fname)-strlen(fname), True);
+                            p, sizeof(fname)-strlen(fname), &len)) {
+               d_printf("form_name: convert string %s failed\n",
+                       fname);
+               return NULL;
+       }
        p[len] = 0;
        return fname;
 }
@@ -132,7 +145,7 @@ bool torture_casetable(int dummy)
 
        memset(equiv, 0, sizeof(equiv));
 
-       cli_unlink(cli, "\\utable\\*", aSYSTEM | aHIDDEN);
+       cli_unlink(cli, "\\utable\\*", FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN);
        cli_rmdir(cli, "\\utable");
        if (!NT_STATUS_IS_OK(cli_mkdir(cli, "\\utable"))) {
                printf("Failed to create utable directory!\n");
@@ -140,7 +153,7 @@ bool torture_casetable(int dummy)
        }
 
        for (c=1; c < 0x10000; c++) {
-               SMB_OFF_T size;
+               off_t size;
 
                if (c == '.' || c == '\\') continue;
 
@@ -151,15 +164,18 @@ bool torture_casetable(int dummy)
                                          GENERIC_ALL_ACCESS, 
                                          FILE_ATTRIBUTE_NORMAL,
                                          FILE_SHARE_NONE,
-                                         FILE_OPEN_IF, 0, 0, &fnum))) {
+                                         FILE_OPEN_IF, 0, 0, &fnum, NULL))) {
                        printf("Failed to create file with char %04x\n", c);
                        continue;
                }
 
                size = 0;
 
-               if (!cli_qfileinfo(cli, fnum, NULL, &size, 
-                                  NULL, NULL, NULL, NULL, NULL)) continue;
+               if (!NT_STATUS_IS_OK(cli_qfileinfo_basic(
+                                            cli, fnum, NULL, &size,
+                                            NULL, NULL, NULL, NULL, NULL))) {
+                       continue;
+               }
 
                if (size > 0) {
                        /* found a character equivalence! */
@@ -172,7 +188,7 @@ bool torture_casetable(int dummy)
                                return False;
                        }
 
-                       cli_read(cli, fnum, (char *)c2, 0, size);
+                       cli_read(cli, fnum, (char *)c2, 0, size, NULL);
                        printf("%04x: ", c);
                        equiv[c][0] = c;
                        for (i=0; i<size/sizeof(int); i++) {
@@ -183,11 +199,12 @@ bool torture_casetable(int dummy)
                        fflush(stdout);
                }
 
-               cli_write(cli, fnum, 0, (char *)&c, size, sizeof(c));
+               cli_writeall(cli, fnum, 0, (uint8_t *)&c, size, sizeof(c),
+                            NULL);
                cli_close(cli, fnum);
        }
 
-       cli_unlink(cli, "\\utable\\*", aSYSTEM | aHIDDEN);
+       cli_unlink(cli, "\\utable\\*", FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN);
        cli_rmdir(cli, "\\utable");
 
        return True;