summaryrefslogtreecommitdiff
path: root/net/ipa
diff options
context:
space:
mode:
authormjl <mjl@pkgsrc.org>2001-10-21 22:50:01 +0000
committermjl <mjl@pkgsrc.org>2001-10-21 22:50:01 +0000
commita2d6a2c4a5b49b06c019f6cb4adc75fc63696c83 (patch)
tree07d2dd297990995fe62033fe1759d46f5b2207a7 /net/ipa
parentf1d3c838c852c6355ae0dcb61c4778fab9106f7d (diff)
downloadpkgsrc-a2d6a2c4a5b49b06c019f6cb4adc75fc63696c83.tar.gz
Initial import of ipa, an IP accounting package, as provided by
Andrey Simonenko in PR/14281. IPA allows to make IP accounting (network accounting) based on IP Filter accounting rules on NetBSD, OpenBSD and FreeBSD. It supports limits for accounting rules and limits events as "limit is reached", "reached limit is expired", etc. It understands time intervals like "end of day", "end of week", "end of month", etc. There is a special viewer for accounting database and access control lists which allow or disallow one to view accounting information for rules.
Diffstat (limited to 'net/ipa')
-rw-r--r--net/ipa/Makefile17
-rw-r--r--net/ipa/distinfo6
-rw-r--r--net/ipa/patches/patch-aa84
-rw-r--r--net/ipa/patches/patch-ab72
-rw-r--r--net/ipa/pkg/DESCR16
-rw-r--r--net/ipa/pkg/PLIST20
6 files changed, 215 insertions, 0 deletions
diff --git a/net/ipa/Makefile b/net/ipa/Makefile
new file mode 100644
index 00000000000..ef6d98a0ac9
--- /dev/null
+++ b/net/ipa/Makefile
@@ -0,0 +1,17 @@
+# $NetBSD: Makefile,v 1.1.1.1 2001/10/21 22:50:01 mjl Exp $
+
+DISTNAME= ipa-1.1.6
+CATEGORIES= net sysutils
+MASTER_SITES= http://www.simon.org.ua/ipa/
+
+MAINTAINER= simon@simon.org.ua
+HOMEPAGE= http://www.simon.org.ua/ipa/
+COMMENT= IP accounting software
+
+RESTRICTED= "Needs to be built uniquely for each site"
+NO_BIN_ON_FTP= ${RESTRICTED}
+NO_BIN_ON_CDROM= ${RESTRICTED}
+
+ALL_TARGET= NetBSD
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/ipa/distinfo b/net/ipa/distinfo
new file mode 100644
index 00000000000..676d662079f
--- /dev/null
+++ b/net/ipa/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2001/10/21 22:50:01 mjl Exp $
+
+SHA1 (ipa-1.1.6.tar.gz) = 4046dbbb38629cb5211ba55fecc263a37b0b18ef
+Size (ipa-1.1.6.tar.gz) = 122587 bytes
+SHA1 (patch-aa) = 26764c28ea43cf82fd71f64141d08f309b7902ec
+SHA1 (patch-ab) = 106201f2346edce3834539f7b7b2e39292aadb47
diff --git a/net/ipa/patches/patch-aa b/net/ipa/patches/patch-aa
new file mode 100644
index 00000000000..49482b556b5
--- /dev/null
+++ b/net/ipa/patches/patch-aa
@@ -0,0 +1,84 @@
+$NetBSD: patch-aa,v 1.1.1.1 2001/10/21 22:50:01 mjl Exp $
+
+--- Makefile.orig Wed Oct 3 18:27:19 2001
++++ Makefile Wed Oct 10 20:09:57 2001
+@@ -38,32 +38,32 @@
+ # -Ox - optimize (it seems that -O3 also help to find out some errors);
+ # -g - produce debugging information.
+ #
+-CFLAGS= -Wall -O -g
++#CFLAGS= -Wall -O -g
+
+ #
+ # DSTBINDIR - where to install binaries
+ #
+-DSTBINDIR= /usr/local/bin
++DSTBINDIR= ${PREFIX}/bin
+
+ #
+ # DSTMANDIR - where to install manuals
+ #
+-DSTMANDIR= /usr/local/man
++DSTMANDIR= ${PREFIX}/man
+
+ #
+ # DSTETCDIR - where to install template configuration
+ #
+-DSTETCDIR= /usr/local/etc
++DSTETCDIR= ${PREFIX}/etc
+
+ #
+ # DSTRCDIR - where to install sample rc-script
+ #
+-DSTRCDIR= /usr/local/etc/rc.d
++DSTRCDIR= ${PREFIX}/etc/rc.d
+
+ #
+ # DSTSHAREDIR - where to install examples, etc.
+ #
+-DSTSHAREDIR= /usr/local/share/ipa
++DSTSHAREDIR= ${PREFIX}/share/examples/ipa
+
+ #
+ # IP6FW (FreeBSD only)
+@@ -204,10 +204,10 @@
+ @${ECHO}
+ .else
+ @${ECHO} ">> Installing binaries, manual pages and miscellaneous files"
+- ${INSTALL} -c -g wheel -o root -m 0555 ipa ipastat ${DSTBINDIR}
++ ${BSD_INSTALL_PROGRAM} ipa ipastat ${DSTBINDIR}
+ ${CHMOD} u+s ${DSTBINDIR}/ipastat
+- ${INSTALL} -c -g wheel -o root -m 0444 man/ipa.5 man/ipa.conf.5 ${DSTMANDIR}/man5
+- ${INSTALL} -c -g wheel -o root -m 0444 man/ipa.8 man/ipastat.8 ${DSTMANDIR}/man8
++ ${BSD_INSTALL_MAN} man/ipa.5 man/ipa.conf.5 ${DSTMANDIR}/man5
++ ${BSD_INSTALL_MAN} man/ipa.8 man/ipastat.8 ${DSTMANDIR}/man8
+ .if !exists(${DSTMANDIR}/ru_SU.KOI8-R/man5)
+ ${INSTALL} -d -m 0555 ${DSTMANDIR}/ru_SU.KOI8-R/man5
+ .endif
+@@ -217,12 +217,12 @@
+ .if !exists(${DSTMANDIR}/ru_RU.KOI8-R)
+ ${LN} -s ${DSTMANDIR}/ru_SU.KOI8-R ${DSTMANDIR}/ru_RU.KOI8-R
+ .endif
+- ${INSTALL} -c -g wheel -o root -m 0444 man/ru_RU.KOI8-R/ipa.5 man/ru_RU.KOI8-R/ipa.conf.5 ${DSTMANDIR}/ru_RU.KOI8-R/man5
+- ${INSTALL} -c -g wheel -o root -m 0444 man/ru_RU.KOI8-R/ipa.8 man/ru_RU.KOI8-R/ipastat.8 ${DSTMANDIR}/ru_RU.KOI8-R/man8
+- ${INSTALL} -d -m 0555 ${DSTSHAREDIR}/examples
+- ${INSTALL} -c -g wheel -o root -m 0444 examples/* ${DSTSHAREDIR}/examples
++ ${BSD_INSTALL_MAN} man/ru_RU.KOI8-R/ipa.5 man/ru_RU.KOI8-R/ipa.conf.5 ${DSTMANDIR}/ru_RU.KOI8-R/man5
++ ${BSD_INSTALL_MAN} man/ru_RU.KOI8-R/ipa.8 man/ru_RU.KOI8-R/ipastat.8 ${DSTMANDIR}/ru_RU.KOI8-R/man8
++ ${INSTALL} -d -m 0555 ${DSTSHAREDIR}
++ ${BSD_INSTALL_DATA} examples/* ${DSTSHAREDIR}
+ .if exists(${DSTRCDIR})
+- ${INSTALL} -c -g wheel -o root -m 0500 etc/ipa.sh.sample ${DSTRCDIR}
++ ${BSD_INSTALL_SCRIPT} etc/ipa.sh.sample ${DSTRCDIR}
+ .else
+ @${ECHO}
+ @${ECHO} ">> Can't find directory ${DSTRCDIR}, skip installing of ipa.sh.sample"
+@@ -230,7 +230,7 @@
+ @${ECHO}
+ .endif
+ .if exists(${DSTETCDIR})
+- ${INSTALL} -c -g wheel -o root -m 0400 etc/ipa.conf.default ${DSTETCDIR}
++ ${BSD_INSTALL_DATA} etc/ipa.conf.default ${DSTETCDIR}
+ .else
+ @${ECHO}
+ @${ECHO} ">> Can't find directory ${DSTETCDIR}, skip installing of ipa.conf.default"
diff --git a/net/ipa/patches/patch-ab b/net/ipa/patches/patch-ab
new file mode 100644
index 00000000000..8a06f4b654e
--- /dev/null
+++ b/net/ipa/patches/patch-ab
@@ -0,0 +1,72 @@
+$NetBSD: patch-ab,v 1.1.1.1 2001/10/21 22:50:01 mjl Exp $
+
+--- gensysinfo.orig Mon Jul 16 01:04:59 2001
++++ gensysinfo Mon Oct 22 00:41:55 2001
+@@ -2,5 +2,8 @@
+ #
++# Copyright (c) 2001 Andrey Simonenko
++#
+ # Generate information about system and generate IP Filter
+ # version number by parsing /usr/include/netinet/ipl.h or
+-# /usr/src/sys/netinet/ipl.h file.
++# /usr/src/sys/netinet/ipl.h file, or output of
++# the "/sbin/ipf -V" command.
+ #
+@@ -14,2 +17,4 @@
+
++IPF=/sbin/ipf
++
+ IPL_H=/usr/include/netinet/ipl.h
+@@ -17,10 +22,2 @@
+
+-if [ ! -f ${IPL_H} -a ! -f ${IPL_H_SRC} ]; then
+- ${ECHO}
+- ${ECHO} ">> Can't find file ${IPL_H} or ${IPL_H_SRC}."
+- ${ECHO} ">> Is IP Filter installed on this system?"
+- ${ECHO}
+- exit 1
+-fi
+-
+ if [ ! -f ${IPL_H} ]; then
+@@ -30,9 +27,26 @@
+ ${ECHO} "** Generating information about system"
+-SYSTEM="`${UNAME} -m`--`${UNAME} -s` `${UNAME} -r`"
++SYSTEM="`${UNAME} -s`/`${UNAME} -m` `${UNAME} -r`"
+ ${ECHO} " -- Your system: ${SYSTEM}"
+
+-${ECHO} "** Parsing file ${IPL_H}"
+-IPF_VERSION_ORIG=`${SED} -n '/^#[ ]*define[ ][ ]*IPL_VERSION[ ][ ]*.*\".*v\([[:digit:]][[:digit:]]*\(\.[[:digit:]][[:digit:]]*\)*\).*\".*$/s//\1/p' ${IPL_H}`
++# if [ ! -f ${IPL_H} -a ! -f ${IPL_H_SRC} ]; then
++# ${ECHO}
++# ${ECHO} ">> Can't find ${IPL_H}"
++# ${ECHO} ">> and ${IPL_H_SRC} file."
++# ${ECHO}
++if [ ! -f ${IPF} -o ! -x ${IPF} ]; then
++ ${ECHO} ">> Can't find ${IPF}, or it is not executable."
++ ${ECHO} ">> Is IP Filter installed on this system?"
++ ${ECHO}
++ exit 1
++fi
++ ${ECHO} "** Parsing output of \"${IPF} -V\" command"
++IPF_VERSION_ORIG=`${IPF} -V 2>&1 | ${SED} -n -e 's/^.*IP[ ]*Filter.*v\([[:digit:]][[:digit:]]*\(\.[[:digit:]][[:digit:]]*\)*\).*$/\1/p' | ${SED} -e '1q'`
++# else
++# ${ECHO} "** Parsing file ${IPL_H}"
++# IPF_VERSION_ORIG=`${SED} -n -e 's/^#[ ]*define[ ][ ]*IPL_VERSION[ ][ ]*.*\".*v\([[:digit:]][[:digit:]]*\(\.[[:digit:]][[:digit:]]*\)*\).*\".*$/\1/p' ${IPL_H}`
++# fi
++
+ IPF_VERSION_GEN=`${ECHO} ${IPF_VERSION_ORIG} | ${AWK} '
+- BEGIN { FS="." }
++ BEGIN { FS="."
++ err = 0 }
+ NF == 0 { err = 2 }
+@@ -48,3 +62,3 @@
+ ${ECHO}
+- ${ECHO} ">> Don't know how to convert IP Filter version ${IPF_VERSION_ORIG} to single decimal number"
++ ${ECHO} ">> Don't know how to convert IP Filter version ${IPF_VERSION_ORIG} to single decimal number."
+ ${ECHO}
+@@ -54,3 +68,4 @@
+ ${ECHO}
+- ${ECHO} ">> Can't find IP Filter version number in ${IPL_H}"
++ ${ECHO} ">> Found IP Filter version number \"${IPF_VERSION_ORIG}\" doesn't look like version number."
++ ${ECHO} ">> Can't determine IP Filter version number."
+ ${ECHO}
diff --git a/net/ipa/pkg/DESCR b/net/ipa/pkg/DESCR
new file mode 100644
index 00000000000..1ce43600f26
--- /dev/null
+++ b/net/ipa/pkg/DESCR
@@ -0,0 +1,16 @@
+IPA allows to make IP accounting (network accounting) based on
+IPv4/v6 Firewall (FreeBSD only) and/or IP Filter accounting rules
+on NetBSD, OpenBSD and FreeBSD.
+
+It supports limits for accounting rules and limits events as "limit is
+reached", "reached limit is expired", etc. It understands time intervals
+like "end of day", "end of week", "end of month", etc.
+
+There is special viewer for accounting database and access control lists,
+which allow or disallow one to view accounting information for rules.
+
+WWW: http://www.simon.org.ua/ipa/
+
+- Andrey Simonenko
+simon@simon.org.ua
+simon@comsys.ntu-kpi.kiev.ua
diff --git a/net/ipa/pkg/PLIST b/net/ipa/pkg/PLIST
new file mode 100644
index 00000000000..0018ef93d35
--- /dev/null
+++ b/net/ipa/pkg/PLIST
@@ -0,0 +1,20 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2001/10/21 22:50:01 mjl Exp $
+bin/ipa
+bin/ipastat
+etc/ipa.conf.default
+etc/rc.d/ipa.sh.sample
+man/man5/ipa.5
+man/man5/ipa.conf.5
+man/man8/ipa.8
+man/man8/ipastat.8
+man/ru_SU.KOI8-R/man5/ipa.5
+man/ru_SU.KOI8-R/man5/ipa.conf.5
+man/ru_SU.KOI8-R/man8/ipa.8
+man/ru_SU.KOI8-R/man8/ipastat.8
+share/examples/ipa/README
+share/examples/ipa/example-1
+share/examples/ipa/example-2
+@dirrm share/examples/ipa
+@unexec if [ -f %D/etc/rc.d/ipa.sh ]; then cmp -s %D/etc/rc.d/ipa.sh.sample %D/etc/rc.d/ipa.sh && rm -f %D/etc/rc.d/ipa.sh || echo "If you are permanently removing this pkg, you should do a ``rm ${PKG_PREFIX}/etc/rc.d/ipa.sh`` to remove startup files left." | fmt ; fi
+@unexec rmdir %D/man/ru_SU.KOI8-R/man8 %D/man/ru_SU.KOI8-R/man5 %D/man/ru_SU.KOI8-R 2>/dev/null || true
+@unexec if [ -L %D/man/ru_RU.KOI8-R ]; then rm %D/man/ru_RU.KOI8-R 2>/dev/null || true; else rmdir %D/man/ru_RU.KOI8-R/man8 %D/man/ru_RU.KOI8-R/man5 %D/man/ru_RU.KOI8-R && rm %D/man/ru_RU.KOI8-R 2>/dev/null || true ; fi