This also replaces the cli_*_stats variants with a callback for stats,
so that clamd can call the cl_*_callback variants instead, and pass the filename
as context.
since a buggy client implementation may get stuck in send(), and then clamd
gets stuck in send() -> deadlock. To avoid this we need nonblocking sockets, and
(low) timeouts on send.
Add more tests for clamd protocol, including a stress test for IDSESSION.
git-svn: trunk@4798
writing only 32-bits will leave upper 32-bits undefined and lead to funny
results, such as VERSION command working first time, but 2nd time not showing
the DB timestamp.
git-svn: trunk@4637
writing only 32-bits will leave upper 32-bits undefined and lead to funny
results, such as VERSION command working first time, but 2nd time not showing
the DB timestamp.
git-svn-id: file:///var/lib/svn/clamav-devel/branches/clamd-proto@4636 77e5149b-7576-45b1-b177-96237e5ba77b
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
- 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
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