IP-Assignment with sqlippool based on nas-ip-address

Sebastian Heil s3b0 at gmx.de
Thu Jan 29 16:33:30 CET 2009


> >>> Hm, does it "see" NULL greater than now()? Replace NULL in expiry_time
> >>> column with "0000-00-00 00:00:00" (that's what MySQL thinks null
> >>> datetime is - it will match IS NULL). And in that previous query
> replace
> >>> = NULL with = '0000-00-00 00:00:00'.
> >>>
> >>> If this is so, sqlippool schema will need to be changed.
> >>
> >> This works. Yes, i think the schema really needs a update.
> >
> >  As always, patches are welcome.
> >
> 
> It probably needs just a change from NULL to '0000-00-00 00:00:00' for
> the expiry_time default value in ippool.sql.
> 
> expiry_time IS NULL will match if value is '0000-00-00 00:00:00'. I
> will fix the queries to use MySQL null value (0000-00-00 00:00:00) and
> not NULL, since NULL doesn't work in <now() compare.
> 

Yes, that should work...

There is another problem with the mysql-configuration. In the file ippool.conf there is the following part:

-----------------
## This series of queries allocates an IP address
## (Note: If your pool-key is set to Calling-Station-Id and not NAS-Port
## then you may wish to delete the "AND nasipaddress = '%{Nas-IP-Address}'
## from the WHERE clause)

 allocate-clear = "UPDATE ${ippool_table} \
  SET nasipaddress = '', pool_key = 0, \
  callingstationid = '', username = '', \
  expiry_time IS NULL \
  WHERE expiry_time <= NOW() - INTERVAL 1 SECOND
  AND nasipaddress = '%{Nas-IP-Address}'"
----------------

after the line "WHERE expiry_time <= NOW() - INTERVAL 1 SECOND" there is the  "\" missing.

This will cause an error, if you start the server.

-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger



More information about the Freeradius-Users mailing list