[prev in list] [next in list] [prev in thread] [next in thread]
List: nmap-dev
Subject: Re: [RFC][PATCH] NSE Version Numbering
From: Djalal Harouni <tixxdz () opendz ! org>
Date: 2010-12-28 20:51:11
Message-ID: 20101228205111.GC2603 () dztty
[Download RAW message or body]
On 2010-12-14 09:31:06 -0500, Patrick Donnelly wrote:
> On Tue, Dec 14, 2010 at 9:10 AM, Djalal Harouni <tixxdz@gmail.com> wrote:
> > The proposed interface (a patch is attached):
> > o Add a new descriptive field to scripts: "require_nse = $VER"
> > This field is a Lua number [2] and it is optional.
> > If this field is specified, and if it's greater than the version
> > of the current NSE, then a warnning will be printed and the script
> > will be dropped, which means that users must update their Nmap/NSE
> > version.
> > If this field is absent then its default value will be the current
> > NSE version, this way scripts can run even if they do not specify this
> > field.
>
> This seems reasonable. I'd like a one word field though instead of
> "require_nse". I can't think of a better one right now though...
Perhaps "nse" :)
> > o Add a new environment variable to scripts "NSE_VERSION", which
> > contains the current NSE version. This way scripts can run normally
> > and check this variable before requesting an unsupported function or
> > a behaviour.
>
> This should just be a value in stdnse I think. There's no need to make
> it an environment variable since it is constant for all scripts.
Ok, and what about returning the Nmap version ?
> > The version numbering is very simple e.g: 0.01 (Lua number) this value
> > will be incremented if there are some new NSE features that will have
> > a direct impact on NSE scripts/libraries and will *modify* their
> > behaviour, or a change on the NSE *core* functionalities, anything
> > related to the NSE core. As an example modifying/adding nse_*.cc
> > interfaces must be documented in the luadoc files:
> > file nmap.luadoc:
>
> I've given this some thought and my take is that version numbers
> should probably be the revision number in the repository. So long as
> Nmap remains on subversion, this makes sense and is automatic. It
> should be trivial to make adding (updating) this field automatic in
> the build process.
The MPlayer [1] also do this, there is a simple shell script 'version.sh'
which is responsible of retrieving the current svn revision using svn
commands or from the 'snapshot_version' file (which I *think* is
updated by some external programs). The svn revision will be saved into
the 'version.h' file, this way the revision is included in every build.
> There's a strong desire for automatic updating of scripts too. That
> is, it'd be great if scripts could update (so long as Nmap itself
> doesn't also need to update) whenever Nmap is run to correct simple
> bugs in the scripts. Unfortunately, "upgrading" the scripts is
> difficult if Nmap is installed on the system.
This is an important point, some rsync and diff magic should be
considered, I've found the lua-rdiff project [2].
I'll wait for more comments before making a new patch, thanks.
[1] http://www.mplayerhq.hu/
[2] http://lua-rdiff.luaforge.net/
--
tixxdz
_______________________________________________
Sent through the nmap-dev mailing list
http://cgi.insecure.org/mailman/listinfo/nmap-dev
Archived at http://seclists.org/nmap-dev/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic