Re: Oh shit :-)

Craig Norborg (doc@qtm.net)
Wed, 14 Feb 1996 16:32:55 -0500

In message <m0tmoCt-000DE7C@eagle.ais.net>,Andrew J. Doane writes:
>Now radius (merit 2.4.20) won't stay up for more than a few minutes..

Hmm.. 2.4.16 is crashing on me too, but only when my pm with
COMOS 3.3 is banging it. Instead of your problem, I got this error message...

get_radrequest: Request from ce35e903 (portmaster3.qtm.net) code = 4, id = 185, len = 105
Acct-Session-Id = "0100030F"
User-Name = "sunrise"
NAS-IP-Address = "206.53.233.3"
NAS-Port = 0
Acct-Status-Type = Stop
Acct-Session-Time = 1801
Acct-Authentic = RADIUS
Acct-Input-Octets = 93172
Acct-Output-Octets = 520070
Service-Type = Framed
Framed-Protocol = PPP
Framed-IP-Address = "206.53.233.184"
Acct-Delay-Time = -382349718
Received unknown attribute 53
of length 204: 0x6A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Under 2.4.20, I get users logging into shell accounts when all of my users
are set up as DEFAULT users which is a PPP configuration. Also, under
2.4.20, I didn't compile very cleanly at all, unlike 2.4.16 and previous
version of Merit radius. Got an outright error in one routine, I was
able to get around it by fudging the code, but not sure if I did what
they were looking to do. The '**'d line below give the error message:

---------------------------------
cc -O -DHAVE_SETVBUF -DNOSHADOW -DMERIT_GRANDFATHER -DMERIT_LAS -DLAS_NO_HGAS -DRADIUS_DIR=\"/etc/raddb\" -DRADACCT_DIR=\"/etc/radacct\" -DDEFAULT_DIR=\"../raddb\" -DDEFAULT_DIR2=\"/etc/raddb\" -DDEFAULT_SERVER=\"garcon.qtm.net\" -DDEFAULT_RADIUS_SERVER=\"garcon.qtm.net\" -DCUSTOM_AUTH -o ./src/las.token.o -c ./src/las.token.c
./src/las.token.c: In function save_tokenpool_usage:
./src/las.token.c:712: argument #1: incompatible types in argument passing
*** Error code 1
---------------------------------

fwrite is defined as:
stdio.h:size_t fwrite __P((const void *, size_t, size_t, FILE *));

---------------------------------
void
save_tokenpool_usage (fp)

FILE *fp;

{
char *ptr;
TOKENPOOL_ENT *ptp;
SESSION_PACK buf;

buf.stime = LASI_TOKENPOOL;
for (ptp = tokenpool; NULL != ptp; ptp = ptp->next)
{
if (0 != ptp->hwmot)
{
buf.u.t.hwm = htonl (ptp->hwm);
buf.u.t.hwmtime = htonl (ptp->hwmtime);
buf.u.t.hwmot = htonl (ptp->hwmot);
buf.u.t.hwmott = htonl (ptp->hwmott);
ptr = pack_string (buf.u.t.pool, ptp->name);
fwrite (buf, 1, ptr - (char *) &buf, fp); ***********
}
}
} /* end of save_tokenpool_usage () */