[net-tools/f15] netstat -p displays "sshd", and not "/0" (#707427)

Jiří Popelka jpopelka at fedoraproject.org
Thu Jun 9 09:42:55 UTC 2011


commit acdcb06b7984994f6d5640d30eaf710fceaa6762
Author: Jiri Popelka <jpopelka at redhat.com>
Date:   Thu Jun 9 11:38:42 2011 +0200

    netstat -p displays "sshd", and not "/0" (#707427)

 net-tools-1.60-netstat-p-basename.patch |   26 ++++++++++++++++++++++++++
 net-tools.spec                          |   11 ++++++++++-
 2 files changed, 36 insertions(+), 1 deletions(-)
---
diff --git a/net-tools-1.60-netstat-p-basename.patch b/net-tools-1.60-netstat-p-basename.patch
new file mode 100644
index 0000000..24c5687
--- /dev/null
+++ b/net-tools-1.60-netstat-p-basename.patch
@@ -0,0 +1,26 @@
+diff -up net-tools-1.60/netstat.c.p-basename net-tools-1.60/netstat.c
+--- net-tools-1.60/netstat.c.p-basename	2011-06-06 15:54:26.459268750 +0200
++++ net-tools-1.60/netstat.c	2011-06-06 15:54:47.356121769 +0200
+@@ -415,7 +415,7 @@ static void prg_cache_load(void)
+     int procfdlen,fd,cmdllen,lnamelen;
+     char lname[30],cmdlbuf[512],finbuf[PROGNAME_WIDTH];
+     unsigned long inode;
+-    const char *cs,*cmdlp;
++    const char *cs,*cmdlp,*cmdlpend;
+     DIR *dirproc=NULL,*dirfd=NULL;
+     struct dirent *direproc,*direfd;
+     security_context_t scon=NULL;
+@@ -484,10 +484,12 @@ static void prg_cache_load(void)
+ 		    continue;
+ 		if (cmdllen < sizeof(cmdlbuf) - 1) 
+ 		    cmdlbuf[cmdllen]='\0';
+-		if ((cmdlp = strrchr(cmdlbuf, '/'))) 
++		if (cmdlbuf[0] == '/' && (cmdlp = strrchr(cmdlbuf, '/')))
+ 		    cmdlp++;
+ 		else 
+ 		    cmdlp = cmdlbuf;
++		if (cmdlpend = strrchr(cmdlp, ':'))
++		    cmdlpend = '\0';
+ 	    }
+ 
+ 	    snprintf(finbuf, sizeof(finbuf), "%s/%s", direproc->d_name, cmdlp);
diff --git a/net-tools.spec b/net-tools.spec
index ffed529..f9d6784 100644
--- a/net-tools.spec
+++ b/net-tools.spec
@@ -1,7 +1,7 @@
 Summary: Basic networking tools
 Name: net-tools
 Version: 1.60
-Release: 116%{?dist}
+Release: 117%{?dist}
 License: GPL+
 Group: System Environment/Base
 URL: http://net-tools.berlios.de/
@@ -142,6 +142,10 @@ Patch90: net-tools-1.60-ifdef-vs-if.patch
 # Since Fedora 15 network devices can have arbitrary names (#682367)
 Patch91: net-tools-1.60-arbitrary-device-names.patch
 
+# patch netstat to separate basename of -p only if it is absolute
+# path (in order to make argv[0]="sshd pty/0" display as sshd, and not as /0).
+Patch92: net-tools-1.60-netstat-p-basename.patch
+
 BuildRequires: gettext, libselinux
 BuildRequires: libselinux-devel
 Requires: hostname
@@ -237,6 +241,7 @@ Most of them are obsolete. For replacement check iproute package.
 %patch89 -p1 -b .hfi
 %patch90 -p1 -b .ifdef-vs-if
 %patch91 -p1 -b .arbitrary-device-names
+%patch92 -p1 -b .p-basename
 
 cp %SOURCE1 ./config.h
 cp %SOURCE2 ./config.make
@@ -336,6 +341,10 @@ rm -rf %{buildroot}
 %config(noreplace) %{_sysconfdir}/ethers
 
 %changelog
+* Thu Jun 09 2011 Jiri Popelka <jpopelka at redhat.com> - 1.60-117
+- Patch netstat to separate basename of -p only if it is absolute path (in order
+  to make argv[0]="sshd pty/0" display as sshd, and not as /0) (#707427)
+
 * Mon Mar 07 2011 Jiri Popelka <jpopelka at redhat.com> - 1.60-116
 - Fix mii-tool/mii-diag/ether-wake to not default to eth0 because
   since Fedora 15 network devices can have arbitrary names (#682367)


More information about the scm-commits mailing list