1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-26 01:19:03 +00:00
Commit Graph

261 Commits

Author SHA1 Message Date
henri
d7a3d43eb6 Reduce CPU consumption with nsock engine poll
Entering nsock_loop() with the poll engine activated and no registered FD
(timers only, for instance) should not directly return, but sleep until next
timeout.
2015-02-21 21:15:21 +00:00
henri
7b02dea019 Remove dead code: einfo->evlen cannot be zero. 2015-02-21 21:15:15 +00:00
dmiller
7e30cb9c4a Only run SSL nsock tests if configured with OpenSSL 2015-02-11 04:55:36 +00:00
dmiller
2bf814b499 Add autoconf placeholder for HAVE_OPENSSL in nsock_config.h.in 2015-02-11 04:55:35 +00:00
dmiller
0952bed032 Merge final changes to support VS2013 build
Changes:

* Fix a collision of the name PS_NONE with a different constant in shlobj.h
* Update solution and project files for VS2013
* Update the NSIS installer to reference the VC 2013 redistributable
2015-01-17 04:35:01 +00:00
dmiller
fc99bed706 Don't use unnecessary parens with __declspec
Reported by nnposter, this broke on VS2010. Pretty sure this was just a
simple mistake in the first place. Fixes #33
2015-01-01 13:39:47 +00:00
dmiller
04ac366666 Fix nsock tests using wrong type (clang complains) 2014-12-31 04:30:58 +00:00
dmiller
59de1a50de Fix Nsock's make check: wrong value tested 2014-11-17 13:32:41 +00:00
dmiller
f6d70cd3e6 Revert r33815 (unrelated changes) 2014-11-17 13:31:56 +00:00
dmiller
2b9fade75b Fix Nsock's make check: wrong value tested 2014-11-17 13:25:35 +00:00
dmiller
85bb2d388d Define a NORETURN macro 2014-11-17 13:25:32 +00:00
dmiller
a067bc25bc Let MSVC know about noreturn attribute to help with code analysis 2014-11-12 13:29:40 +00:00
dmiller
7797826e5d Silence a compiler warning on VS2013: not all code paths return a value 2014-11-11 06:06:46 +00:00
dmiller
16bbe3719c Fix undefined symbol error on Windows 2014-11-11 05:19:50 +00:00
dmiller
53f7a37b7d Add config.h entries for PCAP_NETMASK_UNKNOWN 2014-11-03 02:47:53 +00:00
dmiller
80f18a2bc7 Add configure test for PCAP_NETMASK_UNKNOWN 2014-10-31 13:28:12 +00:00
fyodor
f6f59a7cd7 Auto regeneration with latest template files, etc. 2014-08-13 22:57:43 +00:00
henri
97103efdfb Try to trigger connection failure in a more portable way.
The former one was hackish and didn't behave consistently
between operating systems.

Passing in a zero addrlen should reliably make connect(2) fail.
2014-08-10 18:31:00 +00:00
henri
a913288efa Added missing variable declaration, as reported by Gisle Vanem 2014-08-10 13:22:09 +00:00
dmiller
9bf8974b38 Let nsock use /bin/sh instead of Bash for testing 2014-08-02 04:38:04 +00:00
henri
b5a6d20a6e Fail early when unable to properly resolve proxy names.
Some errors were not properly propagated. Ensure proxy_resolve() returns
a negative error code and make the caller fatal() when unable to complete
proxy_chain initialization for whatever reason.
2014-07-08 17:50:51 +00:00
dmiller
ec9074f718 Correct "it's" to "its" where necessary
it's = it is
its = belonging to it
2014-06-19 04:58:46 +00:00
henri
240da6ede2 Attempt to connect to 0.0.0.1 to reliably trigger an error.
0.0.0.1 seems to always fail with EINVAL, where 192.0.2.1 actually sends
a probe (and timeout.)
2014-06-11 20:14:20 +00:00
henri
ccf6e15b90 Nsock early error reporting.
Report finished (likely failed) events as early as possible. Because the
corresponding IODs can have no I/O activity, they wouldn't be flagged as active
by the I/O engines and the events could end up being delivered at shutdown only
(or never).

Reported by d33tah on http://seclists.org/nmap-dev/2014/q2/409
2014-06-11 20:14:16 +00:00
henri
a00aa0a460 New nsock regression test: TestConnectFailure.
Trigger a ENETUNREACH error on connect() and check if properly reported.

As of now the test fails, the error isn't delivered.
2014-06-05 19:44:00 +00:00
henri
e4d9793d92 Expose external nsock types as pointers to the internal structures instead of void pointers. 2014-05-21 19:59:46 +00:00
henri
d13dab54c3 Replaced internal opaque types by structs. 2014-05-21 19:59:42 +00:00
henri
687d153378 Divide code cleanly between ssl and non-ssl versions 2014-05-21 19:59:29 +00:00
dmiller
573f9c1a73 Fix a libpcap dependency flag in nsock test suite 2014-03-14 22:08:51 +00:00
dmiller
3f0d0c16f9 Spellcheck on Nmap, Nsock, Nbase source files 2014-02-20 18:44:12 +00:00
dmiller
c9714990c7 Remove trailing whitespace from C/C++ files
https://secwiki.org/w/Nmap/Code_Standards
2014-02-12 20:25:51 +00:00
henri
d5746993e2 Define nsi_delete() notify modes as enums.
These values aren't flags that can be ORed.
2014-02-03 20:53:09 +00:00
henri
64fb5b3482 Added safe fd_set operations.
Only FD_SET and FD_CLR were available. Added a FD_ISSET equivalent.
Implemented them as static inline instead of macros for consistency.

These functions abort() if the FD number is higher than FD_SETSIZE
(except on windows where no check is performed).
2014-01-30 19:02:57 +00:00
dmiller
83fd814a2c Really fix nsock's pcap configuration
This wasn't using Nmap's included libpcap if no options were specified,
instead compiling nsock without pcap support if no libpcap could be
found (which breaks Nmap)
2014-01-30 03:40:26 +00:00
dmiller
16505b5cc7 Nsock: let libpcap decisions set LDFLAGS, needed for make check 2014-01-26 16:38:24 +00:00
dmiller
2e047114f6 Improve support for non-included libpcap in nsock 2014-01-26 16:38:22 +00:00
dmiller
6251f85c9e Let nsock handle --with-libpcap in the same way as Nmap 2014-01-26 16:38:18 +00:00
henri
0ba3dc0be7 Include stddef only if required 2013-12-30 14:35:50 +00:00
d33tah
c7927c5449 Add missing stddef.h import. 2013-12-30 13:58:46 +00:00
dmiller
2506269bcc Let nsock's configure take the same --with-libpcap as Nmap does 2013-12-11 23:17:50 +00:00
dmiller
89db1ca27c Don't fail nsock/tests/run_tests if ncat can't be found 2013-12-03 23:03:10 +00:00
dmiller
26b471c923 Also clean the tests dir when doing make clean (nsock) 2013-12-02 21:36:41 +00:00
dmiller
ed250a8ff0 Fix linking errors in nsock/tests 2013-12-02 21:23:24 +00:00
dmiller
80510e96d6 Properly remove nsock_config.h on make distclean 2013-12-02 21:15:25 +00:00
dmiller
e4ce527a38 Avoid null pointer dereference to implement container_of
Using offsetof instead of actually dereferencing a 0 pointer is still
standards compliant (works under gcc -ansi, clang -ansi), and is more in
line with how Linux kernel defines this macro (kernel.h). Can't exactly
lift the kernel implementation because it uses gnu-extension typeof.

Not really a necessary change, but it was causing clang's address
sanitizer to complain.
2013-11-30 01:32:58 +00:00
dmiller
a5ce7f6083 Cast literal to appropriate type
On 64-bit, the literal 1 is a 32-bit integer, and can't be shifted
by the appropriate amount (61 bits).
2013-11-29 01:42:42 +00:00
dmiller
866db7eea3 Revert r32528, was not tested on Windows 2013-11-27 13:32:05 +00:00
dmiller
9c36367eea header file cleanup
see http://seclists.org/nmap-dev/2013/q4/168

Move some includes out of nmap.h: nmap.h gets included lots of places,
and unconditionally included math.h, ctype.h, errno.h, stdio.h,
sys/stat.h, fcntl.h, sys/types.h, and stdarg.h. This commit moves those
includes into the .cc files where they are necessary and out of nmap.h

Remove redundant include global_structures.h, included from nmap.h

Removed redundant code included from nmap.h

Removing #include nbase.h when nmap.h is included (redundant)

Remove duplicate #include lines

Add ifndef guards to a few .h files
2013-11-26 20:55:29 +00:00
henri
ba239a8610 Get rid of a level of indentation 2013-11-06 18:52:06 +00:00
henri
457e9dcf62 Added extra cancelation tests.
Schedule and immediately cancel TCP, UDP and SSL connects.
These tests are now grouped in a "cancel" module.
2013-10-23 19:04:10 +00:00