TALLOC_CTX *ctx,
const char *stream_name,
char **_raw_stream_name,
+ bool *is_default,
char **xattr_name)
{
size_t stream_name_len = strlen(stream_name);
SMB_ASSERT(stream_name[0] == ':');
stream_name += 1;
+ stream_name_len -= 1;
/*
* With vfs_fruit option "fruit:encoding = native" we're
stream_name_len = (stype - stream_name);
}
+ *is_default = (stream_name_len == 0); /* ::$DATA */
+
raw_stream_name = talloc_asprintf(ctx,
"%.*s%s",
(int)stream_name_len,
int ret;
char *xattr_name = NULL;
char *raw_stream_name = NULL;
+ bool is_default = false;
if (sio->fsp->fsp_name == sio->fsp_name_ptr) {
return true;
talloc_tos(),
sio->fsp->fsp_name->stream_name,
&raw_stream_name,
+ &is_default,
&xattr_name);
if (ret != 0) {
return false;
char *tmp_stream_name = NULL;
struct smb_filename *pathref = NULL;
struct files_struct *fsp = smb_fname->fsp;
+ bool is_default = false;
SMB_VFS_HANDLE_GET_DATA(handle,
config,
talloc_tos(),
smb_fname->stream_name,
&raw_stream_name,
+ &is_default,
&xattr_name);
if (ret != 0) {
errno = ret;
ssize_t size;
NTSTATUS status;
int ret = -1;
+ bool is_default = false;
SMB_VFS_HANDLE_GET_DATA(handle,
config,
talloc_tos(),
smb_fname->stream_name,
&raw_stream_name,
+ &is_default,
&xattr_name);
if (ret != 0) {
errno = ret;
int fakefd = -1;
bool set_empty_xattr = false;
int ret;
+ bool is_default = false;
SMB_VFS_HANDLE_GET_DATA(handle, config, struct streams_xattr_config,
return -1);
talloc_tos(),
smb_fname->stream_name,
&raw_stream_name,
+ &is_default,
&xattr_name);
if (ret != 0) {
errno = ret;
char *raw_stream_name = NULL;
struct smb_filename *pathref = NULL;
struct files_struct *fsp = smb_fname->fsp;
+ bool is_default = false;
SMB_VFS_HANDLE_GET_DATA(handle,
config,
talloc_tos(),
smb_fname->stream_name,
&raw_stream_name,
+ &is_default,
&xattr_name);
if (ret != 0) {
errno = ret;
struct smb_filename *pathref_dst = NULL;
struct smb_filename *full_src = NULL;
struct smb_filename *full_dst = NULL;
+ bool is_default;
SMB_VFS_HANDLE_GET_DATA(handle,
config,
talloc_tos(),
smb_fname_src->stream_name,
&src_raw_stream_name,
+ &is_default,
&src_xattr_name);
if (ret != 0) {
errno = ret;
talloc_tos(),
smb_fname_dst->stream_name,
&dst_raw_stream_name,
+ &is_default,
&dst_xattr_name);
if (ret != 0) {
errno = ret;