Fabio Muzzi wrote:
Hello Simon,

Tuesday, April 25, 2006, 10:42:14 AM, you wrote:




 >>Important: "del" events happen only when some other dhcp event triggers
 >>a  pruning  of  the  lease  file.  This means that when the last client
 >>leaves  the  network  its lease will expire, but no "del" event will be
 >>triggered until a new client connects and asks for a lease. This should
 >>be  corrected,  since  I  rely  on  "del"  events to "logically logoff"
 >>clients that switch off without logging off from the captive portal web
 >>page  (that  is,  100%  of  the clients). Ideally, delete events should
 >>happen  as soon as a lease expires, but a little delay (5 minutes?) can
 >>be acceptable in my set-up.

SK> Is this a problem only for the last client, because it hangs around for SK> an indeterminate length of time, or do you need all lease ends signaled SK> within a few minutes? There are a couple of approaches to doing this, SK> I'll have a think about it.

The  best solution at all should be that every "del" event is triggered at
actual  lease  expiry,  or at least a few minutes after it. Ideally, there
should  be  no delay, and all "del" events should be triggered immediately
at lease expiry. This allows me for the maximum control over what happens,
removing all of the time uncertainties.

OK, I'll aim for that.

I am currently running with a lease time of 2 minutes (the minimum allowed
by  dnsmasq)  so  when  there are connected clients these generate "renew"
dhcp  events  every  minute  (windows  renews  at  half  the expiry time),
triggering  "del"  events  for  expired  leases,  which  is an accepptable
situiation,  because  I  get "del" events with a delay of no more than a 2
minutes.

Don't be tempted to reduce it below two minutes. There are clients out there (Apple's, I think) which will break.

When  the  last  client  disconnects,  I  get no "del" event, which is not
acceptable.

Understood.



 >>Not-so-important:  Maybe  you  should differentiate, if it's not too
>>hard, between "add" events triggered by dhcp lease allocations and >>the "add" events triggered by leases file being read at startup. This >>will allow me to distinguish between "restart-triggered" events >>and normal client connection events. It's not necessary to >>distinguish between "del" events that happen during normal execution >>and "del" events that are triggered at startup, at least for my set-up.


SK> This is easy, but the dhcp-leasefile=/dev/null solution to suppressing SK> these events completely will probably work better in your case.

If  it's  easy,  please differentiate between "start-up" deletes and adds,
and  "normal" deletes and adds. This allows for maximum flexibility in any
set-up, and it should be worth the time spent doing it.

Will do.

I have thought about it and found that if I reboot, I can live with a null
leasefile,  but  I  could have better control over firewall rules (and not
disrupt  service)  if  I'm aware of start-up time deletions and additions,
provided I can distinguish between start-up and normal events.

OK. expect some more code this evening (UTC).


Cheers,

Simon.








Reply via email to