s3: client : Add extra return parameter to all client open calls.
authorJeremy Allison <jra@samba.org>
Fri, 9 May 2014 03:55:57 +0000 (20:55 -0700)
committerStefan Metzmacher <metze@samba.org>
Fri, 9 May 2014 21:10:07 +0000 (23:10 +0200)
Add a return parameter of struct smb_create_returns *cr to
cli_ntcreate()
cli_ntcreate_recv()
cli_nttrans_create()
cli_nttrans_create_recv()

Always pass in NULL for now. This fixes the create
API to always fully return the data the server has
given back to us on the open file to the caller.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
21 files changed:
source3/client/client.c
source3/libsmb/clifile.c
source3/libsmb/cliquota.c
source3/libsmb/clisymlink.c
source3/libsmb/libsmb_xattr.c
source3/libsmb/proto.h
source3/libsmb/pylibsmb.c
source3/torture/nbench.c
source3/torture/nbio.c
source3/torture/test_chain3.c
source3/torture/test_cleanup.c
source3/torture/test_notify.c
source3/torture/test_notify_online.c
source3/torture/test_nttrans_create.c
source3/torture/test_nttrans_fsctl.c
source3/torture/test_posix_append.c
source3/torture/torture.c
source3/torture/utable.c
source3/utils/net_rpc.c
source3/utils/net_rpc_printer.c
source3/utils/smbcacls.c

index 9e1f83d3bdeedde77aa11a19f70ad3104a2388bb..592258ddf430a4d511a161a61a2befb2891b6700 100644 (file)
@@ -573,7 +573,7 @@ static NTSTATUS display_finfo(struct cli_state *cli_state, struct file_info *fin
                status = cli_ntcreate(cli_state, afname, 0,
                                      CREATE_ACCESS_READ, 0,
                                      FILE_SHARE_READ|FILE_SHARE_WRITE,
-                                     FILE_OPEN, 0x0, 0x0, &fnum);
+                                     FILE_OPEN, 0x0, 0x0, &fnum, NULL);
                if (!NT_STATUS_IS_OK(status)) {
                        DEBUG( 0, ("display_finfo() Failed to open %s: %s\n",
                                   afname, nt_errstr(status)));
@@ -1772,7 +1772,7 @@ static int do_allinfo(const char *name)
                              SEC_STD_SYNCHRONIZE, 0,
                              FILE_SHARE_READ|FILE_SHARE_WRITE
                              |FILE_SHARE_DELETE,
-                             FILE_OPEN, 0x0, 0x0, &fnum);
+                             FILE_OPEN, 0x0, 0x0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                /*
                 * Ignore failure, it does not hurt if we can't list
@@ -2496,12 +2496,12 @@ static int cmd_open(void)
        status = cli_ntcreate(targetcli, targetname, 0,
                        FILE_READ_DATA|FILE_WRITE_DATA, 0,
                        FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN,
-                       0x0, 0x0, &fnum);
+                       0x0, 0x0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                status = cli_ntcreate(targetcli, targetname, 0,
                                FILE_READ_DATA, 0,
                                FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN,
-                               0x0, 0x0, &fnum);
+                               0x0, 0x0, &fnum, NULL);
                if (NT_STATUS_IS_OK(status)) {
                        d_printf("open file %s: for read/write fnum %d\n", targetname, fnum);
                } else {
@@ -3943,7 +3943,7 @@ static int cmd_notify(void)
        status = cli_ntcreate(
                cli, name, 0, FILE_READ_DATA, 0,
                FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-               FILE_OPEN, 0, 0, &fnum);
+               FILE_OPEN, 0, 0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                d_printf("Could not open file: %s\n", nt_errstr(status));
                goto fail;
index 424354b9638dc438962774d645d6495028ad5440..bd886eabab912c09186eaca1afcfa903f8fd20dc 100644 (file)
@@ -1795,6 +1795,7 @@ NTSTATUS cli_nt_delete_on_close(struct cli_state *cli, uint16_t fnum, bool flag)
 struct cli_ntcreate_state {
        uint16_t vwv[24];
        uint16_t fnum;
+       struct smb_create_returns cr;
 };
 
 static void cli_ntcreate_done(struct tevent_req *subreq);
@@ -1887,10 +1888,13 @@ static void cli_ntcreate_done(struct tevent_req *subreq)
                return;
        }
        state->fnum = SVAL(vwv+2, 1);
+       /* TODO - fill in state->cr.. */
        tevent_req_done(req);
 }
 
-NTSTATUS cli_ntcreate_recv(struct tevent_req *req, uint16_t *pfnum)
+NTSTATUS cli_ntcreate_recv(struct tevent_req *req,
+               uint16_t *pfnum,
+               struct smb_create_returns *cr)
 {
        struct cli_ntcreate_state *state = tevent_req_data(
                req, struct cli_ntcreate_state);
@@ -1900,6 +1904,7 @@ NTSTATUS cli_ntcreate_recv(struct tevent_req *req, uint16_t *pfnum)
                return status;
        }
        *pfnum = state->fnum;
+       /* TODO - fill in *cr.. */
        return NT_STATUS_OK;
 }
 
@@ -1912,7 +1917,8 @@ NTSTATUS cli_ntcreate(struct cli_state *cli,
                      uint32_t CreateDisposition,
                      uint32_t CreateOptions,
                      uint8_t SecurityFlags,
-                     uint16_t *pfid)
+                     uint16_t *pfid,
+                     struct smb_create_returns *cr)
 {
        TALLOC_CTX *frame = NULL;
        struct tevent_context *ev;
@@ -1929,7 +1935,7 @@ NTSTATUS cli_ntcreate(struct cli_state *cli,
                                        CreateDisposition,
                                        CreateOptions,
                                        pfid,
-                                       NULL);
+                                       cr);
        }
 
        frame = talloc_stackframe();
@@ -1962,7 +1968,7 @@ NTSTATUS cli_ntcreate(struct cli_state *cli,
                goto fail;
        }
 
-       status = cli_ntcreate_recv(req, pfid);
+       status = cli_ntcreate_recv(req, pfid, cr);
  fail:
        TALLOC_FREE(frame);
        return status;
@@ -1970,6 +1976,7 @@ NTSTATUS cli_ntcreate(struct cli_state *cli,
 
 struct cli_nttrans_create_state {
        uint16_t fnum;
+       struct smb_create_returns cr;
 };
 
 static void cli_nttrans_create_done(struct tevent_req *subreq);
@@ -2083,11 +2090,14 @@ static void cli_nttrans_create_done(struct tevent_req *subreq)
                return;
        }
        state->fnum = SVAL(param, 2);
+       /* TODO - fill in state->cr.. */
        TALLOC_FREE(param);
        tevent_req_done(req);
 }
 
-NTSTATUS cli_nttrans_create_recv(struct tevent_req *req, uint16_t *fnum)
+NTSTATUS cli_nttrans_create_recv(struct tevent_req *req,
+                       uint16_t *fnum,
+                       struct smb_create_returns *cr)
 {
        struct cli_nttrans_create_state *state = tevent_req_data(
                req, struct cli_nttrans_create_state);
@@ -2097,6 +2107,7 @@ NTSTATUS cli_nttrans_create_recv(struct tevent_req *req, uint16_t *fnum)
                return status;
        }
        *fnum = state->fnum;
+       /* TODO - fill in *cr.. */
        return NT_STATUS_OK;
 }
 
@@ -2112,7 +2123,8 @@ NTSTATUS cli_nttrans_create(struct cli_state *cli,
                            struct security_descriptor *secdesc,
                            struct ea_struct *eas,
                            int num_eas,
-                           uint16_t *pfid)
+                           uint16_t *pfid,
+                           struct smb_create_returns *cr)
 {
        TALLOC_CTX *frame = talloc_stackframe();
        struct tevent_context *ev;
@@ -2141,7 +2153,7 @@ NTSTATUS cli_nttrans_create(struct cli_state *cli,
        if (!tevent_req_poll_ntstatus(req, ev, &status)) {
                goto fail;
        }
-       status = cli_nttrans_create_recv(req, pfid);
+       status = cli_nttrans_create_recv(req, pfid, cr);
  fail:
        TALLOC_FREE(frame);
        return status;
@@ -2433,7 +2445,8 @@ NTSTATUS cli_open(struct cli_state *cli, const char *fname, int flags,
                                create_disposition,
                                create_options,
                                0,
-                               pfnum);
+                               pfnum,
+                               NULL);
 
        /* Try and cope will all varients of "we don't do this call"
           and fall back to openX. */
index 9136506e48c2307b3188928bedf3669a13ed7665..21dc72e35c9874745c7e608dd6aebfaaa5bd2480 100644 (file)
@@ -29,7 +29,7 @@ NTSTATUS cli_get_quota_handle(struct cli_state *cli, uint16_t *quota_fnum)
        return cli_ntcreate(cli, FAKE_FILE_NAME_QUOTA_WIN32,
                 0x00000016, DESIRED_ACCESS_PIPE,
                 0x00000000, FILE_SHARE_READ|FILE_SHARE_WRITE,
-                FILE_OPEN, 0x00000000, 0x03, quota_fnum);
+                FILE_OPEN, 0x00000000, 0x03, quota_fnum, NULL);
 }
 
 void free_ntquota_list(SMB_NTQUOTA_LIST **qt_list)
index 338f932c4e7b84a36415bed1f5d63360a80f118a..eacae85d01d49c52c3f5ab3e0943b523ea33b655 100644 (file)
@@ -90,7 +90,7 @@ static void cli_symlink_create_done(struct tevent_req *subreq)
        size_t data_len;
        NTSTATUS status;
 
-       status = cli_ntcreate_recv(subreq, &state->fnum);
+       status = cli_ntcreate_recv(subreq, &state->fnum, NULL);
        TALLOC_FREE(subreq);
        if (tevent_req_nterror(req, status)) {
                return;
@@ -275,7 +275,7 @@ static void cli_readlink_opened(struct tevent_req *subreq)
                req, struct cli_readlink_state);
        NTSTATUS status;
 
-       status = cli_ntcreate_recv(subreq, &state->fnum);
+       status = cli_ntcreate_recv(subreq, &state->fnum, NULL);
        TALLOC_FREE(subreq);
        if (tevent_req_nterror(req, status)) {
                return;
index 7d34290b65d3ddf511ce5f321b14ab373b1401ce..8e6590a53676d4f6d81a34d15d6b0170115e536d 100644 (file)
@@ -904,7 +904,7 @@ cacl_get(SMBCCTX *context,
                status = cli_ntcreate(targetcli, targetpath, 0,
                                      CREATE_ACCESS_READ, 0,
                                      FILE_SHARE_READ|FILE_SHARE_WRITE,
-                                     FILE_OPEN, 0x0, 0x0, &fnum);
+                                     FILE_OPEN, 0x0, 0x0, &fnum, NULL);
                if (!NT_STATUS_IS_OK(status)) {
                        DEBUG(5, ("cacl_get failed to open %s: %s\n",
                                  targetpath, nt_errstr(status)));
@@ -1563,7 +1563,7 @@ cacl_set(SMBCCTX *context,
 
        status = cli_ntcreate(targetcli, targetpath, 0, CREATE_ACCESS_READ, 0,
                              FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN,
-                             0x0, 0x0, &fnum);
+                             0x0, 0x0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                 DEBUG(5, ("cacl_set failed to open %s: %s\n",
                           targetpath, nt_errstr(status)));
@@ -1671,7 +1671,7 @@ cacl_set(SMBCCTX *context,
        status = cli_ntcreate(targetcli, targetpath, 0,
                              WRITE_DAC_ACCESS | WRITE_OWNER_ACCESS, 0,
                              FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN,
-                             0x0, 0x0, &fnum);
+                             0x0, 0x0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(5, ("cacl_set failed to open %s: %s\n",
                           targetpath, nt_errstr(status)));
index a1389ff4655e7758b14f5da004f1e660765c9187..525625cd30098afaa96dac94bb96d52b8564d0c1 100644 (file)
@@ -356,7 +356,9 @@ struct tevent_req *cli_ntcreate_send(TALLOC_CTX *mem_ctx,
                                     uint32_t CreateDisposition,
                                     uint32_t CreateOptions,
                                     uint8_t SecurityFlags);
-NTSTATUS cli_ntcreate_recv(struct tevent_req *req, uint16_t *pfnum);
+NTSTATUS cli_ntcreate_recv(struct tevent_req *req,
+                       uint16_t *pfnum,
+                       struct smb_create_returns *cr);
 NTSTATUS cli_ntcreate(struct cli_state *cli,
                      const char *fname,
                      uint32_t CreatFlags,
@@ -366,7 +368,8 @@ NTSTATUS cli_ntcreate(struct cli_state *cli,
                      uint32_t CreateDisposition,
                      uint32_t CreateOptions,
                      uint8_t SecurityFlags,
-                     uint16_t *pfid);
+                     uint16_t *pfid,
+                     struct smb_create_returns *cr);
 uint8_t *smb_bytes_push_str(uint8_t *buf, bool ucs2, const char *str,
                            size_t str_len, size_t *pconverted_size);
 uint8_t *smb_bytes_push_bytes(uint8_t *buf, uint8_t prefix,
@@ -600,7 +603,9 @@ struct tevent_req *cli_nttrans_create_send(TALLOC_CTX *mem_ctx,
                                           struct security_descriptor *secdesc,
                                           struct ea_struct *eas,
                                           int num_eas);
-NTSTATUS cli_nttrans_create_recv(struct tevent_req *req, uint16_t *fnum);
+NTSTATUS cli_nttrans_create_recv(struct tevent_req *req,
+                       uint16_t *fnum,
+                       struct smb_create_returns *cr);
 NTSTATUS cli_nttrans_create(struct cli_state *cli,
                            const char *fname,
                            uint32_t CreatFlags,
@@ -613,7 +618,8 @@ NTSTATUS cli_nttrans_create(struct cli_state *cli,
                            struct security_descriptor *secdesc,
                            struct ea_struct *eas,
                            int num_eas,
-                           uint16_t *pfid);
+                           uint16_t *pfid,
+                           struct smb_create_returns *cr);
 
 /* The following definitions come from libsmb/clifsinfo.c  */
 
index 533df67ebb4a13b81291da6980847cdfe98b2b69..2d6853ae6e14fd2355185375c6fbbe2a96b288a0 100644 (file)
@@ -610,7 +610,7 @@ static PyObject *py_cli_create(struct py_cli_state *self, PyObject *args,
        if (!py_tevent_req_wait_exc(self->ev, req)) {
                return NULL;
        }
-       status = cli_ntcreate_recv(req, &fnum);
+       status = cli_ntcreate_recv(req, &fnum, NULL);
        TALLOC_FREE(req);
 
        if (!NT_STATUS_IS_OK(status)) {
index cb8a410e2eb110a17101cd8febad5673fc034e1d..80b5a72054c23f257420bf432c1e462f164c9a57 100644 (file)
@@ -338,7 +338,7 @@ static void nbench_cmd_done(struct tevent_req *subreq)
        switch (state->cmd->cmd) {
        case NBENCH_CMD_NTCREATEX: {
                struct ftable *ft;
-               status = cli_ntcreate_recv(subreq, &state->ft->fnum);
+               status = cli_ntcreate_recv(subreq, &state->ft->fnum, NULL);
                TALLOC_FREE(subreq);
                if (status_wrong(req, state->cmd->status, status)) {
                        return;
index fba83ea9bfb68d415c99b7669f23e49a04e6f3f2..ba4fa9559872f15eea31c1087c7791ee8835bed5 100644 (file)
@@ -166,7 +166,7 @@ void nb_createx(const char *fname,
                                0x0,
                                FILE_SHARE_READ|FILE_SHARE_WRITE, 
                                create_disposition, 
-                               create_options, 0, &fd);
+                               create_options, 0, &fd, NULL);
        if (!NT_STATUS_IS_OK(status) && handle != -1) {
                printf("ERROR: cli_ntcreate failed for %s - %s\n",
                       fname, nt_errstr(status));
index 7be8859d9b9f3153c99ebf7893d637300383d9af..cad1a3fb40788fe738a8d9ef8237f314abd6ab89 100644 (file)
@@ -234,7 +234,7 @@ static void chain3_ntcreate_done(struct tevent_req *subreq)
                req, struct chain3_state);
        NTSTATUS status;
 
-       status = cli_ntcreate_recv(subreq, &state->fnum);
+       status = cli_ntcreate_recv(subreq, &state->fnum, NULL);
        TALLOC_FREE(subreq);
        printf("cli_ntcreate returned %s, fnum=%u\n", nt_errstr(status),
               (unsigned)state->fnum);
index 319a55f3298569551dcf72cfc8b599b485d6a413..a831ed74a7f44c12332274657711bfaa2321a2be 100644 (file)
@@ -60,7 +60,7 @@ bool run_cleanup1(int dummy)
                FILE_GENERIC_READ|FILE_GENERIC_WRITE|DELETE_ACCESS,
                FILE_ATTRIBUTE_NORMAL,
                FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-               FILE_OPEN, FILE_DELETE_ON_CLOSE, 0, &fnum);
+               FILE_OPEN, FILE_DELETE_ON_CLOSE, 0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("2nd open of %s failed (%s)\n", fname,
                       nt_errstr(status));
@@ -89,7 +89,7 @@ bool run_cleanup2(int dummy)
                cli1, fname, 0, FILE_GENERIC_READ|FILE_GENERIC_WRITE,
                FILE_ATTRIBUTE_NORMAL,
                FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-               FILE_OVERWRITE_IF, 0, 0, &fnum1);
+               FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("open of %s failed (%s)\n", fname, nt_errstr(status));
                return false;
@@ -110,7 +110,7 @@ bool run_cleanup2(int dummy)
                cli2, fname, 0, FILE_GENERIC_READ|FILE_GENERIC_WRITE,
                FILE_ATTRIBUTE_NORMAL,
                FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-               FILE_OPEN, 0, 0, &fnum2);
+               FILE_OPEN, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("open of %s failed (%s)\n", fname, nt_errstr(status));
                return false;
@@ -144,7 +144,7 @@ bool run_cleanup2(int dummy)
                cli2, fname, 0, FILE_GENERIC_READ|FILE_GENERIC_WRITE,
                FILE_ATTRIBUTE_NORMAL,
                FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-               FILE_OPEN, 0, 0, &fnum2);
+               FILE_OPEN, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("open of %s failed (%s)\n", fname, nt_errstr(status));
                return false;
@@ -352,7 +352,7 @@ bool run_cleanup4(int dummy)
                FILE_GENERIC_READ|DELETE_ACCESS,
                FILE_ATTRIBUTE_NORMAL,
                FILE_SHARE_READ|FILE_SHARE_DELETE,
-               FILE_OVERWRITE_IF, 0, 0, &fnum1);
+               FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("creating file failed: %s\n",
                       nt_errstr(status));
@@ -364,7 +364,7 @@ bool run_cleanup4(int dummy)
                FILE_GENERIC_READ|DELETE_ACCESS,
                FILE_ATTRIBUTE_NORMAL,
                FILE_SHARE_READ|FILE_SHARE_DELETE,
-               FILE_OPEN, 0, 0, &fnum2);
+               FILE_OPEN, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("opening file 1st time failed: %s\n",
                       nt_errstr(status));
@@ -390,7 +390,7 @@ bool run_cleanup4(int dummy)
                FILE_GENERIC_WRITE|DELETE_ACCESS,
                FILE_ATTRIBUTE_NORMAL,
                FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-               FILE_OPEN, 0, 0, &fnum2);
+               FILE_OPEN, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_EQUAL(status, NT_STATUS_SHARING_VIOLATION)) {
                printf("opening file 2nd time returned: %s\n",
                       nt_errstr(status));
index 35e64bcd1290013d50e4084878b7ec6c98885640..e377875ef85e79662cf4dcdc8c29e09aaa5cbdf0 100644 (file)
@@ -82,7 +82,7 @@ static void wait_for_one_notify_opened(struct tevent_req *subreq)
                req, struct wait_for_one_notify_state);
        NTSTATUS status;
 
-       status = cli_ntcreate_recv(subreq, &state->dnum);
+       status = cli_ntcreate_recv(subreq, &state->dnum, NULL);
        TALLOC_FREE(subreq);
        if (tevent_req_nterror(req, status)) {
                return;
@@ -334,7 +334,7 @@ static void notify_bench3_mkdir1_done(struct tevent_req *subreq)
                req, struct notify_bench3_state);
        NTSTATUS status;
 
-       status = cli_ntcreate_recv(subreq, &state->dnum);
+       status = cli_ntcreate_recv(subreq, &state->dnum, NULL);
        TALLOC_FREE(subreq);
        if (tevent_req_nterror(req, status)) {
                return;
@@ -471,7 +471,7 @@ static void notify_bench3_mksubdir_done(struct tevent_req *subreq)
                req, struct notify_bench3_state);
        NTSTATUS status;
 
-       status = cli_ntcreate_recv(subreq, &state->subdir_dnum);
+       status = cli_ntcreate_recv(subreq, &state->subdir_dnum, NULL);
        TALLOC_FREE(subreq);
        if (tevent_req_nterror(req, status)) {
                return;
index b59ce203df9807b542d631a7c521585f363202e6..7f4f52111cdfa2da932a068c132e42a4280c3878 100644 (file)
@@ -77,7 +77,7 @@ static void notify_online_opened_dir(struct tevent_req *subreq)
                req, struct notify_online_state);
        NTSTATUS status;
 
-       status = cli_ntcreate_recv(subreq, &state->dnum);
+       status = cli_ntcreate_recv(subreq, &state->dnum, NULL);
        TALLOC_FREE(subreq);
        if (tevent_req_nterror(req, status)) {
                return;
@@ -131,7 +131,7 @@ static void notify_online_opened_file(struct tevent_req *subreq)
                req, struct notify_online_state);
        NTSTATUS status;
 
-       status = cli_ntcreate_recv(subreq, &state->fnum);
+       status = cli_ntcreate_recv(subreq, &state->fnum, NULL);
        TALLOC_FREE(subreq);
        if (tevent_req_nterror(req, status)) {
                return;
index f6444e833e0779d1076d039f5a547249c46f30df..5e7ce7e16c388e184ac41f035a16e7da622ef659 100644 (file)
@@ -71,7 +71,7 @@ bool run_nttrans_create(int dummy)
                READ_CONTROL_ACCESS,
                FILE_ATTRIBUTE_NORMAL,
                FILE_SHARE_READ|FILE_SHARE_WRITE| FILE_SHARE_DELETE,
-               FILE_CREATE, 0, 0, sd, NULL, 0, &fnum);
+               FILE_CREATE, 0, 0, sd, NULL, 0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                d_fprintf(stderr, "cli_nttrans_create returned %s\n",
                          nt_errstr(status));
@@ -84,7 +84,7 @@ bool run_nttrans_create(int dummy)
                               FILE_ATTRIBUTE_NORMAL,
                               FILE_SHARE_READ|FILE_SHARE_WRITE|
                               FILE_SHARE_DELETE,
-                              FILE_OPEN, 0, 0, &fnum2);
+                              FILE_OPEN, 0, 0, &fnum2, NULL);
 
        status = cli_nt_delete_on_close(cli, fnum, true);
        if (!NT_STATUS_IS_OK(status)) {
index 963b20ef4b6a1c604b0a990686ab4c0140709f2a..c2d8e6848518ce58230b867ce092b24c84e18af5 100644 (file)
@@ -51,7 +51,7 @@ bool run_nttrans_fsctl(int dummy)
                READ_CONTROL_ACCESS,
                FILE_ATTRIBUTE_NORMAL,
                FILE_SHARE_READ|FILE_SHARE_WRITE| FILE_SHARE_DELETE,
-               FILE_CREATE, 0, 0, NULL, NULL, 0, &fnum);
+               FILE_CREATE, 0, 0, NULL, NULL, 0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                d_fprintf(stderr, "cli_nttrans_create returned %s\n",
                          nt_errstr(status));
index d4784e8e7c29f1779f272fc09f08309a53d8c47e..9f892e3305e375344b323b695e70469e6597247c 100644 (file)
@@ -57,7 +57,7 @@ bool run_posix_append(int dummy)
                FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
                FILE_OVERWRITE_IF,
                FILE_NON_DIRECTORY_FILE|FILE_DELETE_ON_CLOSE,
-               0, &fnum);
+               0, &fnum, NULL);
 
        if (!NT_STATUS_IS_OK(status)) {
                printf("cli_ntcreate failed: %s\n", nt_errstr(status));
index 08265067238010aee7f228bc227a32a3402ff28e..95d8b333ecb9868dc12ae245a57116259a1fb650 100644 (file)
@@ -3873,7 +3873,7 @@ static bool run_deletetest(int dummy)
 
        status = cli_ntcreate(cli1, fname, 0, GENERIC_ALL_ACCESS|DELETE_ACCESS,
                              FILE_ATTRIBUTE_NORMAL, 0, FILE_OVERWRITE_IF,
-                             FILE_DELETE_ON_CLOSE, 0, &fnum1);
+                             FILE_DELETE_ON_CLOSE, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[1] open of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -3900,7 +3900,7 @@ static bool run_deletetest(int dummy)
 
        status = cli_ntcreate(cli1, fname, 0, GENERIC_ALL_ACCESS,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[2] open of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -3938,7 +3938,7 @@ static bool run_deletetest(int dummy)
        status = cli_ntcreate(cli1, fname, 0, GENERIC_ALL_ACCESS,
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_READ|FILE_SHARE_WRITE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[3] open - 1 of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -3950,7 +3950,7 @@ static bool run_deletetest(int dummy)
        status = cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS,
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_READ|FILE_SHARE_WRITE,
-                             FILE_OPEN, 0, 0, &fnum2);
+                             FILE_OPEN, 0, 0, &fnum2, NULL);
        if (NT_STATUS_IS_OK(status)) {
                printf("[3] open  - 2 of %s succeeded - should have failed.\n", fname);
                goto fail;
@@ -3960,7 +3960,7 @@ static bool run_deletetest(int dummy)
        status = cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS,
                             FILE_ATTRIBUTE_NORMAL,
                             FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                            FILE_OPEN, 0, 0, &fnum2);
+                            FILE_OPEN, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[3] open  - 3 of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -4007,7 +4007,7 @@ static bool run_deletetest(int dummy)
                              FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_READ|FILE_SHARE_WRITE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[4] open of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -4017,7 +4017,7 @@ static bool run_deletetest(int dummy)
        status = cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS,
                             FILE_ATTRIBUTE_NORMAL,
                             FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                            FILE_OPEN, 0, 0, &fnum2);
+                            FILE_OPEN, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[4] open  - 2 of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -4039,7 +4039,7 @@ static bool run_deletetest(int dummy)
        status = cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS,
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                             FILE_OPEN, 0, 0, &fnum2);
+                             FILE_OPEN, 0, 0, &fnum2, NULL);
        if (NT_STATUS_IS_OK(status)) {
                printf("[4] open  - 3 of %s succeeded ! Should have failed.\n", fname );
                goto fail;
@@ -4086,7 +4086,7 @@ static bool run_deletetest(int dummy)
        status = cli_ntcreate(cli1, fname, 0, FILE_READ_DATA|FILE_WRITE_DATA,
                             FILE_ATTRIBUTE_NORMAL,
                             FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                            FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                            FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[6] open of %s failed (%s)\n", fname,
                       nt_errstr(status));
@@ -4116,7 +4116,7 @@ static bool run_deletetest(int dummy)
        status = cli_ntcreate(cli1, fname, 0,
                              FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
                              FILE_ATTRIBUTE_NORMAL, 0, FILE_OVERWRITE_IF,
-                             0, 0, &fnum1);
+                             0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[7] open of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -4170,7 +4170,7 @@ static bool run_deletetest(int dummy)
                             FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
                             FILE_ATTRIBUTE_NORMAL,
                             FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                            FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                            FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[8] open 1 of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -4180,7 +4180,7 @@ static bool run_deletetest(int dummy)
                             FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
                             FILE_ATTRIBUTE_NORMAL,
                             FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                            FILE_OPEN, 0, 0, &fnum2);
+                            FILE_OPEN, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[8] open 2 of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -4220,7 +4220,7 @@ static bool run_deletetest(int dummy)
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_NONE,
                              FILE_OVERWRITE_IF,
-                             FILE_DELETE_ON_CLOSE, 0, &fnum1);
+                             FILE_DELETE_ON_CLOSE, 0, &fnum1, NULL);
        if (NT_STATUS_IS_OK(status)) {
                printf("[9] open of %s succeeded should have failed!\n", fname);
                goto fail;
@@ -4234,7 +4234,7 @@ static bool run_deletetest(int dummy)
                             FILE_READ_DATA|FILE_WRITE_DATA|DELETE_ACCESS,
                             FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
                             FILE_OVERWRITE_IF, FILE_DELETE_ON_CLOSE,
-                            0, &fnum1);
+                            0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[10] open of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -4266,7 +4266,7 @@ static bool run_deletetest(int dummy)
        /* Create a readonly file. */
        status = cli_ntcreate(cli1, fname, 0, FILE_READ_DATA|FILE_WRITE_DATA,
                              FILE_ATTRIBUTE_READONLY, FILE_SHARE_NONE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[11] open of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -4283,7 +4283,7 @@ static bool run_deletetest(int dummy)
                             FILE_READ_ATTRIBUTES|DELETE_ACCESS,
                             0,
                             FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                            FILE_OPEN, 0, 0, &fnum1);
+                            FILE_OPEN, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[11] open of %s failed: %s\n", fname, nt_errstr(status));
                goto fail;
@@ -4306,7 +4306,7 @@ static bool run_deletetest(int dummy)
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_READ|FILE_SHARE_WRITE,
                              FILE_OVERWRITE_IF,
-                             FILE_DELETE_ON_CLOSE, 0, &fnum1);
+                             FILE_DELETE_ON_CLOSE, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[12] open 1 of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -4315,7 +4315,7 @@ static bool run_deletetest(int dummy)
        status = cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS,
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                             FILE_OPEN, 0, 0, &fnum2);
+                             FILE_OPEN, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[12] open 2 of %s failed(%s).\n", fname, nt_errstr(status));
                goto fail;
@@ -4337,7 +4337,7 @@ static bool run_deletetest(int dummy)
        status = cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS,
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                             FILE_OPEN, 0, 0, &fnum2);
+                             FILE_OPEN, 0, 0, &fnum2, NULL);
        if (NT_STATUS_IS_OK(status)) {
                printf("[12] open 3 of %s succeeded - should fail).\n", fname);
                goto fail;
@@ -4352,7 +4352,7 @@ static bool run_deletetest(int dummy)
        status = cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS,
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                             FILE_OPEN, 0, 0, &fnum2);
+                             FILE_OPEN, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("[12] open 4 of %s failed (%s)\n", fname, nt_errstr(status));
                goto fail;
@@ -4377,7 +4377,7 @@ static bool run_deletetest(int dummy)
        status = cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS,
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                             FILE_OPEN, 0, 0, &fnum2);
+                             FILE_OPEN, 0, 0, &fnum2, NULL);
        if (NT_STATUS_IS_OK(status)) {
                printf("[12] open 5 of %s succeeded - should fail).\n", fname);
                goto fail;
@@ -4460,7 +4460,7 @@ static bool run_deletetest_ln(int dummy)
        status = cli_ntcreate(cli, fname, 0, FILE_READ_DATA,
                        FILE_ATTRIBUTE_NORMAL,
                        FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                       FILE_OPEN_IF, 0, 0, &fnum);
+                       FILE_OPEN_IF, 0, 0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("ntcreate of %s failed (%s)\n", fname, nt_errstr(status));
                return false;
@@ -4470,7 +4470,7 @@ static bool run_deletetest_ln(int dummy)
        status = cli_ntcreate(cli, fname_ln, 0, DELETE_ACCESS,
                        FILE_ATTRIBUTE_NORMAL,
                        FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                       FILE_OPEN_IF, 0, 0, &fnum1);
+                       FILE_OPEN_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("ntcreate of %s failed (%s)\n", fname_ln, nt_errstr(status));
                return false;
@@ -4595,7 +4595,7 @@ static bool run_xcopy(int dummy)
 
        status = cli_ntcreate(cli1, fname, 0, FIRST_DESIRED_ACCESS,
                              FILE_ATTRIBUTE_ARCHIVE, FILE_SHARE_NONE,
-                             FILE_OVERWRITE_IF, 0x4044, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0x4044, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("First open failed - %s\n", nt_errstr(status));
                return False;
@@ -4603,7 +4603,7 @@ static bool run_xcopy(int dummy)
 
        status = cli_ntcreate(cli1, fname, 0, SECOND_DESIRED_ACCESS, 0,
                             FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                            FILE_OPEN, 0x200000, 0, &fnum2);
+                            FILE_OPEN, 0x200000, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("second open failed - %s\n", nt_errstr(status));
                return False;
@@ -4640,7 +4640,7 @@ static bool run_rename(int dummy)
 
        status = cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("First open failed - %s\n", nt_errstr(status));
                return False;
@@ -4668,7 +4668,7 @@ static bool run_rename(int dummy)
 #else
                              FILE_SHARE_DELETE|FILE_SHARE_READ,
 #endif
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("Second open failed - %s\n", nt_errstr(status));
                return False;
@@ -4693,7 +4693,7 @@ static bool run_rename(int dummy)
 
        status = cli_ntcreate(cli1, fname, 0, READ_CONTROL_ACCESS,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("Third open failed - %s\n", nt_errstr(status));
                return False;
@@ -4705,7 +4705,7 @@ static bool run_rename(int dummy)
        uint16_t fnum2;
 
        if (!NT_STATUS_IS_OK(cli_ntcreate(cli1, fname, 0, DELETE_ACCESS, FILE_ATTRIBUTE_NORMAL,
-                                  FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0, 0, &fnum2))) {
+                                  FILE_SHARE_NONE, FILE_OVERWRITE_IF, 0, 0, &fnum2, NULL))) {
                printf("Fourth open failed - %s\n", cli_errstr(cli1));
                return False;
        }
@@ -4743,7 +4743,7 @@ static bool run_rename(int dummy)
        status = cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS,
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_READ | FILE_SHARE_WRITE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("Fourth open failed - %s\n", nt_errstr(status));
                return False;
@@ -4771,7 +4771,7 @@ static bool run_rename(int dummy)
        status = cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS,
                         FILE_ATTRIBUTE_NORMAL,
                         FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
-                        FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                        FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("Fifth open failed - %s\n", nt_errstr(status));
                return False;
@@ -4790,7 +4790,8 @@ static bool run_rename(int dummy)
          */
 
         /* if (!NT_STATUS_OP(cli_ntcreate(cli1, fname, 0, GENERIC_READ_ACCESS, FILE_ATTRIBUTE_NORMAL,
-                                  FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, FILE_OVERWRITE_IF, 0, 0, &fnum2))) {
+                                  FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
+                                  FILE_OVERWRITE_IF, 0, 0, &fnum2, NULL))) {
           printf("Opening original file after rename of open file fails: %s\n",
               cli_errstr(cli1));
         }
@@ -4853,7 +4854,7 @@ static bool run_pipe_number(int dummy)
                status = cli_ntcreate(cli1, pipe_name, 0, FILE_READ_DATA,
                                      FILE_ATTRIBUTE_NORMAL,
                                      FILE_SHARE_READ|FILE_SHARE_WRITE,
-                                     FILE_OPEN_IF, 0, 0, &fnum);
+                                     FILE_OPEN_IF, 0, 0, &fnum, NULL);
                if (!NT_STATUS_IS_OK(status)) {
                        printf("Open of pipe %s failed with error (%s)\n", pipe_name, nt_errstr(status));
                        break;
@@ -5052,7 +5053,7 @@ static bool run_opentest(int dummy)
        printf("TEST #1 testing 2 non-io opens (no delete)\n");
        status = cli_ntcreate(cli1, fname, 0, FILE_READ_ATTRIBUTES,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #1 open 1 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5060,7 +5061,7 @@ static bool run_opentest(int dummy)
 
        status = cli_ntcreate(cli2, fname, 0, FILE_READ_ATTRIBUTES,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                             FILE_OPEN_IF, 0, 0, &fnum2);
+                             FILE_OPEN_IF, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #1 open 2 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5087,7 +5088,7 @@ static bool run_opentest(int dummy)
        status = cli_ntcreate(cli1, fname, 0,
                              DELETE_ACCESS|FILE_READ_ATTRIBUTES,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #2 open 1 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5095,7 +5096,7 @@ static bool run_opentest(int dummy)
 
        status = cli_ntcreate(cli2, fname, 0, FILE_READ_ATTRIBUTES,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                             FILE_OPEN_IF, 0, 0, &fnum2);
+                             FILE_OPEN_IF, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #2 open 2 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5121,7 +5122,7 @@ static bool run_opentest(int dummy)
 
        status = cli_ntcreate(cli1, fname, 0, FILE_READ_ATTRIBUTES,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #3 open 1 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5130,7 +5131,7 @@ static bool run_opentest(int dummy)
        status = cli_ntcreate(cli2, fname, 0,
                              DELETE_ACCESS|FILE_READ_ATTRIBUTES,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                             FILE_OPEN_IF, 0, 0, &fnum2);
+                             FILE_OPEN_IF, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #3 open 2 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5157,7 +5158,7 @@ static bool run_opentest(int dummy)
        status = cli_ntcreate(cli1, fname, 0,
                               DELETE_ACCESS|FILE_READ_ATTRIBUTES,
                               FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                              FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                              FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #4 open 1 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5166,7 +5167,7 @@ static bool run_opentest(int dummy)
        status = cli_ntcreate(cli2, fname, 0,
                              DELETE_ACCESS|FILE_READ_ATTRIBUTES,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                             FILE_OPEN_IF, 0, 0, &fnum2);
+                             FILE_OPEN_IF, 0, 0, &fnum2, NULL);
        if (NT_STATUS_IS_OK(status)) {
                printf("TEST #4 open 2 of %s SUCCEEDED - should have failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5189,7 +5190,7 @@ static bool run_opentest(int dummy)
        status = cli_ntcreate(cli1, fname, 0,
                              DELETE_ACCESS|FILE_READ_ATTRIBUTES,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_DELETE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #5 open 1 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5198,7 +5199,7 @@ static bool run_opentest(int dummy)
        status = cli_ntcreate(cli2, fname, 0,
                              DELETE_ACCESS|FILE_READ_ATTRIBUTES,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_DELETE,
-                             FILE_OPEN_IF, 0, 0, &fnum2);
+                             FILE_OPEN_IF, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #5 open 2 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5224,7 +5225,7 @@ static bool run_opentest(int dummy)
 
        status = cli_ntcreate(cli1, fname, 0, FILE_READ_DATA,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #6 open 1 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5232,7 +5233,7 @@ static bool run_opentest(int dummy)
 
        status = cli_ntcreate(cli2, fname, 0, FILE_READ_ATTRIBUTES,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ,
-                             FILE_OPEN_IF, 0, 0, &fnum2);
+                             FILE_OPEN_IF, 0, 0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #6 open 2 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5258,7 +5259,7 @@ static bool run_opentest(int dummy)
 
        status = cli_ntcreate(cli1, fname, 0, FILE_READ_DATA,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_NONE,
-                             FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                             FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #7 open 1 of %s failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5268,7 +5269,7 @@ static bool run_opentest(int dummy)
                              DELETE_ACCESS|FILE_READ_ATTRIBUTES,
                              FILE_ATTRIBUTE_NORMAL,
                              FILE_SHARE_READ|FILE_SHARE_DELETE,
-                             FILE_OPEN_IF, 0, 0, &fnum2);
+                             FILE_OPEN_IF, 0, 0, &fnum2, NULL);
        if (NT_STATUS_IS_OK(status)) {
                printf("TEST #7 open 2 of %s SUCCEEDED - should have failed (%s)\n", fname, nt_errstr(status));
                return False;
@@ -5289,7 +5290,7 @@ static bool run_opentest(int dummy)
        printf("TEST #8 testing open without WRITE_ATTRIBUTES, updating close write time.\n");
        status = cli_ntcreate(cli1, fname, 0, FILE_WRITE_DATA, FILE_ATTRIBUTE_NORMAL,
                                FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
-                               FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                               FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("TEST #8 open of %s failed (%s)\n", fname, nt_errstr(status));
                correct = false;
@@ -5700,7 +5701,7 @@ static bool run_simple_posix_open_test(int dummy)
                        FILE_READ_DATA|FILE_WRITE_DATA, 0,
                        FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
                        FILE_CREATE,
-                       0x0, 0x0, &fnum2);
+                       0x0, 0x0, &fnum2, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("Windows create of %s failed (%s)\n", fname_windows,
                        nt_errstr(status));
@@ -5834,7 +5835,7 @@ static bool run_openattrtest(int dummy)
 
                status = cli_ntcreate(cli1, fname, 0, FILE_WRITE_DATA,
                                       open_attrs_table[i], FILE_SHARE_NONE,
-                                      FILE_OVERWRITE_IF, 0, 0, &fnum1);
+                                      FILE_OVERWRITE_IF, 0, 0, &fnum1, NULL);
                if (!NT_STATUS_IS_OK(status)) {
                        printf("open %d (1) of %s failed (%s)\n", i, fname, nt_errstr(status));
                        return False;
@@ -5851,7 +5852,7 @@ static bool run_openattrtest(int dummy)
                                              FILE_READ_DATA|FILE_WRITE_DATA,
                                              open_attrs_table[j],
                                              FILE_SHARE_NONE, FILE_OVERWRITE,
-                                             0, 0, &fnum1);
+                                             0, 0, &fnum1, NULL);
                        if (!NT_STATUS_IS_OK(status)) {
                                for (l = 0; l < sizeof(attr_results)/sizeof(struct trunc_open_results); l++) {
                                        if (attr_results[l].num == k) {
@@ -6187,7 +6188,7 @@ static bool run_eatest(int dummy)
        status = cli_ntcreate(cli, fname, 0,
                               FIRST_DESIRED_ACCESS, FILE_ATTRIBUTE_ARCHIVE,
                               FILE_SHARE_NONE, FILE_OVERWRITE_IF,
-                              0x4044, 0, &fnum);
+                              0x4044, 0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("open failed - %s\n", nt_errstr(status));
                talloc_destroy(mem_ctx);
@@ -6321,7 +6322,8 @@ static bool run_dirtest1(int dummy)
                fstring fname;
                slprintf(fname, sizeof(fname), "\\LISTDIR\\f%d", i);
                if (!NT_STATUS_IS_OK(cli_ntcreate(cli, fname, 0, GENERIC_ALL_ACCESS, FILE_ATTRIBUTE_ARCHIVE,
-                                  FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OVERWRITE_IF, 0, 0, &fnum))) {
+                                  FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OVERWRITE_IF,
+                                  0, 0, &fnum, NULL))) {
                        fprintf(stderr,"Failed to open %s\n", fname);
                        return False;
                }
@@ -6516,7 +6518,7 @@ static bool run_sesssetup_bench(int dummy)
 
        status = cli_ntcreate(c, fname, 0, GENERIC_ALL_ACCESS|DELETE_ACCESS,
                              FILE_ATTRIBUTE_NORMAL, 0, FILE_OVERWRITE_IF,
-                             FILE_DELETE_ON_CLOSE, 0, &fnum);
+                             FILE_DELETE_ON_CLOSE, 0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                d_printf("open %s failed: %s\n", fname, nt_errstr(status));
                return false;
@@ -6752,7 +6754,7 @@ static void torture_createdel_created(struct tevent_req *subreq)
        NTSTATUS status;
        uint16_t fnum;
 
-       status = cli_ntcreate_recv(subreq, &fnum);
+       status = cli_ntcreate_recv(subreq, &fnum, NULL);
        TALLOC_FREE(subreq);
        if (tevent_req_nterror(req, status)) {
                DEBUG(10, ("cli_ntcreate_recv returned %s\n",
@@ -7055,7 +7057,7 @@ static bool run_notify_bench(int dummy)
                                      0, FILE_SHARE_READ|FILE_SHARE_WRITE|
                                      FILE_SHARE_DELETE,
                                      FILE_OPEN_IF, FILE_DIRECTORY_FILE, 0,
-                                     &dnum);
+                                     &dnum, NULL);
 
                if (!NT_STATUS_IS_OK(status)) {
                        d_printf("Could not create %s: %s\n", dname,
@@ -7125,7 +7127,7 @@ static bool run_mangle1(int dummy)
 
        status = cli_ntcreate(cli, fname, 0, GENERIC_ALL_ACCESS|DELETE_ACCESS,
                              FILE_ATTRIBUTE_NORMAL, 0, FILE_OVERWRITE_IF,
-                             0, 0, &fnum);
+                             0, 0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                d_printf("open %s failed: %s\n", fname, nt_errstr(status));
                return false;
@@ -7401,7 +7403,7 @@ static bool run_large_readx(int dummy)
        /* Create a file of size 4MB. */
        status = cli_ntcreate(cli1, fname, 0, GENERIC_ALL_ACCESS,
                        FILE_ATTRIBUTE_NORMAL, 0, FILE_OVERWRITE_IF,
-                       0, 0, &fnum1);
+                       0, 0, &fnum1, NULL);
 
        if (!NT_STATUS_IS_OK(status)) {
                d_printf("open %s failed: %s\n", fname, nt_errstr(status));
@@ -7510,7 +7512,7 @@ static bool run_large_readx(int dummy)
 
                status = cli_ntcreate(cli2, fname, 0, FILE_READ_DATA,
                                FILE_ATTRIBUTE_NORMAL, 0, FILE_OPEN,
-                               0, 0, &fnum2);
+                               0, 0, &fnum2, NULL);
                if (!NT_STATUS_IS_OK(status)) {
                        d_printf("Second open %s failed: %s\n", fname, nt_errstr(status));
                        goto out;
@@ -7792,7 +7794,8 @@ static bool run_shortname_test(int dummy)
                fname[15] = i;
 
                status = cli_ntcreate(cli, fname, 0, GENERIC_ALL_ACCESS, FILE_ATTRIBUTE_NORMAL,
-                                   FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OVERWRITE_IF, 0, 0, &fnum);
+                                   FILE_SHARE_READ|FILE_SHARE_WRITE,
+                                  FILE_OVERWRITE_IF, 0, 0, &fnum, NULL);
                if (!NT_STATUS_IS_OK(status)) {
                        d_printf("(%s) cli_nt_create of %s failed: %s\n",
                                __location__, fname, nt_errstr(status));
@@ -8048,7 +8051,7 @@ static bool run_streamerror(int dummy)
                              FILE_READ_DATA|FILE_READ_EA|
                              FILE_READ_ATTRIBUTES|READ_CONTROL_ACCESS,
                              FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ,
-                             FILE_OPEN, 0, 0, &fnum);
+                             FILE_OPEN, 0, 0, &fnum, NULL);
 
        if (!NT_STATUS_EQUAL(status, NT_STATUS_OBJECT_NAME_NOT_FOUND)) {
                printf("ntcreate returned %s, expected "
index a2db3ba0fea934a26a708d785554df2a3fdeed79..27330914e5e03aef25c66e76ef4efdc649615a2d 100644 (file)
@@ -164,7 +164,7 @@ 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;
                }
index 778e888950eaba0dbb1ef1ce8ebad6ff62c41e13..b5c4d0b2e93bcb0dc19d8d83d47c996e751d13bb 100644 (file)
@@ -5104,7 +5104,8 @@ static void show_userlist(struct rpc_pipe_client *pipe_hnd,
        }
 
        if (!NT_STATUS_IS_OK(cli_ntcreate(cli, "\\", 0, READ_CONTROL_ACCESS, 0,
-                       FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN, 0x0, 0x0, &fnum))) {
+                       FILE_SHARE_READ|FILE_SHARE_WRITE,
+                       FILE_OPEN, 0x0, 0x0, &fnum, NULL))) {
                cli_query_secdesc(cli, fnum, mem_ctx, &root_sd);
        }
 
index 7ff838675ed03b80fcc8182e336c4d0993f794cb..3cdac6223fbf4b29f77f0ead13df56459b9333df 100644 (file)
@@ -177,7 +177,7 @@ NTSTATUS net_copy_fileattr(struct net_context *c,
        nt_status = cli_ntcreate(cli_share_src, src_name, 0,
                                 READ_CONTROL_ACCESS, 0,
                                 FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN,
-                                0x0, 0x0, &fnum_src);
+                                0x0, 0x0, &fnum_src, NULL);
        if (!NT_STATUS_IS_OK(nt_status)) {
                DEBUGADD(0,("cannot open %s %s on originating server %s\n",
                        is_file?"file":"dir", src_name, nt_errstr(nt_status)));
@@ -214,7 +214,7 @@ NTSTATUS net_copy_fileattr(struct net_context *c,
        nt_status = cli_ntcreate(cli_share_dst, dst_name, 0,
                                 WRITE_DAC_ACCESS | WRITE_OWNER_ACCESS, 0,
                                 FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN,
-                                0x0, 0x0, &fnum_dst);
+                                0x0, 0x0, &fnum_dst, NULL);
        if (!NT_STATUS_IS_OK(nt_status)) {
                DEBUG(0,("failed to open %s on the destination server: %s: %s\n",
                        is_file?"file":"dir", dst_name, nt_errstr(nt_status)));
@@ -331,7 +331,8 @@ NTSTATUS net_copy_file(struct net_context *c,
                nt_status = cli_open(cli_share_src, src_name, O_RDONLY, DENY_NONE, &fnum_src);
        else
                nt_status = cli_ntcreate(cli_share_src, src_name, 0, READ_CONTROL_ACCESS, 0,
-                               FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN, 0x0, 0x0, &fnum_src);
+                               FILE_SHARE_READ|FILE_SHARE_WRITE,
+                               FILE_OPEN, 0x0, 0x0, &fnum_src, NULL);
 
        if (!NT_STATUS_IS_OK(nt_status)) {
                DEBUGADD(0,("cannot open %s %s on originating server %s\n",
index 8d3071cc956ac21b9273cddd368aca7c7fddb4f0..684fe791da1b543ca6c1380b84f4cc1a88cb38c6 100644 (file)
@@ -810,7 +810,7 @@ static uint16 get_fileinfo(struct cli_state *cli, const char *filename)
 
        status = cli_ntcreate(cli, filename, 0, CREATE_ACCESS_READ,
                              0, FILE_SHARE_READ|FILE_SHARE_WRITE,
-                             FILE_OPEN, 0x0, 0x0, &fnum);
+                             FILE_OPEN, 0x0, 0x0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("Failed to open %s: %s\n", filename, nt_errstr(status));
                return 0;
@@ -858,7 +858,7 @@ static struct security_descriptor *get_secdesc(struct cli_state *cli, const char
 
        status = cli_ntcreate(cli, filename, 0, desired_access,
                              0, FILE_SHARE_READ|FILE_SHARE_WRITE,
-                             FILE_OPEN, 0x0, 0x0, &fnum);
+                             FILE_OPEN, 0x0, 0x0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("Failed to open %s: %s\n", filename, nt_errstr(status));
                return NULL;
@@ -922,7 +922,7 @@ static bool set_secdesc(struct cli_state *cli, const char *filename,
        status = cli_ntcreate(cli, filename, 0,
                              desired_access,
                              0, FILE_SHARE_READ|FILE_SHARE_WRITE,
-                             FILE_OPEN, 0x0, 0x0, &fnum);
+                             FILE_OPEN, 0x0, 0x0, &fnum, NULL);
        if (!NT_STATUS_IS_OK(status)) {
                printf("Failed to open %s: %s\n", filename, nt_errstr(status));
                return false;