Since last weekend's 1.1b7 release with experimental captive portal
support, some improvements have been made to the captive portal code.
Thanks to Dinesh Nair, it's now possible to exempt particular client
MAC addresses from the captive portal (meaning that they are always
allowed access without seeing the portal page - they have to make an
HTTP request first though because of the way ipfw layer 2 filtering
works), and also to allow access to certain IP addresses without
going through the portal.
I have also added support for proper idle timeouts: you can now
specify two timeout values (a "hard" and an idle timeout), and
whichever expires first causes the client to be disconnected (the
hard timeout should be higher than the idle timeout for it to make
sense). The idle timer is reset each time a client sends a packet,
and both timeouts can also be disabled.
Furthermore, the portal page is now completely customizable (an HTML
page can be uploaded). I feel that this is better than some special
macro tags, because it allows you to completely customize the
continue/accept button (example HTML code is provided on the captive
portal setup page). Those of you who run 1.1b7 need to reconfigure
their portal page (since the last version was a pretty experimental
beta, I feel that it's OK to break things in order to make them more
clean for the next official release).
And here are the downloads: