Not used for now, will be needed in the upcoming Elasticsearch backend.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
struct mds_ctx *mds_init_ctx(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct auth_session_info *session_info,
+ int snum,
+ const char *sharename,
const char *path)
{
struct mds_ctx *mds_ctx;
goto error;
}
+ mds_ctx->sharename = talloc_strdup(mds_ctx, sharename);
+ if (mds_ctx->sharename == NULL) {
+ goto error;
+ }
+
mds_ctx->spath = talloc_strdup(mds_ctx, path);
if (mds_ctx->spath == NULL) {
goto error;
}
+ mds_ctx->snum = snum;
mds_ctx->pipe_session_info = session_info;
if (session_info->security_token->num_sids < 1) {
struct auth_session_info *pipe_session_info;
struct dom_sid sid;
uid_t uid;
+ int snum;
+ const char *sharename;
const char *spath;
struct sl_query *query_list; /* list of active queries */
struct db_context *ino_path_map; /* dbwrap rbt for storing inode->path mappings */
*/
extern bool mds_init(struct messaging_context *msg_ctx);
extern bool mds_shutdown(void);
-extern struct mds_ctx *mds_init_ctx(TALLOC_CTX *mem_ctx,
- struct tevent_context *ev,
- struct auth_session_info *session_info,
- const char *path);
+struct mds_ctx *mds_init_ctx(TALLOC_CTX *mem_ctx,
+ struct tevent_context *ev,
+ struct auth_session_info *session_info,
+ int snum,
+ const char *sharename,
+ const char *path);
extern bool mds_dispatch(struct mds_ctx *query_ctx,
struct mdssvc_blob *request_blob,
struct mdssvc_blob *response_blob);
static NTSTATUS create_mdssvc_policy_handle(TALLOC_CTX *mem_ctx,
struct pipes_struct *p,
+ int snum,
+ const char *sharename,
const char *path,
struct policy_handle *handle)
{
mds_ctx = mds_init_ctx(mem_ctx,
messaging_tevent_context(p->msg_ctx),
p->session_info,
+ snum,
+ sharename,
path);
if (mds_ctx == NULL) {
DEBUG(1, ("error in mds_init_ctx for: %s\n", path));
return;
}
- status = create_mdssvc_policy_handle(p->mem_ctx, p, path,
+ status = create_mdssvc_policy_handle(p->mem_ctx, p,
+ snum,
+ r->in.share_name,
+ path,
r->out.handle);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(1, ("Couldn't create policy handle for %s\n",