pylibsmb: Return reparse_tag from directory listing
authorVolker Lendecke <vl@samba.org>
Sun, 28 Apr 2024 14:21:44 +0000 (16:21 +0200)
committerJeremy Allison <jra@samba.org>
Tue, 30 Apr 2024 22:44:32 +0000 (22:44 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/libsmb/pylibsmb.c

index e24f78ee9df26e178210549ec17c2375531900ad..b3608df1bcaf410560770fa40d2ba163afe21e1f 100644 (file)
@@ -1895,7 +1895,7 @@ static NTSTATUS list_posix_helper(struct file_info *finfo,
                             "s:K,s:K,"
                             "s:l,s:l,s:l,s:l,"
                             "s:i,s:K,s:i,s:i,s:I,"
-                            "s:s,s:s}",
+                            "s:s,s:s,s:k}",
                             "name", finfo->name,
                             "attrib", finfo->attr,
 
@@ -1920,7 +1920,8 @@ static NTSTATUS list_posix_helper(struct file_info *finfo,
                             "owner_sid",
                             dom_sid_string(finfo, &finfo->owner_sid),
                             "group_sid",
-                            dom_sid_string(finfo, &finfo->group_sid));
+                            dom_sid_string(finfo, &finfo->group_sid),
+                            "reparse_tag", (unsigned long)finfo->reparse_tag);
        if (file == NULL) {
                return NT_STATUS_NO_MEMORY;
        }
@@ -1954,13 +1955,14 @@ static NTSTATUS list_helper(struct file_info *finfo,
         * Build a dictionary representing the file info.
         * Note: Windows does not always return short_name (so it may be None)
         */
-       file = Py_BuildValue("{s:s,s:i,s:s,s:O,s:l}",
+       file = Py_BuildValue("{s:s,s:i,s:s,s:O,s:l,s:k}",
                             "name", finfo->name,
                             "attrib", (int)finfo->attr,
                             "short_name", finfo->short_name,
                             "size", size,
                             "mtime",
-                            convert_timespec_to_time_t(finfo->mtime_ts));
+                            convert_timespec_to_time_t(finfo->mtime_ts),
+                            "reparse_tag", (unsigned long)finfo->reparse_tag);
 
        Py_CLEAR(size);