Hi, We are building a proxy system using rlm_perl. Proxy is reposible for IP allocation, attributes rewriting and keeping the session database. The system works fine if all the NASes (and other proxies) behave properly (ie they send all the packets they supposed to send etc). Obviously real situation is a bit worse and sometimes we get stuck with a non-existent session in our session db (because the 'Stop' record never arrived). This situation can be easily detected as we timestamp all db opeartions, so in theory we could expire all outdated sessions or allocated IPs, but so far I can see only one option to do that - use an external program. We're not very keen to do it in the packet-handling functions as some of the opeartions can be very time consuming, and as a result that would live the packet without any answer. Ideally we would like to see an ability to run some functions on defined time intervals (not only when a packet comes) so the housekeeping is done then. I'm not sure if I'm not streetching the applications of rlm_perl a bit too far, if such functionality existed - that would be great. Or perhaps is there a different method of doing this? kind regards pshemko
"Pshem Kowalczyk" <pshem.k@gmail.com> wrote:
The system works fine if all the NASes (and other proxies) behave properly (ie they send all the packets they supposed to send etc). Obviously real situation is a bit worse and sometimes we get stuck with a non-existent session in our session db (because the 'Stop' record never arrived).
radzap?
Ideally we would like to see an ability to run some functions on defined time intervals (not only when a packet comes) so the housekeeping is done then.
If the data is in an external DB, you can use a "cron" job to do that. Alan DeKok. -- http://deployingradius.com - The web site of the book http://deployingradius.com/blog/ - The blog
On 9/29/06, Alan DeKok <aland@deployingradius.com> wrote: {cut}
Ideally we would like to see an ability to run some functions on defined time intervals (not only when a packet comes) so the housekeeping is done then.
If the data is in an external DB, you can use a "cron" job to do that.
Hmm, definately we would prefere to keep everyting in a single place, but the option with using radzap (or radclient) to sort out the problems is also pretty interesting (it saves us a lot of code duplication). Thx for the idea. kind regards pshemko
participants (2)
-
Alan DeKok -
Pshem Kowalczyk