Author: kp
Date: Sun Oct 21 21:17:42 2018
New Revision: 339557
URL: https://svnweb.freebsd.org/changeset/base/339557

Log:
  tcpdump: Log uid on pflog interfaces
  
  If pf logs the user id ('pass out log (user)') have tcpdump also print
  this.
  
  Example output:
   00:00:00.000000 rule 0/0(match) [uid 1001]: pass out on vtnet0: (tos 0x0, 
ttl 64, id 57539, offset 0, flags [none], proto UDP (17), length 55)
      172.16.2.2.18337 > 172.16.2.1.53: [bad udp cksum 0x5c58 -> 0x16e4!] 
40222+ A? google.be. (27)
  
  PR:           122773
  Differential Revision:        https://reviews.freebsd.org/D17625

Modified:
  head/contrib/tcpdump/print-pflog.c

Modified: head/contrib/tcpdump/print-pflog.c
==============================================================================
--- head/contrib/tcpdump/print-pflog.c  Sun Oct 21 18:39:34 2018        
(r339556)
+++ head/contrib/tcpdump/print-pflog.c  Sun Oct 21 21:17:42 2018        
(r339557)
@@ -97,8 +97,12 @@ pflog_print(netdissect_options *ndo, const struct pflo
        else
                ND_PRINT((ndo, "rule %u.%s.%u/", rulenr, hdr->ruleset, 
subrulenr));
 
-       ND_PRINT((ndo, "%s: %s %s on %s: ",
-           tok2str(pf_reasons, "unkn(%u)", hdr->reason),
+       ND_PRINT((ndo, "%s", tok2str(pf_reasons, "unkn(%u)", hdr->reason)));
+
+       if (hdr->uid != UID_MAX)
+               ND_PRINT((ndo, " [uid %u]", (unsigned)hdr->uid));
+
+       ND_PRINT((ndo, ": %s %s on %s: ",
            tok2str(pf_actions, "unkn(%u)", hdr->action),
            tok2str(pf_directions, "unkn(%u)", hdr->dir),
            hdr->ifname));
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to