diff options
| author | Ralph Boehme <slow@samba.org> | 2025-09-04 17:41:44 +0200 |
|---|---|---|
| committer | Volker Lendecke <vl@samba.org> | 2025-10-10 10:40:30 +0000 |
| commit | 594eb4eb0eb4a6c87c5b136106afd05357b80e91 (patch) | |
| tree | a75568bab0cc66afd2e0875043b5e356998b33b5 /python | |
| parent | a8791c0cad4fb03606ea484c2da7ee69d9de5d48 (diff) | |
| download | samba-594eb4eb0eb4a6c87c5b136106afd05357b80e91.tar.gz samba-594eb4eb0eb4a6c87c5b136106afd05357b80e91.tar.bz2 samba-594eb4eb0eb4a6c87c5b136106afd05357b80e91.zip | |
mdssvc: fix filtering by share path prefix
To correctly filter by share path, use a filter with a prefix match.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15927
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Diffstat (limited to 'python')
| -rw-r--r-- | python/samba/tests/blackbox/mdsearch.py | 17 | ||||
| -rw-r--r-- | python/samba/tests/dcerpc/mdssvc.py | 51 |
2 files changed, 60 insertions, 8 deletions
diff --git a/python/samba/tests/blackbox/mdsearch.py b/python/samba/tests/blackbox/mdsearch.py index 8d67090e182..7709ae6b032 100644 --- a/python/samba/tests/blackbox/mdsearch.py +++ b/python/samba/tests/blackbox/mdsearch.py @@ -102,8 +102,21 @@ class MdfindBlackboxTests(BlackboxTestCase): json_in = r'''{ "from": 0, "size": 50, "_source": ["path.real"], "query": { - "query_string": { - "query": "(samba*) AND path.real.fulltext:\"%BASEPATH%\"" + "bool": { + "filter": [ + { + "prefix": { + "path.real": "%BASEPATH%/" + } + } + ], + "must": [ + { + "query_string": { + "query": "samba*" + } + } + ] } } }''' diff --git a/python/samba/tests/dcerpc/mdssvc.py b/python/samba/tests/dcerpc/mdssvc.py index cd256548b91..a6e69f15474 100644 --- a/python/samba/tests/dcerpc/mdssvc.py +++ b/python/samba/tests/dcerpc/mdssvc.py @@ -133,8 +133,21 @@ class MdssvcTests(RpcInterfaceTestCase): exp_json_query = r'''{ "from": 0, "size": 50, "_source": ["path.real"], "query": { - "query_string": { - "query": "(samba*) AND path.real.fulltext:\"%BASEPATH%\"" + "bool": { + "filter": [ + { + "prefix": { + "path.real": "%BASEPATH%/" + } + } + ], + "must": [ + { + "query_string": { + "query": "samba*" + } + } + ] } } }''' @@ -165,8 +178,21 @@ class MdssvcTests(RpcInterfaceTestCase): exp_json_query = r'''{ "from": 0, "size": 50, "_source": ["path.real"], "query": { - "query_string": { - "query": "(file.filename:x\\+x OR file.filename:x\\*x OR file.filename:x=x OR file.filename:x'x OR file.filename:x\\?x OR file.filename:x\\ x OR file.filename:x\\(x OR file.filename:x\\\"x OR file.filename:x\\\\x) AND path.real.fulltext:\"%BASEPATH%\"" + "bool": { + "filter": [ + { + "prefix": { + "path.real": "%BASEPATH%/" + } + } + ], + "must": [ + { + "query_string": { + "query": "file.filename:x\\+x OR file.filename:x\\*x OR file.filename:x=x OR file.filename:x'x OR file.filename:x\\?x OR file.filename:x\\ x OR file.filename:x\\(x OR file.filename:x\\\"x OR file.filename:x\\\\x" + } + } + ] } } }''' @@ -207,8 +233,21 @@ class MdssvcTests(RpcInterfaceTestCase): exp_json_query = r'''{ "from": 0, "size": 50, "_source": ["path.real"], "query": { - "query_string": { - "query": "(*samba*) AND path.real.fulltext:\"%BASEPATH%\"" + "bool": { + "filter": [ + { + "prefix": { + "path.real": "%BASEPATH%/" + } + } + ], + "must": [ + { + "query_string": { + "query": "*samba*" + } + } + ] } } }''' |
