Nmap Development mailing list archives
Re: small patch allowing build with -stdlib=libc++
From: Daniel Miller <bonsaiviking () gmail com>
Date: Thu, 17 Apr 2014 14:50:05 -0500
On 04/17/2014 02:23 PM, olli hauer wrote:
Hi, is it possible to adopt the following patch to make the compiler happy and also allow usage of -stdlib=libc++ Index: scan_engine.cc =================================================================== --- scan_engine.cc (revision 32836) +++ scan_engine.cc (working copy) @@ -3129,7 +3129,7 @@ } if (o.spoofsource && !bind_failed) { o.SourceSockAddr(&ss, &sslen); - if (bind(sd, (struct sockaddr*)&ss, sslen) != 0) { + if (::bind(sd, (struct sockaddr*)&ss, sslen) != 0) { error("%s: Problem binding source address (%s), errno: %d", __func__, inet_socktop(&ss), socket_errno()); perror("bind"); bind_failed = 1; Index: traceroute.cc =================================================================== --- traceroute.cc (revision 32836) +++ traceroute.cc (working copy) @@ -221,8 +221,6 @@ /* A global random token used to distinguish this traceroute's probes from those of other traceroutes possibly running on the same machine. */ static u16 global_id; -/* A global cache of known hops, indexed by TTL and address. */ -static std::map<struct HopIdent, Hop *> hop_cache; /* A list of timedout hops, which are not kept in hop_cache, so we can delete all hops on occasion. */ static std::list<Hop *> timedout_hops; @@ -235,6 +233,9 @@ static struct timeval get_now(struct timeval *now = NULL); static const char *ss_to_string(const struct sockaddr_storage *ss); +/* A global cache of known hops, indexed by TTL and address. */ +static std::map<struct HopIdent, Hop *> hop_cache; + struct Hop { Hop *parent; struct sockaddr_storage tag; _______________________________________________ Sent through the dev mailing list http://nmap.org/mailman/listinfo/dev Archived at http://seclists.org/nmap-dev/
Olli,I appreciate your reports improving Nmap's standards compliance. I think I understand qualifying ::bind to avoid collision with std::bind, but what is the purpose of the second part of the patch? What is the error that clang++ is giving? I don't have my clang build environment up and running at the moment, unfortunately.
Dan _______________________________________________ Sent through the dev mailing list http://nmap.org/mailman/listinfo/dev Archived at http://seclists.org/nmap-dev/
Current thread:
- small patch allowing build with -stdlib=libc++ olli hauer (Apr 17)
- Re: small patch allowing build with -stdlib=libc++ Daniel Miller (Apr 17)
- Re: small patch allowing build with -stdlib=libc++ olli hauer (Apr 17)
- Re: small patch allowing build with -stdlib=libc++ Daniel Miller (Apr 17)
- Re: small patch allowing build with -stdlib=libc++ olli hauer (Apr 17)
- Re: small patch allowing build with -stdlib=libc++ Daniel Miller (Apr 17)