mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-26 05:02:18 +00:00
A tacacs server with (limited) radius proxy support.
Submitted by: Martin Mersberger <gremlin@portal-to-web.de>
This commit is contained in:
parent
fefe6bfd1b
commit
cf87f3bb63
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=66895
@ -530,6 +530,7 @@
|
|||||||
SUBDIR += suckblow
|
SUBDIR += suckblow
|
||||||
SUBDIR += sup
|
SUBDIR += sup
|
||||||
SUBDIR += svnc
|
SUBDIR += svnc
|
||||||
|
SUBDIR += tac_plus-libradius
|
||||||
SUBDIR += tac_plus4
|
SUBDIR += tac_plus4
|
||||||
SUBDIR += tas
|
SUBDIR += tas
|
||||||
SUBDIR += tcpcat
|
SUBDIR += tcpcat
|
||||||
|
34
net/tac_plus-libradius/Makefile
Normal file
34
net/tac_plus-libradius/Makefile
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# New ports collection makefile for: tac_plus-libradius
|
||||||
|
# Date created: January, 21th. 2002
|
||||||
|
# Whom: Martin Mersberger <gremlin@portal-to-web.de>
|
||||||
|
# $FreeBSD$
|
||||||
|
#
|
||||||
|
|
||||||
|
PORTNAME= tac_plus-libradius
|
||||||
|
PORTVERSION= 5.0.0
|
||||||
|
CATEGORIES= net
|
||||||
|
MASTER_SITES= http://www.portal-to-web.de/tacacs/ \
|
||||||
|
http://www.santel.lu/projects/ldap-tacacs/
|
||||||
|
DISTFILES= tac_plus.F5.0.0.alpha.tar.gz \
|
||||||
|
tac_plus_radius.tgz
|
||||||
|
|
||||||
|
MAINTAINER= gremlin@portal-to-web.de
|
||||||
|
|
||||||
|
WRKPREFIX= tac_plus.F5.0.0.alpha
|
||||||
|
WRKSRC= ${WRKDIR}/${WRKPREFIX}/
|
||||||
|
|
||||||
|
ALL_TARGET= tac_plus
|
||||||
|
MAN1= tac_plus.1
|
||||||
|
|
||||||
|
do-install:
|
||||||
|
${INSTALL_PROGRAM} ${WRKSRC}/tac_plus ${PREFIX}/sbin
|
||||||
|
${INSTALL_MAN} ${WRKSRC}/tac_plus.1 ${PREFIX}/man/man1/tac_plus.1
|
||||||
|
@mkdir -p ${PREFIX}/etc/tac_plus
|
||||||
|
${INSTALL_DATA} ${WRKSRC}/tac_plus.cfg ${PREFIX}/etc/tac_plus/
|
||||||
|
${INSTALL_DATA} ${WRKSRC}/radius.example ${PREFIX}/etc/tac_plus/
|
||||||
|
@if [ ! -f ${PREFIX}/etc/rc.d/tac_plus.sh ]; then \
|
||||||
|
${ECHO} "Installing ${PREFIX}/etc/rc.d/tac_plus.sh startup file."; \
|
||||||
|
${INSTALL_SCRIPT} -m 751 ${FILESDIR}/tac_plus.sh ${PREFIX}/etc/rc.d/tac_plus.sh.sample; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
.include <bsd.port.mk>
|
2
net/tac_plus-libradius/distinfo
Normal file
2
net/tac_plus-libradius/distinfo
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
MD5 (tac_plus.F5.0.0.alpha.tar.gz) = 4bdab498b1e8aef81cc72f3b3f8c750c
|
||||||
|
MD5 (tac_plus_radius.tgz) = c3fa7afdbf202aa9e6a964837640870a
|
95
net/tac_plus-libradius/files/patch-aa
Normal file
95
net/tac_plus-libradius/files/patch-aa
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
*** Makefile Wed Mar 21 09:33:15 2001
|
||||||
|
--- ../pkg/tac_plus.new/Makefile Mon Jan 21 15:51:28 2002
|
||||||
|
***************
|
||||||
|
*** 33,41 ****
|
||||||
|
CPPFLAGS =
|
||||||
|
CFLAGS = $(CPPFLAGS) -g -O2
|
||||||
|
LDFLAGS =
|
||||||
|
! OSLIBS = -lldap -lldap -lc -lcrypt -lresolv -lnsl -llber -lcrypt -lc
|
||||||
|
! DEFINES = -DUSE_LDAP
|
||||||
|
! OS= -DLINUX -DGLIBC
|
||||||
|
# For AIX
|
||||||
|
# See /usr/lpp/bos/bsdport on your system for details of how to define bsdcc
|
||||||
|
# CC=bsdcc
|
||||||
|
--- 33,41 ----
|
||||||
|
CPPFLAGS =
|
||||||
|
CFLAGS = $(CPPFLAGS) -g -O2
|
||||||
|
LDFLAGS =
|
||||||
|
! OSLIBS = -lc -lcrypt -lcrypt -lc -I/usr/local/include -L/usr/local/lib -lradius
|
||||||
|
! DEFINES = -DUSE_RADIUS
|
||||||
|
! OS=
|
||||||
|
# For AIX
|
||||||
|
# See /usr/lpp/bos/bsdport on your system for details of how to define bsdcc
|
||||||
|
# CC=bsdcc
|
||||||
|
***************
|
||||||
|
*** 52,58 ****
|
||||||
|
#OSLIBS=-lsocket -lnsl
|
||||||
|
|
||||||
|
# For FreeBSD
|
||||||
|
! # OS=-DFREEBSD
|
||||||
|
# You may also need to add:
|
||||||
|
# OSLIBS=-lcrypt
|
||||||
|
# NOTE: If you want your password encryption to be compatible with
|
||||||
|
--- 52,58 ----
|
||||||
|
#OSLIBS=-lsocket -lnsl
|
||||||
|
|
||||||
|
# For FreeBSD
|
||||||
|
! OS=-DFREEBSD
|
||||||
|
# You may also need to add:
|
||||||
|
# OSLIBS=-lcrypt
|
||||||
|
# NOTE: If you want your password encryption to be compatible with
|
||||||
|
***************
|
||||||
|
*** 108,114 ****
|
||||||
|
# End of customisable section of Makefile
|
||||||
|
#
|
||||||
|
|
||||||
|
! CFLAGS = $(DEBUG) $(OPT_FLAGS) $(DEFINES) $(INCLUDES) $(FLAGS) $(OS) $(PIDFILE) $(LDFLAGS) $(DB)
|
||||||
|
|
||||||
|
HFILES = expire.h parse.h regmagic.h md5.h regexp.h tac_plus.h
|
||||||
|
|
||||||
|
--- 108,115 ----
|
||||||
|
# End of customisable section of Makefile
|
||||||
|
#
|
||||||
|
|
||||||
|
!
|
||||||
|
! CFLAGS = $(DEBUG) $(OPT_FLAGS) $(DEFINES) $(INCLUDES) $(FLAGS) $(OS) $(PIDFILE) $(LDFLAGS) $(DB) -I/usr/local/include -L/usr/local/lib
|
||||||
|
|
||||||
|
HFILES = expire.h parse.h regmagic.h md5.h regexp.h tac_plus.h
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 117,123 ****
|
||||||
|
packet.c report.c sendauth.c tac_plus.c utils.c pw.c hash.c \
|
||||||
|
parse.c regexp.c programs.c enable.c pwlib.c default_fn.c \
|
||||||
|
skey_fn.c default_v0_fn.c sendpass.c maxsess.c tac_pam.c \
|
||||||
|
! db.c db_null.c db_mysql.c ldap.c
|
||||||
|
|
||||||
|
OBJS = $(SRCS:.c=.o)
|
||||||
|
|
||||||
|
--- 118,126 ----
|
||||||
|
packet.c report.c sendauth.c tac_plus.c utils.c pw.c hash.c \
|
||||||
|
parse.c regexp.c programs.c enable.c pwlib.c default_fn.c \
|
||||||
|
skey_fn.c default_v0_fn.c sendpass.c maxsess.c tac_pam.c \
|
||||||
|
! db.c db_null.c db_mysql.c radius.c
|
||||||
|
!
|
||||||
|
! # add ldap.c and also define USE_LDAP to enable LDAP support
|
||||||
|
|
||||||
|
OBJS = $(SRCS:.c=.o)
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 154,160 ****
|
||||||
|
install:
|
||||||
|
cp tac_plus ${prefix}/sbin
|
||||||
|
cp tac_plus.1 ${prefix}/man/man8/tac_plus.8
|
||||||
|
! cp tac_plus.cfg /etc
|
||||||
|
|
||||||
|
depend:
|
||||||
|
makedepend $(CFLAGS) $(SRCS)
|
||||||
|
--- 157,164 ----
|
||||||
|
install:
|
||||||
|
cp tac_plus ${prefix}/sbin
|
||||||
|
cp tac_plus.1 ${prefix}/man/man8/tac_plus.8
|
||||||
|
! cp tac_plus.cfg ${prefix}/etc/tac_plus
|
||||||
|
! cp radius.example ${prefix}/etc/tac_plus
|
||||||
|
|
||||||
|
depend:
|
||||||
|
makedepend $(CFLAGS) $(SRCS)
|
17
net/tac_plus-libradius/files/patch-ab
Normal file
17
net/tac_plus-libradius/files/patch-ab
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
*** config.c Fri Mar 16 10:04:27 2001
|
||||||
|
--- ../../tac_plus.F5.0.0.alpha/config.c Sun Jan 20 19:49:48 2002
|
||||||
|
***************
|
||||||
|
*** 603,608 ****
|
||||||
|
--- 603,614 ----
|
||||||
|
authen_default_method = sym_code;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
+ #ifdef USE_RADIUS
|
||||||
|
+ case S_radius:
|
||||||
|
+ fprintf(stderr,"sym_code=%i, radius\n",sym_code);
|
||||||
|
+ authen_default_method = sym_code;
|
||||||
|
+ break;
|
||||||
|
+ #endif
|
||||||
|
|
||||||
|
|
||||||
|
default:
|
19
net/tac_plus-libradius/files/patch-ac
Normal file
19
net/tac_plus-libradius/files/patch-ac
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
*** do_acct.c Mon Dec 18 17:58:02 2000
|
||||||
|
--- do_acct.c Sat Jan 19 15:22:46 2002
|
||||||
|
***************
|
||||||
|
*** 159,165 ****
|
||||||
|
#endif
|
||||||
|
entry.ut_time = utime;
|
||||||
|
|
||||||
|
! wtmpfd = open(wtmpfile, O_CREAT | O_WRONLY | O_APPEND | O_SYNC, 0644);
|
||||||
|
if (wtmpfd < 0) {
|
||||||
|
report(LOG_ERR, "Can't open wtmp file %s -- %s",
|
||||||
|
wtmpfile, sys_errlist[errno]);
|
||||||
|
--- 159,165 ----
|
||||||
|
#endif
|
||||||
|
entry.ut_time = utime;
|
||||||
|
|
||||||
|
! wtmpfd = open(wtmpfile, O_CREAT | O_WRONLY | O_APPEND , 0644);
|
||||||
|
if (wtmpfd < 0) {
|
||||||
|
report(LOG_ERR, "Can't open wtmp file %s -- %s",
|
||||||
|
wtmpfile, sys_errlist[errno]);
|
27
net/tac_plus-libradius/files/patch-ad
Normal file
27
net/tac_plus-libradius/files/patch-ad
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
*** parse.c Fri Mar 16 09:14:21 2001
|
||||||
|
--- ../../tac_plus.F5.0.0.alpha/parse.c Sun Jan 20 19:46:42 2002
|
||||||
|
***************
|
||||||
|
*** 99,104 ****
|
||||||
|
--- 99,107 ----
|
||||||
|
#ifdef USE_LDAP
|
||||||
|
declare ("ldap", S_ldap);
|
||||||
|
#endif
|
||||||
|
+ #ifdef USE_RADIUS
|
||||||
|
+ declare ("radius",S_radius);
|
||||||
|
+ #endif
|
||||||
|
declare("member", S_member);
|
||||||
|
declare("message", S_message);
|
||||||
|
declare("name", S_name);
|
||||||
|
***************
|
||||||
|
*** 177,182 ****
|
||||||
|
--- 180,189 ----
|
||||||
|
#ifdef USE_LDAP
|
||||||
|
case S_ldap:
|
||||||
|
return ("ldap");
|
||||||
|
+ #endif
|
||||||
|
+ #ifdef USE_RADIUS
|
||||||
|
+ case S_radius:
|
||||||
|
+ return ("radius");
|
||||||
|
#endif
|
||||||
|
case S_expires:
|
||||||
|
return ("expires");
|
11
net/tac_plus-libradius/files/patch-ae
Normal file
11
net/tac_plus-libradius/files/patch-ae
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
*** parse.h Fri Mar 16 09:18:44 2001
|
||||||
|
--- ../../tac_plus.F5.0.0.alpha/parse.h Sat Jan 19 23:55:09 2002
|
||||||
|
***************
|
||||||
|
*** 85,87 ****
|
||||||
|
--- 85,90 ----
|
||||||
|
#ifdef USE_LDAP
|
||||||
|
#define S_ldap 46
|
||||||
|
#endif /* LDAP */
|
||||||
|
+ #ifdef USE_RADIUS
|
||||||
|
+ #define S_radius 47
|
||||||
|
+ #endif /* radius */
|
38
net/tac_plus-libradius/files/patch-af
Normal file
38
net/tac_plus-libradius/files/patch-af
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
*** pwlib.c Fri Mar 16 14:42:54 2001
|
||||||
|
--- ../../tac_plus.F5.0.0.alpha/pwlib.c Sat Jan 19 23:22:07 2002
|
||||||
|
***************
|
||||||
|
*** 40,45 ****
|
||||||
|
--- 40,49 ----
|
||||||
|
#include "ldap.h"
|
||||||
|
#endif /* LDAP */
|
||||||
|
|
||||||
|
+ #ifdef USE_RADIUS
|
||||||
|
+ #include "radius.h"
|
||||||
|
+ #endif
|
||||||
|
+
|
||||||
|
/* Generic password verification routines for des, file and cleartext
|
||||||
|
passwords */
|
||||||
|
|
||||||
|
***************
|
||||||
|
*** 166,171 ****
|
||||||
|
--- 170,189 ----
|
||||||
|
#ifdef USE_LDAP
|
||||||
|
case (S_ldap):
|
||||||
|
if (ldap_verify(name, passwd, file)==1) {
|
||||||
|
+ data->status = TAC_PLUS_AUTHEN_STATUS_FAIL;
|
||||||
|
+ return (0);
|
||||||
|
+ } else {
|
||||||
|
+ data->status = TAC_PLUS_AUTHEN_STATUS_PASS;
|
||||||
|
+ }
|
||||||
|
+ exp_date = NULL;
|
||||||
|
+ set_expiration_status(exp_date, data);
|
||||||
|
+ return (data->status == TAC_PLUS_AUTHEN_STATUS_PASS);
|
||||||
|
+ break;
|
||||||
|
+ #endif
|
||||||
|
+
|
||||||
|
+ #ifdef USE_RADIUS
|
||||||
|
+ case (S_radius):
|
||||||
|
+ if (radius_verify(name,passwd,file)==1) {
|
||||||
|
data->status = TAC_PLUS_AUTHEN_STATUS_FAIL;
|
||||||
|
return (0);
|
||||||
|
} else {
|
19
net/tac_plus-libradius/files/patch-ag
Normal file
19
net/tac_plus-libradius/files/patch-ag
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
*** tac_plus.h Mon Dec 18 17:58:02 2000
|
||||||
|
--- ../../tac_plus.F5.0.0.alpha/tac_plus.h Sun Jan 20 20:24:55 2002
|
||||||
|
***************
|
||||||
|
*** 70,76 ****
|
||||||
|
*/
|
||||||
|
/* #define REARMSIGNAL */
|
||||||
|
|
||||||
|
! #define VERSION "F4.0.3.alpha.v7(DB&PAM support)"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* System definitions.
|
||||||
|
--- 70,76 ----
|
||||||
|
*/
|
||||||
|
/* #define REARMSIGNAL */
|
||||||
|
|
||||||
|
! #define VERSION "F4.0.3.alpha.v7(DB,PAM&libradius support - incl. mmersbers patches!)"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* System definitions.
|
20
net/tac_plus-libradius/files/tac_plus.sh
Normal file
20
net/tac_plus-libradius/files/tac_plus.sh
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/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}/sbin/tac_plus -a -f ${PREFIX}/etc/tac_plus/tac_plus.conf ] && ${PREFIX}/sbin/tac_plus -C ${PREFIX}/etc/tac_plus/tac_plus.conf -d 1 && echo -n ' tac_plus'
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
killall tac_plus && echo -n ' tac_plus'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: `basename $0` {start|stop}" >&2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
1
net/tac_plus-libradius/pkg-comment
Normal file
1
net/tac_plus-libradius/pkg-comment
Normal file
@ -0,0 +1 @@
|
|||||||
|
The www.gazi.edu.tr tacacs+ Daemon with pam and libradius support
|
8
net/tac_plus-libradius/pkg-descr
Normal file
8
net/tac_plus-libradius/pkg-descr
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
tacacs+ s program that allow authorization and authentication via net on
|
||||||
|
remote access servers. Authenticate users, authorize commands and log
|
||||||
|
accounting information.
|
||||||
|
|
||||||
|
This version is includes a patch to include limited libradius support which
|
||||||
|
allows to forward authentication requests to a radius server.
|
||||||
|
|
||||||
|
WWW: http://www.portal-to-web.de/tacacs/
|
5
net/tac_plus-libradius/pkg-plist
Normal file
5
net/tac_plus-libradius/pkg-plist
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
sbin/tac_plus
|
||||||
|
etc/rc.d/tac_plus.sh
|
||||||
|
etc/tac_plus/radius.example
|
||||||
|
etc/tac_plus/tac_plus.cfg
|
||||||
|
@dirrm etc/tac_plus
|
Loading…
Reference in New Issue
Block a user