This basically looks good to me so far, but I do have a couple of comments:
http://mapage.noos.fr/arboi/nasl2_reference/node32.html I notice that the progress function (scanner_status) is specific to
scanners and cannot be used by other types of plugin. How about making
it into a more generic function eg. plugin_status so that plugins which
can take a long time (such as the web mirroring script) can also make
use of it. The meaning of the two arguments would have to change to be
the amount of work done and the total amount rather than refering
specifically to ports.
Another related idea is having a heartbeat function which would allow a
plugin to remind the system that it is alive. This even could be used in
combination with the timeout stuff perhaps (maybe temporarily supressing
it).
Cheers
Rich.