diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..41dbb2e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/nmap-7.70.tar.bz2 diff --git a/EMPTY b/EMPTY deleted file mode 100644 index 0519ecb..0000000 --- a/EMPTY +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/ncat_reg_stdin.diff b/ncat_reg_stdin.diff new file mode 100644 index 0000000..e6034b2 --- /dev/null +++ b/ncat_reg_stdin.diff @@ -0,0 +1,12 @@ +diff -up nmap-6.01/ncat/ncat_main.c.noepoll nmap-6.01/ncat/ncat_main.c +--- nmap-6.01/ncat/ncat_main.c.noepoll 2013-01-04 12:50:18.670295473 +0100 ++++ nmap-6.01/ncat/ncat_main.c 2013-01-04 12:50:18.692295660 +0100 +@@ -280,6 +280,8 @@ int main(int argc, char *argv[]) + #ifdef WIN32 + windows_init(); + #endif ++ ++ nsock_set_default_engine("select"); + + while (1) { + /* handle command line arguments */ diff --git a/nmap-4.03-mktemp.patch b/nmap-4.03-mktemp.patch new file mode 100644 index 0000000..68baffe --- /dev/null +++ b/nmap-4.03-mktemp.patch @@ -0,0 +1,23 @@ +--- nmap-4.03/shtool.mktemp 2006-05-10 13:09:34.000000000 +0200 ++++ nmap-4.03/shtool 2006-05-10 13:13:58.000000000 +0200 +@@ -579,15 +579,11 @@ + else + tmpdir="/tmp" + fi +- tmpdir="$tmpdir/.shtool.$$" +- ( umask 077 +- rm -rf "$tmpdir" >/dev/null 2>&1 || true +- mkdir "$tmpdir" >/dev/null 2>&1 +- if [ $? -ne 0 ]; then +- echo "$msgprefix:Error: failed to create temporary directory \`$tmpdir'" 1>&2 +- exit 1 +- fi +- ) ++ tmpdir=`mktemp -p $tmpdir -d` ++ if [ $? -ne 0 ]; then ++ echo "$msgprefix:Error: failed to create temporary directory \`$tmpdir'" 1>&2 ++ exit 1 ++ fi + + # create (implicitly) secure temporary file + tmpfile="$tmpdir/shtool.tmp" diff --git a/nmap-4.52-noms.patch b/nmap-4.52-noms.patch new file mode 100644 index 0000000..2161715 --- /dev/null +++ b/nmap-4.52-noms.patch @@ -0,0 +1,24 @@ +diff -up nmap-4.90RC1/docs/nmap.1.noms nmap-4.90RC1/docs/nmap.1 +--- nmap-4.90RC1/docs/nmap.1.noms 2009-06-25 01:12:51.000000000 +0200 ++++ nmap-4.90RC1/docs/nmap.1 2009-07-16 09:58:22.090769947 +0200 +@@ -282,7 +282,7 @@ Nmap 4\&.90RC1 ( http://nmap\&.org ) + Usage: nmap [Scan Type(s)] [Options] {target specification} + TARGET SPECIFICATION: + Can pass hostnames, IP addresses, networks, etc\&. +- Ex: scanme\&.nmap\&.org, microsoft\&.com/24, 192\&.168\&.0\&.1; 10\&.0\&.0\-255\&.1\-254 ++ Ex: scanme\&.nmap\&.org, 192\&.168\&.0\&.1; 10\&.0\&.0\-255\&.1\-254 + \-iL : Input from list of hosts/networks + \-iR : Choose random targets + \-\-exclude : Exclude hosts/networks +diff -up nmap-4.90RC1/docs/nmap.usage.txt.noms nmap-4.90RC1/docs/nmap.usage.txt +--- nmap-4.90RC1/docs/nmap.usage.txt.noms 2009-06-25 01:12:51.000000000 +0200 ++++ nmap-4.90RC1/docs/nmap.usage.txt 2009-07-16 09:56:24.758078049 +0200 +@@ -2,7 +2,7 @@ Nmap 4.90RC1 ( http://nmap.org ) + Usage: nmap [Scan Type(s)] [Options] {target specification} + TARGET SPECIFICATION: + Can pass hostnames, IP addresses, networks, etc. +- Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 ++ Ex: scanme.nmap.org, 192.168.0.1; 10.0.0-255.1-254 + -iL : Input from list of hosts/networks + -iR : Choose random targets + --exclude : Exclude hosts/networks diff --git a/nmap-6.25-displayerror.patch b/nmap-6.25-displayerror.patch new file mode 100644 index 0000000..6b59845 --- /dev/null +++ b/nmap-6.25-displayerror.patch @@ -0,0 +1,17 @@ +diff -up nmap-6.25/zenmap/zenmapGUI/App.py.displayerror nmap-6.25/zenmap/zenmapGUI/App.py +--- nmap-6.25/zenmap/zenmapGUI/App.py.displayerror 2013-05-23 15:11:46.595569883 +0200 ++++ nmap-6.25/zenmap/zenmapGUI/App.py 2013-05-23 15:12:44.786049525 +0200 +@@ -116,7 +116,12 @@ except Exception: + # startup scripts, and for some reason the first connection (the one that + # caused the launch) is rejected. But somehow subsequent connections work + # fine! So if the import fails, try one more time. +- import gtk ++ try: ++ import gtk ++ except Exception, e: ++ print >> sys.stderr, 'Error:', str(e) ++ sys.exit(1) ++ + warnings.resetwarnings() + + from zenmapGUI.higwidgets.higdialogs import HIGAlertDialog diff --git a/nmap-ipv6_literal_proxy.patch b/nmap-ipv6_literal_proxy.patch new file mode 100644 index 0000000..8d730fc --- /dev/null +++ b/nmap-ipv6_literal_proxy.patch @@ -0,0 +1,13 @@ +diff --git a/ncat/ncat_connect.c b/ncat/ncat_connect.c +index 0968601..447aeb1 100644 +--- a/ncat/ncat_connect.c ++++ b/ncat/ncat_connect.c +@@ -353,7 +353,7 @@ static const char *sock_to_url(char *host_str, unsigned short port) + Snprintf(buf, sizeof(buf), "%s:%hu", host_str, port); + break; + case 2: +- Snprintf(buf, sizeof(buf), "[%s]:%hu]", host_str, port); ++ Snprintf(buf, sizeof(buf), "[%s]:%hu", host_str, port); + } + + return buf; diff --git a/nmap-safe_fd_functions.patch b/nmap-safe_fd_functions.patch new file mode 100644 index 0000000..4798f1f --- /dev/null +++ b/nmap-safe_fd_functions.patch @@ -0,0 +1,369 @@ +diff --git a/ncat/ncat_core.c b/ncat/ncat_core.c +index 649e478..21eca9e 100644 +--- a/ncat/ncat_core.c ++++ b/ncat/ncat_core.c +@@ -458,7 +458,7 @@ int ncat_broadcast(fd_set *fds, const fd_list_t *fdlist, const char *msg, size_t + + ret = 0; + for (i = 0; i <= fdlist->fdmax; i++) { +- if (!FD_ISSET(i, fds)) ++ if (!checked_fd_isset(i, fds)) + continue; + + fdn = get_fdinfo(fdlist, i); +diff --git a/ncat/ncat_listen.c b/ncat/ncat_listen.c +index 5c4bb33..bb779cf 100644 +--- a/ncat/ncat_listen.c ++++ b/ncat/ncat_listen.c +@@ -312,10 +312,10 @@ static int ncat_listen_stream(int proto) + unblock_socket(listen_socket[num_sockets]); + + /* setup select sets and max fd */ +- FD_SET(listen_socket[num_sockets], &master_readfds); ++ checked_fd_set(listen_socket[num_sockets], &master_readfds); + add_fd(&client_fdlist, listen_socket[num_sockets]); + +- FD_SET(listen_socket[num_sockets], &listen_fds); ++ checked_fd_set(listen_socket[num_sockets], &listen_fds); + + num_sockets++; + } +@@ -368,7 +368,7 @@ static int ncat_listen_stream(int proto) + */ + for (i = 0; i <= client_fdlist.fdmax && fds_ready > 0; i++) { + /* Loop through descriptors until there's something to read */ +- if (!FD_ISSET(i, &readfds) && !FD_ISSET(i, &writefds)) ++ if (!checked_fd_isset(i, &readfds) && !checked_fd_isset(i, &writefds)) + continue; + + if (o.debug > 1) +@@ -376,30 +376,30 @@ static int ncat_listen_stream(int proto) + + #ifdef HAVE_OPENSSL + /* Is this an ssl socket pending a handshake? If so handle it. */ +- if (o.ssl && FD_ISSET(i, &sslpending_fds)) { ++ if (o.ssl && checked_fd_isset(i, &sslpending_fds)) { + struct fdinfo *fdi = NULL; +- FD_CLR(i, &master_readfds); +- FD_CLR(i, &master_writefds); ++ checked_fd_clr(i, &master_readfds); ++ checked_fd_clr(i, &master_writefds); + fdi = get_fdinfo(&client_fdlist, i); + ncat_assert(fdi != NULL); + switch (ssl_handshake(fdi)) { + case NCAT_SSL_HANDSHAKE_COMPLETED: + /* Clear from sslpending_fds once ssl is established */ +- FD_CLR(i, &sslpending_fds); ++ checked_fd_clr(i, &sslpending_fds); + post_handle_connection(*fdi); + break; + case NCAT_SSL_HANDSHAKE_PENDING_WRITE: +- FD_SET(i, &master_writefds); ++ checked_fd_set(i, &master_writefds); + break; + case NCAT_SSL_HANDSHAKE_PENDING_READ: +- FD_SET(i, &master_readfds); ++ checked_fd_set(i, &master_readfds); + break; + case NCAT_SSL_HANDSHAKE_FAILED: + default: + SSL_free(fdi->ssl); + Close(fdi->fd); +- FD_CLR(i, &sslpending_fds); +- FD_CLR(i, &master_readfds); ++ checked_fd_clr(i, &sslpending_fds); ++ checked_fd_clr(i, &master_readfds); + rm_fd(&client_fdlist, i); + /* Are we in single listening mode(without -k)? If so + then we should quit also. */ +@@ -410,7 +410,7 @@ static int ncat_listen_stream(int proto) + } + } else + #endif +- if (FD_ISSET(i, &listen_fds)) { ++ if (checked_fd_isset(i, &listen_fds)) { + /* we have a new connection request */ + handle_connection(i); + } else if (i == STDIN_FILENO) { +@@ -490,7 +490,7 @@ static void handle_connection(int socket_accept) + int i; + for (i = 0; i < num_listenaddrs; i++) { + Close(listen_socket[i]); +- FD_CLR(listen_socket[i], &master_readfds); ++ checked_fd_clr(listen_socket[i], &master_readfds); + rm_fd(&client_fdlist, listen_socket[i]); + } + } +@@ -528,9 +528,9 @@ static void handle_connection(int socket_accept) + #ifdef HAVE_OPENSSL + if (o.ssl) { + /* Add the socket to the necessary descriptor lists. */ +- FD_SET(s.fd, &sslpending_fds); +- FD_SET(s.fd, &master_readfds); +- FD_SET(s.fd, &master_writefds); ++ checked_fd_set(s.fd, &sslpending_fds); ++ checked_fd_set(s.fd, &master_readfds); ++ checked_fd_set(s.fd, &master_writefds); + /* Add it to our list of fds too for maintaining maxfd. */ + if (add_fdinfo(&client_fdlist, &s) < 0) + bye("add_fdinfo() failed."); +@@ -563,10 +563,10 @@ static void post_handle_connection(struct fdinfo sinfo) + } else { + /* Now that a client is connected, pay attention to stdin. */ + if (!stdin_eof) +- FD_SET(STDIN_FILENO, &master_readfds); ++ checked_fd_set(STDIN_FILENO, &master_readfds); + if (!o.sendonly) { + /* add to our lists */ +- FD_SET(sinfo.fd, &master_readfds); ++ checked_fd_set(sinfo.fd, &master_readfds); + /* add it to our list of fds for maintaining maxfd */ + #ifdef HAVE_OPENSSL + /* Don't add it twice (see handle_connection above) */ +@@ -578,7 +578,7 @@ static void post_handle_connection(struct fdinfo sinfo) + } + #endif + } +- FD_SET(sinfo.fd, &master_broadcastfds); ++ checked_fd_set(sinfo.fd, &master_broadcastfds); + if (add_fdinfo(&broadcast_fdlist, &sinfo) < 0) + bye("add_fdinfo() failed."); + +@@ -603,7 +603,7 @@ int read_stdin(void) + logdebug("EOF on stdin\n"); + + /* Don't close the file because that allows a socket to be fd 0. */ +- FD_CLR(STDIN_FILENO, &master_readfds); ++ checked_fd_clr(STDIN_FILENO, &master_readfds); + /* Buf mark that we've seen EOF so it doesn't get re-added to the + select list. */ + stdin_eof = 1; +@@ -656,14 +656,14 @@ int read_socket(int recv_fd) + } + #endif + close(recv_fd); +- FD_CLR(recv_fd, &master_readfds); ++ checked_fd_clr(recv_fd, &master_readfds); + rm_fd(&client_fdlist, recv_fd); +- FD_CLR(recv_fd, &master_broadcastfds); ++ checked_fd_clr(recv_fd, &master_broadcastfds); + rm_fd(&broadcast_fdlist, recv_fd); + + conn_inc--; + if (get_conn_count() == 0) +- FD_CLR(STDIN_FILENO, &master_readfds); ++ checked_fd_clr(STDIN_FILENO, &master_readfds); + + return n; + } +@@ -753,7 +753,7 @@ static int ncat_listen_dgram(int proto) + logdebug("do_listen(\"%s\"): %s\n", inet_ntop_ez(&listenaddrs[i].storage, sizeof(listenaddrs[i].storage)), socket_strerror(socket_errno())); + continue; + } +- FD_SET(sockfd[num_sockets].fd, &listen_fds); ++ checked_fd_set(sockfd[num_sockets].fd, &listen_fds); + add_fd(&listen_fdlist, sockfd[num_sockets].fd); + sockfd[num_sockets].addr = listenaddrs[i]; + num_sockets++; +@@ -773,14 +773,14 @@ static int ncat_listen_dgram(int proto) + + if (fdn != -1) { + /*remove socket descriptor which is burnt */ +- FD_CLR(sockfd[fdn].fd, &listen_fds); ++ checked_fd_clr(sockfd[fdn].fd, &listen_fds); + rm_fd(&listen_fdlist, sockfd[fdn].fd); + + /* Rebuild the udp socket which got burnt */ + sockfd[fdn].fd = do_listen(SOCK_DGRAM, proto, &sockfd[fdn].addr); + if (sockfd[fdn].fd == -1) + bye("do_listen: %s", socket_strerror(socket_errno())); +- FD_SET(sockfd[fdn].fd, &listen_fds); ++ checked_fd_set(sockfd[fdn].fd, &listen_fds); + add_fd(&listen_fdlist, sockfd[fdn].fd); + + } +@@ -818,7 +818,7 @@ static int ncat_listen_dgram(int proto) + */ + for (i = 0; i <= listen_fdlist.fdmax && fds_ready > 0; i++) { + /* Loop through descriptors until there is something ready */ +- if (!FD_ISSET(i, &fds)) ++ if (!checked_fd_isset(i, &fds)) + continue; + + /* Check each listening socket */ +@@ -905,8 +905,8 @@ static int ncat_listen_dgram(int proto) + continue; + } + +- FD_SET(socket_n, &read_fds); +- FD_SET(STDIN_FILENO, &read_fds); ++ checked_fd_set(socket_n, &read_fds); ++ checked_fd_set(STDIN_FILENO, &read_fds); + fdmax = socket_n; + + /* stdin -> socket and socket -> stdout */ +@@ -926,7 +926,7 @@ static int ncat_listen_dgram(int proto) + if (fds_ready == 0) + bye("Idle timeout expired (%d ms).", o.idletimeout); + +- if (FD_ISSET(STDIN_FILENO, &fds)) { ++ if (checked_fd_isset(STDIN_FILENO, &fds)) { + nbytes = Read(STDIN_FILENO, buf, sizeof(buf)); + if (nbytes <= 0) { + if (nbytes < 0 && o.verbose) { +@@ -934,7 +934,7 @@ static int ncat_listen_dgram(int proto) + } else if (nbytes == 0 && o.debug) { + logdebug("EOF on stdin\n"); + } +- FD_CLR(STDIN_FILENO, &read_fds); ++ checked_fd_clr(STDIN_FILENO, &read_fds); + if (nbytes < 0) + return 1; + continue; +@@ -958,7 +958,7 @@ static int ncat_listen_dgram(int proto) + tempbuf = NULL; + } + } +- if (FD_ISSET(socket_n, &fds)) { ++ if (checked_fd_isset(socket_n, &fds)) { + nbytes = recv(socket_n, buf, sizeof(buf), 0); + if (nbytes < 0) { + loguser("%s.\n", socket_strerror(socket_errno())); +@@ -1034,7 +1034,7 @@ static void read_and_broadcast(int recv_fd) + + /* Don't close the file because that allows a socket to be + fd 0. */ +- FD_CLR(recv_fd, &master_readfds); ++ checked_fd_clr(recv_fd, &master_readfds); + /* But mark that we've seen EOF so it doesn't get re-added to + the select list. */ + stdin_eof = 1; +@@ -1061,14 +1061,14 @@ static void read_and_broadcast(int recv_fd) + } + #endif + close(recv_fd); +- FD_CLR(recv_fd, &master_readfds); ++ checked_fd_clr(recv_fd, &master_readfds); + rm_fd(&client_fdlist, recv_fd); +- FD_CLR(recv_fd, &master_broadcastfds); ++ checked_fd_clr(recv_fd, &master_broadcastfds); + rm_fd(&broadcast_fdlist, recv_fd); + + conn_inc--; + if (conn_inc == 0) +- FD_CLR(STDIN_FILENO, &master_readfds); ++ checked_fd_clr(STDIN_FILENO, &master_readfds); + + if (o.chat) + chat_announce_disconnect(recv_fd); +@@ -1099,7 +1099,7 @@ static void read_and_broadcast(int recv_fd) + + /* Send to everyone except the one who sent this message. */ + broadcastfds = master_broadcastfds; +- FD_CLR(recv_fd, &broadcastfds); ++ checked_fd_clr(recv_fd, &broadcastfds); + ncat_broadcast(&broadcastfds, &broadcast_fdlist, outbuf, n); + + free(chatbuf); +@@ -1114,7 +1114,7 @@ static void shutdown_sockets(int how) + int i; + + for (i = 0; i <= broadcast_fdlist.fdmax; i++) { +- if (!FD_ISSET(i, &master_broadcastfds)) ++ if (!checked_fd_isset(i, &master_broadcastfds)) + continue; + + fdn = get_fdinfo(&broadcast_fdlist, i); +@@ -1139,7 +1139,7 @@ static int chat_announce_connect(int fd, const union sockaddr_u *su) + union sockaddr_u su; + socklen_t len = sizeof(su.storage); + +- if (i == fd || !FD_ISSET(i, &master_broadcastfds)) ++ if (i == fd || !checked_fd_isset(i, &master_broadcastfds)) + continue; + + if (getpeername(i, &su.sockaddr, &len) == -1) +diff --git a/ncat/ncat_posix.c b/ncat/ncat_posix.c +index 3b01936..59e801e 100644 +--- a/ncat/ncat_posix.c ++++ b/ncat/ncat_posix.c +@@ -273,8 +273,8 @@ void netexec(struct fdinfo *info, char *cmdexec) + int r, n_r; + + FD_ZERO(&fds); +- FD_SET(info->fd, &fds); +- FD_SET(child_stdout[0], &fds); ++ checked_fd_set(info->fd, &fds); ++ checked_fd_set(child_stdout[0], &fds); + + r = fselect(maxfd + 1, &fds, NULL, NULL, NULL); + if (r == -1) { +@@ -283,7 +283,7 @@ void netexec(struct fdinfo *info, char *cmdexec) + else + break; + } +- if (FD_ISSET(info->fd, &fds)) { ++ if (checked_fd_isset(info->fd, &fds)) { + int pending; + + do { +@@ -293,7 +293,7 @@ void netexec(struct fdinfo *info, char *cmdexec) + write_loop(child_stdin[1], buf, n_r); + } while (pending); + } +- if (FD_ISSET(child_stdout[0], &fds)) { ++ if (checked_fd_isset(child_stdout[0], &fds)) { + char *crlf = NULL, *wbuf; + n_r = read(child_stdout[0], buf, sizeof(buf)); + if (n_r <= 0) +diff --git a/ncat/ncat_proxy.c b/ncat/ncat_proxy.c +index d7227fc..e060e3e 100644 +--- a/ncat/ncat_proxy.c ++++ b/ncat/ncat_proxy.c +@@ -234,7 +234,7 @@ int ncat_http_server(void) + unblock_socket(listen_socket[num_sockets]); + + /* setup select sets and max fd */ +- FD_SET(listen_socket[num_sockets], &listen_fds); ++ checked_fd_set(listen_socket[num_sockets], &listen_fds); + add_fd(&listen_fdlist, listen_socket[num_sockets]); + + num_sockets++; +@@ -267,7 +267,7 @@ int ncat_http_server(void) + + for (i = 0; i <= listen_fdlist.fdmax && fds_ready > 0; i++) { + /* Loop through descriptors until there is something ready */ +- if (!FD_ISSET(i, &read_fds)) ++ if (!checked_fd_isset(i, &read_fds)) + continue; + + /* Check each listening socket */ +@@ -525,8 +525,8 @@ static int handle_connect(struct socket_buffer *client_sock, + + maxfd = client_sock->fdn.fd < s ? s : client_sock->fdn.fd; + FD_ZERO(&m); +- FD_SET(client_sock->fdn.fd, &m); +- FD_SET(s, &m); ++ checked_fd_set(client_sock->fdn.fd, &m); ++ checked_fd_set(s, &m); + + errno = 0; + +@@ -540,7 +540,7 @@ static int handle_connect(struct socket_buffer *client_sock, + + zmem(buf, sizeof(buf)); + +- if (FD_ISSET(client_sock->fdn.fd, &r)) { ++ if (checked_fd_isset(client_sock->fdn.fd, &r)) { + do { + do { + len = fdinfo_recv(&client_sock->fdn, buf, sizeof(buf)); +@@ -556,7 +556,7 @@ static int handle_connect(struct socket_buffer *client_sock, + } while (fdinfo_pending(&client_sock->fdn)); + } + +- if (FD_ISSET(s, &r)) { ++ if (checked_fd_isset(s, &r)) { + do { + len = recv(s, buf, sizeof(buf), 0); + } while (len == -1 && socket_errno() == EINTR); diff --git a/nmap.spec b/nmap.spec new file mode 100644 index 0000000..1c3386a --- /dev/null +++ b/nmap.spec @@ -0,0 +1,841 @@ +#Todo: stop using local copy of libdnet, once system distributed version +#supports sctp (grep sctp /usr/include/dnet.h) + +%global _hardened_build 1 +%if 0%{?fedora} && 0%{?fedora} <= 28 +%global with_frontend 1 +%else +%global with_frontend 0 +%endif + +Summary: Network exploration tool and security scanner +Name: nmap +Epoch: 2 +Version: 7.70 +#global prerelease TEST5 +Release: 8%{?dist} +# Uses combination of licenses based on GPL license, but with extra modification +# so it got its own license tag rhbz#1055861 +License: Nmap +Group: Applications/System +Requires: %{name}-ncat = %{epoch}:%{version}-%{release} +Source0: http://nmap.org/dist/%{name}-%{version}%{?prerelease}.tar.bz2 +%if %{with_frontend} +Source1: zenmap.desktop +Source2: zenmap-root.pamd +Source3: zenmap.appdata.xml +%endif + +#prevent possible race condition for shtool, rhbz#158996 +Patch1: nmap-4.03-mktemp.patch + +#don't suggest to scan microsoft +Patch2: nmap-4.52-noms.patch + +# upstream provided patch for rhbz#845005, not yet in upstream repository +Patch5: ncat_reg_stdin.diff +Patch6: nmap-6.25-displayerror.patch +Patch7: nmap-safe_fd_functions.patch + +# https://github.com/nmap/nmap/pull/2247 +Patch8: nmap_resolve_config.patch + +# https://bugzilla.redhat.com/show_bug.cgi?id=2120294 +Patch9: nmap-ipv6_literal_proxy.patch + +URL: http://nmap.org/ +BuildRequires: gcc-c++ +BuildRequires: openssl-devel, gtk2-devel, lua-devel, libpcap-devel, pcre-devel +BuildRequires: desktop-file-utils, dos2unix +BuildRequires: libtool, automake, autoconf, gettext-devel + +%if ! %{with_frontend} +Obsoletes: nmap-frontend +Obsoletes: nmap-ndiff +%endif + + + +%define pixmap_srcdir zenmap/share/pixmaps + +%description +Nmap is a utility for network exploration or security auditing. It supports +ping scanning (determine which hosts are up), many port scanning techniques +(determine what services the hosts are offering), and TCP/IP fingerprinting +(remote host operating system identification). Nmap also offers flexible target +and port specification, decoy scanning, determination of TCP sequence +predictability characteristics, reverse-identd scanning, and more. In addition +to the classic command-line nmap executable, the Nmap suite includes a flexible +data transfer, redirection, and debugging tool (netcat utility ncat), a utility +for comparing scan results (ndiff), and a packet generation and response +analysis tool (nping). + +%if %{with_frontend} +%package frontend +Summary: The GTK+ front end for nmap +Group: Applications/System +Requires: nmap = %{epoch}:%{version} gtk2 python2 >= 2.5 pygtk2 usermode +Requires: nmap-ndiff = %{epoch}:%{version} +BuildRequires: python2-devel pygtk2-devel libpng-devel +BuildArch: noarch + +%description frontend +This package includes zenmap, a GTK+ front end for nmap. The nmap package must +be installed before installing nmap front end. + +%package ndiff +Summary: Ndiff is a tool to aid in the comparison of Nmap scans +Group: Applications/System +BuildRequires: python2 >= 2.5 +Requires: nmap = %{epoch}:%{version} +BuildArch: noarch + +%description ndiff +%{summary} +%endif + +%package ncat +Group: Applications/System +Summary: Nmap's Netcat replacement +Obsoletes: nc < 1.109.20120711-2 +Obsoletes: nc6 < 1.00-22 +Provides: nc nc6 + +%description ncat +Ncat is a feature packed networking utility which will read and +write data across a network from the command line. It uses both +TCP and UDP for communication and is designed to be a reliable +back-end tool to instantly provide network connectivity to other +applications and users. Ncat will not only work with IPv4 and IPv6 +but provides the user with a virtually limitless number of potential +uses. + +%if 0%{?rhel} && 0%{?rhel} >= 0 +Requires(post): %{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives +%endif + + +%prep +%autosetup -p1 -n %{name}-%{version}%{?prerelease} + +#be sure we're not using tarballed copies of some libraries +#rm -rf liblua libpcap libpcre macosx mswin32 ###TODO### + +rm -rf libpcap libpcre macosx mswin32 libssh2 libz + +# for aarch64 support, not needed with autotools 2.69+ +for f in acinclude.m4 configure.ac nping/configure.ac +do + sed -i -e 's/\(AC_DEFINE([^,)]*\))/\1, 1, [Description])/' -e 's/\(AC_DEFINE([^,]*,[^,)]*\))/\1, [Description])/' $f +done +autoreconf -I . -fiv --no-recursive +cd nping; autoreconf -I .. -fiv --no-recursive; cd .. + +%if %{with_frontend} +#fix locale dir +mv zenmap/share/zenmap/locale zenmap/share +sed -i -e "s|^locale_dir =.*$|locale_dir = os.path.join('share','locale')|" \ + -e 's|join(self.install_data, data_dir)|join(self.install_data, "share")|' zenmap/setup.py +sed -i 's|^LOCALE_DIR = .*|LOCALE_DIR = join(prefix, "share", "locale")|' zenmap/zenmapCore/Paths.py +%endif + +%build +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +### TODO ## configure --with-libpcap=/usr ###TODO### +### TODO if 0%{%fedora} --with-libsssh +%configure --with-libpcap=yes --with-liblua=included \ +%if ! %{with_frontend} + --without-zenmap \ + --without-ndiff \ +%endif + --enable-dbus --without-libssh2 +make %{?_smp_mflags} + +#fix man page (rhbz#813734) +sed -i 's/-md/-mf/' nping/docs/nping.1 + +%install +#prevent stripping - replace strip command with 'true' +make DESTDIR=%{buildroot} STRIP=true install + +#do not include certificate bundle (#734389) +rm -f %{buildroot}%{_datadir}/ncat/ca-bundle.crt +rmdir %{buildroot}%{_datadir}/ncat + +%if 0%{?fedora} && 0%{?fedora} >= 0 +# we provide 'nc' replacement +# Do not create symlinks on manpages on rhel because of +# rhbz#1578776 +ln -s ncat.1.gz %{buildroot}/%{_mandir}/man1/nc.1.gz +ln -s ncat %{buildroot}/%{_bindir}/nc +%endif + +%if %{with_frontend} +rm -f %{buildroot}%{_bindir}/uninstall_zenmap +#do not include uninstall script +rm -f %{buildroot}%{_bindir}/uninstall_ndiff + +rm -f %{buildroot}%{_datadir}/applications/zenmap*.desktop +mkdir -p %{buildroot}%{_sysconfdir}/pam.d +install -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/pam.d/zenmap-root + +cp docs/zenmap.1 %{buildroot}%{_mandir}/man1/ +gzip %{buildroot}%{_mandir}/man1/* || : +pushd %{buildroot}%{_mandir}/man1 +ln -s zenmap.1.gz nmapfe.1.gz +ln -s zenmap.1.gz xnmap.1.gz +popd + +desktop-file-install --vendor nmap \ + --dir %{buildroot}%{_datadir}/applications \ + --add-category X-Red-Hat-Base \ + %{SOURCE1}; + +mkdir -p %{buildroot}/%{_datadir}/metainfo/ +install -p -m 0644 %SOURCE3 %{buildroot}/%{_datadir}/metainfo/ + +#for .desktop and app icon +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps +ln -s ../../../../zenmap/pixmaps/zenmap.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps + +# fix end-of-line +pushd %{buildroot} +for fe in ./%{python_sitelib}/zenmapCore/Paths.py +do + dos2unix <$fe >$fe.new + touch -r $fe $fe.new + mv -f $fe.new $fe +done +popd +%find_lang zenmap +%endif + +%find_lang nmap --with-man +touch %{buildroot}%{_bindir}/nc + +%post ncat +%{_sbindir}/update-alternatives --install %{_bindir}/nc \ + %{name} %{_bindir}/ncat 10 \ + --slave %{_mandir}/man1/nc.1.gz ncman %{_mandir}/man1/ncat.1.gz + +## ln -s ncat.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/nc.1.gz + +%postun ncat +if [ $1 -eq 0 ] ; then + %{_sbindir}/update-alternatives --remove %{name} %{_bindir}/ncat +fi + + +%files -f nmap.lang +%doc COPYING* +%doc docs/README +%doc docs/nmap.usage.txt +%{_bindir}/nmap +%{_bindir}/nping +%{_mandir}/man1/nmap.1.gz +%{_mandir}/man1/nping.1.gz +%{_datadir}/nmap + +%files ncat +%doc COPYING ncat/docs/AUTHORS ncat/docs/README ncat/docs/THANKS ncat/docs/examples +%if 0%{?fedora} && 0%{?fedora} >= 0 +%{_bindir}/nc +%{_mandir}/man1/nc.1.gz +%else +%ghost %{_bindir}/nc +%ghost %{_mandir}/man1/nc.1.gz +%endif +%{_bindir}/ncat +%{_mandir}/man1/ncat.1.gz + +%if %{with_frontend} +%files ndiff +%{_bindir}/ndiff +%{python_sitelib}/ndiff.py +%{python_sitelib}/ndiff.py? +%{_mandir}/man1/ndiff.1.gz + +%files frontend -f zenmap.lang +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/pam.d/zenmap-root +%{_bindir}/zenmap +%{_bindir}/nmapfe +%{_bindir}/xnmap +%{python_sitelib}/radialnet +%{python_sitelib}/zenmap* +%{_datadir}/applications/nmap-zenmap.desktop +%{_datadir}/icons/hicolor/256x256/apps/* +%{_datadir}/zenmap +%{_mandir}/man1/zenmap.1.gz +%{_mandir}/man1/nmapfe.1.gz +%{_mandir}/man1/xnmap.1.gz +%{_datadir}/metainfo/zenmap.appdata.xml +%endif + +%changelog +* Tue Aug 23 2022 Martin Osvald - 2:7.70-8 +- Resolves: #2120294 - wrong connect format + +* Wed May 04 2022 Martin Osvald - 2:7.70-7 +- Do not listen on ipv6 if it's disabled (#1899824) + +* Wed Jul 21 2021 Pavel Zhukov - 2:7.70-6 +- Use safe variants of FD_ functions (#1914733) + +* Thu Mar 28 2019 Pavel Zhukov - 2:7.70-5 +- Resolves: #1653119 - Manage nc symlink using alternatives + +* Mon Sep 17 2018 Pavel Zhukov - 2:7.70-4 +- Resolves: #1627053 - Obsolete python2 packages + +* Mon Jun 4 2018 Pavel Zhukov - 2:7.70-3 +- Disable build with libssh in RHEL (#1584704) + +* Thu Apr 19 2018 Pavel Zhukov - 2:7.70-2 +- Do not build zenmap and ndiff because of python2 deprecation + +* Wed Mar 21 2018 Pavel Zhukov - 2:7.70-1 +- New version 7.70 (#1558770) + +* Tue Feb 27 2018 Pavel Zhukov - 2:7.60-14 +- Add appdata file (#1476506) + +* Mon Feb 19 2018 Pavel Zhukov - 2:7.60-12 +- add gcc-c++ BR + +* Thu Feb 08 2018 Fedora Release Engineering - 2:7.60-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Jan 22 2018 Pavel Zhukov - 2:7.60-10 +- Print source address in UDP mode + +* Thu Jan 18 2018 Igor Gnatenko - 2:7.60-9 +- Remove obsolete scriptlets + +* Mon Aug 21 2017 Pavel Zhukov - 2:7.60-8 +- Fix memory leaks on error + +* Thu Aug 3 2017 Pavel Zhukov - 2:7.60-7 +- Use upstream patch + +* Thu Aug 3 2017 Pavel Zhukov - 2:7.60-6 +- Fix library version for non-included libraries + +* Thu Aug 3 2017 Pavel Zhukov - 2:7.60-4 +- Keep nmap specific libssh and libz headers +- Drop unused libssh2 patch + +* Thu Aug 3 2017 Pavel Zhukov - 2:7.60-4 +- Delete bundled libssh2 +- Delete bundled zlib + +* Wed Aug 02 2017 Pavel Zhukov - 2:7.60-1 +- New release 7.60 (#1477387) + +* Wed Jul 26 2017 Fedora Release Engineering - 2:7.50-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 21 2017 Pavel Zhukov - 2:7.50-9 +- Don't ship ndiff in nmap package + +* Wed Jul 19 2017 Pavel Zhukov - 2:7.50-8 +- change ndiff arch to noarch +- Move nmap to Requires (was in BR) + +* Tue Jul 18 2017 Pavel Zhukov - 2:7.50-6 +- Add missed py[co] files + +* Tue Jul 18 2017 Pavel Zhukov - 2:7.50-5 +- Move ndiff to subpackage (#1471999) +- Specify python version + +* Fri Jun 30 2017 Pavel Zhukov - 2:7.50-3 +- Add provides for nc6 (#1348348) +- Fix rpmlint errors + +* Wed Jun 21 2017 Pavel Zhukov - 2:7.50-1 +- New release (7.50) + +* Fri Feb 10 2017 Fedora Release Engineering - 2:7.40-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jan 03 2017 Michal Hlavinka - 2:7.40-1 +- nmap updated to 7.40 + +* Mon Oct 24 2016 Michal Hlavinka - 2:7.31-1 +- nmap updated to 7.31 + +* Mon Oct 03 2016 Michal Hlavinka - 2:7.30-1 +- nmap updated to 7.30 + +* Tue Jul 19 2016 Fedora Release Engineering - 2:7.12-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Mar 31 2016 Michal Hlavinka - 2:7.12-1 +- nmap updated to 7.12 + +* Wed Mar 23 2016 Michal Hlavinka - 2:7.11-1 +- nmap updated to 7.11 + +* Fri Mar 18 2016 Michal Hlavinka - 2:7.10-1 +- nmap updated to 7.10 + +* Thu Feb 04 2016 Fedora Release Engineering - 2:7.01-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Dec 11 2015 Michal Hlavinka - 2:7.01-1 +- nmap updated to 7.01 + +* Tue Sep 01 2015 Michal Hlavinka - 2:6.47-5 +- fix FTBFS + +* Mon Aug 31 2015 Michal Hlavinka - 2:6.47-4 +- ncat should try to connect to all resolved addresses, not only the first one (#978964) + +* Wed Jun 17 2015 Fedora Release Engineering - 2:6.47-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Dec 10 2014 Michal Hlavinka - 2:6.47-2 +- do not own icons/hicolor//apps directory (#1171813) + +* Mon Aug 25 2014 Michal Hlavinka - 2:6.47-1 +- nmap updated to 6.47 + +* Sun Aug 17 2014 Fedora Release Engineering - 2:6.46-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 2:6.46-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Apr 22 2014 Michal Hlavinka - 2:6.46-1 +- nmap updated to 6.46 + +* Mon Apr 14 2014 Michal Hlavinka - 2:6.45-1 +- nmap updated to 6.45 + +* Wed Apr 09 2014 Michal Hlavinka - 2:6.40-6 +- fix unexpected crash when too much paralelism is used (#1057912) + +* Wed Apr 09 2014 Michal Hlavinka - 2:6.40-5 +- update license tag (#1055861) + +* Tue Mar 04 2014 Michal Hlavinka - 2:6.40-4 +- use _hardened_build + +* Thu Oct 17 2013 Michal Hlavinka - 2:6.40-3 +- ncat should support UNIX sockets correctly, drop wrapper with socat + +* Thu Aug 08 2013 Michal Hlavinka - 2:6.40-2 +- do not print debug messages during normal use (#994376) + +* Tue Jul 30 2013 Michal Hlavinka - 2:6.40-1 +- nmap updated to 6.40 + +* Mon Jul 22 2013 Michal Hlavinka - 2:6.25-7 +- bundled lua no longer required + +* Mon Jun 24 2013 Michal Hlavinka - 2:6.25-6.20130624svn +- use svn snapshot that contains all necessary UDP patches + +* Fri May 24 2013 Michal Hlavinka - 2:6.25-5 +- fix man page typo + +* Thu May 23 2013 Michal Hlavinka - 2:6.25-4 +- zenamp: fix icon symlink (#957381) + +* Thu May 23 2013 Michal Hlavinka - 2:6.25-3 +- zenmap: do not traceback when there si no display, just exit nicely (#958240) + +* Thu Mar 28 2013 Michal Hlavinka - 2:6.25-2 +- fix aarch64 support (#926241) + +* Fri Mar 08 2013 Michal Hlavinka - 2:6.25-1 +- nmap updated to 6.25 + +* Thu Feb 14 2013 Fedora Release Engineering - 2:6.01-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jan 04 2013 Michal Hlavinka - 2:6.01-10 +- use select as default nsock engine + +* Thu Nov 29 2012 Michal Hlavinka - 2:6.01-9 +- do not use strict aliasing + +* Thu Nov 29 2012 Michal Hlavinka - 2:6.01-8 +- call shutdown also in listen mode + +* Tue Oct 02 2012 Petr Šabata - 2:6.01-7 +- Move the socat dependency to the ncat subpackage (#858733) + +* Wed Sep 19 2012 Michal Hlavinka - 2:6.01-6 +- shutdown socket on EOF (#845075) + +* Mon Aug 13 2012 Michal Hlavinka - 2:6.01-5 +- ncat did not work when file was used as input (#845005) + +* Tue Jul 24 2012 Michal Hlavinka - 2:6.01-4 +- add nc wrapper with socat as a fallback for unix sockets + +* Fri Jul 20 2012 Fedora Release Engineering - 2:6.01-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jul 18 2012 Michal Hlavinka - 2:6.01-2 +- provide ncat in extra package as replacement for nc + +* Mon Jun 18 2012 Michal Hlavinka - 2:6.01-1 +- nmap updated to 6.01 + +* Tue Jun 05 2012 Michal Hlavinka - 2:6.00-2 +- prevent stripping binaries + +* Tue Jun 05 2012 Michal Hlavinka - 2:6.00-1 +- updated to 6.00 + +* Wed Mar 14 2012 Michal Hlavinka - 2:5.61-0.1.TEST5 +- updated to 5.61TEST5 + +* Fri Feb 10 2012 Petr Pisar - 2:5.51-5 +- Rebuild against PCRE 8.30 + +* Fri Feb 10 2012 Petr Pisar - 2:5.51-4 +- Rebuild against PCRE 8.30 + +* Fri Jan 13 2012 Fedora Release Engineering - 2:5.51-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Dec 08 2011 Michal Hlavinka - 2:5.51-2 +- do not use bundled certificates, use only system ones (#734389) + +* Mon Feb 14 2011 Michal Hlavinka - 2:5.51-1 +- nmap updated to 5.51 + +* Tue Feb 08 2011 Fedora Release Engineering - 2:5.50-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Feb 07 2011 Michal Hlavinka - 2:5.50-1 +- updated to 5.50 + +* Tue Oct 05 2010 Michal Hlavinka - 2:5.21-10 +- add workaround for zenmap crash (#637403) + +* Wed Sep 29 2010 jkeating - 2:5.21-9 +- Rebuilt for gcc bug 634757 + +* Fri Sep 17 2010 Michal Hlavinka - 2:5.21-8 +- fix location of ja man page (#632104) + +* Thu Aug 19 2010 Michal Hlavinka - 2:5.21-7 +- update icon cache only after gui install + +* Wed Aug 11 2010 Michal Hlavinka - 2:5.21-6 +- update icon cache after package install + +* Wed Jul 21 2010 David Malcolm - 2:5.21-5 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Mon Jun 21 2010 Michal Hlavinka - 2:5.21-4 +- build -frontend as noarch + +* Fri Jun 18 2010 Michal Hlavinka - 2:5.21-3 +- fix multilib issue + +* Fri Apr 30 2010 Ville Skyttä - 2:5.21-2 +- Mark localized man pages with %%lang. + +* Mon Feb 01 2010 Michal Hlavinka - 2:5.21-1 +- updated to 5.21 + +* Tue Jan 12 2010 Michal Hlavinka - 2:5.00-6 +- use sqlite3 (instead of sqlite2) + +* Tue Dec 01 2009 Michal Hlavinka - 2:5.00-5 +- spec cleanup + +* Mon Nov 02 2009 Michal Hlavinka - 2:5.00-4 +- spec cleanup + +* Fri Aug 21 2009 Tomas Mraz - 2:5.00-3 +- rebuilt with new openssl + +* Sat Jul 25 2009 Fedora Release Engineering - 2:5.00-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jul 17 2009 Michal Hlavinka - 2:5.0-1 +- updated to 5.0 + +* Wed Jul 15 2009 Michal Hlavinka - 2:4.90-0.RC1 +- updated to 4.90RC1 + +* Thu Jun 18 2009 Michal Hlavinka - 2:4.85-0.BETA10 +- updated to 4.85beta10 + +* Wed Feb 25 2009 Fedora Release Engineering - 2:4.76-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Jan 17 2009 Tomas Mraz - 2:4.76-3 +- rebuild with new openssl + +* Mon Dec 15 2008 Michal Hlavinka - 2:4.77-2 +- bump release for rebuild + +* Mon Dec 15 2008 Michal Hlavinka - 2:4.76-1 +- new upstream version 4.76 +- use consolehelper for root auth + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 2:4.68-4 +- Rebuild for Python 2.6 + +* Mon Aug 11 2008 Tom "spot" Callaway - 2:4.68-3 +- add missing BuildRequires to use system libs rather than local copies +- really fix license tag + +* Mon Aug 11 2008 Tom "spot" Callaway - 2:4.68-2 +- fix license tag + +* Thu Jul 24 2008 Tomas Smetana - 2:4.68-1 +- new upstream version + +* Mon May 12 2008 Tomas Smetana - 2:4.62-1 +- new upstream version + +* Mon Feb 04 2008 Tomas Smetana - 2:4.53-1 +- new upstream version + +* Mon Jan 07 2008 Tomas Smetana - 2:4.52-2 +- bump release because of build error + +* Mon Jan 07 2008 Tomas Smetana - 2:4.52-1 +- new upstream version + +* Wed Dec 05 2007 Tomas Smetana - 2:4.20-6.1 +- rebuild + +* Wed Aug 22 2007 Harald Hoyer - 2:4.20-6 +- changed license tag + +* Fri Mar 23 2007 Harald Hoyer - 2:4.20-5 +- fixed changelog versions + +* Thu Mar 15 2007 Karsten Hopp 2:4.20-4 +- rebuild with current gtk2 to add png support (#232013) + +* Tue Feb 27 2007 Harald Hoyer - 2:4.20-3 +- specfile cleanup +- fixed Florian La Roche's patch + +* Tue Jan 30 2007 Florian La Roche - 2:4.20-2 +- do not strip away debuginfo + +* Tue Jan 09 2007 Florian La Roche - 2:4.20-1 +- version 4.20 + +* Wed Jul 12 2006 Jesse Keating - 2:4.11-1.1 +- rebuild + +* Tue Jun 27 2006 Harald Hoyer - 2:4.11-1 +- version 4.11 + +* Wed May 17 2006 Harald Hoyer 4.03-2 +- added more build requirements (bug #191932) + +* Wed May 10 2006 Karsten Hopp 4.03-1 +- update to 4.03, this fixes #184286 +- remove duplicate menu entry in 'Internet' (#183056) +- fix possible tmpdir race condition during build (#158996) + +* Fri Feb 10 2006 Jesse Keating - 2:4.00-1.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 2:4.00-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Thu Feb 02 2006 Harald Hoyer - 2:4.00-1 +- version 4.00 + +* Mon Dec 19 2005 Harald Hoyer - 2:3.95-1 +- version 3.95 + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Fri Nov 11 2005 Harald Hoyer - 2:3.93-3 +- fixed wrong __attribute__ test + +* Thu Nov 10 2005 Tomas Mraz - 2:3.93-2 +- rebuilt against new openssl + +* Tue Sep 13 2005 Harald Hoyer - 2:3.93-1 +- version 3.93 + +* Wed Aug 03 2005 Harald Hoyer - 2:3.81-4 +- removed references how to scan microsoft.com (bz #164962) +- finally got rid of gtk+-devel dependency + +* Thu Apr 21 2005 Harald Hoyer - 2:3.81-3 +- removed gtk+ requirement + +* Thu Apr 21 2005 Harald Hoyer - 2:3.81-2 +- fixed desktop file and added icons (bug #149157) + +* Wed Mar 02 2005 Harald Hoyer - 2:3.81-1 +- version 3.81 + +* Wed Feb 02 2005 Harald Hoyer - 2:3.78-2 +- evil port of nmapfe to gtk2 + +* Fri Dec 17 2004 Harald Hoyer - 2:3.78-1 +- version 3.78 + +* Mon Sep 13 2004 Harald Hoyer - 2:3.70-1 +- version 3.70 + +* Tue Jul 13 2004 Harald Hoyer - 2:3.55-1 +- new version + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Thu Jan 29 2004 Harald Hoyer - 2:3.50-2 +- added BuildRequires: openssl-devel, gtk+-devel, pcre-devel, libpcap + +* Thu Jan 22 2004 Harald Hoyer - 2:3.50-1 +- version 3.50 + +* Wed Oct 8 2003 Harald Hoyer 2:3.48-1 +- version 3.48 + +* Tue Sep 23 2003 Florian La Roche +- allow disabling frontend if gtk1 is not available + +* Wed Jul 30 2003 Harald Hoyer 2:3.30-1 +- version 3.30 + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Mon May 26 2003 Harald Hoyer 2:3.27-1 +- version 3.27 + +* Mon May 12 2003 Harald Hoyer 2:3.20-2 +- changed macro comments to double %% for changelog entries + +* Mon Apr 14 2003 Harald Hoyer 2:3.20-1 +- version 3.2 + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Thu Jan 9 2003 Harald Hoyer 3.0-3 +- nmap-3.00-nowarn.patch added + +* Mon Nov 18 2002 Tim Powers +- rebuild on all arches +- remove old desktop file from $$RPM_BUILD_ROOT so rpm won't complain + +* Thu Aug 1 2002 Harald Hoyer +- version 3.0 + +* Mon Jul 29 2002 Harald Hoyer 2.99.2-1 +- bumped version + +* Fri Jul 26 2002 Harald Hoyer 2.99.1-2 +- bumped version to 2.99RC1 + +* Fri Jul 19 2002 Florian La Roche +- add an epoch + +* Mon Jul 1 2002 Harald Hoyer 2.54.36-1 +- removed desktop file +- removed "BETA" name from version +- update to BETA36 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Sun May 26 2002 Tim Powers +- automated rebuild + +* Wed May 22 2002 Harald Hoyer 2.54BETA34-1 +- update to 2.54BETA34 + +* Mon Mar 25 2002 Harald Hoyer +- more recent version (#61490) + +* Mon Jul 23 2001 Harald Hoyer +- buildprereq for nmap-frontend (#49644) + +* Sun Jul 22 2001 Heikki Korpela +- buildrequire gtk+ + +* Tue Jul 10 2001 Tim Powers +- fix bugs in desktop file (#48341) + +* Wed May 16 2001 Tim Powers +- updated to 2.54BETA22 + +* Mon Nov 20 2000 Tim Powers +- rebuilt to fix bad dir perms + +* Fri Nov 3 2000 Tim Powers +- fixed nmapdatadir in the install section, forgot lto include + $RPM_BUILD_ROOT in the path + +* Thu Nov 2 2000 Tim Powers +- update to nmap-2.54BETA7 to possibly fix bug #20199 +- use the desktop file provided by the package instead of using my own +- patches in previous version are depreciated. Included in SRPM for + reference only + +* Mon Jul 24 2000 Prospector +- rebuilt + +* Mon Jul 10 2000 Tim Powers +- rebuilt + +* Wed Jun 28 2000 Tim Powers +- rebuilt package + +* Thu Jun 8 2000 Tim Powers +- fixed man pages so that they are in an FHS compliant location +- use %%makeinstall +- use predefined RPM macros wherever possible + +* Tue May 16 2000 Tim Powers +- updated to 2.53 +- using applnk now +- use %%configure, and %%{_prefix} where possible +- removed redundant defines at top of spec file + +* Mon Dec 13 1999 Tim Powers +- based on origional spec file from + http://www.insecure.org/nmap/index.html#download +- general cleanups, removed lots of commenrts since it madethe spec hard to + read +- changed group to Applications/System +- quiet setup +- no need to create dirs in the install section, "make + prefix=$RPM_BUILD_ROOT&{prefix} install" does this. +- using defined %%{prefix}, %%{version} etc. for easier/quicker maint. +- added docs +- gzip man pages +- strip after files have been installed into buildroot +- created separate package for the frontend so that Gtk+ isn't needed for the + CLI nmap +- not using -f in files section anymore, no need for it since there aren't that + many files/dirs +- added desktop entry for gnome + +* Sun Jan 10 1999 Fyodor +- Merged in spec file sent in by Ian Macdonald + +* Tue Dec 29 1998 Fyodor +- Made some changes, and merged in another .spec file sent in + by Oren Tirosh + +* Mon Dec 21 1998 Riku Meskanen +- initial build for RH 5.x diff --git a/nmap_resolve_config.patch b/nmap_resolve_config.patch new file mode 100644 index 0000000..b843921 --- /dev/null +++ b/nmap_resolve_config.patch @@ -0,0 +1,12 @@ +diff --git a/ncat/ncat_core.c b/ncat/ncat_core.c +index 21eca9e..c45a04e 100644 +--- a/ncat/ncat_core.c ++++ b/ncat/ncat_core.c +@@ -287,6 +287,7 @@ int resolve(const char *hostname, unsigned short port, + int result; + + flags = 0; ++ flags |= AI_ADDRCONFIG; + if (o.nodns) + flags |= AI_NUMERICHOST; + diff --git a/sources b/sources new file mode 100644 index 0000000..76350e0 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (nmap-7.70.tar.bz2) = 084c148b022ff6550e269d976d0077f7932a10e2ef218236fe13aa3a70b4eb6506df03329868fc68cb3ce78e4360b200f5a7a491d3145028fed679ef1c9ecae5