update to darkstat 3.0.619.
ok rui
This commit is contained in:
parent
b5b4c072dd
commit
3c2be6022b
@ -1,4 +1,4 @@
|
||||
$OpenBSD: user.list,v 1.72 2007/04/27 21:12:25 ajacoutot Exp $
|
||||
$OpenBSD: user.list,v 1.73 2007/05/14 21:42:47 ckuethe Exp $
|
||||
|
||||
This file lists all users and groups that are created by ports or that
|
||||
users are encouraged to create after installing a port (these are marked
|
||||
@ -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
|
||||
|
@ -1,9 +1,8 @@
|
||||
# $OpenBSD: Makefile,v 1.5 2007/02/12 18:07:12 ckuethe Exp $
|
||||
# $OpenBSD: Makefile,v 1.6 2007/05/14 21:42:47 ckuethe Exp $
|
||||
|
||||
COMMENT= "network statistics gatherer with graphs"
|
||||
|
||||
DISTNAME= darkstat-3.0.540
|
||||
PKGNAME= ${DISTNAME}p1
|
||||
DISTNAME= darkstat-3.0.619
|
||||
CATEGORIES= net www
|
||||
|
||||
HOMEPAGE= http://dmr.ath.cx/net/darkstat/
|
||||
@ -20,6 +19,7 @@ MASTER_SITES= ${HOMEPAGE}
|
||||
EXTRACT_SUFX= .tar.bz2
|
||||
|
||||
CONFIGURE_STYLE= gnu
|
||||
CONFIGURE_ARGS+= --with-privdrop-user=_darkstat
|
||||
|
||||
NO_REGRESS= Yes
|
||||
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
@ -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)
|
||||
|
@ -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"
|
@ -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 */
|
||||
|
@ -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 }
|
||||
};
|
||||
|
@ -1,3 +1,5 @@
|
||||
@comment $OpenBSD: PLIST,v 1.1.1.1 2006/06/18 17:26:20 jasper Exp $
|
||||
@comment $OpenBSD: PLIST,v 1.2 2007/05/14 21:42:47 ckuethe Exp $
|
||||
@newgroup _darkstat:587
|
||||
@newuser _darkstat:587:_darkstat::Darkstat Network Monitor Account:/nonexistent:/sbin/nologin
|
||||
@man man/man1/darkstat.1
|
||||
sbin/darkstat
|
||||
|
Loading…
x
Reference in New Issue
Block a user