diff options
author | Ralph Boehme <slow@samba.org> | 2019-05-06 14:11:31 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2019-08-08 20:24:33 +0000 |
commit | 63366996879fab5b1729de6d6224ca167bdb05b0 (patch) | |
tree | d7750455f3bf392dbcfa9b46bd54c6da808ac86d /source3/rpc_server | |
parent | 520175e2275abfabfdb5a62e192c4936a6c74d35 (diff) | |
download | samba-63366996879fab5b1729de6d6224ca167bdb05b0.tar.gz |
s3:mdssvc: the open command must work on shares with Spotlight disabled
Move the implementation of this setting down to the actual search query
processing. macOS has no notion of "spotlight = false" at the DCERPC layer and
the open request will always succeed even on all shares.
When later the client issues search requests on such shares, we ensure we use
the noindex backend.
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/rpc_server')
-rw-r--r-- | source3/rpc_server/mdssvc/mdssvc.c | 3 | ||||
-rw-r--r-- | source3/rpc_server/mdssvc/srv_mdssvc_nt.c | 5 |
2 files changed, 3 insertions, 5 deletions
diff --git a/source3/rpc_server/mdssvc/mdssvc.c b/source3/rpc_server/mdssvc/mdssvc.c index c93775280b7..1d420482437 100644 --- a/source3/rpc_server/mdssvc/mdssvc.c +++ b/source3/rpc_server/mdssvc/mdssvc.c @@ -1521,6 +1521,9 @@ struct mds_ctx *mds_init_ctx(TALLOC_CTX *mem_ctx, } backend = lp_spotlight_backend(snum); + if (!lp_spotlight(snum)) { + backend = SPOTLIGHT_BACKEND_NOINDEX; + } switch (backend) { case SPOTLIGHT_BACKEND_NOINDEX: mds_ctx->backend = &mdsscv_backend_noindex; diff --git a/source3/rpc_server/mdssvc/srv_mdssvc_nt.c b/source3/rpc_server/mdssvc/srv_mdssvc_nt.c index 68a05bec5ff..a4df2f136b7 100644 --- a/source3/rpc_server/mdssvc/srv_mdssvc_nt.c +++ b/source3/rpc_server/mdssvc/srv_mdssvc_nt.c @@ -160,11 +160,6 @@ void _mdssvc_open(struct pipes_struct *p, struct mdssvc_open *r) if (!VALID_SNUM(snum)) { return; } - if (!lp_spotlight(snum)) { - return; - } - - DBG_DEBUG("Spotlight enabled: %s\n", r->in.share_name); path = lp_path(talloc_tos(), snum); if (path == NULL) { |