diff options
author | krion <krion@FreeBSD.org> | 2003-11-06 09:15:28 +0000 |
---|---|---|
committer | krion <krion@FreeBSD.org> | 2003-11-06 09:15:28 +0000 |
commit | 7b70435edd5051214fd61d7873c9b7391bb7d8dd (patch) | |
tree | 83788bc50b738e79733d3f0faa5348ce47523bb6 /net-mgmt/bandwidthd | |
parent | bc0064c44428f240862a693428c832b6e9018038 (diff) | |
download | FreeBSD-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/Makefile | 33 | ||||
-rw-r--r-- | net-mgmt/bandwidthd/distinfo | 1 | ||||
-rw-r--r-- | net-mgmt/bandwidthd/files/bandwidthd.sh | 22 | ||||
-rw-r--r-- | net-mgmt/bandwidthd/files/patch-Makefile | 40 | ||||
-rw-r--r-- | net-mgmt/bandwidthd/files/patch-bandwidthd.c | 23 | ||||
-rw-r--r-- | net-mgmt/bandwidthd/files/patch-conf.tab.c | 19 | ||||
-rw-r--r-- | net-mgmt/bandwidthd/files/patch-conf.y | 14 | ||||
-rw-r--r-- | net-mgmt/bandwidthd/files/patch-graph.c | 50 | ||||
-rw-r--r-- | net-mgmt/bandwidthd/pkg-descr | 6 | ||||
-rw-r--r-- | net-mgmt/bandwidthd/pkg-plist | 9 |
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" |