Nmap Development mailing list archives

Re: [NSE] Getting a backtrace?


From: "Patrick Donnelly" <batrick.donnelly () gmail com>
Date: Sat, 25 Oct 2008 17:55:02 -0600

On Sat, Oct 25, 2008 at 1:13 PM, Ron <ron () skullsecurity net> wrote:
So, I implemented that in one of my scripts, to see how it works, and I
am getting this error message:

SCRIPT ENGINE: ./scripts/smb-enumusers.nse:501: attempt to yield across
metamethod/C-call boundary
stack traceback:
       [C]: in function 'connect'
       [string "local yield, connect, socket_lock = ...;..."]:6: in
function 'connect'


It looks like it's getting an error inside the connect() function. Is
there a bug in the implementation of connect(), or is something else
going on here?

Ah yes. The connect function yields the thread but a thread cannot
yield across a C call (xpcall). That complicates our problem. It turns
out NSE must provide this then (barring even more complicated
solutions). Attached is a patch to output the backtrace provided
debugging flag is set.

Cheers,

-- 
-Patrick Donnelly

"One of the lessons of history is that nothing is often a good thing
to do and always a clever thing to say."

-Will Durant

Attachment: traceback.patch
Description:


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

Current thread: