diff options
author | Andrew Tridgell <tridge@samba.org> | 2003-08-13 16:04:21 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2003-08-13 16:04:21 +0000 |
commit | 75c0125fb71b0562e7bdd85c391764796b5f12f6 (patch) | |
tree | b589d2e6bbc2c517a3f79790d0ed309ef79f7507 /source4/torture/gentest.c | |
parent | a3b86fe170beb70ffab8585a276ca1648fffd454 (diff) | |
download | samba-75c0125fb71b0562e7bdd85c391764796b5f12f6.tar.gz samba-75c0125fb71b0562e7bdd85c391764796b5f12f6.tar.bz2 samba-75c0125fb71b0562e7bdd85c391764796b5f12f6.zip |
- added SMBntrename test suite
- allow username of form DOMAIN\username or DOMAIN/username
- added ntrename to gentest
(This used to be commit 2b464472c17b791eb5b117f89d5aaea2bf60f6ad)
Diffstat (limited to 'source4/torture/gentest.c')
-rw-r--r-- | source4/torture/gentest.c | 43 |
1 files changed, 39 insertions, 4 deletions
diff --git a/source4/torture/gentest.c b/source4/torture/gentest.c index 3519b51f14..72b8e8d404 100644 --- a/source4/torture/gentest.c +++ b/source4/torture/gentest.c @@ -470,6 +470,18 @@ static BOOL gen_bool(void) } /* + generate ntrename flags +*/ +static uint16 gen_rename_flags(void) +{ + if (gen_chance(30)) return RENAME_FLAG_RENAME; + if (gen_chance(30)) return RENAME_FLAG_HARD_LINK; + if (gen_chance(30)) return RENAME_FLAG_COPY; + return gen_bits_mask(0xFFFF); +} + + +/* return a lockingx lock mode */ static uint16 gen_lock_mode(void) @@ -1218,12 +1230,34 @@ static BOOL handler_rmdir(int instance) */ static BOOL handler_rename(int instance) { - struct smb_rename parm[NSERVERS]; + union smb_rename parm[NSERVERS]; NTSTATUS status[NSERVERS]; - parm[0].in.pattern1 = gen_pattern(); - parm[0].in.pattern2 = gen_pattern(); - parm[0].in.attrib = gen_attrib(); + parm[0].generic.level = RAW_RENAME_RENAME; + parm[0].rename.in.pattern1 = gen_pattern(); + parm[0].rename.in.pattern2 = gen_pattern(); + parm[0].rename.in.attrib = gen_attrib(); + + GEN_COPY_PARM; + GEN_CALL(smb_raw_rename(tree, &parm[i])); + + return True; +} + +/* + generate ntrename operations +*/ +static BOOL handler_ntrename(int instance) +{ + union smb_rename parm[NSERVERS]; + NTSTATUS status[NSERVERS]; + + parm[0].generic.level = RAW_RENAME_NTRENAME; + parm[0].ntrename.in.old_name = gen_fname(); + parm[0].ntrename.in.new_name = gen_fname(); + parm[0].ntrename.in.attrib = gen_attrib(); + parm[0].ntrename.in.root_fid = gen_root_fid(instance); + parm[0].ntrename.in.flags = gen_rename_flags(); GEN_COPY_PARM; GEN_CALL(smb_raw_rename(tree, &parm[i])); @@ -1771,6 +1805,7 @@ static struct { {"MKDIR", handler_mkdir}, {"RMDIR", handler_rmdir}, {"RENAME", handler_rename}, + {"NTRENAME", handler_ntrename}, {"READX", handler_readx}, {"WRITEX", handler_writex}, {"CHKPATH", handler_chkpath}, |