[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openbsd-ports
Subject:    update: net/darkstat 3.0.540 -> 3.0.6.19
From:       "Chris Kuethe" <ckuethe () openbsd ! org>
Date:       2007-04-28 16:34:30
Message-ID: 91981b3e0704280934w6e6f16e7t1dcbfd3d2b6207ad () mail ! gmail ! com
[Download RAW message or body]

Attached is an update to the latest Darkstat. Patches have either been
accepted upstream or have been made unnecessary.

This update includes a new _darkstat user for the privilege dropping mechanism.

http://dmr.ath.cx/net/darkstat/changelog.txt

-- 
GDB has a 'break' feature; why doesn't it have 'fix' too?

["darkstat.diff" (application/octet-stream)]

Index: infrastructure/db/user.list
===================================================================
RCS file: /cvs/ports/infrastructure/db/user.list,v
retrieving revision 1.72
diff -u -p -r1.72 user.list
--- infrastructure/db/user.list	2007/04/27 21:12:25	1.72
+++ infrastructure/db/user.list	2007/04/28 16:21:39
@@ -95,3 +95,4 @@ id  user		group		port options
 584 _nepenthes		_nepenthes	net/nepenthes
 585 _lighttpd		_lighttpd	www/lighttpd
 586 _gnugk		_gnugk		net/gnugk
+587 _darkstat		_darkstat	net/darkstat
Index: net/darkstat/Makefile
===================================================================
RCS file: /cvs/ports/net/darkstat/Makefile,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile
--- net/darkstat/Makefile	2007/02/12 18:07:12	1.5
+++ net/darkstat/Makefile	2007/04/28 16:21:39
@@ -2,8 +2,8 @@
 
 COMMENT=		"network statistics gatherer with graphs"
 
-DISTNAME=		darkstat-3.0.540
-PKGNAME=		${DISTNAME}p1
+DISTNAME=		darkstat-3.0.619
+#PKGNAME=		${DISTNAME}
 CATEGORIES=		net www
 
 HOMEPAGE=		http://dmr.ath.cx/net/darkstat/
@@ -20,6 +20,7 @@ MASTER_SITES=		${HOMEPAGE}
 EXTRACT_SUFX=		.tar.bz2
 
 CONFIGURE_STYLE=	gnu
+CONFIGURE_ARGS+=	--with-privdrop-user=_darkstat
 
 NO_REGRESS=		Yes
 
Index: net/darkstat/distinfo
===================================================================
RCS file: /cvs/ports/net/darkstat/distinfo,v
retrieving revision 1.5
diff -u -p -r1.5 distinfo
--- net/darkstat/distinfo	2007/04/05 16:20:08	1.5
+++ net/darkstat/distinfo	2007/04/28 16:21:39
@@ -1,5 +1,5 @@
-MD5 (darkstat-3.0.540.tar.bz2) = SYJWxme0+nmlUaw2JqK6hg==
-RMD160 (darkstat-3.0.540.tar.bz2) = ye42pTgb/CbIF1n0zeYVOrrEJkw=
-SHA1 (darkstat-3.0.540.tar.bz2) = qsoroHyEebe/I5MmGwCT9Wh0Z2Y=
-SHA256 (darkstat-3.0.540.tar.bz2) = DbGyaE6ohxxYfInD3cTZMC9+iF/w7EAVEMQkRfWne7Q=
-SIZE (darkstat-3.0.540.tar.bz2) = 75293
+MD5 (darkstat-3.0.619.tar.bz2) = sw5rUcs8+EJUR2wRQPCOFw==
+RMD160 (darkstat-3.0.619.tar.bz2) = OfyPqeSbfP5zkX2XoGLNiFXziCg=
+SHA1 (darkstat-3.0.619.tar.bz2) = 04rrbGp3syTNHiZ2JfQFCbNYqDo=
+SHA256 (darkstat-3.0.619.tar.bz2) = 5QrTQx+MPIFyyHi3uQc+maSAKtICc5ptrXksuPfPwb4=
+SIZE (darkstat-3.0.619.tar.bz2) = 82508
Index: net/darkstat/patches/patch-cap_c
===================================================================
RCS file: net/darkstat/patches/patch-cap_c
diff -N net/darkstat/patches/patch-cap_c
--- net/darkstat/patches/patch-cap_c	Sat Apr 28 16:21:40 2007
+++ /dev/null	Sat Aug 30 18:16:59 1997
@@ -1,112 +0,0 @@
-$OpenBSD: patch-cap_c,v 1.4 2007/02/12 18:07:12 ckuethe Exp $
---- cap.c.orig	Mon Feb 12 10:50:08 2007
-+++ cap.c	Mon Feb 12 10:50:23 2007
-@@ -43,7 +43,7 @@ static const linkhdr_t *linkhdr = NULL;
-  * Init pcap.  Exits on failure.
-  */
- void
--cap_init(const char *device, const char *filter)
-+cap_init(const char *device, const char *filter, int promisc)
- {
-    char errbuf[PCAP_ERRBUF_SIZE], *tmp_device;
-    int linktype, caplen;
-@@ -79,7 +79,7 @@ cap_init(const char *device, const char 
-    pcap = pcap_open_live(
-       tmp_device,
-       caplen,      /* snaplen */
--      1,           /* promisc, FIXME */
-+      promisc,           /* promisc */
-       CAP_TIMEOUT,
-       errbuf);
- 
-@@ -91,6 +91,11 @@ cap_init(const char *device, const char 
- 
-    free(tmp_device);
- 
-+   if (promisc)
-+      verbosef("capturing in promiscuous mode");
-+   else
-+      verbosef("capturing in non-promiscuous mode");
-+
-    /* Set filter expression, if any. */
-    if (filter != NULL)
-    {
-@@ -112,28 +117,13 @@ cap_init(const char *device, const char 
-       free(tmp_filter);
-    }
- 
--#ifdef HAVE_PCAP_GET_SELECTABLE_FD
--   if (pcap_setnonblock(pcap, 1, errbuf) == -1)
--      errx(1, "pcap_setnonblock(): %s", errbuf);
--
--   pcap_fd = pcap_get_selectable_fd(pcap);
--   if (pcap_fd == -1)
--      errx(1, "pcap_get_selectable_fd(): there isn't one!");
--
--   verbosef("pcap_got_selectable_fd");
--#else
--   /* hax */
-    pcap_fd = pcap_fileno(pcap);
- 
-+   /* set non-blocking */
- { int one = 1;
-    if (ioctl(pcap_fd, FIONBIO, &one) == -1)
-       err(1, "ioctl(pcap_fd, FIONBIO)"); }
- 
--{ struct timeval t = { 0, CAP_TIMEOUT * 1000 }; /* msec -> usec */
--   if (ioctl(pcap_fd, BIOCSRTIMEOUT, &t) == -1)
--      err(1, "ioctl(pcap_fd, BIOCSRTIMEOUT)"); }
--#endif
--
- #ifdef BIOCSETWF
- {
-    /* Deny all writes to the socket */
-@@ -151,6 +141,7 @@ cap_init(const char *device, const char 
- #endif
- 
- #ifdef BIOCLOCK
-+   /* set "locked" flag (no reset) */
-    if (ioctl(pcap_fd, BIOCLOCK) == -1)
-       err(1, "ioctl(pcap_fd, BIOCLOCK)");
-    verbosef("locked down BPF for security");
-@@ -190,7 +181,7 @@ cap_poll(fd_set *read_set)
- 
- #ifndef linux /* We don't use select() on Linux. */
-    if (!FD_ISSET(pcap_fd, read_set)) {
--      dverbosef("cap_poll premature");
-+      verbosef("cap_poll premature");
-       return;
-    }
- #endif
-@@ -202,19 +193,29 @@ cap_poll(fd_set *read_set)
-    localip_update(); /* FIXME: this might even be too often */
- 
-    total = 0;
--   do {
-+   for (;;) {
-       ret = pcap_dispatch(
-             pcap,
-             -1,               /* count, -1 = entire buffer */
-             linkhdr->handler, /* callback func from decode.c */
-             NULL);            /* user */
- 
-+      verbosef("ret = %d", ret); /* FIXME: debugging the FIONBIO change */
-+
-       if (ret < 0)
-          errx(1, "pcap_dispatch(): %s", pcap_geterr(pcap));
- 
-       /* Despite count = -1, Linux will only dispatch one packet at a time. */
-       total += ret;
--   } while (ret != 0);
-+
-+#ifdef linux
-+      /* keep looping until we've dispatched all the outstanding packets */
-+      if (ret == 0) break;
-+#else
-+      /* we get them all on the first shot */
-+      break;
-+#endif
-+   }
-    /*FIXME*/fprintf(stderr, "%-20d\r", total);
- }
- 
Index: net/darkstat/patches/patch-cap_h
===================================================================
RCS file: net/darkstat/patches/patch-cap_h
diff -N net/darkstat/patches/patch-cap_h
--- net/darkstat/patches/patch-cap_h	Sat Apr 28 16:21:40 2007
+++ /dev/null	Sat Aug 30 18:16:59 1997
@@ -1,15 +0,0 @@
-$OpenBSD: patch-cap_h,v 1.3 2007/02/12 18:07:12 ckuethe Exp $
---- cap.h.orig	Mon Feb 12 10:50:08 2007
-+++ cap.h	Mon Feb 12 10:50:21 2007
-@@ -5,9 +5,10 @@
-  */
- 
- #include <sys/types.h> /* OpenBSD needs this before select */
-+#include <sys/time.h> /* FreeBSD 4 needs this for struct timeval */
- #include <sys/select.h>
- 
--void cap_init(const char *device, const char *filter);
-+void cap_init(const char *device, const char *filter, int promisc);
- void cap_fd_set(fd_set *read_set, int *max_fd,
-    struct timeval *timeout, int *need_timeout);
- void cap_poll(fd_set *read_set);
Index: net/darkstat/patches/patch-configure_ac
===================================================================
RCS file: net/darkstat/patches/patch-configure_ac
diff -N net/darkstat/patches/patch-configure_ac
--- net/darkstat/patches/patch-configure_ac	Sat Apr 28 16:21:40 2007
+++ /dev/null	Sat Aug 30 18:16:59 1997
@@ -1,31 +0,0 @@
-$OpenBSD: patch-configure_ac,v 1.1 2006/11/11 18:11:09 ckuethe Exp $
---- configure.ac.orig	Sun Aug  6 20:20:54 2006
-+++ configure.ac	Fri Nov  3 17:59:07 2006
-@@ -114,27 +114,6 @@ fi
- 
- 
- 
--# Check for pcap_get_selectable_fd()
--AC_CHECK_LIB(pcap, pcap_get_selectable_fd,
-- [AC_DEFINE(HAVE_PCAP_GET_SELECTABLE_FD, 1,
--  [Define to 1 if libpcap has pcap_get_selectable_fd().])],
-- [cat <<END_MSG
--$RULE
--
--Your libpcap doesn't implement pcap_get_selectable_fd()
--This is indicative of an outdated libpcap.
--
--A workaround for this has been enabled (in cap.c) which may
--or may not work in your situation.  Either way, I would
--suggest that you upgrade the libpcap on your system and
--re-run configure.
--
--$RULE
--END_MSG
--])
--
--
--
- # A real OS will have err.h
- AC_CHECK_HEADERS(err.h)
- 
Index: net/darkstat/patches/patch-darkstat_1
===================================================================
RCS file: net/darkstat/patches/patch-darkstat_1
diff -N net/darkstat/patches/patch-darkstat_1
--- net/darkstat/patches/patch-darkstat_1	Sat Apr 28 16:21:40 2007
+++ /dev/null	Sat Aug 30 18:16:59 1997
@@ -1,26 +0,0 @@
-$OpenBSD: patch-darkstat_1,v 1.1 2007/02/12 17:38:03 ckuethe Exp $
---- darkstat.1.orig	Sun Jul  2 03:22:13 2006
-+++ darkstat.1	Mon Feb 12 10:29:53 2007
-@@ -14,6 +14,9 @@ darkstat v3 \- network statistics gather
- [
- .BI \-d
- ]
-+[
-+.BI \-n
-+]
- .BI \-i " interface"
- [
- .BI \-p " port"
-@@ -37,6 +40,12 @@ All settings are passed on the commandli
- .TP
- .BI \-d
- Detach from the controlling terminal and run in the background.
-+.\"
-+.TP
-+.BI \-n
-+Do not use promiscuous mode to capture.
-+Note that an interface may already be in promiscuous mode.
-+If this is a problem, use an appropriate bpf(4) filter.
- .\"
- .TP
- .BI \-i " interface"
Index: net/darkstat/patches/patch-darkstat_c
===================================================================
RCS file: net/darkstat/patches/patch-darkstat_c
diff -N net/darkstat/patches/patch-darkstat_c
--- net/darkstat/patches/patch-darkstat_c	Sat Apr 28 16:21:40 2007
+++ /dev/null	Sat Aug 30 18:16:59 1997
@@ -1,46 +0,0 @@
-$OpenBSD: patch-darkstat_c,v 1.1 2007/02/12 17:38:03 ckuethe Exp $
---- darkstat.c.orig	Mon Jun 26 07:19:31 2006
-+++ darkstat.c	Mon Feb 12 10:29:53 2007
-@@ -54,7 +54,7 @@ parse_port(const char *str)
- static void
- usage(const char *arg0)
- {
--   printf("usage: %s [-d] -i interface [-p port] [-b bindaddr] [-f filter]\n",
-+   printf("usage: %s [-d] [-n] -i interface [-p port] [-b bindaddr] [-f filter]\n",
-       arg0);
-    exit(EXIT_FAILURE);
- }
-@@ -68,7 +68,7 @@ main(int argc, char **argv)
-    int maxconn = -1;
-    const char *interface = NULL;
-    const char *filter = NULL;
--   int ch, want_daemonize = 0;
-+   int ch, want_daemonize = 0, want_promisc = 1;
- 
-    printf(PACKAGE_STRING " using libpcap %d.%d\n",
-       PCAP_VERSION_MAJOR, PCAP_VERSION_MINOR);
-@@ -76,11 +76,14 @@ main(int argc, char **argv)
-    if (close(STDIN_FILENO) == -1)
-       warn("close(stdin)");
- 
--   while ((ch = getopt(argc, argv, "di:p:b:f:")) != -1) {
-+   while ((ch = getopt(argc, argv, "dni:p:b:f:")) != -1) {
-    switch (ch) {
-    case 'd':
-       want_daemonize = 1;
-       break;
-+   case 'n':
-+      want_promisc = 0;
-+      break;
-    case 'i':
-       interface = optarg;
-       break;
-@@ -113,7 +116,7 @@ main(int argc, char **argv)
-    dns_init(); /* do this first as it forks - minimize memory use */
- 
-    /* Need root privs for these: */
--   cap_init(interface, filter);
-+   cap_init(interface, filter, want_promisc);
-    http_init(bindaddr, bindport, maxconn);
-    ncache_init(); /* don't need priv, but must do before chroot */
- 
Index: net/darkstat/patches/patch-decode_c
===================================================================
RCS file: net/darkstat/patches/patch-decode_c
diff -N net/darkstat/patches/patch-decode_c
--- net/darkstat/patches/patch-decode_c	Sat Apr 28 16:21:40 2007
+++ /dev/null	Sat Aug 30 18:16:59 1997
@@ -1,13 +0,0 @@
-$OpenBSD: patch-decode_c,v 1.1 2006/11/11 18:11:09 ckuethe Exp $
---- decode.c.orig	Sun Aug  6 18:26:32 2006
-+++ decode.c	Fri Nov  3 17:58:32 2006
-@@ -70,7 +70,9 @@ static const linkhdr_t linkhdrs[] = {
-    { DLT_PPP,       PPP_HDR_LEN,   NULL },
-    { DLT_FDDI,      FDDI_HDR_LEN,  NULL },
-    { DLT_PPP_ETHER, PPPOE_HDR_LEN, decode_pppoe },
-+#ifdef DLT_LINUX_SLL
-    { DLT_LINUX_SLL, SLL_HDR_LEN,   decode_linux_sll },
-+#endif
-    { -1, -1, NULL }
- };
- 
Index: net/darkstat/pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/darkstat/pkg/PLIST,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 PLIST
--- net/darkstat/pkg/PLIST	2006/06/18 17:26:20	1.1.1.1
+++ net/darkstat/pkg/PLIST	2007/04/28 16:21:40
@@ -1,3 +1,5 @@
 @comment $OpenBSD: PLIST,v 1.1.1.1 2006/06/18 17:26:20 jasper Exp $
+@newgroup _darkstat:587
+@newuser _darkstat:587:_darkstat::Darkstat Network Monitor Account:/nonexistent:/sbin/nologin
 @man man/man1/darkstat.1
 sbin/darkstat


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic