uint32_t current_users,
const char *path,
const char *password,
- uint32_t unknown,
- struct security_descriptor *sd)
+ struct sec_desc_buf *sd_buf)
{
r->name = name;
r->type = type;
r->current_users = current_users;
r->path = path;
r->password = password;
- r->unknown = unknown;
- r->sd = sd;
+ r->sd_buf = *sd_buf;
}
/*******************************************************************
const char *net_name = lp_servicename(snum);
char *path = NULL;
SEC_DESC *sd = NULL;
+ struct sec_desc_buf *sd_buf = NULL;
size_t sd_size = 0;
TALLOC_CTX *ctx = p->mem_ctx;
char *remark = talloc_strdup(ctx, lp_comment(snum));;
sd = get_share_security(ctx, lp_servicename(snum), &sd_size);
+ sd_buf = make_sec_desc_buf(p->mem_ctx, sd_size, sd);
+
init_srvsvc_NetShareInfo502(r, net_name,
get_share_type(snum),
remark ? remark : "",
1,
path ? path : "",
"",
- 0,
- sd);
+ sd_buf);
}
/***************************************************************************
comment = talloc_strdup(ctx, info->info502->comment);
pathname = info->info502->path;
type = info->info502->type;
- psd = info->info502->sd;
+ psd = info->info502->sd_buf.sd;
map_generic_share_sd_bits(psd);
break;
case 1004:
max_connections = (r->in.info->info502->max_users == (uint32_t)-1) ?
0 : r->in.info->info502->max_users;
type = r->in.info->info502->type;
- psd = r->in.info->info502->sd;
+ psd = r->in.info->info502->sd_buf.sd;
map_generic_share_sd_bits(psd);
break;