From 29999b0ff23d76e5d93d238a0461c59841afea73 Mon Sep 17 00:00:00 2001 From: Vadim Kochan Date: Sun, 22 Feb 2015 22:23:10 +0200 Subject: [PATCH] ss: Add filter before printing unix stats from Netlink Detailed info can be printed if filter should not pass the socket info. Signed-off-by: Vadim Kochan --- misc/ss.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/misc/ss.c b/misc/ss.c index 2678033f..5320d387 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -2556,7 +2556,7 @@ static void unix_stats_print(struct sockstat *list, struct filter *f) } } - if (f->f) { + if (use_proc && f->f) { if (strcmp(peer, "*") == 0) memset(s->remote.data, 0, sizeof(char *)); else @@ -2628,6 +2628,9 @@ static int unix_show_sock(const struct sockaddr_nl *addr, struct nlmsghdr *nlh, if (tb[UNIX_DIAG_PEER]) stat.rport = rta_getattr_u32(tb[UNIX_DIAG_PEER]); + if (f->f && run_ssfilter(f->f, &stat) == 0) + return 0; + unix_stats_print(&stat, f); if (show_mem) {