[Openvas-devel] Replacing libopenvas with glib...

Stjepan Gros sgros.ml at gmail.com
Thu Nov 20 12:46:42 CET 2008

I changed thread for this topic because it's not related to 64-bit
issues any more...

So, few thoughts/questions about this...

> I am not aware of anyone approaching this.
> It is not a too simple task.

> My idea was that we should start with a
> struct NVT_Desc {} in OpenVAS-Client and step-by-step
> change to this strucure (which members are some Glib Datacontainers)
> all over the client. Probably some lessons need to be learned.
> Once finished this, the gained experience should be good
> enough to approach the server.

I couldn't figure out from this short description what you exactly intend to do.

I was looking a bit into arglists.c and it seems basically to be a
hash table that allows different objects to be stored and quickly
retrieved. The closest data structure in GLib seems to be GHashTable.
The problem is that GHashTable stores pointers so another layer above
it is necessary in order to replace arglists.c. In conclusion, it
would be relatively easy to modify arglists.c to use glib's functions
while the rest of the code stays unchanged.

But, there is still a problem. The layer implemented on top of glib
would be necessary in openvas-client and openvas-libraries, meaning
that the code duplication isn't solved. To solve this problem, two
approaches could be used:

1. Using your solution which I assume integrates parts of the code
into openvas-client itself and totally removes nessus subdirectory?

2. Keeping in code in SVN in on only one place, while before doing
releases duplicate code so that openvas-client is stand alone. In
other words, users who download some (pre)release do just standard
configure, make, make install process, while users who check out from
svn have to install openvas-libraries before client (I assume they are
advanced users per definition).

Note that harglists.c is more complicated than arglists.c and I
haven't looked into it yet.


> In the meantime we'll try to make the server as light as possible
> to increase readability of this code ;-)

More information about the Openvas-devel mailing list