[nmap] shutdown socket on EOF (#845075)

Michal Hlavinka mhlavink at fedoraproject.org
Wed Sep 19 13:05:47 UTC 2012


commit f8f73ddb46e7b812547e570ecf4ddcc5dc76131a
Author: Michal Hlavinka <mhlavink at redhat.com>
Date:   Wed Sep 19 15:05:39 2012 +0200

    shutdown socket on EOF (#845075)

 nmap-6.01-r29743.patch |   27 +++++++++++++++++++++++++++
 nmap.spec              |    9 ++++++++-
 2 files changed, 35 insertions(+), 1 deletions(-)
---
diff --git a/nmap-6.01-r29743.patch b/nmap-6.01-r29743.patch
new file mode 100644
index 0000000..58c44c0
--- /dev/null
+++ b/nmap-6.01-r29743.patch
@@ -0,0 +1,27 @@
+diff -up nmap-6.01/ncat/ncat_connect.c.r29743 nmap-6.01/ncat/ncat_connect.c
+--- nmap-6.01/ncat/ncat_connect.c.r29743	2012-09-19 14:56:37.889102887 +0200
++++ nmap-6.01/ncat/ncat_connect.c	2012-09-19 14:56:56.148241822 +0200
+@@ -113,6 +113,14 @@
+ #include <openssl/err.h>
+ #endif
+ 
++#ifdef WIN32
++/* Define missing constant for shutdown(2).
++ * See:
++ * http://msdn.microsoft.com/en-us/library/windows/desktop/ms740481%28v=vs.85%29.aspx
++ */
++#define SHUT_WR SD_SEND
++#endif
++
+ struct conn_state {
+     nsock_iod sock_nsi;
+     nsock_iod stdin_nsi;
+@@ -732,6 +740,8 @@ static void read_stdin_handler(nsock_poo
+         if (o.sendonly) {
+             /* In --send-only mode, exit after EOF on stdin. */
+             nsock_loop_quit(nsp);
++        } else {
++          shutdown(nsi_getsd(cs.sock_nsi), SHUT_WR);
+         }
+         return;
+     } else if (status == NSE_STATUS_ERROR) {
diff --git a/nmap.spec b/nmap.spec
index ccc67eb..7d87f69 100644
--- a/nmap.spec
+++ b/nmap.spec
@@ -4,7 +4,7 @@ Name: nmap
 Epoch: 2
 Version: 6.01
 #global prerelease TEST5
-Release: 5%{?dist}
+Release: 6%{?dist}
 # nmap is GPLv2
 # zenmap is GPLv2 and LGPLv2+ (zenmap/higwidgets) and GPLv2+ (zenmap/radialnet)
 # libdnet-stripped is BSD (advertising clause rescinded by the Univ. of California in 1999) with some parts as Public Domain (crc32)
@@ -35,6 +35,9 @@ Patch4: zenmap-621887-workaround.patch
 # upstream provided patch for rhbz#845005, not yet in upstream repository
 Patch5: ncat_reg_stdin.diff
 
+# shutdown socket on EOF, sent upstream
+Patch6: nmap-6.01-r29743.patch
+
 URL: http://nmap.org/
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: openssl-devel, gtk2-devel, lua-devel, libpcap-devel, pcre-devel
@@ -85,6 +88,7 @@ uses.
 %patch2 -p1 -b .noms
 %patch4 -p1 -b .bz637403
 %patch5 -p1 -b .ncat_reg_stdin
+%patch6 -p1 -b .r29743
 
 #be sure we're not using tarballed copies of some libraries
 rm -rf liblua libpcap libpcre macosx mswin32
@@ -212,6 +216,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/xnmap.1.gz
 
 %changelog
+* Wed Sep 19 2012 Michal Hlavinka <mhlavink at redhat.com> - 2:6.01-6
+- shutdown socket on EOF (#845075)
+
 * Mon Aug 13 2012 Michal Hlavinka <mhlavink at redhat.com> - 2:6.01-5
 - ncat did not work when file was used as input (#845005)
 


More information about the scm-commits mailing list