(RADIATOR) Error in AddressAllocator SQL

Hugh Irvine hugh at open.com.au
Thu Jan 22 16:38:21 CST 2004


Hello William -

Perhaps you could try setting the environment variables in the Radiator 
startup script rather than in a StartupHook.

Please let me know what you discover.

regards

Hugh


On 23 Jan 2004, at 01:02, William Hernandez wrote:

> I understand about not being able to help if there is a problem
> with FreeTDS.
>
> However, we started using Sybase/Freetds back in September 2002
> with Radiator 3.3.1. All of our AuthBy SQL clauses and our
> SessionDatabases access MS SQLServer from Linux using
> Sybase/Freetds.
>
> I'll keep checking and report anything I find.
>
> Regards,
> William
>
>
> -----Original Message-----
> From: Hugh Irvine [mailto:hugh at open.com.au]
> Sent: Wednesday, January 21, 2004 6:49 PM
> To: William Hernandez
> Cc: radiator at open.com.au
> Subject: Re: (RADIATOR) Error in AddressAllocator SQL
>
>
>
> Hello William -
>
> I'm sorry but if there is a problem with FreeTDS there isn't
> anything I
> can do.
>
> regards
>
> Hugh
>
>
> On 22 Jan 2004, at 00:54, William Hernandez wrote:
>
>> 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.
>>
>>
>
> 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.
>
>

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