mirror of
https://github.com/samba-team/samba.git
synced 2025-01-25 06:04:04 +03:00
d67c98184a
This is how a correct dump of an empty sl_filemeta_t container should look like: DALLOC_CTX(#1): { sl_array_t(#3): { uint64_t: 0x0023 CNIDs: unkn1: 0x0, unkn2: 0x0 DALLOC_CTX(#0): { } sl_filemeta_t(#0): { } } } This is basically the response from macOS mdssvc for a query that yields no results: sl_filemeta_t is empty, the CNIDs array as well. Looking at the raw packet data, the empty sl_filemeta_t container as a size of 8 bytes which fails the following check in sl_unpack_cpx(): case SQ_CPX_TYPE_FILEMETA: ... if (tag.size < 16) { *boom* } Only tag.size=0 is invalid, tag.size=8 denotes an empty container and tag.size>=16 denotes a sl_filemeta_t container with actual content must be unpacked by calling sl_unpack(). Note that size is always a muliple of 8. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Introduction: ============= This directory contains source code for the metadata search service aka Spotlight. Bison and flex: =============== Not yet integrated into the waf buildsystem, run these by hand: $ bison -d -o sparql_parser.c sparql_parser.y $ flex -o sparql_lexer.c sparql_lexer.l or use the bundled Makefile.