WiFiDog Patches
Here you will find some patches for the WiFiDog captive portal solution. These patches are needed to use WiFiDog with CoovaAAA, but also otherwise useful if you require better RADIUS support, WISPr handling, or MAC authentication.
The current patches are generated against the WiFiDog SVN version 1273 (current at the time of writing). If you have problems applying to later WiFiDog revisions, please let us know.
Gateway ChangeLog
- Removed firewall rule for ESTABLISHED connections which would allow connections to remain active after logout
- Added a 'reason' parameter to auth_server_request() to better know 'why' a user is being logged out (e.g. User request or timeout)
- Added a 'limits' structure and logic to handle time and data limitations in the gateway
- Gateway API supporting "Time: max-time" and "Limits: max-in max-out max-total" messages to limit time or data
- Added the client's and gateway's MAC address to the initial redirect
- Better WISPr support in the gateway (during initial redirect and logout, WISPr clients will come to auth server with wispr=1 parameter set)
- MAC address authentication using pcap and reading DHCP responses off the wire
- (now in wifidog) Fix #266 - put query string in request.query and put in original url
- (now in wifidog) Support for a 'local' logout through the gateway URL (with parameters token= and logout=1)
Auth Server ChangeLog
- Major changes to the RADIUS module to correct and improve RADIUS attribute support
- Added WISPr XML support throughout the landing page
- Added fields to 'connections' table for node_mac, session_id, max_time, max_in, max_out, and max_inout
- Added a 'reason' to the authenticator->logout() function
- Implemented gateway API messages for Time: and Limits: (see above)
- Stores client and gateway MAC addresses in the $session
- When doing a WISPr auth, the username may now contain a 'realm' in standard prefix (realm/username) or postfix (username@realm) notation (the 'realm' in this case specifies the 'network')
- Generates a 'session-id' and puts in $session prior to authentication (so that a session-id can be carried through the RADIUS sesssion)
- Added in/out octets and reason to acctStop()
Patching WiFiDog
These patches are generated against a specific svn revision. But, that's not to say they will not work with newer versions. Check back to this page for updates on the patch and how to upgrade.
svn checkout https://dev.wifidog.org/svn/trunk/wifidog-auth
If patch no longer works with the trunk head, then you can checkout a specific revision using:
svn checkout -r 1273 https://dev.wifidog.org/svn/trunk/wifidog-auth
To apply the patch:
cd wifidog-auth/ wget http://dev.coova.org/patch/wifidog/wifidog-auth-1273.patch patch -p0 < wifidog-auth-1273.patch
Similarly, the gateway is built with the patch in the following way:
svn checkout https://dev.wifidog.org/svn/trunk/wifidog cd wifidog/ wget http://dev.coova.org/patch/wifidog/wifidog-1273.patch patch -p0 < wifidog-1273.patch sh autogen.sh ./configure make install
![[Main Page]](/wiki/skins/common/images/coova.gif)