The branch, master has been updated
       via  1421969b86b CI: add a test for @GMT mask in SMB1 find
      from  425aaf6f7eb lib: Fix a use-after-free in "net vfs getntacl"

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 1421969b86bf2eab2d192d4a071080b2d021cd38
Author: Ralph Boehme <s...@samba.org>
Date:   Thu Nov 24 16:59:49 2022 +0100

    CI: add a test for @GMT mask in SMB1 find
    
    Without FLAGS2_REPARSE_PATH a path containing an @GMT token can be used to
    create a file including the @GMT token in the name and a directory list will
    also return the file as result. Verified against Windows. Samba behaves 
exactly
    the same.
    
    Signed-off-by: Ralph Boehme <s...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>
    
    Autobuild-User(master): Jeremy Allison <j...@samba.org>
    Autobuild-Date(master): Fri Jan 13 01:13:01 UTC 2023 on sn-devel-184

-----------------------------------------------------------------------

Summary of changes:
 source4/torture/basic/base.c | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)


Changeset truncated at 500 lines:

diff --git a/source4/torture/basic/base.c b/source4/torture/basic/base.c
index 232ba9c5cb3..602eb226d0b 100644
--- a/source4/torture/basic/base.c
+++ b/source4/torture/basic/base.c
@@ -1979,6 +1979,44 @@ static bool torture_smb1_twrp_openroot(struct 
torture_context *tctx,
        return ret;
 }
 
+static void torture_smb1_find_gmt_mask_list_fn(struct clilist_file_info *finfo,
+                                              const char *name,
+                                              void *state)
+{
+}
+
+/**
+ * SMB1 @GMT token as search mask is valid
+ */
+static bool torture_smb1_find_gmt_mask(struct torture_context *tctx,
+                                      struct smbcli_state *cli)
+{
+       const char *dname = "\\torture_smb1_find_gmt_mask";
+       const char *path = 
"\\torture_smb1_find_gmt_mask\\@GMT-2022.11.24-16.24.00";
+       int fnum;
+       int n;
+       NTSTATUS status;
+       bool ret = true;
+
+       smbcli_unlink(cli->tree, path);
+       smbcli_rmdir(cli->tree, dname);
+
+       status = smbcli_mkdir(cli->tree, dname);
+       torture_assert_ntstatus_ok_goto(tctx, status, ret, done,
+                                       "smbcli_mkdir() failed\n");
+       fnum = smbcli_open(cli->tree, path, O_RDWR | O_CREAT, DENY_NONE);
+       smbcli_close(cli->tree, fnum);
+
+       /* Note: we don't set FLAGS2_REPARSE_PATH, so this is just a path */
+       n = smbcli_list(cli->tree, path, 0, torture_smb1_find_gmt_mask_list_fn, 
cli);
+       torture_assert_int_equal_goto(tctx, n, 1, ret, done, "Wrong count\n");
+
+done:
+       smbcli_unlink(cli->tree, path);
+       smbcli_rmdir(cli->tree, dname);
+       return ret;
+}
+
 NTSTATUS torture_base_init(TALLOC_CTX *ctx)
 {
        struct torture_suite *suite = torture_suite_create(ctx, "base");
@@ -2039,6 +2077,9 @@ NTSTATUS torture_base_init(TALLOC_CTX *ctx)
        torture_suite_add_1smb_test(suite,
                        "smb1-twrp-openroot",
                        torture_smb1_twrp_openroot);
+       torture_suite_add_1smb_test(suite,
+                       "smb1-find-gmt-mask",
+                       torture_smb1_find_gmt_mask);
 
        suite->description = talloc_strdup(suite, 
                                        "Basic SMB tests (imported from the 
original smbtorture)");


-- 
Samba Shared Repository

Reply via email to