Spotlight: use async Tracker SPARQL API Signed-off-by: Ralph Boehme <rb@sernet.de>
fce: FCE version 2 with new event types and new config options * new events: fmov,dmov,login and logout * removed event: tmsz * new options: "fce ignore names" and "fce notify script" Signed-off-by: Ralph Boehme <rb@sernet.de>
Hangs in Netatalk which causes it to stop responding to connections Hangs in Netatalk which causes it to stop responding to connections. The master afpd process gets stuck in a poll loop, being repeatedly notified that there are connections on its socket, but never actually doesn anything with them. Analysis with gdb revealed that the dat astructure dealing with the main AFP socket and the IPC client sockets was smashed. This could happen because the function fdset_add_fd() doesn't do bound checking itself but relied on other parts of the code that enforce a connection limit. Unfortunately, for low-level AFP connections that don't result in a full AFP login these checks come too late resulting in a buffer overflow. Add a bound check. While we're at it, rewrite the fdset code to use a full blown data structure 'struct asev' encapsultating the implementation details. Fixes bug #572. Signed-off-by: Ralph Boehme <rb@sernet.de>
Add advanced option "chmod request" controlling ACLs chmod request = ignore | preserve (default) | simple * ignore = UNIX chmod() requests are completely ignored * preserve = preserve ZFS ACEs for named users and groups or POSIX ACL group mask * simple = just to a chmod() as requested without any extra steps Signed-off-by: Ralph Boehme <rb@sernet.de>
Spotlight: "spotlight expr = false" broke the default Spotlight query The default Spotlight query a Mac uses is *=="test*"cwd || kMDItemTextContent=="test*"cwd which is of course using a logic expression. The parser has an extra rule for catching this (MATCH or MATCH) for the purpose of munging both expression into a single fts:match SPARQL query. Which means we shouldn't check whether logic expressions are enabled or not. Signed-off-by: Ralph Boehme <rb@sernet.de>
Spotlight: new options for controlling query behaviour Add three options that allow fine grainted control over the resulting SPARQL queries: "sparql results limit = NUMBER", default is unlimited Useful for limiting the result set for very large systems "spotlight attributes = STRING", useful for limiting queries to attributes that are indexed, many are not. "spotlight expr = BOOLEAN", default: yes, useful for disabling the use of complex queries that will take too long to complete and hang Tracker. Signed-off-by: Ralph Boehme <rb@sernet.de>
Support for using $u username variable in AFP volume definitions * Prepare CNID backend dbd for user variable expansion * Store a struct vol pointer in the CNID db handles. * Pass three arguments to the CNID daemon: - the afp.conf volume section name - the volume path - an optional username * Rename several struct elements by prefixing them with a struct tag, helps catching bad or missing assignments. * Disable uniconv, doesn't use laod_volumes() and thus wont work with the new CNID dbd backend. From FR#90. Signed-off-by: Ralph Boehme <rb@sernet.de>