summaryrefslogtreecommitdiffstats
path: root/net-mgmt/bandwidthd
diff options
context:
space:
mode:
authorkrion <krion@FreeBSD.org>2003-11-06 09:15:28 +0000
committerkrion <krion@FreeBSD.org>2003-11-06 09:15:28 +0000
commit7b70435edd5051214fd61d7873c9b7391bb7d8dd (patch)
tree83788bc50b738e79733d3f0faa5348ce47523bb6 /net-mgmt/bandwidthd
parentbc0064c44428f240862a693428c832b6e9018038 (diff)
downloadFreeBSD-ports-7b70435edd5051214fd61d7873c9b7391bb7d8dd.zip
FreeBSD-ports-7b70435edd5051214fd61d7873c9b7391bb7d8dd.tar.gz
bandwidthd tracks usage of TCP/IP network subnets and
builds HTML files with graphs to display network utilization. Charts are built by individual IP. It color codes HTTP, TCP, UDP, ICMP, VPN, and P2P traffic. Unlike MRTG, it tracks each individual IP address, not the status of any particular link. PR: 58830 Submitted by: Clement Laforet <sheepkiller@cultdeadsheep.org>
Diffstat (limited to 'net-mgmt/bandwidthd')
-rw-r--r--net-mgmt/bandwidthd/Makefile33
-rw-r--r--net-mgmt/bandwidthd/distinfo1
-rw-r--r--net-mgmt/bandwidthd/files/bandwidthd.sh22
-rw-r--r--net-mgmt/bandwidthd/files/patch-Makefile40
-rw-r--r--net-mgmt/bandwidthd/files/patch-bandwidthd.c23
-rw-r--r--net-mgmt/bandwidthd/files/patch-conf.tab.c19
-rw-r--r--net-mgmt/bandwidthd/files/patch-conf.y14
-rw-r--r--net-mgmt/bandwidthd/files/patch-graph.c50
-rw-r--r--net-mgmt/bandwidthd/pkg-descr6
-rw-r--r--net-mgmt/bandwidthd/pkg-plist9
10 files changed, 217 insertions, 0 deletions
diff --git a/net-mgmt/bandwidthd/Makefile b/net-mgmt/bandwidthd/Makefile
new file mode 100644
index 0000000..5108087
--- /dev/null
+++ b/net-mgmt/bandwidthd/Makefile
@@ -0,0 +1,33 @@
+# New ports collection makefile for: bandwidthd
+# Date created: Sun Nov 2
+# Whom: Clement Laforet <sheepkiller@cultdeadsheep.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= bandwidthd
+PORTVERSION= 1.1.5
+CATEGORIES= net
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= sheepkiller@cultdeadsheep.org
+COMMENT= Tracks bandwidth usage by IP address
+
+LIB_DEPENDS+= gd.4:${PORTSDIR}/graphics/gd
+
+USE_GMAKE= YES
+USE_REINPLACE= YES
+CFLAGS+= -DFREEBSD -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+MAKE_ENV+= LDFLAGS="${LDFLAGS}"
+
+post-patch:
+ @${REINPLACE_CMD} -e 's!localtime(!localtime((time_t *)!' ${WRKSRC}/graph.c
+
+post-install:
+ @${INSTALL_SCRIPT} ${FILESDIR}/bandwidthd.sh \
+ ${PREFIX}/etc/rc.d/bandwidthd.sh.sample
+
+.include <bsd.port.mk>
diff --git a/net-mgmt/bandwidthd/distinfo b/net-mgmt/bandwidthd/distinfo
new file mode 100644
index 0000000..62384ea
--- /dev/null
+++ b/net-mgmt/bandwidthd/distinfo
@@ -0,0 +1 @@
+MD5 (bandwidthd-1.1.5.tgz) = a1376f78f7f3414bb95ce76f1a9deac7
diff --git a/net-mgmt/bandwidthd/files/bandwidthd.sh b/net-mgmt/bandwidthd/files/bandwidthd.sh
new file mode 100644
index 0000000..7dd2836
--- /dev/null
+++ b/net-mgmt/bandwidthd/files/bandwidthd.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
+ echo "$0: Cannot determine the PREFIX" >&2
+ exit 1
+fi
+
+case "$1" in
+ start)
+ [ -x ${PREFIX}/bandwidthd ] && \
+ [ -r ${PREFIX}/bandwidthd/etc/bandwidthd.conf ] && \
+ cd ${PREFIX}/bandwidthd && ./bandwidthd &&\
+ echo -n ' bandwidthd'
+
+ ;;
+ stop)
+ killall bandwidthd && echo -n ' bandwidthd'
+ ;;
+ *)
+ echo "Usage: `basename $0` {start|stop}" >&2
+ ;;
+esac
diff --git a/net-mgmt/bandwidthd/files/patch-Makefile b/net-mgmt/bandwidthd/files/patch-Makefile
new file mode 100644
index 0000000..a556b56
--- /dev/null
+++ b/net-mgmt/bandwidthd/files/patch-Makefile
@@ -0,0 +1,40 @@
+--- Makefile.orig Mon Sep 22 20:48:07 2003
++++ Makefile Sun Nov 2 12:28:29 2003
+@@ -1,7 +1,7 @@
+ #Possible optimizations -fomit-frame-pointer -ffast-math
+ OBS= bandwidthd.o graph.o conf.tab.o conf.l.o
+-LIBS= -lgd -lpng -lpcap
+-CFLAGS= -O3 -Wall
++LIBS+= -lgd -lpng -lpcap ${LDFLAGS}
++CFLAGS+=
+ NONWALLCFLAGS= -O3 #-g -DDEBUG
+
+ # Debugging stuff
+@@ -20,7 +20,7 @@
+ $(CC) $(CFLAGS) $(OBS) -o bandwidthd $(LIBS)
+
+ conf.tab.c: conf.y
+- bison -d conf.y
++ yacc -d conf.y
+
+ conf.l.c: conf.l
+ lex -s -i -t -I conf.l > conf.l.c
+@@ -34,12 +34,12 @@
+ rm -f *.o bandwidthd *~ conf.tab.c conf.tab.h conf.l.c DEADJOE
+
+ install: all
+- mkdir -p /usr/local/bandwidthd/etc
+- mkdir -p /usr/local/bandwidthd/htdocs
+- cp bandwidthd /usr/local/bandwidthd
+- cp etc/bandwidthd.conf /usr/local/bandwidthd/etc/
+- cp htdocs/legend.gif /usr/local/bandwidthd/htdocs/
+- cp htdocs/logo.gif /usr/local/bandwidthd/htdocs/
++ mkdir -p ${PREFIX}/bandwidthd/etc
++ mkdir -p ${PREFIX}/bandwidthd/htdocs
++ cp bandwidthd ${PREFIX}/bandwidthd
++ cp etc/bandwidthd.conf ${PREFIX}/bandwidthd/etc/bandwidthd.conf-dist
++ cp htdocs/legend.gif ${PREFIX}/bandwidthd/htdocs/
++ cp htdocs/logo.gif ${PREFIX}/bandwidthd/htdocs/
+
+ #**** Stuff where -WALL is turned off to reduce the noise in a compile so I can see my own errors *******************
+ conf.l.o: conf.l.c
diff --git a/net-mgmt/bandwidthd/files/patch-bandwidthd.c b/net-mgmt/bandwidthd/files/patch-bandwidthd.c
new file mode 100644
index 0000000..966db72
--- /dev/null
+++ b/net-mgmt/bandwidthd/files/patch-bandwidthd.c
@@ -0,0 +1,23 @@
+--- bandwidthd.c.orig Fri Oct 10 20:22:39 2003
++++ bandwidthd.c Sun Nov 2 12:21:17 2003
+@@ -114,7 +114,11 @@
+ }
+ else
+ {
++#ifndef FREEBSD
+ printf("My shared memory segment %d is already in use (%ld locks), perhaps bandwidthd is already running in this directory?\n", shmid, shmstatus.shm_nattch);
++#else
++ printf("My shared memory segment %d is already in use (%hd locks), perhaps bandwidthd is already running in this directory?\n", shmid, shmstatus.shm_nattch);
++#endif
+ exit(1);
+ }
+ }
+@@ -244,7 +248,7 @@
+ tcp = (struct tcphdr *)(ip+1);
+ tcp = (struct tcphdr *) ( ((char *)tcp) + ((ip->ip_hl-5)*4) ); // Compensate for IP Options
+ Stats->tcp += size;
+-#ifdef SOLARIS
++#if defined(SOLARIS) || defined(FREEBSD)
+ sport = ntohs(tcp->th_sport);
+ dport = ntohs(tcp->th_dport);
+ #else
diff --git a/net-mgmt/bandwidthd/files/patch-conf.tab.c b/net-mgmt/bandwidthd/files/patch-conf.tab.c
new file mode 100644
index 0000000..ad318ab
--- /dev/null
+++ b/net-mgmt/bandwidthd/files/patch-conf.tab.c
@@ -0,0 +1,19 @@
+--- conf.tab.c.orig Sun Sep 14 10:34:01 2003
++++ conf.tab.c Sun Nov 2 12:21:17 2003
+@@ -23,11 +23,15 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <unistd.h>
++#ifdef FREEBSD
++#include <stdlib.h>
++#else
+ #include <malloc.h>
++#endif
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <signal.h>
+-#include <wait.h>
++#include <sys/wait.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
diff --git a/net-mgmt/bandwidthd/files/patch-conf.y b/net-mgmt/bandwidthd/files/patch-conf.y
new file mode 100644
index 0000000..76a5852
--- /dev/null
+++ b/net-mgmt/bandwidthd/files/patch-conf.y
@@ -0,0 +1,14 @@
+--- conf.y.orig Sun Sep 14 10:33:53 2003
++++ conf.y Sun Nov 2 12:21:18 2003
+@@ -2,7 +2,11 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <unistd.h>
++#ifdef FREEBSD
++#include <stdlib.h>
++#else
+ #include <malloc.h>
++#endif
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <signal.h>
diff --git a/net-mgmt/bandwidthd/files/patch-graph.c b/net-mgmt/bandwidthd/files/patch-graph.c
new file mode 100644
index 0000000..3aa368d
--- /dev/null
+++ b/net-mgmt/bandwidthd/files/patch-graph.c
@@ -0,0 +1,50 @@
+--- graph.c.orig Fri Oct 10 21:01:31 2003
++++ graph.c Sun Nov 2 12:21:18 2003
+@@ -3,6 +3,11 @@
+ #include <signal.h>
+ #include <string.h>
+ #include <netdb.h>
++#ifdef FREEBSD
++#include <netinet/in.h>
++#include <arpa/nameser.h>
++#include <sys/types.h>
++#endif
+ #include <sys/socket.h>
+ #include <resolv.h>
+ #include <time.h>
+@@ -753,7 +758,7 @@
+ // **** Write the red day seperator bars
+ // ********************************************************************
+
+- timestruct = localtime(&sample_begin);
++ timestruct = localtime((time_t *)(time_t *)&sample_begin);
+ timestruct->tm_sec = 0;
+ timestruct->tm_min = 0;
+ timestruct->tm_hour = 0;
+@@ -772,7 +777,7 @@
+ gdImageLine(im, x, 0, x, YHEIGHT-YOFFSET, red);
+ gdImageLine(im, x+1, 0, x+1, YHEIGHT-YOFFSET, red);
+
+- timestruct = localtime(&MarkTime);
++ timestruct = localtime((time_t *)(time_t *)&MarkTime);
+ strftime(buffer, 100, "%a, %b %d", timestruct);
+ gdImageString(im, gdFontSmall, x-30, YHEIGHT-YOFFSET+10, buffer, black);
+
+@@ -786,7 +791,7 @@
+ // **** Write the tic marks
+ // ********************************************************************
+
+- timestruct = localtime(&sample_begin);
++ timestruct = localtime((time_t *)(time_t *)&sample_begin);
+ timestruct->tm_sec = 0;
+ timestruct->tm_min = 0;
+ timestruct->tm_hour = 0;
+@@ -803,7 +808,7 @@
+ x = (MarkTime-sample_begin)*((XWIDTH-XOFFSET)/RANGE1) + XOFFSET;
+ }
+
+- timestruct = localtime(&sample_begin);
++ timestruct = localtime((time_t *)(time_t *)&sample_begin);
+ timestruct->tm_sec = 0;
+ timestruct->tm_min = 0;
+ timestruct->tm_hour = 0;
diff --git a/net-mgmt/bandwidthd/pkg-descr b/net-mgmt/bandwidthd/pkg-descr
new file mode 100644
index 0000000..bcb67c8
--- /dev/null
+++ b/net-mgmt/bandwidthd/pkg-descr
@@ -0,0 +1,6 @@
+bandwidthd tracks usage of TCP/IP network subnets and builds HTML files with
+graphs to display network utilization. Charts are built by individual IP. It
+color codes HTTP, TCP,UDP, ICMP, VPN, and P2P traffic. Unlike MRTG, it tracks
+each individual IP address, not the status of any particular link.
+
+WWW: http://bandwidthd.sourceforge.net/
diff --git a/net-mgmt/bandwidthd/pkg-plist b/net-mgmt/bandwidthd/pkg-plist
new file mode 100644
index 0000000..ecacdc3
--- /dev/null
+++ b/net-mgmt/bandwidthd/pkg-plist
@@ -0,0 +1,9 @@
+@comment $FreeBSD$
+bandwidthd/etc/bandwidthd.conf-dist
+bandwidthd/bandwidthd
+bandwidthd/htdocs/legend.gif
+bandwidthd/htdocs/logo.gif
+etc/rc.d/bandwidthd.sh.sample
+@unexec rmdir %D/bandwidthd/etc 2> /dev/null || true
+@unexec rmdir %D/bandwidthd/htdocs 2> /dev/null || true
+@unexec rmdir %D/bandwidthd 2> /dev/null || echo "If you do not plan on reinstalling bandwidthd, you can safely remove %D/bandwidthd"
OpenPOWER on IntegriCloud