mirror of
https://github.com/nmap/nmap.git
synced 2025-12-08 05:31:31 +00:00
Look out, world, here comes the Nmap massping migration!
This is the merging of the code that was previously in /nmap-exp/david/nmap-massping-migration. These are all the big changes that get rid of massping in favor of doing host discovery using ultra_scan. For now, there is a toggle that turns these new changes off. Undefine NEW_MASSPING in targets.cc to go back to the old code. All of that will be deleted eventually. There are likely a few more changes that will be made to this system in the near future. Those will be made in /nmap-exp/david/nmap-massping-migration and merged back. Don't release this just yet, because I'm going to make a few more commits real quick to remove some debugging stuff. (Note to self: this merge back was from r5693 in /nmap-exp/david/nmap-massping-migration.)
This commit is contained in:
17
tcpip.cc
17
tcpip.cc
@@ -917,6 +917,9 @@ pcap_t *my_pcap_open_live(const char *device, int snaplen, int promisc,
|
||||
pcap_t *pt;
|
||||
char pcapdev[128];
|
||||
int failed = 0;
|
||||
|
||||
assert(device != NULL);
|
||||
|
||||
#ifdef WIN32
|
||||
/* Nmap normally uses device names obtained through dnet for interfaces, but Pcap has its own
|
||||
naming system. So the conversion is done here */
|
||||
@@ -1839,10 +1842,16 @@ int pcap_select(pcap_t *p, struct timeval *timeout)
|
||||
FD_ZERO(&rfds);
|
||||
FD_SET(fd, &rfds);
|
||||
|
||||
ret = select(fd + 1, &rfds, NULL, NULL, timeout);
|
||||
|
||||
if (ret == -1)
|
||||
fatal("Your system does not support select()ing on pcap devices (%s). PLEASE REPORT THIS ALONG WITH DETAILED SYSTEM INFORMATION TO THE nmap-dev MAILING LIST!", strerror(errno));
|
||||
do {
|
||||
errno = 0;
|
||||
ret = select(fd + 1, &rfds, NULL, NULL, timeout);
|
||||
if (ret == -1) {
|
||||
if (errno == EINTR)
|
||||
error("%s: %s", __func__, strerror(errno));
|
||||
else
|
||||
fatal("Your system does not support select()ing on pcap devices (%s). PLEASE REPORT THIS ALONG WITH DETAILED SYSTEM INFORMATION TO THE nmap-dev MAILING LIST!", strerror(errno));
|
||||
}
|
||||
} while (ret == -1);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user