Nmap Development mailing list archives

Re: Weird verbosity effect with nse_selectedbyname and post-scanning


From: David Fifield <david () bamsoftware com>
Date: Wed, 11 Aug 2010 14:40:27 -0600

On Wed, Aug 11, 2010 at 02:16:13PM -0400, Patrick Donnelly wrote:
Does someone have a proposed solution to this? Set current to nil after
a round of script scanning? It might still cause a problem when the
engine calls verbosity in the middle of a round. Use a separate
verbosity function for the engine?

This also concerns the classic script scanning phase, if a prerule
script is selected by name, then we'll have:
"NSE: Script scanning 127.0.0.1"
(host target is 127.0.0.1)

I think that we should go for the simple solution, set current to nil
after every thread:close() call. Since current is set in line 746 and
should only be valid in the run() function (when scripts are running)
and since it's not collected by the garbage, then we should force it
to be nil for any *outside* verbosity call especially for the engine.

The simple attached patch will clear it, and *perhaps* this will avoid
any synchronization problems between referencing pending and running
threads etc.

This is a good enough fix in my opinion. You only need to set it to
nil in one spot though, at the end of the for loop.

Great, go ahead and commit it Djalal.

David Fifield
_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://seclists.org/nmap-dev/


Current thread: