Subject: pkg/36250: net/darkstat update
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <bartosz.kuzma@gmail.com>
List: pkgsrc-bugs
Date: 04/30/2007 09:35:00
>Number:         36250
>Category:       pkg
>Synopsis:       net/darkstat update
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 30 09:35:00 +0000 2007
>Originator:     Bartosz Kuzma
>Release:        NetBSD 3.1
>Organization:
>Environment:
NetBSD gdr74.internetdsl.tpnet.pl 3.1 NetBSD 3.1 (GDR74) #1: Fri Apr 27 16:53:00 CEST 2007  bartosz@gdr74.internetdsl.tpnet.pl:/usr/obj/sys/arch/i386/compile/GDR74 i386
>Description:
net/darkstat update to 3.0.619

Changes from 3.0.540 to 3.0.619:
 - Decode DLT_PPP and DLT_PPP_SERIAL on NetBSD,
   patch courtesy of Bartosz Kuzma.
 - Don't use pcap_setnonblock(), with help from Colin Phipps.
 - Reduce the number of syscalls made.
 - Answer FAQ about graph axes / labels / scale.
 - Fix build on OpenBSD (thanks Chris!) and Solaris.
 - Commandline arg (-n) to disable promiscuous mode when
   sniffing, thanks to Chris Kuethe for the implementation.
 - Commandline arg (-r) to disable DNS resolver.
 - Track and report per-host last seen MAC address.
 - Move FAQ into manpage.
 - Implement display of start time and running time.
 - Web: implement sorting the hosts table by in/out/total.
 - Web: implement paging through the hosts table.
 - Web: implement full view of hosts table.
 - Don't die if the capture interface loses its IP address.
 - Make daemonize (previously -d) the default, and make -D the
   argument to suppress it.
 - Commandline arg (-l) to graph traffic entering/leaving the
   local network as opposed to just the local IP.  v2 had this.
 - Allow configure-time override of CHROOT_DIR and PRIVDROP_USER.
 - Web: new color scheme.
>How-To-Repeat:

>Fix:
Apply the following patch:

diff --exclude=CVS -N -u -r /usr/pkgsrc/net/darkstat/Makefile ./Makefile
--- /usr/pkgsrc/net/darkstat/Makefile	2007-01-17 19:10:57.000000000 +0100
+++ ./Makefile	2007-04-30 11:04:57.000000000 +0200
@@ -1,24 +1,20 @@
 # $NetBSD: Makefile,v 1.3 2006/10/07 07:49:01 obache Exp $
 #
 
-DISTNAME=		darkstat-3.0.540
+DISTNAME=		darkstat-3.0.619
 CATEGORIES=		net
 MASTER_SITES=		http://dmr.ath.cx/net/darkstat/
 DIST_SUBDIR=		darkstat
 EXTRACT_SUFX=		.tar.bz2
 
-MAINTAINER=		bartosz@atom.eu.org
+MAINTAINER=		bartosz.kuzma@gmail.com
 HOMEPAGE=		http://dmr.ath.cx/net/darkstat/
 COMMENT=		Network statistics gatherer
 
-SUBST_CLASSES+=		conv_c
-SUBST_STAGE.conv_c=	post-patch
-SUBST_FILES.conv_c=	conv.c
-SUBST_SED.conv_c=	-e 's,/var/empty,${PREFIX}/share/darkstat/chroot,'
-
 BUILD_TARGET=		darkstat
 
 GNU_CONFIGURE=		yes
+CONFIGURE_ARGS+=	--with-chroot-dir=${PREFIX}/share/darkstat/chroot
 
 post-install:
 	${INSTALL_DATA_DIR} ${PREFIX}/share/darkstat
diff --exclude=CVS -N -u -r /usr/pkgsrc/net/darkstat/distinfo ./distinfo
--- /usr/pkgsrc/net/darkstat/distinfo	2007-01-17 19:10:58.000000000 +0100
+++ ./distinfo	2007-04-30 11:11:30.000000000 +0200
@@ -1,6 +1,6 @@
 $NetBSD: distinfo,v 1.2 2006/10/07 07:49:01 obache Exp $
 
-SHA1 (darkstat/darkstat-3.0.540.tar.bz2) = aaca2ba07c8479b7bf2393261b0093f568746766
-RMD160 (darkstat/darkstat-3.0.540.tar.bz2) = c9ee36a5381bfc26c81759f4cde6153abac4264c
-Size (darkstat/darkstat-3.0.540.tar.bz2) = 75293 bytes
-SHA1 (patch-aa) = 8f5de074e5a5fc7798a8c196f116f12417b81d83
+SHA1 (darkstat/darkstat-3.0.619.tar.bz2) = d38aeb6c6a77b324cd1e267625f40509b358a83a
+RMD160 (darkstat/darkstat-3.0.619.tar.bz2) = 39fc8fa9e49b7cfe73917d97a062cd8855f38828
+Size (darkstat/darkstat-3.0.619.tar.bz2) = 82508 bytes
+SHA1 (patch-ab) = afb531d2c041582c1c6d62c948e7b58ca7f6bd1c
diff --exclude=CVS -N -u -r /usr/pkgsrc/net/darkstat/patches/patch-aa ./patches/patch-aa
--- /usr/pkgsrc/net/darkstat/patches/patch-aa	2007-01-17 19:10:58.000000000 +0100
+++ ./patches/patch-aa	1970-01-01 01:00:00.000000000 +0100
@@ -1,48 +0,0 @@
-$NetBSD: patch-aa,v 1.2 2006/10/07 07:49:01 obache Exp $
-
---- decode.c.orig	2006-08-07 02:26:32.000000000 +0200
-+++ decode.c
-@@ -54,6 +54,8 @@ static void decode_ether(u_char *, const
-    const u_char *);
- static void decode_loop(u_char *, const struct pcap_pkthdr *,
-    const u_char *);
-+static void decode_ppp(u_char *, const struct pcap_pkthdr *,
-+   const u_char *);
- static void decode_pppoe(u_char *, const struct pcap_pkthdr *,
-    const u_char *);
- static void decode_linux_sll(u_char *, const struct pcap_pkthdr *,
-@@ -67,7 +69,10 @@ static const linkhdr_t linkhdrs[] = {
-    { DLT_EN10MB,    ETHER_HDR_LEN, decode_ether  },
-    { DLT_LOOP,      NULL_HDR_LEN,  decode_loop  },
-    { DLT_NULL,      NULL_HDR_LEN,  decode_loop  },
--   { DLT_PPP,       PPP_HDR_LEN,   NULL },
-+   { DLT_PPP,       PPP_HDR_LEN,   decode_ppp },
-+#if defined(__NetBSD__)
-+   { DLT_PPP_SERIAL, PPP_HDR_LEN, decode_ppp },
-+#endif
-    { DLT_FDDI,      FDDI_HDR_LEN,  NULL },
-    { DLT_PPP_ETHER, PPPOE_HDR_LEN, decode_pppoe },
-    { DLT_LINUX_SLL, SLL_HDR_LEN,   decode_linux_sll },
-@@ -172,6 +177,22 @@ decode_loop(u_char *user _unused_,
- }
- 
- static void
-+decode_ppp(u_char *user _unused_,
-+      const struct pcap_pkthdr *pheader,
-+      const u_char *pdata)
-+{
-+   pktsummary sm;
-+   memset(&sm, 0, sizeof(sm));
-+
-+   if (pdata[2] == 0x00 && pdata[3] == 0x21) {
-+         decode_ip(pdata + PPP_HDR_LEN, pheader->caplen - PPP_HDR_LEN, &sm);
-+         sm.time = pheader->ts.tv_sec;
-+         acct_for(&sm);
-+   } else
-+      verbosef("non-IP PPP packet; ignoring.");
-+}
-+
-+static void
- decode_pppoe(u_char *user _unused_,
-       const struct pcap_pkthdr *pheader,
-       const u_char *pdata)
diff --exclude=CVS -N -u -r /usr/pkgsrc/net/darkstat/patches/patch-ab ./patches/patch-ab
--- /usr/pkgsrc/net/darkstat/patches/patch-ab	1970-01-01 01:00:00.000000000 +0100
+++ ./patches/patch-ab	2007-04-29 12:31:06.000000000 +0200
@@ -0,0 +1,19 @@
+$NetBSD$
+
+--- configure.orig	2007-04-29 12:19:45.000000000 +0200
++++ configure
+@@ -1702,13 +1702,7 @@ RULE="----------------------------------
+ 
+ # Check whether --with-chroot-dir was given.
+ if test "${with_chroot_dir+set}" = set; then
+-  withval=$with_chroot_dir; if test \! -d "$withval" ; then
+-   { { echo "$as_me:$LINENO: error: directory $withval doesn't exist" >&5
+-echo "$as_me: error: directory $withval doesn't exist" >&2;}
+-   { (exit 1); exit 1; }; }
+-  else
+-   _chd="$withval"
+-  fi
++  _chd=$with_chroot_dir
+ else
+   # Find an "empty" directory to serve as the chroot.
+   _chd="/var/empty"