Nmap Development mailing list archives

Re: Ncat + Lua - GSOC feedback request


From: Jacek Wielemborek <wielemborekj1 () gmail com>
Date: Thu, 2 May 2013 19:35:17 +0200

2013/5/2 Jacek Wielemborek <wielemborekj1 () gmail com>:
2013/5/1 David Fifield <david () bamsoftware com>:
On Wed, May 01, 2013 at 06:44:49PM +0200, Jacek Wielemborek wrote:
Today I finished reading through the lists of organisations and
projects that interested me and decided that Ncat is going to be my
top priority for this year's GSOC's application.

The proposal I simply fell in love with is "Bringing lua to ncat"
which can be found here:

https://secwiki.org/w/GSoC_community_ideas#Bringing_lua_to_ncat

I'd like to ask if there is anyone else that already expressed
interest in this task (hopefully not) so I'd know if I can keep
hacking some code for my application. Also, what do you think of SWIG
instead of Lua?

As far as I know, noone has expressed interest in the project so far.

SWIG instead of Lua is probably not an option. We already package and
ship Lua and people know how to use it from NSE.

David Fifield

Well, SWIG would let you use Lua as well as many other languages.
There are shortcoming though - it's a C++-based dependency and there
are some limitations on what you can do with bindings (
http://www.swig.org/Doc1.3/SWIG.html#SWIG_nn30 )

I haven't finished writing my proposal yet, but I have a tentative
timeline I would like to ask you to comment:

Week 1 (June 17 – June 23)
Ncat can run a TCP „hello world Lua client” over TCP. Only sending
messages is supported yet.


Week 2 (June 24 – June 30)
UDP and STCP routines are added. Preliminary work on onRead callbacks.


Week 3 (July 1 – July 7)
SSL support added. „On read” works correctly for use cases mentioned so far.


Week 4 (July 8 – July 14)
A week for writing tests, demos and documentation for code introduced so far.


Week 5 (July 15 – July 21)
Server mode support started – adding onConnect and onDisconnect handlers.


Week 6 (July 22 – July 28)
A week to catch out with the functionality I might have missed and
possibly polish the callbacks.

Week 7 (July 29 – August 4)
Adding support for SOCKS proxy.


Week 8 (August 5 – August 11)
Connection brokering support.


Week 9 (August 12 – August 18)
Suggested 'pencils down' date. „Packing” the code – adding the
autoconf modifications to support –with-lua. Documenting the rest of
the code, writing more tests and improving the quality of code where
needed.


Week 10 (August 19 – August 25)
Finishing the tasks mentioned in the previous week.
August 23 - Firm 'pencils down' date.


Week 11 (August 26 – September 1)
Rewriting chat as a full blown Lua script.


Week 12 (September 2 – September 8)
Further extending the chat script to make it an impressive Ncat+Lua demo.

My current idea on how to implement this it to introduce a new
command-line switch --with-script and a set of callback function
names' switches like --on-connect="some_function_name" which would
override the default behaviour of ncat. For the places to put the code
in, I'd start with grepping for "o.chat" in the code and cover the
cases when a special function is specified. What do you think about
it?

I have sent you my GSoC proposal, it can be found here:
https://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/d33tah/1
_______________________________________________
Sent through the dev mailing list
http://nmap.org/mailman/listinfo/dev
Archived at http://seclists.org/nmap-dev/


Current thread: