Re: Re: [Database-devel] Issue with nessus sql in 2.2.4/2.2.5 - solved

Jan Fredrik Leversund <[email protected]> Tue, 09 Aug 2005 19:19:36 +0200
Newsgroups gmane.comp.security.nessus.devel
Message-ID <[email protected]>
Sandro Poppi wrote:

> Javier,
>
> after lots of debugging and searching the web I think I found the issue:
>
> nessusd uses fork() to create various processes for handling scans.
> Within these processes your db code uses always the same connection from
> different processes which is said not to be the "clean" way (see e.g.
> http://www.issociate.de/board/post/9207/DBD::mysql_fork()_problem.html
> although this is not C related it fits anyway ;)

An overall better way to handle this is to fork out a "db-writer" 
process _before_ any scanning is started, and then use shared memory, or 
some other messaging technique to send the results to the db-writer for 
processing. This also paves the way for messages to be queued up and 
even temporarily stored to disk, should there be any problems preventing 
the db-writer from offloading the results to the database.

-- 
Jan Fredrik Leversund
Phalanx Security Services

_______________________________________________
Nessus-devel mailing list
[email protected]
http://mail.nessus.org/mailman/listinfo/nessus-devel