Date: Fri, 8 Dec 1995 18:19:54 +0300 From: Andrew Timonin <tim@Relcom.EU.net> To: "Allen D. Harpham" <aharpham@cnweb.com>, freebsd-hackers@FreeBSD.ORG Subject: Re: Merit Radius Message-ID: <NhQU5omCAa@sssun.spb.su> In-Reply-To: <Pine.3.89.9512071805.B30485-0100000@nebland.cnweb.com>; from "Allen D. Harpham" at Thu, 7 Dec 1995 18:04:54 -36000 References: <Pine.3.89.9512071805.B30485-0100000@nebland.cnweb.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <Pine.3.89.9512071805.B30485-0100000@nebland.cnweb.com>
Allen D. Harpham writes:
>Hi All,
>Has anyone out there been able to compile merit radius for freebsd.
>I have tried several times and get compile errors. Are there any
>complied binarys out there.
Yes, I've done it for Radius-2.3 and FreeBSD-2.0.5 a couple of weeks
ago...
Here is a patch, if you want:
---------------------------> cut here <--------------------------
*** ./src/conf.h.orig Thu Aug 24 02:14:09 1995
--- ./src/conf.h Fri Oct 13 16:50:19 1995
***************
*** 50,56 ****
--- 50,60 ----
#include <machine/inline.h>
#include <machine/endian.h>
#else /* bsdi */
+ #if defined(__FreeBSD__)
+ #include <stdlib.h>
+ #else
#include <malloc.h>
+ #endif /* FreeBSD */
#endif /* bsdi */
/* #ifdef SYSV this is needed even on SunOS 4.1.3 */
*** ./src/radiusd.c.orig Thu Aug 31 21:48:28 1995
--- ./src/radiusd.c Fri Oct 13 17:29:15 1995
***************
*** 153,159 ****
static int rad_reply PROTO((AUTH_REQ *, int, char *));
static void rad_reply_init PROTO((AATV *));
/* external radius_send */
! static void reconfig PROTO((void));
static void record_event PROTO((AUTH_REQ *, AATV *, int, int, char *));
static int redo_action PROTO((AUTH_REQ *, int, char *));
static void reply_timer PROTO((int));
--- 153,159 ----
static int rad_reply PROTO((AUTH_REQ *, int, char *));
static void rad_reply_init PROTO((AATV *));
/* external radius_send */
! static void reconfig PROTO((int));
static void record_event PROTO((AUTH_REQ *, AATV *, int, int, char *));
static int redo_action PROTO((AUTH_REQ *, int, char *));
static void reply_timer PROTO((int));
***************
*** 3675,3682 ****
*************************************************************************/
static void
! reconfig ()
!
{
int n;
sigset_t sigoset;
--- 3675,3682 ----
*************************************************************************/
static void
! reconfig (dummy)
! int dummy;
{
int n;
sigset_t sigoset;
***************
*** 3865,3871 ****
"%s: resending packet for %s", func,
event->sub_aatv->id));
sendto (event->sub_aatv->sockfd, (char *) event->packet,
! event->len, (int) 0, &event->sin,
sizeof (event->sin));
result = EV_ACK; /* prevent freeing of event */
}
--- 3865,3871 ----
"%s: resending packet for %s", func,
event->sub_aatv->id));
sendto (event->sub_aatv->sockfd, (char *) event->packet,
! event->len, (int) 0, (struct sockaddr *) &event->sin,
sizeof (event->sin));
result = EV_ACK; /* prevent freeing of event */
}
*** ./src/rlmadmin.c.orig Wed Aug 30 19:10:55 1995
--- ./src/rlmadmin.c Fri Oct 13 20:48:22 1995
***************
*** 359,370 ****
--- 359,379 ----
{
int count = 0;
int do_all;
+ #ifdef __FreeBSD__
+ #include <regexp.h>
+ regexp * rec;
+ #else
int rec;
+ #endif
VALUE_PAIR *vp;
VALUE_PAIR *vps;
USER_ENTRY *x = user_ent_x; /* head of chain */
+ #ifdef __FreeBSD__
+ rec = regcomp (user); /* see if regular expression */
+ #else
rec = re_comp (user); /* see if regular expression */
+ #endif
if (strcasecmp (user, "all"))
{
do_all = 0;
***************
*** 378,384 ****
--- 387,397 ----
{
if (do_all ||
(!strcasecmp (x->name, user)) ||
+ #ifdef __FreeBSD__
+ (rec && regexec (rec, x->name)))
+ #else
(!rec && re_exec (x->name)))
+ #endif
{
count++;
printf ("%s\t", x->name); /* out goes the name */
***************
*** 1167,1174 ****
*
*************************************************************************/
! int_handle ()
!
{
printf ("\nUse QUIT to exit program\n");
signal (SIGINT, int_handle);
--- 1180,1187 ----
*
*************************************************************************/
! void int_handle (dummy)
! int dummy;
{
printf ("\nUse QUIT to exit program\n");
signal (SIGINT, int_handle);
*** ./src/sendserver.c.orig Thu Aug 31 00:13:04 1995
--- ./src/sendserver.c Sat Oct 14 16:18:33 1995
***************
*** 86,92 ****
#endif
#ifndef DEFAULT_DIR2
! #define DEFAULT_DIR2 "/usr/private/etc/raddb"
#endif
extern char ourhostname[MAXHOSTNAMELEN];
--- 86,92 ----
#endif
#ifndef DEFAULT_DIR2
! #define DEFAULT_DIR2 "/usr/local/etc/raddb"
#endif
extern char ourhostname[MAXHOSTNAMELEN];
*** ./Makefile.orig Wed Aug 30 20:18:18 1995
--- ./Makefile Sat Oct 14 15:25:55 1995
***************
*** 48,60 ****
# Where the configuration files live.
RADDB = ./raddb
# Some installation stuff.
! DAEMON_INSDIR = /usr/private/etc
! BIN_INSDIR = /usr/private/etc
! RADDB_INSDIR = /usr/private/etc/raddb
# The server does not need to be owned by root, unless some shadow password
# scheme needs it. You might create a user id "radius" for just this purpose.
RADOWN = root
! RADGRP = bin
# Define this to point to your AFS Kerberos source directory.
# (used as the root of the AFS source directory for the stringtokey() function)
--- 48,60 ----
# Where the configuration files live.
RADDB = ./raddb
# Some installation stuff.
! DAEMON_INSDIR = /usr/local/etc
! BIN_INSDIR = /usr/local/etc
! RADDB_INSDIR = /usr/local/etc/raddb
# The server does not need to be owned by root, unless some shadow password
# scheme needs it. You might create a user id "radius" for just this purpose.
RADOWN = root
! RADGRP = wheel
# Define this to point to your AFS Kerberos source directory.
# (used as the root of the AFS source directory for the stringtokey() function)
***************
*** 149,155 ****
$(OBJ)/sendserver.o $(OBJ)/users.o $(OBJ)/util.o $(OBJ)/dummy.o
UTIL_OBJS = $(OBJ)/radcheck.o $(OBJ)/radpwtst.o $(OBJ)/radpass.o \
! $(OBJ)/rlmadmin.o
RAD_SRCS = $(SRC)/radiusd.c $(SRC)/authenticate.c $(SRC)/rad.accounting.c \
$(SRC)/rad.kchap.c $(SRC)/rad.kerberos.c $(SRC)/rad.mnet.c \
--- 149,155 ----
$(OBJ)/sendserver.o $(OBJ)/users.o $(OBJ)/util.o $(OBJ)/dummy.o
UTIL_OBJS = $(OBJ)/radcheck.o $(OBJ)/radpwtst.o $(OBJ)/radpass.o \
! $(OBJ)/rlmadmin.o $(OBJ)/strptime.o
RAD_SRCS = $(SRC)/radiusd.c $(SRC)/authenticate.c $(SRC)/rad.accounting.c \
$(SRC)/rad.kchap.c $(SRC)/rad.kerberos.c $(SRC)/rad.mnet.c \
***************
*** 185,195 ****
#
#--------------------------------------------------------------------------
! CC = cc
! CFLAGS = -g
! LDFLAGS =
! LIBS =
! RANLIB = ranlib
#
# Solaris 2.x
--- 185,195 ----
#
#--------------------------------------------------------------------------
! #CC = cc
! #CFLAGS = -g
! #LDFLAGS =
! #LIBS =
! #RANLIB = ranlib
#
# Solaris 2.x
***************
*** 236,247 ****
#
#--------------------------------------------------------------------------
! #CC = cc
! #CFLAGS = -O
! #LDFLAGS =
! #LIBS = -lcrypt
! #MOSTUTIL = $(RADCHECK) $(RADPWTST) $(RADPASS)
! #RANLIB = ranlib
#
# AIX 3.2
--- 236,247 ----
#
#--------------------------------------------------------------------------
! CC = cc
! CFLAGS = -O -DRADIUS_DIR=\"/usr/local/etc/raddb\" -DRADACCT_DIR=\"/var/account/radacct\"
! LDFLAGS =
! LIBS = -lcrypt
! MOSTUTIL = $(RADCHECK) $(RADPWTST) $(RADPASS)
! RANLIB = ranlib
#
# AIX 3.2
***************
*** 422,428 ****
$(BIN)/builddbm: $(OBJ)/builddbm.o
$(CC) $(CFLAGS) $(LDFLAGS) -o $(BIN)/builddbm $(OBJ)/builddbm.o -ldbm
!
$(OBJ)/builddbm.o: $(SRC)/builddbm.c
$(CC) $(CFLAGS) $(DEFS) -o $(OBJ)/builddbm.o -c $(SRC)/builddbm.c
--- 422,428 ----
$(BIN)/builddbm: $(OBJ)/builddbm.o
$(CC) $(CFLAGS) $(LDFLAGS) -o $(BIN)/builddbm $(OBJ)/builddbm.o -ldbm
!
$(OBJ)/builddbm.o: $(SRC)/builddbm.c
$(CC) $(CFLAGS) $(DEFS) -o $(OBJ)/builddbm.o -c $(SRC)/builddbm.c
***************
*** 433,444 ****
$(OBJ)/radpass.o: $(SRC)/radpass.c $(SRC)/radius.h
$(CC) $(CFLAGS) -o $(OBJ)/radpass.o -c $(SRC)/radpass.c
! $(RLMADMIN): $(OBJ)/rlmadmin.o $(RAD_LIB)
$(CC) $(CFLAGS) $(LDFLAGS) -o $(RLMADMIN) \
! $(OBJ)/rlmadmin.o $(RADLIBS) $(RAD_LIB) $(LIBS)
$(OBJ)/rlmadmin.o: $(SRC)/rlmadmin.c $(SRC)/radius.h
$(CC) $(CFLAGS) -o $(OBJ)/rlmadmin.o -c $(SRC)/rlmadmin.c
$(RADPWTST): $(OBJ)/radpwtst.o $(RAD_LIB)
$(CC) $(CFLAGS) $(LDFLAGS) -o $(RADPWTST) \
--- 433,447 ----
$(OBJ)/radpass.o: $(SRC)/radpass.c $(SRC)/radius.h
$(CC) $(CFLAGS) -o $(OBJ)/radpass.o -c $(SRC)/radpass.c
! $(RLMADMIN): $(OBJ)/rlmadmin.o $(OBJ)/strptime.o $(RAD_LIB)
$(CC) $(CFLAGS) $(LDFLAGS) -o $(RLMADMIN) \
! $(OBJ)/rlmadmin.o $(OBJ)/strptime.o $(RADLIBS) $(RAD_LIB) $(LIBS)
$(OBJ)/rlmadmin.o: $(SRC)/rlmadmin.c $(SRC)/radius.h
$(CC) $(CFLAGS) -o $(OBJ)/rlmadmin.o -c $(SRC)/rlmadmin.c
+
+ $(OBJ)/strptime.o: $(SRC)/strptime.c
+ $(CC) $(CFLAGS) -o $(OBJ)/strptime.o -c $(SRC)/strptime.c
$(RADPWTST): $(OBJ)/radpwtst.o $(RAD_LIB)
$(CC) $(CFLAGS) $(LDFLAGS) -o $(RADPWTST) \
---------------------------> cut here <--------------------------
>____________________________________________________________________________
>Allen D. Harpham, President | Voice: (402)462-4619
--
Andrew A. Timonin E-mail tim@sssun.spb.su,
St.Petersburg phone: office: +7 (812) 1106762
Russia private: +7 (812) 2540779
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?NhQU5omCAa>
