Nmap Development mailing list archives

Future developments of nsock-engines


From: Henri Doreau <henri.doreau () greenbone net>
Date: Tue, 6 Sep 2011 12:53:20 +0200

Hello,

I have recently been working on a new version of nsock to experiment
with modern IO notification facilities[1]. I have received very
positive feedback on it.

The code now seems to be stable and efficient, successfully tested on
numerous platforms (several flavors of GNU/Linux, FreeBSD and
Windows). I think that these changes on nsock are valuable and I would
suggest considering the branch for being merged.

There are no known bugs anymore and I've tried to make the code as
clean and tidy as possible. Once again, I invite people to give it a
try or have a look at the code (see [2], "how to test").

I would also appreciate some guidance about how to proceed for the
next steps. Should I keep on adding engines or focus on documentation
and testing?
Despite I have a poll(2)-based engine available, my approach was to
stick to only two engines for this development branch, to have
something as simple as possible during the early phases. I can check
it into the branch though, if people think that adding new engines is
a better strategy.

For the future, I have studied similar libraries and it seems that
Windows IO Completion ports (IOCP[3]) can be integrated within the
chosen model. Ultimately, we could have the following engines:
  - epoll for Linux > 2.6 (implemented, merged)
  - kqueue/kevent for BSDs and Mac OS (planned)
  - IOCP for windows (planned)
  - poll for unix-like systems for which we don't have anything better
implemented (implemented, not merged)
  - select as a fallback engine (implemented, merged)

Please speak up if you want me to test or document anything specific.

Regards.

[1] http://seclists.org/nmap-dev/2011/q3/569
[2] http://labs.unix-junkies.org/nsock_engines.html
[3] http://msdn.microsoft.com/en-us/library/aa365198%28v=VS.85%29.aspx

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


Current thread: