.fixed_buf_size = true,
};
enum ndr_err_code ndr_err;
+ uint32_t tag = 0;
DBG_DEBUG("SMB2_FILE_POSIX_INFORMATION\n");
return NT_STATUS_INVALID_LEVEL;
}
+ if (mode & FILE_ATTRIBUTE_REPARSE_POINT) {
+ status = fsctl_get_reparse_tag(smb_fname->fsp,
+ &tag);
+ if (!NT_STATUS_IS_OK(status)) {
+ DBG_DEBUG("Could not get reparse "
+ "tag for %s: %s\n",
+ smb_fname_str_dbg(smb_fname),
+ nt_errstr(status));
+ return status;
+ }
+ }
+
smb3_file_posix_information_init(
- conn, &smb_fname->st, 0, mode, &info);
+ conn, &smb_fname->st, tag, mode, &info);
ndr_err = ndr_push_smb3_file_posix_information(
&ndr, NDR_SCALARS|NDR_BUFFERS, &info);