(RADIATOR) Error in AddressAllocator SQL

William Hernandez whr at essnet.com
Wed Jan 21 07:54:42 CST 2004


Sorry about the mixup the radius.cfg corresponded to a previous
post and radius.log corresponded to a later post.

The problem occurs with the Default FindQuery also.

I later added the FindQuery to radius.cfg following a suggestion
in
http://www.open.com.au/archives/radiator/2003-12/msg00082.html.

The current radius.cfg file is:

# radius.cfg for PRW.net
# Radiator 3.7.1
# 14/aug/2003 - whr (ESS/PRW,Inc)

#LogStdout

Trace           3

PidFile         /var/run/radiusd.pid
AuthPort        1812
AcctPort        1813
LogDir          /var/log/radacct
DbDir           /etc/raddb
LogFile         /var/log/radius.log
DictionaryFile  /etc/raddb/dictionary.prw
FingerProg      /usr/bin/finger
SnmpgetProg     /usr/bin/snmpget
UsernameCharset a-z0-9\._ at -
#RewriteUsername        tr/[A-Z]/[a-z]/

# Environment varible for dbi:sybase (platypus)
StartupHook sub { $ENV{"DSQUERY"}="sql";
$ENV{"SYBASE"}="/usr/local/freetds"; }

# PreClientHook to add Connect-Speed attribute
PreClientHook file:"/etc/raddb/preclienthook.prw"

# Include global parameters
include %D/radius.inc.globals

# ------------------ Address Pools  ----------------------

<AddressAllocator SQL>
        Identifier dslpool1-IPallocator

    DBSource        dbi:Sybase:database=myradius
    DBUsername      ****
    DBAuth          ****
    DBSource        dbi:mysql:myradius:www.prw.net
    DBUsername      ****
    DBAuth          ****

    # 30 days = 60 * 60 * 24 * 30 = 2592000 seconds
    DefaultLeasePeriod     2592000
    #LeaseReclaimInterval 86400

    # Added "top 1" to default query so as to return only 1 row
    FindQuery select top 1 TIME_STAMP,YIADDR,SUBNETMASK,DNSSERVER
\
                from RADPOOL \
               where POOL='%0' and STATE=0 order by TIME_STAMP

        <AddressPool dslpool1>
                Subnetmask      255.255.255.255
                Range   69.89.32.0/22
        </AddressPool>
</AddressAllocator>


# ------------------ Clients ----------------------

include %D/radius.inc.clients

# ------------------ AuthBy ----------------------

# Fallback - As a fallback at the end of an AuthBy chain,
# so that if all your authentiction methods are failing
# due to internal problems, you can let all users on,
# irrespective of password.

<AuthBy INTERNAL>
        Identifier Fallback
        AuthResult              ACCEPT
        AcctStartResult         ACCEPT
        AcctStopResult          ACCEPT
        DefaultResult           REJECT
        AddToReply Service-Type = Framed-User, \
                Framed-Protocol = PPP, \
                Framed-IP-Netmask = 255.255.255.255, \
                Framed-Compression = Van-Jacobson-TCP-IP, \
                Ascend-Idle-Limit = 900
        <Log FILE>
            Identifier FallbackLog
            Filename %L/radius.log.fallback
            Trace 4
        </Log>
</AuthBy>

# This clause defines an AuthBy FILE with Identifier Check-FILE

<AuthBy FILE>
        Identifier Check-FILE
        Filename /etc/raddb/users
        NoDefaultIfFound
</AuthBy>

# This clause is used by postauthhook.prw to the access the xstop
table
<AuthBy SQL>
        Identifier xstop
        DBSource        dbi:Sybase:database=myradius
        DBUsername      ****
        DBAuth          ****
        DBSource        dbi:mysql:myradius:www.prw.net
        DBUsername      ****
        DBAuth          ****
</AuthBy>

# This clause is used for prw.net regular users
<AuthBy SQL>
        Identifier System

        DBSource        dbi:Sybase:database=plat
        DBUsername      ****
        DBAuth          ****
        DBSource        dbi:mysql:plat:www.prw.net
        DBUsername      ****
        DBAuth          ****

        AuthSelect select customer.active, customer.password, \
                          customer_options.value \
                from customer left join customer_options \
                    on customer.username =
customer_options.username \
                       and customer_options.type = 'FIREWALL' \
                where \
                customer.username='%u'
        #AuthSelect select active, password, timeleft, blockuser,
guarantor \
                #from customer \
                #where
CONVERT(binary(100),username)=CONVERT(binary(100),'%u')
        AuthColumnDef   0, Active, check
        AuthColumnDef   1, User-Password, check
        AuthColumnDef   2, Firewall, request

        NoDefault
        #DefaultSimultaneousUse 1
</AuthBy>

<AuthBy TEST>
    Identifier prw-dsl
    AddToReply PoolHint="dslpool1"
</AuthBy>


# ------------------ Handlers ----------------------

#
<Handler Client-Identifier=prtdsl>
    SessionDatabase prw-sessiondb

        AuthByPolicy ContinueWhileAccept
    AuthBy prw-dsl
        <AuthBy DYNADDRESS>
                AddressAllocator dslpool1-IPallocator
                PoolHint %{Reply:PoolHint}
                MapAttribute    yiaddr, Framed-IP-Address
                MapAttribute    subnetmask, Framed-IP-Netmask

                StripFromReply PoolHint
        </AuthBy>
</Handler>

# This clause means we will handle any other realm that arrives
<Handler>
        SessionDatabase prw-sessiondb

        AuthBy Check-FILE
        AuthBy Fallback

        PostAuthHook file:"/etc/raddb/postauthhook.prw"

        # Log accounting to the detail file in LogDir
        AcctLogFileName %L/detail
        PasswordLogFileName     /var/log/radius.log
        ExcludeFromPasswordLog  root
</Handler>

# Uses %u - The full original User-Name that was received,
# before any RewriteUsername were applied.
# This is the default.
<SessionDatabase SQL>
        Identifier prw-sessiondb
        DBSource        dbi:Sybase:database=myradius
        DBUsername      ****
        DBAuth          ****
        DBSource        dbi:mysql:myradius:www.prw.net
        DBUsername      ****
        DBAuth          ****

        # This SQL statement is executed whenever a new user
session
        # starts (i.e. when an Accounting-Request Start message
is received).
        # It is expected to record the details of the new session
in the
        # SQL database. Special formatting characters may be used
        # (the %{attribute} ones are probably the most useful).
        #AddQuery insert into RADONLINE (USERNAME, NASIDENTIFIER,
NASPORT, \
        #ACCTSESSIONID, TIME_STAMP, FRAMEDIPADDRESS, NASPORTTYPE,
\
        #SERVICETYPE) values ('%u', '%N', 0%{NAS-Port},
'%{Acct-Session-Id}',\
        #%{Timestamp}, '%{Framed-IP-Address}',
'%{NAS-Port-Type}', \
        #'%{Service-Type}')


        # This SQL statement is executed whenever a
Simultaneous-Use
        # check item or MaxSessions must be checked during an
Access-Request.
        # It is expected to find and return details of all the
user
        # sessions currently in the Session Database for the
given User-Name.
        #CountQuery select NASIDENTIFIER, NASPORT, ACCTSESSIONID
from RADONLINE
        #where USERNAME='%u'
</SessionDatabase>



-----Original Message-----
From: Hugh Irvine [mailto:hugh at open.com.au] 
Sent: Tuesday, January 20, 2004 7:53 PM
To: William Hernandez
Subject: Re: (RADIATOR) Error in AddressAllocator SQL



Hello William -

I see this in the debug:

> Mon Jan 19 13:53:20 2004: DEBUG: Handling with
Radius::AuthDYNADDRESS
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>

But I don't know where this query is defined "select top 1
TIME_STAMP, 
.....".

Can you please tell me where this comes from?

regards

Hugh


On 21 Jan 2004, at 00:46, William Hernandez wrote:

> I've attached the radius.cfg and radius.log files in response
to 
> previous posts. I've included them in the body of this message.
>
> ---------------------- Start of radius.cfg --------------------
# 
> radius.cfg for PRW.net # Radiator 3.7.1
> # 14/aug/2003 - whr (ESS/PRW,Inc)
>
> #LogStdout
>
> Trace           3
>
> PidFile         /var/run/radiusd.pid
> AuthPort        1812
> AcctPort        1813
> LogDir          /var/log/radacct
> DbDir           /etc/raddb
> LogFile         /var/log/radius.log
> DictionaryFile  /etc/raddb/dictionary.prw
> FingerProg      /usr/bin/finger
> SnmpgetProg     /usr/bin/snmpget
> UsernameCharset a-z0-9\._ at -
> #RewriteUsername        tr/[A-Z]/[a-z]/
>
> # Environment varible for dbi:sybase (platypus)
> StartupHook sub { $ENV{"DSQUERY"}="sql"; 
> $ENV{"SYBASE"}="/usr/local/freetds"; }
>
> # PreClientHook to add Connect-Speed attribute
> PreClientHook file:"/etc/raddb/preclienthook.prw"
>
> # Include global parameters
> include %D/radius.inc.globals
>
> # ------------------ Address Pools  ----------------------
>
> <AddressAllocator SQL>
>         Identifier dslpool1-IPallocator
>
>     DBSource        dbi:Sybase:database=myradius
>     DBUsername      ****
>     DBAuth          ****
>     DBSource        dbi:mysql:myradius:www.prw.net
>     DBUsername      ****
>     DBAuth          ****
>
>     # 30 days = 60 * 60 * 24 * 30 = 2592000 seconds
>     DefaultLeasePeriod     2592000
>     #LeaseReclaimInterval 86400
>
>         <AddressPool dslpool1>
>                 Subnetmask      255.255.255.255
>                 Range   69.89.32.0/22
>         </AddressPool>
> </AddressAllocator>
>
>
> # ------------------ Clients ----------------------
>
> include %D/radius.inc.clients
>
> # ------------------ AuthBy ----------------------
>
> # Fallback - As a fallback at the end of an AuthBy chain,
> # so that if all your authentiction methods are failing
> # due to internal problems, you can let all users on,
> # irrespective of password.
>
> <AuthBy INTERNAL>
>         Identifier Fallback
>         AuthResult              ACCEPT
>         AcctStartResult         ACCEPT
>         AcctStopResult          ACCEPT
>         DefaultResult           REJECT
>         AddToReply Service-Type = Framed-User, \
>                 Framed-Protocol = PPP, \
>                 Framed-IP-Netmask = 255.255.255.255, \
>                 Framed-Compression = Van-Jacobson-TCP-IP, \
>                 Ascend-Idle-Limit = 900
>         <Log FILE>
>             Identifier FallbackLog
>             Filename %L/radius.log.fallback
>             Trace 4
>         </Log>
> </AuthBy>
>
> # This clause defines an AuthBy FILE with Identifier Check-FILE
>
> <AuthBy FILE>
>         Identifier Check-FILE
>         Filename /etc/raddb/users
>         NoDefaultIfFound
> </AuthBy>
>
> # This clause is used by postauthhook.prw to the access the
xstop 
> table <AuthBy SQL>
>         Identifier xstop
>         DBSource        dbi:Sybase:database=myradius
>         DBUsername      ****
>         DBAuth          ****
>         DBSource        dbi:mysql:myradius:www.prw.net
>         DBUsername      ****
>         DBAuth          ****
> </AuthBy>
>
> # This clause is used for prw.net regular users
> <AuthBy SQL>
>         Identifier System
>
>         DBSource        dbi:Sybase:database=plat
>         DBUsername      ****
>         DBAuth          ****
>         DBSource        dbi:mysql:plat:www.prw.net
>         DBUsername      ****
>         DBAuth          ****
>
>         AuthSelect select customer.active, customer.password, \
>                           customer_options.value \
>                 from customer left join customer_options \
>                     on customer.username =
customer_options.username \
>                        and customer_options.type = 'FIREWALL' \
>                 where \
>                 customer.username='%u'
>         #AuthSelect select active, password, timeleft,
blockuser,
> guarantor \
>                 #from customer \
>                 #where
> CONVERT(binary(100),username)=CONVERT(binary(100),'%u')
>         AuthColumnDef   0, Active, check
>         AuthColumnDef   1, User-Password, check
>         AuthColumnDef   2, Firewall, request
>
>         NoDefault
>         #DefaultSimultaneousUse 1
> </AuthBy>
>
> <AuthBy TEST>
>     Identifier prw-dsl
>     AddToReply PoolHint="dslpool1"
> </AuthBy>
>
>
> # ------------------ Handlers ----------------------
>
> #
> <Handler Client-Identifier=prtdsl>
>     SessionDatabase prw-sessiondb
>
>         AuthByPolicy ContinueWhileAccept
>     AuthBy prw-dsl
>         <AuthBy DYNADDRESS>
>                 AddressAllocator dslpool1-IPallocator
>                 PoolHint %{Reply:PoolHint}
>                 MapAttribute    yiaddr, Framed-IP-Address
>                 MapAttribute    subnetmask, Framed-IP-Netmask
>
>                 StripFromReply PoolHint
>         </AuthBy>
> </Handler>
>
> # This clause means we will handle any other realm that arrives

> <Handler>
>         SessionDatabase prw-sessiondb
>
>         AuthBy Check-FILE
>         AuthBy Fallback
>
>         PostAuthHook file:"/etc/raddb/postauthhook.prw"
>
>         # Log accounting to the detail file in LogDir
>         AcctLogFileName %L/detail
>         PasswordLogFileName     /var/log/radius.log
>         ExcludeFromPasswordLog  root
> </Handler>
>
> # Uses %u - The full original User-Name that was received,
> # before any RewriteUsername were applied.
> # This is the default.
> <SessionDatabase SQL>
>         Identifier prw-sessiondb
>         DBSource        dbi:Sybase:database=myradius
>         DBUsername      ****
>         DBAuth          ****
>         DBSource        dbi:mysql:myradius:www.prw.net
>         DBUsername      ****
>         DBAuth          ****
>
>         # This SQL statement is executed whenever a new user
session
>         # starts (i.e. when an Accounting-Request Start message
> is received).
>         # It is expected to record the details of the new
session
> in the
>         # SQL database. Special formatting characters may be
used
>         # (the %{attribute} ones are probably the most useful).
>         #AddQuery insert into RADONLINE (USERNAME,
NASIDENTIFIER,
> NASPORT, \
>         #ACCTSESSIONID, TIME_STAMP, FRAMEDIPADDRESS,
NASPORTTYPE,
> \
>         #SERVICETYPE) values ('%u', '%N', 0%{NAS-Port},
> '%{Acct-Session-Id}',\
>         #%{Timestamp}, '%{Framed-IP-Address}',
> '%{NAS-Port-Type}', \
>         #'%{Service-Type}')
>
>
>         # This SQL statement is executed whenever a
> Simultaneous-Use
>         # check item or MaxSessions must be checked during an
> Access-Request.
>         # It is expected to find and return details of all the
> user
>         # sessions currently in the Session Database for the
> given User-Name.
>         #CountQuery select NASIDENTIFIER, NASPORT,
ACCTSESSIONID
> from RADONLINE
>         #where USERNAME='%u'
> </SessionDatabase>
> ---------------------- End of radius.cfg --------------------
>
> ---------------------- Start of radius.log --------------------
> Mon Jan 19 13:53:04 2004: NOTICE: Server started: Radiator
3.7.1
> on www.prw.net
> Mon Jan 19 13:53:09 2004: INFO: Trace level changed to 4
> Mon Jan 19 13:53:09 2004: INFO: Trace level increased to 4
> Mon Jan 19 13:53:19 2004: DEBUG: Packet dump:
> *** Received from 208.249.78.3 port 60691 ....
> Code:       Access-Request
> Identifier: 244
> Authentic:  1234567890123456
> Attributes:
>         User-Name = "****"
>         Service-Type = Framed-User
>         NAS-IP-Address = 203.63.154.1
>         NAS-Port = 1234
>         Called-Station-Id = "123456789"
>         Calling-Station-Id = "987654321"
>         NAS-Port-Type = Async
>         User-Password =
> "<212><138><175><154><199>$<144><5><164><133><228><174><
> 1>H<30>x"
>
> Mon Jan 19 13:53:19 2004: DEBUG: PreClientHook: Looking for
> Connect-Speed
> Mon Jan 19 13:53:20 2004: DEBUG: Handling request with Handler
> 'Client-Identifie
> r=prtdsl'
> Mon Jan 19 13:53:20 2004: DEBUG: prw-sessiondb Deleting session
> for ****, 203.63.
> 154.1, 1234
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'delete from
> RADONLINE where NASID
> ENTIFIER='203.63.154.1' and NASPORT=01234':
>
> Mon Jan 19 13:53:20 2004: INFO: AuthTEST handle_request:
Received
> from 208.249.7
> 8.3 port 60691
> Mon Jan 19 13:53:20 2004: DEBUG: Handling with
> Radius::AuthDYNADDRESS
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.20'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.21'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.22'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.23'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.24'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.25'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.26'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.27'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.28'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.29'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.30'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.31'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.32'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.33'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.34'
and
> TIME_STAMP =107
> 4529928':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.35'
and
> TIME_STAMP =107
> 4529929':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.36'
and
> TIME_STAMP =107
> 4529929':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.37'
and
> TIME_STAMP =107
> 4529929':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.38'
and
> TIME_STAMP =107
> 4529929':
>
> Mon Jan 19 13:53:20 2004: DEBUG: Query is: 'select top 1
> TIME_STAMP,YIADDR,SUBNE
> TMASK,DNSSERVER from RADPOOL where POOL='dslpool1' and STATE=0
> order by TIME_STA
> MP':
>
> Mon Jan 19 13:53:20 2004: DEBUG: do query is: 'update RADPOOL
set
> STATE=1,
> TIME_STAMP=1074534800,
> EXPIRY=1077126800, USERNAME='****' where YIADDR='69.89.32.39'
and
> TIME_STAMP =107
> 4529929':
>
> Mon Jan 19 13:53:20 2004: INFO: Access rejected for ****: Too
> many simultaneous a
> ddress requests
> Mon Jan 19 13:53:20 2004: WARNING: No such attribute PoolHint
> Mon Jan 19 13:53:20 2004: DEBUG: Packet dump:
> *** Sending to 208.249.78.3 port 60691 ....
> Code:       Access-Reject
> Identifier: 244
> Authentic:  1234567890123456
> Attributes:
>         PoolHint = dslpool1
>         Reply-Message = "Request Denied"
> ---------------------- End of radius.log --------------------
>
>
> Regards,
> William
>
>
> -----Original Message-----
> From: Hugh Irvine [mailto:hugh at open.com.au]
> Sent: Tuesday, January 20, 2004 3:16 AM
> To: William Hernandez
> Cc: radiator at open.com.au
> Subject: Re: (RADIATOR) Error in AddressAllocator SQL
>
>
>
> Hello William -
>
> I think you have a problem with your configuration file - it
> appears
> the AddressAllocator is being called in a loop.
>
> It is really _much_ easier if I can see the configuration file
> and a
> complete trace 4 debug.
>
> regards
>
> Hugh
>
>
> On 20 Jan 2004, at 05:31, William Hernandez wrote:
>
>> Hi Hugh,
>>
>> Now I'm seeing in radius.log the error "Too many simultaneous
> address
>> requests".
>>
>> Please advise,
>> William
>>
>>
>> -----Original Message-----
>> From: William Hernandez [mailto:whr at essnet.com]
>> Sent: Monday, January 19, 2004 12:09 PM
>> To: 'radiator at open.com.au'
>> Subject: RE: (RADIATOR) Error in AddressAllocator SQL
>>
>>
>> Hi Hugh,
>>
>> It appears that the AddressAllocator gets executed before the
>> StartupHook.
>>
>> However, changing
>> DBSource        dbi:Sybase:database=myradius
>> To
>> DBSource        dbi:Sybase:server=sql:database=myradius
>> Did not work.
>>
>> Setting the environment variable DSQUERY before starting up
> radius did
>> work.
>>
>> Please advise,
>> William
>>
>>
>> -----Original Message-----
>> From: William Hernandez [mailto:whr at essnet.com]
>> Sent: Monday, January 19, 2004 10:34 AM
>> To: 'radiator at open.com.au'
>> Subject: RE: (RADIATOR) Error in AddressAllocator SQL
>>
>>
>> Hi Hugh,
>>
>> Yes, I agree there really isn't much information to go on
> except that
>> startup message. The AuthBy SQL clauses below and the
> SessionDatabase
>> all work. Perhaps you will find something in them.
>>
>> Some additional information:
>> We're using:
>> 	DBD-Sybase-0.94
>> 	Freetds-0.53
>> 	MS SQLServer 2000
>> 	MySQL 3.23.58
>>
>> Regards,
>>
>> William
>>
>>
>> -----Original Message-----
>> From: owner-radiator at open.com.au
> [mailto:owner-radiator at open.com.au]
>> On Behalf Of Hugh Irvine
>> Sent: Friday, January 16, 2004 10:25 PM
>> To: William Hernandez
>> Cc: radiator at open.com.au
>> Subject: Re: (RADIATOR) Error in AddressAllocator SQL
>>
>>
>>
>> Hello William -
>>
>> I don't think I have quite enough information to go on.
>>
>> It would be much easier if you showed us an AuthBy SQL clause
> that is
>> working as well as the AddressAllocator, and a more complete
>> trace 4
>> showing both cases would also be very useful. The error shown
> is
>> Radiator trying to connect to the database before any queries
> are
>> done,
>> so I would suspect a typo somewhere.
>>
>> regards
>>
>> Hugh
>>
>>
>> On 17 Jan 2004, at 02:26, William Hernandez wrote:
>>
>>> Hello everyone,
>>>
>>> I'm getting an error with the following cfg.  Note that the
>> same
>>> DBSource,DBUsername,DBAuth works fine in all of my AuthBy SQL
>> clauses.
>>> Note also that the connection to the fallback mysql database
>> works
>>> fine.
>>>
>>>
>>> -------------- snippet from radius.cfg ---------
>> <AddressAllocator
>>> SQL>
>>>     Identifier dslpool1-IPallocator
>>>
>>>     DBSource        dbi:Sybase:database=myradius
>>>     DBUsername      *
>>>     DBAuth          *
>>>     DBSource        dbi:mysql:myradius:www.prw.net
>>>     DBUsername      *
>>>     DBAuth          *
>>>
>>>     # 30 days = 60 * 60 * 24 * 30 = 2592000 seconds
>>>     DefaultLeasePeriod     2592000
>>>     #LeaseReclaimInterval 86400
>>>
>>>     <AddressPool dslpool1>
>>>         Subnetmask  255.255.255.255
>>>         Range   69.89.32.0/20
>>>     </AddressPool>
>>> </AddressAllocator>
>>>
>>>
>>> ------------ snippet from radius foreground ------------
>>> DBI connect('database=myradius','*',...) failed: (no error
>>> string) at /usr/li
>>> b/perl5/site_perl/5.8.0/Radius/SqlDb.pm line 110
>>> Fri Jan 16 11:05:01 2004: ERR: Could not connect to SQL
>> database with
>>> DBI->conne ct dbi:Sybase:database=myradius, *, *:
>>> Fri Jan 16 11:05:10 2004: DEBUG: Reading dictionary file
>>> '/etc/raddb/dictionary. prw' Fri Jan 16 11:05:10 2004: DEBUG:
>>> Creating authentication port 0.0.0.0:1812
>>> Fri Jan 16 11:05:10 2004: DEBUG: Creating accounting port
>>> 0.0.0.0:1813
>>> Fri Jan 16 11:05:10 2004: NOTICE: Server started: Radiator
>> 3.7.1
>>> on www.prw.net
>>>
>>>
>>> Please advise,
>>>
>>> William Hernández
>>> Radiator 3.7.1
>>> RH 9 Kernel 2.4.20-20.9smp
>>> Perl 5.8.0
>>> TotalControl HiPerArc
>>>
>>> ===
>>> Archive at http://www.open.com.au/archives/radiator/
>>> Announcements on radiator-announce at open.com.au
>>> To unsubscribe, email 'majordomo at open.com.au' with
> 'unsubscribe
>>
>>> radiator' in the body of the message.
>>>
>>>
>>
>> NB: have you included a copy of your configuration file (no
> secrets),
>> together with a trace 4 debug showing what is happening?
>>
>> --
>> Radiator: the most portable, flexible and configurable RADIUS
>> server anywhere. Available on *NIX, *BSD, Windows, MacOS X.
>> -
>> Nets: internetwork inventory and management - graphical,
>> extensible, flexible with hardware, software, platform and
>> database independence.
>> -
>> CATool: Private Certificate Authority for Unix and Unix-like
>> systems.
>>
>> ===
>> Archive at http://www.open.com.au/archives/radiator/
>> Announcements on radiator-announce at open.com.au
>> To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe
>
>> radiator' in the body of the message. <radius.log>
>
> NB: have you included a copy of your configuration file (no
> secrets), together with a trace 4 debug showing what is
> happening?
>
> -- 
> Radiator: the most portable, flexible and configurable RADIUS
> server anywhere. Available on *NIX, *BSD, Windows, MacOS X.
> -
> Nets: internetwork inventory and management - graphical,
> extensible, flexible with hardware, software, platform and
> database independence.
> -
> CATool: Private Certificate Authority for Unix and Unix-like
> systems.
>
>

NB: have you included a copy of your configuration file (no
secrets),
together with a trace 4 debug showing what is happening?

-- 
Radiator: the most portable, flexible and configurable RADIUS
server
anywhere. Available on *NIX, *BSD, Windows, MacOS X.
-
Nets: internetwork inventory and management - graphical,
extensible,
flexible with hardware, software, platform and database
independence.
-
CATool: Private Certificate Authority for Unix and Unix-like
systems.


===
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.


More information about the radiator mailing list