(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