Here's a major update to pfstat. The most important changes:

* Add a small daemon 'pfstatd' which listens on a TCP port and, when
  connected to, sends the statistical pf data in plain text to the
  peer. This program has no dependancies (gd, X11, etc.), so it can
  be easily installed on a small firewall, and the main 'pfstat'
  program can be installed on a different machine. Many users
  complained that they had to install xbase39.tgz on a firewall,
  this is now no longer required. Querying the local packet filter
  through /dev/pf (without running pfstatd) is still supported and
  the default.

* Switch the data storage from the simple text file to a DBT_BTREE
  database (dbopen(3), no additional dependancies). Do MRTG-style
  compression on insertion, so plotting graphs over large time periods
  does not take longer anymore. Graph plotting is very fast now.
  Expiry/purging of older data will be supported soon.

* Support for arbitrary interface and queue statistics. Label support
  coming soon. This requires that values that should be stored must
  be declared in advance (i.e. storing all values is possible, but
  storing only user-specified values keeps the database smaller).

* The pfstat.conf syntax has therefore changed slightly, and example
  is

    collect 1 = interface "sis0" pass bytes in ipv4 diff
    collect 2 = interface "sis0" pass bytes out ipv4 diff
    image "/var/www/htdocs/benzedrine.cx/pfstat.jpg" {
        from 72 hours to now
        width 1000 height 400
        left
                graph 1 "in" "bits/s" color 0 192 0 filled
        right
                graph 2 "out" "bits/s" color 0 0 255
    }

  The 'collect' lines declare units to be collected, and the 'graph'
  line reference units through the declaration numbers (1 and 2, in
  the example).

* Fix several bugs. In particular one that affected scaling of values.
  Before, the axis were sometimes wrongly labeled (like the maximum
  value was labeled as '40 mbits/s' when it was really much higher.

The patch below is against the 3.9 ports tree. Apply it (to
ports/net/pfstat), delete the existing patches subdirectory.

NOTE: this won't work as-is on a pre-3.9 system. While it's not
complicated to get building there, I'd rather get feedback from 3.9
users at this time.

If someone with ports-foo has any suggestions about how to split pfstatd
into a separate package (so a package containing only pfstatd could be
installed on firewalls without any dependancies), please speak up ;)

Daniel


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/pfstat/Makefile,v
retrieving revision 1.11
diff -u -r1.11 Makefile
--- Makefile    24 Oct 2005 05:09:59 -0000      1.11
+++ Makefile    14 May 2006 10:11:09 -0000
@@ -2,8 +2,8 @@
 
 COMMENT=       "packet filter statistics visualization"
 
-DISTNAME=      pfstat-1.7
-PKGNAME=       ${DISTNAME}p1
+DISTNAME=      pfstat-2.0
+PKGNAME=       ${DISTNAME}
 CATEGORIES=    net
 MASTER_SITES=  http://www.benzedrine.cx/
 
@@ -24,5 +24,7 @@
 do-install:
        ${INSTALL_PROGRAM} ${WRKSRC}/pfstat ${PREFIX}/bin
        ${INSTALL_MAN} ${WRKSRC}/pfstat.8 ${PREFIX}/man/man8
+       ${INSTALL_PROGRAM} ${WRKSRC}/pfstatd/pfstatd ${PREFIX}/bin
+       ${INSTALL_MAN} ${WRKSRC}/pfstatd/pfstatd.8 ${PREFIX}/man/man8
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/pfstat/distinfo,v
retrieving revision 1.9
diff -u -r1.9 distinfo
--- distinfo    5 Jan 2005 17:14:57 -0000       1.9
+++ distinfo    14 May 2006 10:11:09 -0000
@@ -1,4 +1,4 @@
-MD5 (pfstat-1.7.tar.gz) = bd58864b56774aa10aa763258de8b625
-RMD160 (pfstat-1.7.tar.gz) = d15ebd14a42ddbdacf326b4ad59c2fcf4f7d8b07
-SHA1 (pfstat-1.7.tar.gz) = 7bd125039c130a56a4dda3040d309d0f445d88b5
-SIZE (pfstat-1.7.tar.gz) = 9610
+MD5 (pfstat-2.0.tar.gz) = c15416c16062da39500bb7822c71fcf1
+RMD160 (pfstat-2.0.tar.gz) = ae6d7f2db52df21282e05e45d0c8458ac0865433
+SHA1 (pfstat-2.0.tar.gz) = 798449440e1c8ac9a9eb33792a7fd49afee3def3
+SIZE (pfstat-2.0.tar.gz) = 16625
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/pfstat/pkg/PLIST,v
retrieving revision 1.2
diff -u -r1.2 PLIST
--- pkg/PLIST   15 Sep 2004 18:17:44 -0000      1.2
+++ pkg/PLIST   14 May 2006 10:11:09 -0000
@@ -1,3 +1,5 @@
 @comment $OpenBSD: PLIST,v 1.2 2004/09/15 18:17:44 espie Exp $
 bin/pfstat
+bin/pfstatd
 @man man/man8/pfstat.8
[EMAIL PROTECTED] man/man8/pfstatd.8

Reply via email to