Renaud Deraison <[EMAIL PROTECTED]> writes:
> Plugins are compatible between major releases. Ie: you can get the 2.0.x
> plugins to work with any 2.0.x version of Nessus.
I'd like to add that incompatibilities may come from 3 sources:
1. New version of the NASL scripting language.
2. New functions in the NASL library
3. New or modified C plugins that are needed by NASL plugins
(script_dependencies)
(1) is unlikely to happen in the near future. NASL2 was a complete
rewriting of the parser, it was really needed but I do not see any
necessary feature that would impose a huge incompatibility.
I have a couple of NASL evolutions on my laptop that I did not commit
yet (let's call that NASL2.1) but it would be easy to write scripts
that would remain compatible with NASL2.0; scripts that would really
need NASL2.1 would be disabled if you have an old libnasl module with
a piece of code like this:
if (nasl_version < ...)
{
display("Update libnasl\"); # Goes to nessus.dump
exit(1);
}
Anyway, even if modifications are commited now, it would be better
that they are not used in official plugins until a new major version
of Nessus is released (e.g. Nessus 2.2)
(2) can be handled either by adding compatible functions in NASL
if (! defined_func("gizmo"))
include("gizmo_compat.inc"); # Contains the definition in NASL
or by disabling the scripts that use it:
if (! defined_func("gizmo"))
{
display("Update libnasl\"); # Goes to nessus.dump
exit(1);
}
(3) only happens when finc_service.c is upgraded, AFAIK.
You can just recompile & reinstall the nessus-plugins module (not need
to recompile all Nessus)
Or we could add the missing banners to find_service2.nasl