* Török Edwin wrote:
> On 05/24/2010 05:28 AM, Nathan Gibbs wrote:
>> 2.
>> Store an array of pointers to sigs needed to do a partial scan.
>> Hand the engine the list on partial scans.
>> That might be the more elegant solution.
> 
> It might be possible to do this for the MD5 signatures, not the NDB
> signatures though.

OK, I'm clueless there, so I'll take your word for it.  Basically, that idea
would only work part of the time. Right?

> An AC trie needs to be built out of the full set of signatures you
> intend to scan with. The trie is actually more like an automaton, so you
> need a new one each time you add or remove a signature.
> I'm sure there is a way to do, it is just not that simple :)
> 

OK, so an AC trie gets built and used until a DB reload.
Am I understanding correctly?

> Actually for full system scans there might be a way to do it that
> doesn't involve many (or in fact any) changes to the engine:
> Store the CVD used, and a DB of clean file hashes/sizes.
> When you want a rescan you give the old CVD and the new CVD to a script,
> which compares the 2 databases and builds you a partial DB in a
> temporary directory (if a partial scan is possible, see the corner cases
> above). Then you can start a scan with just that temporary DB.
> 

H'mm, That might work.
The corner cases being the NBD sigs, right?

> In 0.96 we started with something simple (cache clean, erase cache on
> reload) that works. We can always improve that later.
> Even the simple solution has some corner cases though (for example
> recursion depth needs to be taken into account), so care needs to be taken.
> 

Right, I'll defer to sharper minds than mine to figure the implementation out.
 It sounds promising though.
:-)


-- 
Sincerely,

Nathan Gibbs

Systems Administrator
Christ Media
http://www.cmpublishers.com


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Help us build a comprehensive ClamAV guide: visit http://wiki.clamav.net
http://www.clamav.net/support/ml

Reply via email to