1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 04:31:29 +00:00

New system for silent require errors. Use the new function

stdnse.silent_require. The Lua require function is back in its usual spot
(_G.require).
This commit is contained in:
batrick
2011-06-13 23:38:35 +00:00
parent e37cfc5d0e
commit dc9a35bc9d
14 changed files with 25 additions and 17 deletions

View File

@@ -212,8 +212,7 @@ local function tcopy (t)
end
local REQUIRE_ERROR = {};
stdnse.require = require; -- add real require to stdnse so it can be called if desired
function _G.require (...)
rawset(stdnse, "silent_require", function (...)
local status, mod = pcall(require, ...);
if not status then
print_debug(1, "%s", traceback(mod));
@@ -222,7 +221,7 @@ function _G.require (...)
else
return mod;
end
end
end);
local Script = {}; -- The Script Class, its constructor is Script.new.
local Thread = {}; -- The Thread Class, its constructor is Script:new_thread.

View File

@@ -869,13 +869,15 @@ do end -- no function here, see nse_main.lua
--@return coroutine Returns the base coroutine of the running script.
do end -- no function here, see nse_main.lua
--- The (Unmodified) Lua Require Function.
--- The Lua Require Function with errors silenced.
--
-- See the Lua manual for description. NSE replaces the standard function
-- in the global namespace to improve error handling.
-- See the Lua manual for description of the require function. This modified
-- version allows the script to quietly fail at loading if a required
-- library does not exist.
--
--@name require
--@name silent_require
--@class function
--@usage stdnse.silent_require "openssl"
do end -- no function here, see nse_main.lua

View File

@@ -27,6 +27,8 @@ categories = {"discovery","safe"}
require "http"
require "shortport"
require "stdnse"
stdnse.silent_require "openssl"
portrule = shortport.http

View File

@@ -37,7 +37,8 @@ require "http"
require "stdnse"
require "datafiles"
require "nsedebug"
require "openssl"
require "stdnse"
stdnse.silent_require "openssl"
portrule = shortport.http

View File

@@ -28,6 +28,8 @@ categories = {"discovery", "safe"}
require "http"
require "shortport"
require "stdnse"
stdnse.silent_require "openssl"
portrule = shortport.http

View File

@@ -17,7 +17,7 @@ require 'shortport'
require 'stdnse'
require 'mysql'
require 'unpwdb'
require 'openssl'
stdnse.silent_require 'openssl'
-- Version 0.3
-- Created 01/15/2010 - v0.1 - created by Patrik Karlsson <patrik@cqure.net>

View File

@@ -27,7 +27,7 @@ categories = {"discovery", "intrusive"}
require 'shortport'
require 'stdnse'
require 'mysql'
require 'openssl'
stdnse.silent_require 'openssl'
dependencies = {"mysql-brute", "mysql-empty-password"}

View File

@@ -30,7 +30,7 @@ categories = {"discovery", "intrusive"}
require 'shortport'
require 'stdnse'
require 'mysql'
require 'openssl'
stdnse.silent_require 'openssl'
dependencies = {"mysql-brute", "mysql-empty-password"}

View File

@@ -38,7 +38,7 @@ categories = {"discovery", "intrusive"}
require 'shortport'
require 'stdnse'
require 'mysql'
require 'openssl'
stdnse.silent_require 'openssl'
dependencies = {"mysql-brute", "mysql-empty-password"}

View File

@@ -37,7 +37,8 @@ categories = {"intrusive", "auth"}
require 'shortport'
require 'brute'
require 'openssl'
require 'stdnse'
stdnse.silent_require 'openssl'
require 'tns'
portrule = shortport.port_or_service(1521, "oracle-tns", "tcp", "open")

View File

@@ -34,7 +34,8 @@ categories = {"intrusive", "auth"}
require 'shortport'
require 'unpwdb'
require 'openssl'
require 'stdnse'
stdnse.silent_require 'openssl'
require 'tns'
portrule = shortport.port_or_service(1521, 'oracle-tns' )

View File

@@ -29,7 +29,7 @@ categories = {"intrusive", "auth"}
require 'shortport'
require 'stdnse'
require 'unpwdb'
require 'openssl'
stdnse.silent_require 'openssl'
-- Version 0.3
-- Created 01/15/2010 - v0.1 - created by Patrik Karlsson <patrik@cqure.net>

View File

@@ -56,7 +56,7 @@ categories = {"safe","default","discovery"}
require("shortport")
require("stdnse")
require("openssl")
stdnse.silent_require("openssl")
require("ssh1")
require("ssh2")

View File

@@ -57,7 +57,7 @@ categories = {"safe", "discovery"}
require "shortport"
require "stdnse"
require "openssl"
stdnse.silent_require "openssl"
portrule = shortport.port_or_service(22, "ssh")