[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

fuser and IPv6: Which way to go?



I have emailed this to debian-ipv6 as well as debian-user  as I'm trying to
get an understanding of which is the best way to go with this.

I'm the Debian maintainer and recently the upstream maintainer of a
package called psmisc.  Inside this package is a program called fuser.
fuser is a useful tool that can tell you what programs have a certain
file open, they can also tell you what programs have a certain network
port open.

And this leads to my problem, I received a bug report (#115672) saying
that fuser -n tcp 22 does not work, and for me it doesn't too.  This is
because for some people this program (sshd) uses an IPv6 socket, not
an IPv4 one.

I know how to fix this, but it then leads to the question, which way is
the correct way?  There are three possibilities:
 - Combine IPv6 and IPv4 sockets together -n tcp finds both IPv4 and
   IPv6 sockets but you cannot distinguish between the two.
 - Make a new namespace for IPv6, this means -n tcp 22 fails but -n tcp6
   22 will find sshd, -n tcp6 80 wont find apache.
 - Combine them and also have separate flags, perhaps tcp6 and tcp4.
 - Is there another way?

I have to be very careful about the -n tcp flag, as this is an existing
one so I don't want to change it current behaviour too much.  I'm asking
what would people expect this program to do, not how it is done (I got
that pretty much worked out).  This change will effect all users of
psmisc, not just Debian ones. 

For the technically inclined, the bug is due to the inode of the socket
not being found in /proc/net/tcp as it lives in /proc/net/tcp6  The
flags will just determine if i combine or select these two files in
different ways.

  - Craig
-- 
Craig Small VK2XLZ  GnuPG:1C1B D893 1418 2AF4 45EE  95CB C76C E5AC 12CA DFA5
Eye-Net Consulting http://www.eye-net.com.au/        <csmall@eye-net.com.au>
MIEEE <csmall@ieee.org>                 Debian developer <csmall@debian.org>



Reply to: