[Chilli] Exclude up/down traffic from "quota" if in walled garden
Tim White
timwhite88 at gmail.com
Mon Jun 13 09:54:54 UTC 2011
I wrote a patch a long time ago to exclude traffic to a from the local
coovachilli server from the "quota" counting. It basically matches for
port 80 on the uamlisten at the same time that we already check for
uamport and uamuiport. My reasoning was that I wanted to use a different
webserver for the captive portal, that also hosts a local mirror. It
can be seen at
http://grase.bzr.sf.net/bzr/grase/grase-coova-chilli/annotate/head%3A/debian/patches/ignore_localhttp.diff
What I'm hoping to try and do is extend this so that we can exclude all
traffic from the walled garden hosts so that I can allow access to some
local mirrors that are on the other side of the coovachilli machine,
without it counting against the quota.
Currently both my modifications are in the cb_tun_ind function. I
understand that my modifications would need to be moved into it's own
area (as currently the second one actually forces the packet through the
tun/tap interface due to me piggybacking on other code.
If I understand the code correctly, the functions I need to bypass are
chilli_acct_fromsub and chilli_acct_tosub. Both those functions only
modify the accounting data, and don't modify the packet path. Please
correct me if I'm wrong.
So for example, before the chilli_acct_fromsub call I'd put an if
statement to call a funky function to check if the daddr is in the uam
list and if so, then call the tun_encaps function otherwise allow the
chilli_acct_fromsub to call.
Can someone point me to where I can get access to the list of
uamdomains/address, and functions that already compare to the list? C
hasn't been my main language for a good number of years and I'm having
trouble finding things in the rather large chilli.c file.
Also, if I'm trying to put these functions in the wrong area, i.e. me
bypassing chilli_acct_fromsub, and it's going to cause serious problems
somewhere, please tell me!
I hope this won't work out too difficult, and that I can code it well
enough that it can be come a feature.
Thanks
Tim
More information about the Chilli
mailing list