Nmap Development mailing list archives

Re: nmap 5.20 problem with script engine


From: Patrick Donnelly <batrick () batbytes com>
Date: Thu, 21 Jan 2010 05:03:13 -0500

On Thu, Jan 21, 2010 at 4:47 AM, Onur Küçük <onur () delipenguen net> wrote:

 Hello,

 I have installed 5.20 from the tarball (compiled without zenmap) but
have trouble with the script engine


# nmap -v -sV 192.168.2.2

Starting Nmap 5.20 ( http://nmap.org ) at 2010-01-21 11:40 EET
NSE: failed to initialize the script engine:
/usr/share/nmap/nse_main.lua:97: attempt to call a boolean value
stack traceback:
       /usr/share/nmap/nse_main.lua:97: in main chunk
       [C]: ?

QUITTING!


where the hit happens at the strict checking


# head -n 100 /usr/share/nmap/nse_main.lua |tail -n 10
 assert(t == "directory", "could not locate nselib directory!");
 package.path = package.path..";"..path.."?.lua";
end

local stdnse = require "stdnse";

(require "strict")() -- strict global checking

-- NSE_YIELD_VALUE
-- This is the table C uses to yield a thread with a unique value to


 I am not familiar with lua so I don't know where the problem is. I am
using lua 5.1.4 of my Linux distro Pardus. Nmap 5.00 works fine here.

 What may be the problem, and better, how can I fix it ? I can provide
any info necessary.

Problem is your distribution is apparently installing the original
strict.lua script (included in the Lua sources). We need to force Lua
to always load our version first:

batrick@batbytes:~/nmap/svn/nmap$ svn diff nse_main.lua
Index: nse_main.lua
===================================================================
--- nse_main.lua        (revision 16447)
+++ nse_main.lua        (working copy)
@@ -89,7 +89,7 @@
 do -- Append the nselib directory to the Lua search path
   local t, path = assert(cnse.fetchfile_absolute("nselib/"));
   assert(t == "directory", "could not locate nselib directory!");
-  package.path = package.path..";"..path.."?.lua";
+  package.path = path.."?.lua;"..package.path;
 end

 local stdnse = require "stdnse";



-- 
-Patrick Donnelly

"Let all men know thee, but no man know thee thoroughly: Men freely
ford that see the shallows."

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

Current thread: