svn commit: r237672 - stable/8/usr.bin/sockstat
Jason Hellenthal
jhellenthal at dataix.net
Wed Jun 27 23:16:54 UTC 2012
The usage information never got updated from this change...
$ sockstat --help
sockstat: illegal option -- -
Usage: sockstat [-46cLlu] [-p ports] [-P protocols]
On Wed, Jun 27, 2012 at 10:13:41PM +0000, Andrew Thompson wrote:
> Author: thompsa
> Date: Wed Jun 27 22:13:40 2012
> New Revision: 237672
> URL: http://svn.freebsd.org/changeset/base/237672
>
> Log:
> MFC r235870
>
> Allow the socket list to be limited to a specific jail id.
>
> Modified:
> stable/8/usr.bin/sockstat/sockstat.1
> stable/8/usr.bin/sockstat/sockstat.c
> Directory Properties:
> stable/8/usr.bin/sockstat/ (props changed)
>
> Modified: stable/8/usr.bin/sockstat/sockstat.1
> ==============================================================================
> --- stable/8/usr.bin/sockstat/sockstat.1 Wed Jun 27 22:11:31 2012 (r237671)
> +++ stable/8/usr.bin/sockstat/sockstat.1 Wed Jun 27 22:13:40 2012 (r237672)
> @@ -27,7 +27,7 @@
> .\"
> .\" $FreeBSD$
> .\"
> -.Dd January 24, 2012
> +.Dd May 16, 2012
> .Dt SOCKSTAT 1
> .Os
> .Sh NAME
> @@ -36,6 +36,7 @@
> .Sh SYNOPSIS
> .Nm
> .Op Fl 46cLlu
> +.Op Fl j Ar jid
> .Op Fl p Ar ports
> .Op Fl P Ar protocols
> .Sh DESCRIPTION
> @@ -57,6 +58,8 @@ Show
> (IPv6) sockets.
> .It Fl c
> Show connected sockets.
> +.It Fl j Ar jid
> +Show only sockets belonging to the specified jail ID.
> .It Fl L
> Only show Internet sockets if the local or foreign addresses are not
> in the loopback network prefix
>
> Modified: stable/8/usr.bin/sockstat/sockstat.c
> ==============================================================================
> --- stable/8/usr.bin/sockstat/sockstat.c Wed Jun 27 22:11:31 2012 (r237671)
> +++ stable/8/usr.bin/sockstat/sockstat.c Wed Jun 27 22:13:40 2012 (r237672)
> @@ -62,6 +62,7 @@ __FBSDID("$FreeBSD$");
> static int opt_4; /* Show IPv4 sockets */
> static int opt_6; /* Show IPv6 sockets */
> static int opt_c; /* Show connected sockets */
> +static int opt_j; /* Show specified jail */
> static int opt_L; /* Don't show IPv4 or IPv6 loopback sockets */
> static int opt_l; /* Show listening sockets */
> static int opt_u; /* Show Unix domain sockets */
> @@ -549,6 +550,27 @@ getprocname(pid_t pid)
> }
>
> static int
> +getprocjid(pid_t pid)
> +{
> + static struct kinfo_proc proc;
> + size_t len;
> + int mib[4];
> +
> + mib[0] = CTL_KERN;
> + mib[1] = KERN_PROC;
> + mib[2] = KERN_PROC_PID;
> + mib[3] = (int)pid;
> + len = sizeof proc;
> + if (sysctl(mib, 4, &proc, &len, NULL, 0) == -1) {
> + /* Do not warn if the process exits before we get its jid. */
> + if (errno != ESRCH)
> + warn("sysctl()");
> + return (-1);
> + }
> + return (proc.ki_jid);
> +}
> +
> +static int
> check_ports(struct sock *s)
> {
> int port;
> @@ -643,6 +665,8 @@ display(void)
> for (xf = xfiles, n = 0; n < nxfiles; ++n, ++xf) {
> if (xf->xf_data == NULL)
> continue;
> + if (opt_j >= 0 && opt_j != getprocjid(xf->xf_pid))
> + continue;
> hash = (int)((uintptr_t)xf->xf_data % HASHSIZE);
> for (s = sockhash[hash]; s != NULL; s = s->next)
> if ((void *)s->socket == xf->xf_data)
> @@ -668,6 +692,8 @@ display(void)
> pos += xprintf("%d ", xf->xf_fd);
> displaysock(s, pos);
> }
> + if (opt_j >= 0)
> + return;
> for (hash = 0; hash < HASHSIZE; hash++) {
> for (s = sockhash[hash]; s != NULL; s = s->next) {
> if (s->shown)
> @@ -716,7 +742,8 @@ main(int argc, char *argv[])
> int protos_defined = -1;
> int o, i;
>
> - while ((o = getopt(argc, argv, "46cLlp:P:uv")) != -1)
> + opt_j = -1;
> + while ((o = getopt(argc, argv, "46cj:Llp:P:uv")) != -1)
> switch (o) {
> case '4':
> opt_4 = 1;
> @@ -727,6 +754,9 @@ main(int argc, char *argv[])
> case 'c':
> opt_c = 1;
> break;
> + case 'j':
> + opt_j = atoi(optarg);
> + break;
> case 'L':
> opt_L = 1;
> break;
> _______________________________________________
> svn-src-stable-8 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-stable-8
> To unsubscribe, send any mail to "svn-src-stable-8-unsubscribe at freebsd.org"
--
- (2^(N-1))
More information about the svn-src-stable-8
mailing list