diff options
author | wxs <wxs@FreeBSD.org> | 2009-04-21 23:36:56 +0800 |
---|---|---|
committer | wxs <wxs@FreeBSD.org> | 2009-04-21 23:36:56 +0800 |
commit | 9224724d47c8d44823be38f0ba6928da3a644b7b (patch) | |
tree | 71a1a25903195e75e50272f025437e7a422afdc7 /security | |
parent | 2d3b23b2d1e6b2368da4e724e040d7e8384311d2 (diff) | |
download | freebsd-ports-gnome-9224724d47c8d44823be38f0ba6928da3a644b7b.tar.gz freebsd-ports-gnome-9224724d47c8d44823be38f0ba6928da3a644b7b.tar.zst freebsd-ports-gnome-9224724d47c8d44823be38f0ba6928da3a644b7b.zip |
- Add patch to work around versions of FreeBSD with broken
getaddrinfo(3) (7.1 and earlier, and -CURRENT before the end of March
2009).
PR: ports/133779
Submitted by: Daniel Roethlisberger <daniel@roe.ch> (maintainer)
Diffstat (limited to 'security')
-rw-r--r-- | security/nmap/Makefile | 1 | ||||
-rw-r--r-- | security/nmap/files/patch-ncat__ncat_core.c | 33 |
2 files changed, 34 insertions, 0 deletions
diff --git a/security/nmap/Makefile b/security/nmap/Makefile index 6150ff296a54..77fb663a6390 100644 --- a/security/nmap/Makefile +++ b/security/nmap/Makefile @@ -7,6 +7,7 @@ PORTNAME= nmap DISTVERSION= 4.85BETA7 +PORTREVISION= 1 CATEGORIES= security ipv6 MASTER_SITES= http://nmap.org/dist/ \ http://www.mirrors.wiretapped.net/security/network-mapping/nmap/ \ diff --git a/security/nmap/files/patch-ncat__ncat_core.c b/security/nmap/files/patch-ncat__ncat_core.c new file mode 100644 index 000000000000..ccab94e0c19e --- /dev/null +++ b/security/nmap/files/patch-ncat__ncat_core.c @@ -0,0 +1,33 @@ +--- ncat/ncat_core.c.orig 2009-04-02 04:57:42.000000000 +0200 ++++ ncat/ncat_core.c 2009-04-16 14:12:39.000000000 +0200 +@@ -11,6 +11,7 @@ + #include <netinet/in.h> + #include <arpa/inet.h> + #endif ++#include <sys/param.h> + #include <stdlib.h> + #include <string.h> + #include <stdio.h> +@@ -96,13 +97,22 @@ + rc = Snprintf(portbuf, sizeof(portbuf), "%hu", port); + assert(rc >= 0 && rc < sizeof(portbuf)); + ++#if (defined(__FreeBSD_version) && (__FreeBSD_version < 800075) \ ++ && ((__FreeBSD_version > 800000) || (__FreeBSD_version < 702000))) ++ rc = getaddrinfo(hostname, "domain", &hints, &result); ++#else + rc = getaddrinfo(hostname, portbuf, &hints, &result); ++#endif + if (rc != 0 || result == NULL) + return 0; + assert(result->ai_addrlen > 0 && result->ai_addrlen <= (int) sizeof(struct sockaddr_storage)); + *sslen = result->ai_addrlen; + memcpy(ss, result->ai_addr, *sslen); + freeaddrinfo(result); ++#if (defined(__FreeBSD_version) && (__FreeBSD_version < 800075) \ ++ && ((__FreeBSD_version > 800000) || (__FreeBSD_version < 702000))) ++ ((struct sockaddr_in *)ss)->sin_port = htons(port); ++#endif + return 1; + } + |