Nmap Development mailing list archives

Re: Nsock-engines merged


From: David Fifield <david () bamsoftware com>
Date: Sat, 7 Jan 2012 21:56:25 -0800

On Thu, Jan 05, 2012 at 02:11:51AM +0100, Henri Doreau wrote:
Hello,

I have just merged the nsock-engine branch (see r27776). As explained
in the presentation email[1], this is a rewrite of nsock aiming to
leverage efficient and scalable IO notification facilities, like
epoll, poll, kqueue/kevent... which are OS-specific, while preserving
portability.

For simplicity sake, the current version only provides epoll(7) and
select(2) based engines. So only Linux systems that provide epoll(7)
should benefit scalability improvements for now. More engines to come.

The aims were achieved by adding several independent modules (the
actual engines) to the core of the library. Each one uses a given
syscall and exports a clearly defined API to the rest of the library.
Only the engines compatible with your system are compiled. The most
efficient engine available is chosen at runtime. Implementation notes
and a couple benchmark results are available[2].

The external API of nsock remains absolutely identical and the
behaviour should also be unchanged.

The branch was extensively tested under numerous platforms but
additional testing would be much appreciated indeed.

I am getting this error with CentOS 5.7, kernel 2.6.18, Glibc 2.5.

Compiling libnsock
cd nsock/src && make
make[1]: Entering directory `/home/david/nmap/nsock/src'
gcc -c -I../../nbase -DHAVE_CONFIG_H -DNSOCK_VERSION=\"0.02\" -D_FORTIFY_SOURCE=2 -I../include -I../../libpcap -g -O2 
-Wall -fno-strict-aliasing  -Wall   engine_epoll.c -o engine_epoll.o
engine_epoll.c: In function ‘epoll_iod_register’:
engine_epoll.c:170: error: ‘EPOLLRDHUP’ undeclared (first use in this function)
engine_epoll.c:170: error: (Each undeclared identifier is reported only once
engine_epoll.c:170: error: for each function it appears in.)
engine_epoll.c: In function ‘epoll_iod_modify’:
engine_epoll.c:223: error: ‘EPOLLRDHUP’ undeclared (first use in this function)
engine_epoll.c: In function ‘iterate_through_event_lists’:
engine_epoll.c:337: error: ‘EPOLLRDHUP’ undeclared (first use in this function)
make[1]: *** [engine_epoll.o] Error 1
make[1]: Leaving directory `/home/david/nmap/nsock/src'
make: *** [nsock_build] Error 2

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

Current thread: