New API calls:
int cl_init(unsigned int options);
struct cl_engine *cl_engine_new(unsigned int options);
int cl_engine_compile(struct cl_engine *engine);
struct cl_engine *cl_engine_dup(struct cl_engine *engine);
int cl_engine_free(struct cl_engine *engine);
more to come..
WARNING: THE BRANCH IS CURRENTLY BROKEN AND SHOULD NOT BE USED
git-svn-id: file:///var/lib/svn/clamav-devel/branches/newapi@4370 77e5149b-7576-45b1-b177-96237e5ba77b
TODO
- unuglify the ifdefs
- reenable make checks
- rework mpool.c
- test
git-svn-id: file:///var/lib/svn/clamav-devel/branches/mpool@4281 77e5149b-7576-45b1-b177-96237e5ba77b
- make regex* and hash* behave properly (either include or exclude from the pool entirely)
- cleanup the ifdefs and make a single macro
- fixup the proto for dconf (re-enables make check in mpool-mode)
- check the possibility to entirely wipe frees from error paths in mpool-mode
(this totally simplifies the code)
git-svn-id: file:///var/lib/svn/clamav-devel/branches/mpool@4271 77e5149b-7576-45b1-b177-96237e5ba77b
need to recheck strlen(hex2string) bugs, need to figure how to hangle regexes and hashes: edwiiiiiiin!!! :D
git-svn-id: file:///var/lib/svn/clamav-devel/branches/mpool@4268 77e5149b-7576-45b1-b177-96237e5ba77b
The goal is to put an end to memory wasted due to stupid allocators and fragmentation
In the long run mpool libraries will be replaced with better code. For now there just good enough.
This branch is currently under development and totally broken.
If it will ever compile, it'll probably result in random crashes or at least (slightly) higher load times.
The code is also terrible, just don't look.
Do not use except for testing.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/mpool@4266 77e5149b-7576-45b1-b177-96237e5ba77b
* use a suffix AC-trie and a shift-or FSM to filter
* rewrite the URL regex in C
* use a perfect hash to lookup TLD and ccTLD, instead of a regex
* TODO: suffixes having a common prefix: loop over all of them
cli_ac_free: multiple virname pointing to same location
git-svn: trunk@3978
use a faster hash function
use hashset to load mdb signatures
regenerate files due to hash function change
enable hash function profiling during generation
git-svn: trunk@3589