summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/tac_plus4/Makefile46
-rw-r--r--net/tac_plus4/distinfo1
-rw-r--r--net/tac_plus4/files/extra-patch-ba69
-rw-r--r--net/tac_plus4/files/patch-aa43
-rw-r--r--net/tac_plus4/files/patch-ab28
-rw-r--r--net/tac_plus4/files/patch-ac107
-rw-r--r--net/tac_plus4/files/tac_plus.conf.example76
-rw-r--r--net/tac_plus4/pkg-comment1
-rw-r--r--net/tac_plus4/pkg-descr136
-rw-r--r--net/tac_plus4/pkg-plist5
10 files changed, 512 insertions, 0 deletions
diff --git a/net/tac_plus4/Makefile b/net/tac_plus4/Makefile
new file mode 100644
index 000000000000..bc55d03d3750
--- /dev/null
+++ b/net/tac_plus4/Makefile
@@ -0,0 +1,46 @@
+# New ports collection makefile for: tac_plus
+# Version required: 2.1
+# Date created: 4 Mar 1997
+# Whom: Igor Vinokurov <igor@zynaps.ru>
+#
+# $FreeBSD$
+#
+
+DISTNAME= tac_plus.2.1
+PKGNAME= tac_plus-2.1
+CATEGORIES= net
+MASTER_SITES= http://www.FreeBSD.ORG/~andreas/download/
+
+MAINTAINER= andreas@FreeBSD.org
+
+USE_BZIP2= yes
+ALL_TARGET= tac_plus
+MAN8= tac_plus.8
+EXTRA_PATCH= patch-ba
+
+# To change the text displayed when users are prompted to enter
+# a username, set appropriately TAC_CHANGE_PROMPT variable.
+.if defined(TAC_CHANGE_PROMPT) && ${TAC_CHANGE_PROMPT} == YES
+pre-patch:
+ @${CP} ${FILESDIR}/${EXTRA_PATCH} ${PATCHDIR}
+.endif
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/tac_plus ${PREFIX}/sbin
+ ${INSTALL_MAN} ${WRKSRC}/tac_plus.1 ${PREFIX}/man/man8/tac_plus.8
+ ${INSTALL_DATA} ${FILESDIR}/tac_plus.conf.example ${PREFIX}/etc/
+ @if [ ! -f ${PREFIX}/etc/rc.d/tac_plus.sh ]; then \
+ ${ECHO} "Installing ${PREFIX}/etc/rc.d/tac_plus.sh startup file."; \
+ ${ECHO} "#!/bin/sh" > ${PREFIX}/etc/rc.d/tac_plus.sh; \
+ ${ECHO} "[ -x ${PREFIX}/sbin/tac_plus -a -f ${PREFIX}/etc/tac_plus.conf ] && ${PREFIX}/sbin/tac_plus -C ${PREFIX}/etc/tac_plus.conf && ${ECHO} -n ' tac_plus'" >> ${PREFIX}/etc/rc.d/tac_plus.sh; \
+ ${CHMOD} 751 ${PREFIX}/etc/rc.d/tac_plus.sh; \
+ fi
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${PREFIX}/share/doc/tac_plus
+ ${INSTALL_DATA} ${WRKSRC}/users_guide ${PREFIX}/share/doc/tac_plus
+.endif
+
+pre-clean:
+ @${RM} -f ${PATCHDIR}/${EXTRA_PATCH}
+
+.include <bsd.port.mk>
diff --git a/net/tac_plus4/distinfo b/net/tac_plus4/distinfo
new file mode 100644
index 000000000000..d7608267ac7c
--- /dev/null
+++ b/net/tac_plus4/distinfo
@@ -0,0 +1 @@
+MD5 (tac_plus.2.1.tar.bz2) = 32b086d7d5b71eb097c317a38fe5d84b
diff --git a/net/tac_plus4/files/extra-patch-ba b/net/tac_plus4/files/extra-patch-ba
new file mode 100644
index 000000000000..9cb5ff36426d
--- /dev/null
+++ b/net/tac_plus4/files/extra-patch-ba
@@ -0,0 +1,69 @@
+*** authen.c.orig Sat Jul 29 02:49:15 1995
+--- authen.c Wed Jul 16 15:00:40 1997
+***************
+*** 209,217 ****
+
+ datap->status = TAC_PLUS_AUTHEN_STATUS_GETUSER;
+ if (datap->service == TAC_PLUS_AUTHEN_SVC_LOGIN) {
+! prompt = "\nUser Access Verification\n\nUsername: ";
+ } else {
+! prompt = "Username: ";
+ }
+ send_authen_reply(TAC_PLUS_AUTHEN_STATUS_GETUSER, /* status */
+ prompt, /* msg */
+--- 209,217 ----
+
+ datap->status = TAC_PLUS_AUTHEN_STATUS_GETUSER;
+ if (datap->service == TAC_PLUS_AUTHEN_SVC_LOGIN) {
+! prompt = "\nUser Access Verification\n\nlogin: ";
+ } else {
+! prompt = "login: ";
+ }
+ send_authen_reply(TAC_PLUS_AUTHEN_STATUS_GETUSER, /* status */
+ prompt, /* msg */
+*** default_fn.c.orig Sat Jul 29 02:49:18 1995
+--- default_fn.c Wed Jul 16 15:00:52 1997
+***************
+*** 76,84 ****
+ /* No username. Try requesting one */
+ data->status = TAC_PLUS_AUTHEN_STATUS_GETUSER;
+ if (data->service == TAC_PLUS_AUTHEN_SVC_LOGIN) {
+! prompt = "\nUser Access Verification\n\nUsername: ";
+ } else {
+! prompt = "Username: ";
+ }
+ data->server_msg = tac_strdup(prompt);
+ p->state = STATE_AUTHEN_GETUSER;
+--- 76,84 ----
+ /* No username. Try requesting one */
+ data->status = TAC_PLUS_AUTHEN_STATUS_GETUSER;
+ if (data->service == TAC_PLUS_AUTHEN_SVC_LOGIN) {
+! prompt = "\nUser Access Verification\n\nlogin: ";
+ } else {
+! prompt = "login: ";
+ }
+ data->server_msg = tac_strdup(prompt);
+ p->state = STATE_AUTHEN_GETUSER;
+*** skey_fn.c.orig Wed Jul 16 14:38:34 1997
+--- skey_fn.c Wed Jul 16 15:01:01 1997
+***************
+*** 104,112 ****
+ /* No username. Try requesting one */
+ data->status = TAC_PLUS_AUTHEN_STATUS_GETUSER;
+ if (data->service == TAC_PLUS_AUTHEN_SVC_LOGIN) {
+! prompt = "\nUser Access Verification\n\nUsername: ";
+ } else {
+! prompt = "Username: ";
+ }
+ data->server_msg = tac_strdup(prompt);
+ p->state = STATE_AUTHEN_GETUSER;
+--- 104,112 ----
+ /* No username. Try requesting one */
+ data->status = TAC_PLUS_AUTHEN_STATUS_GETUSER;
+ if (data->service == TAC_PLUS_AUTHEN_SVC_LOGIN) {
+! prompt = "\nUser Access Verification\n\nlogin: ";
+ } else {
+! prompt = "login: ";
+ }
+ data->server_msg = tac_strdup(prompt);
+ p->state = STATE_AUTHEN_GETUSER;
diff --git a/net/tac_plus4/files/patch-aa b/net/tac_plus4/files/patch-aa
new file mode 100644
index 000000000000..3171aeea68aa
--- /dev/null
+++ b/net/tac_plus4/files/patch-aa
@@ -0,0 +1,43 @@
+--- Makefile.orig Sat Jul 29 00:49:20 1995
++++ Makefile Thu Oct 14 22:12:44 1999
+@@ -22,9 +22,9 @@
+ # OSLIBS=-lsocket -lnsl
+
+ # For FreeBSD
+-# OS=-DFREEBSD
++OS=-DFREEBSD
+ # You may also need to add
+-# OSLIBS=-lcrypt
++OSLIBS=-lcrypt
+
+ # For LINUX
+ # OS=-DLINUX
+@@ -40,23 +40,23 @@
+ # FLAGS = -DTAC_PLUS_USERID=$(USERID) -DTAC_PLUS_GROUPID=$(GROUPID)
+
+ # Definitions for SKEY functionality
+-# DEFINES = -DSKEY
+-# LIBS = ../crimelab/skey/src/libskey.a
++DEFINES = -DSKEY
++LIBS = -lskey -lmd
+ # INCLUDES = -I../crimelab/skey/src
+
+-DEBUG = -g
++#DEBUG = -g
+
+ # On startup, tac_plus creates the file /etc/tac_plus.pid (if
+ # possible), containing its process id. Uncomment and modify the
+ # following line to change this filename
+
+-# PIDFILE = -DTAC_PLUS_PIDFILE=\"/var/run/tac_plus.pid\"
++PIDFILE = -DTAC_PLUS_PIDFILE=\"/var/run/tac_plus.pid\"
+
+ #
+ # End of customisable section of Makefile
+ #
+
+-CFLAGS = $(DEBUG) $(DEFINES) $(INCLUDES) $(FLAGS) $(OS) $(PIDFILE)
++CFLAGS += $(DEBUG) $(DEFINES) $(INCLUDES) $(FLAGS) $(OS) $(PIDFILE)
+
+ SRCS = acct.c authen.c author.c choose_authen.c config.c do_acct.c \
+ do_author.c dump.c encrypt.c expire.c md5.c \
diff --git a/net/tac_plus4/files/patch-ab b/net/tac_plus4/files/patch-ab
new file mode 100644
index 000000000000..e91f6f07290c
--- /dev/null
+++ b/net/tac_plus4/files/patch-ab
@@ -0,0 +1,28 @@
+*** skey_fn.c.orig Sat Jul 29 02:49:18 1995
+--- skey_fn.c Mon Mar 3 17:33:57 1997
+***************
+*** 153,158 ****
+--- 153,163 ----
+ char buf[256];
+ sprintf(buf, "%s\nPassword: ", skeyprompt);
+ data->server_msg = tac_strdup(buf);
++
++ /* We try to make it in accordance of standard FreeBSD
++ * behaviour in order to avoid surprises for user */
++ data->flags = TAC_PLUS_AUTHEN_FLAG_NOECHO;
++
+ data->status = TAC_PLUS_AUTHEN_STATUS_GETPASS;
+ p->state = STATE_AUTHEN_GETPASS;
+ return (0);
+*** tac_plus.h.orig Sat Jul 29 02:49:19 1995
+--- tac_plus.h Mon Mar 3 17:35:51 1997
+***************
+*** 91,96 ****
+--- 91,97 ----
+ #ifdef FREEBSD
+ #define CONST_SYSERRLIST
+ #define STDLIB_MALLOC
++ #define NO_PWAGE
+ #define VOIDSIG
+ #endif
+
diff --git a/net/tac_plus4/files/patch-ac b/net/tac_plus4/files/patch-ac
new file mode 100644
index 000000000000..bed281b63e19
--- /dev/null
+++ b/net/tac_plus4/files/patch-ac
@@ -0,0 +1,107 @@
+*** tac_plus.1.orig Sat Jul 29 02:49:20 1995
+--- tac_plus.1 Mon Mar 3 17:34:30 1997
+***************
+*** 30,36 ****
+ authorisation and accounting.
+ .LP
+ On startup, tac_plus creates the file
+! .B /etc/tac_plus.pid ,
+ if possible, containing its process id.
+ .LP
+ .SH ARGUMENTS and OPTIONS
+--- 30,36 ----
+ authorisation and accounting.
+ .LP
+ On startup, tac_plus creates the file
+! .B /var/run/tac_plus.pid ,
+ if possible, containing its process id.
+ .LP
+ .SH ARGUMENTS and OPTIONS
+***************
+*** 79,91 ****
+ .B \-d <level>
+ Switch on debugging and write debug output into
+ .B
+! /tmp/var/tac_plus.log.
+
+ See the definitions of debugging flags at the bottom of tac_plus.h for
+ available flags and their meanings. Most flags cause extra messages
+ to be sent to
+ .B
+! /tmp/var/tac_plus.log
+ and also to
+ .B
+ syslog.
+--- 79,91 ----
+ .B \-d <level>
+ Switch on debugging and write debug output into
+ .B
+! /var/tmp/tac_plus.log.
+
+ See the definitions of debugging flags at the bottom of tac_plus.h for
+ available flags and their meanings. Most flags cause extra messages
+ to be sent to
+ .B
+! /var/tmp/tac_plus.log
+ and also to
+ .B
+ syslog.
+***************
+*** 177,183 ****
+ facility.
+ .nf
+
+! local6.info /var/adm/messages
+
+ .fi
+ .LP
+--- 177,183 ----
+ facility.
+ .nf
+
+! local6.info /var/log/tac_plus.log
+
+ .fi
+ .LP
+***************
+*** 194,200 ****
+ .B /var/tmp/tac_plus.log
+ Contains debugging output when -d is in effect.
+ .TP
+! .B /etc/tac_plus.pid
+ contains the process id of currently running daemon.
+ .SH BUGS
+ The configuration file syntax is too complex.
+--- 194,200 ----
+ .B /var/tmp/tac_plus.log
+ Contains debugging output when -d is in effect.
+ .TP
+! .B /var/run/tac_plus.pid
+ contains the process id of currently running daemon.
+ .SH BUGS
+ The configuration file syntax is too complex.
+*** users_guide.orig Sat Jul 29 02:49:20 1995
+--- users_guide Mon Mar 3 19:51:56 1997
+***************
+*** 996,1005 ****
+ and then send the daemon a SIGUSR1. This will cause it to reinitialize
+ itself and re-read the configuration file.
+
+! On startup, tac_plus creates the file /etc/tac_plus.pid , if possible,
+ containing its process id, so something like the following should work:
+
+! # kill -USR1 `cat /etc/tac_plus.pid`
+
+ It's a good idea to check that the daemon is still running after
+ sending it a SIGUSR1, since a syntactically incorrect configuration
+--- 996,1005 ----
+ and then send the daemon a SIGUSR1. This will cause it to reinitialize
+ itself and re-read the configuration file.
+
+! On startup, tac_plus creates the file /var/run/tac_plus.pid, if possible,
+ containing its process id, so something like the following should work:
+
+! # kill -USR1 `cat /var/run/tac_plus.pid`
+
+ It's a good idea to check that the daemon is still running after
+ sending it a SIGUSR1, since a syntactically incorrect configuration
diff --git a/net/tac_plus4/files/tac_plus.conf.example b/net/tac_plus4/files/tac_plus.conf.example
new file mode 100644
index 000000000000..0d7b273210a6
--- /dev/null
+++ b/net/tac_plus4/files/tac_plus.conf.example
@@ -0,0 +1,76 @@
+# /usr/local/etc/tac_plus.conf
+
+user=fred {
+ name = "Fred Flintstone"
+ login = des mEX027bHtzTlQ
+
+ # Remember that authorization is also recursive over groups, in
+ # the same way that password lookups are recursive. Thus, if you
+ # place a user in a group, the daemon will look in the group for
+ # authorization parameters if it cannot find them in the user
+ # declaration.
+ member = admin
+
+ expires = "May 23 2005"
+
+ service = exec {
+ # When Fred starts an exec, his connection access list is 5
+ acl = 5
+
+ # We require this autocmd to be done at startup
+ autocmd = "telnet foo"
+ }
+
+ # All commands except telnet 131.108.13.* are denied for Fred
+ cmd = telnet {
+ # Fred can run the following telnet command
+ permit 131\.108\.13\.[0-9]+
+
+ deny .*
+ }
+
+ service = ppp protocol = ip {
+ # Fred can run ip over ppp only if he uses one
+ # of the following mandatory addresses If he supplies no
+ # address, the first one here will be mandated
+ addr=131.108.12.11
+ addr=131.108.12.12
+ addr=131.108.12.13
+ addr=131.108.12.14
+
+ # Fred's mandatory input access list number is 101
+ inacl=101
+
+ # We will suggest an output access list of 102, but Fred may
+ # choose to ignore or override it
+ optional outacl=102
+ }
+
+ service = slip {
+ # Fred can run slip. When he does, he will have to use
+ # these mandatory access lists
+ inacl=101
+ outacl=102
+ }
+
+ # set a timeout in the lcp layer of ppp
+ service = ppp protocol = lcp {
+ timeout = 10
+ }
+}
+
+user = wilma {
+ # Wilma has no password of her own, but she's a group member so
+ # she'll use the group password if there is one. Same for her
+ # password expiry date
+ member = admin
+}
+
+group = admin {
+ # group members who don't have their own password will be looked
+ # up in /etc/passwd
+ login = file /etc/passwd
+
+ # group members who have no expiry date set will use this one
+ expires = "Jan 1 1998"
+}
diff --git a/net/tac_plus4/pkg-comment b/net/tac_plus4/pkg-comment
new file mode 100644
index 000000000000..0913e34a9c9b
--- /dev/null
+++ b/net/tac_plus4/pkg-comment
@@ -0,0 +1 @@
+A remote authentication/authorization/accounting server
diff --git a/net/tac_plus4/pkg-descr b/net/tac_plus4/pkg-descr
new file mode 100644
index 000000000000..d49d4bdb4e36
--- /dev/null
+++ b/net/tac_plus4/pkg-descr
@@ -0,0 +1,136 @@
+<html>
+<head><title>CVS log for ports/net/tac_plus/pkg/Attic/DESCR</title>
+<meta name="robots" content="nofollow">
+</head>
+<body text="#000000" bgcolor="#ffffff">
+<IMG SRC="/gifs/bar.gif" ALT="Navigation Bar" WIDTH="565" HEIGHT="33" BORDER=0 usemap="#bar">
+<map name="bar">
+<area shape="rect" coords="1,1,111,31" href="/index.html" ALT="Top">
+<area shape="rect" coords="112,11,196,31" href="/ports/index.html" ALT="Applications">
+<area shape="rect" coords="196,12,257,33" href="/support.html" ALT="Support">
+<area shape="rect" coords="256,12,365,33" href="/docs.html" ALT="Documentation">
+<area shape="rect" coords="366,13,424,32" href="/commercial/commercial.html" ALT="Vendors">
+<area shape="rect" coords="425,16,475,32" href="/search/search.html" ALT="Search">
+<area shape="rect" coords="477,16,516,33" href="/search/index-site.html" ALT="Index">
+<area shape="rect" coords="516,15,562,33" href="/index.html" ALT="Top">
+<area shape="rect" href="/index.html" coords="0,0,564,32" ALT="Top">
+</map> <h1><font color="#660000">CVS log for ports/net/tac_plus/pkg/Attic/DESCR</font></h1>
+Up to <A HREF="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/">ports/net/tac_plus/pkg/</A>
+<BR>
+<A HREF="#diff">Request diff between arbitrary revisions</A>
+<HR NOSHADE>
+No default branch<BR><HR NOSHADE>
+<a NAME="rev1.4"></a><a NAME="HEAD"></a>
+<A HREF="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/Attic/DESCR?rev=1.4"><b>1.4</b></A> <i>Tue Sep 7 6:58:57 1999
+ UTC</i> by <i>fenner</i>
+<BR>CVS Tags: <b>HEAD</b><BR><A HREF="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/Attic/DESCR.diff?r1=1.3&r2=1.4">Diffs to 1.3</A>
+<BR><B><I>FILE REMOVED</I></B>
+<PRE>
+Delete port: tac_plus
+
+PR: <A HREF=http://www.freebsd.org/cgi/query-pr.cgi?pr=13301>ports/13301</A>
+Submitted by: Igor Vinokurov &lt;igor@rtsnet.ru&gt;
+</PRE><HR NOSHADE>
+<a NAME="rev1.3"></a><a NAME="RELEASE_3_2_0"></a>
+<A HREF="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/Attic/DESCR?rev=1.3"><b>1.3</b></A> <i>Mon May 3 5:26:43 1999
+ UTC</i> by <i>mharo</i>
+<BR>CVS Tags: <b>RELEASE_3_2_0</b><BR><A HREF="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/Attic/DESCR.diff?r1=1.2&r2=1.3">Diffs to 1.2</A>
+<PRE>
+WWW: This is definately the daemon's work. In Chuck we trust.
+</PRE><HR NOSHADE>
+<a NAME="rev1.2"></a><a NAME="RELEASE_3_1_0"></a><a NAME="RELEASE_2_2_8"></a><a NAME="RELEASE_3_0_0"></a><a NAME="RELEASE_2_2_7"></a><a NAME="RELEASE_2_2_6"></a><a NAME="RELEASE_2_2_5"></a>
+<A HREF="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/Attic/DESCR?rev=1.2"><b>1.2</b></A> <i>Wed Sep 17 4:51:44 1997
+ UTC</i> by <i>max</i>
+<BR>CVS Tags: <b>RELEASE_3_1_0, RELEASE_2_2_8, RELEASE_3_0_0, RELEASE_2_2_7, RELEASE_2_2_6, RELEASE_2_2_5</b><BR><A HREF="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/Attic/DESCR.diff?r1=1.1&r2=1.2">Diffs to 1.1</A>
+<PRE>
+- Fix problem with configuration file name in the startup script.
+- Add an optional patch to change the prompt. (Execute make with
+ TAC_CHANGE_PROMPT=YES to activate.)
+<A HREF=http://www.freebsd.org/cgi/query-pr.cgi?pr=4105>PR: 4105</A>
+Submitted by: the port maintainer
+</PRE><HR NOSHADE>
+<a NAME="rev1.1.1.1"></a><a NAME="TAC_PLUS_2_1"></a><a NAME="vinokurov"></a>
+<A HREF="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/Attic/DESCR?rev=1.1.1.1"><b>1.1.1.1</b></A> <i>(vendor branch)</i> <i>Mon Jun 23 15:39:59 1997
+ UTC</i> by <i>max</i>
+<BR>CVS Tags: <b>TAC_PLUS_2_1</b>; Branch: <b>vinokurov</b>
+<BR><A HREF="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/Attic/DESCR.diff?r1=1.1&r2=1.1.1.1">Diffs to 1.1</A>
+<PRE>
+New port, tac_plus:
+tac_plus provides Cisco systems routers and access servers
+with authentication, authorisation and accounting services.
+
+A configuration file controls the details of authentication,
+authorisation and accounting.
+
+<A HREF=http://www.freebsd.org/cgi/query-pr.cgi?pr=2869>PR: 2869</A>
+Submitted by: Igor Vinokurov&lt;igor@zynaps.ru&gt;
+Note: Although there is no terms and conditions on redistribution found,
+the author says there is no restriction. (This is stated in more
+recent alpha version.) The only concern is the U.S. Export restriction,
+but Cisco has been granted with the right to export their software,
+according to the author. And also I haven't been able to find any
+implementation that may violate the export control in the source code,
+either. So, I import this without any RESTRICTED or NO_CDROM defined.
+</PRE><HR NOSHADE>
+<a NAME="rev1.1"></a>
+<A HREF="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/Attic/DESCR?rev=1.1"><b>1.1</b></A> <i>Mon Jun 23 15:39:59 1997
+ UTC</i> by <i>max</i>
+<PRE>
+Initial revision
+</PRE><HR NOSHADE>
+<A NAME=diff>
+This form allows you to request diff's between any two
+revisions of a file. You may select a symbolic revision
+name using the selection box or you may type in a numeric
+name using the type-in text box.
+</A><P>
+<FORM METHOD="GET" ACTION="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/Attic/DESCR.diff">
+Diffs between
+<SELECT NAME="r1">
+<OPTION VALUE="text" SELECTED>Use Text Field
+<OPTION VALUE="1.4:HEAD">HEAD
+<OPTION VALUE="1.2:RELEASE_2_2_5">RELEASE_2_2_5
+<OPTION VALUE="1.2:RELEASE_2_2_6">RELEASE_2_2_6
+<OPTION VALUE="1.2:RELEASE_2_2_7">RELEASE_2_2_7
+<OPTION VALUE="1.2:RELEASE_2_2_8">RELEASE_2_2_8
+<OPTION VALUE="1.2:RELEASE_3_0_0">RELEASE_3_0_0
+<OPTION VALUE="1.2:RELEASE_3_1_0">RELEASE_3_1_0
+<OPTION VALUE="1.3:RELEASE_3_2_0">RELEASE_3_2_0
+<OPTION VALUE="1.1.1.1:TAC_PLUS_2_1">TAC_PLUS_2_1
+<OPTION VALUE="1.1.1:vinokurov">vinokurov
+</SELECT>
+<INPUT TYPE="TEXT" NAME="tr1" VALUE="1.1">
+ and
+<SELECT NAME="r2">
+<OPTION VALUE="text" SELECTED>Use Text Field
+<OPTION VALUE="1.4:HEAD">HEAD
+<OPTION VALUE="1.2:RELEASE_2_2_5">RELEASE_2_2_5
+<OPTION VALUE="1.2:RELEASE_2_2_6">RELEASE_2_2_6
+<OPTION VALUE="1.2:RELEASE_2_2_7">RELEASE_2_2_7
+<OPTION VALUE="1.2:RELEASE_2_2_8">RELEASE_2_2_8
+<OPTION VALUE="1.2:RELEASE_3_0_0">RELEASE_3_0_0
+<OPTION VALUE="1.2:RELEASE_3_1_0">RELEASE_3_1_0
+<OPTION VALUE="1.3:RELEASE_3_2_0">RELEASE_3_2_0
+<OPTION VALUE="1.1.1.1:TAC_PLUS_2_1">TAC_PLUS_2_1
+<OPTION VALUE="1.1.1:vinokurov">vinokurov
+</SELECT>
+<INPUT TYPE="TEXT" NAME="tr2" VALUE="1.4">
+<BR><INPUT TYPE=RADIO NAME="f" VALUE=u CHECKED>Unidiff<br>
+<INPUT TYPE=RADIO NAME="f" VALUE=c>Context diff<br>
+<INPUT TYPE=RADIO NAME="f" VALUE=s>Side-by-Side<br>
+<INPUT TYPE=SUBMIT VALUE="Get Diffs">
+</FORM>
+<HR noshade>
+<A name=branch>
+You may select to see revision information from only
+a single branch.
+</A><P>
+<FORM METHOD="GET" ACTION="/cgi/cvsweb.cgi/ports/net/tac_plus/pkg/Attic/DESCR">
+Branch:
+<SELECT NAME="only_on_branch">
+<OPTION VALUE="" SELECTED>Show all branches
+</SELECT>
+<INPUT TYPE=SUBMIT VALUE="View Branch">
+</FORM>
+<hr><address><a href="/mailto.html">www@freebsd.org</a><br></address>
+</BODY></HTML>
diff --git a/net/tac_plus4/pkg-plist b/net/tac_plus4/pkg-plist
new file mode 100644
index 000000000000..8bc819ecc460
--- /dev/null
+++ b/net/tac_plus4/pkg-plist
@@ -0,0 +1,5 @@
+sbin/tac_plus
+etc/rc.d/tac_plus.sh
+etc/tac_plus.conf.example
+share/doc/tac_plus/users_guide
+@dirrm share/doc/tac_plus