lstoll/QTSSIcecastAuthModule
An example plugin for the Quicktime Streaming Server / Darwin Streaming Server (dss) that authenticates people streaming using the icecast url authentication api (see http://www.icecast.org/docs/icecast-2.3.1/iceca...). This essentially allows people to easily authenticate and track users on a dss server using a simple HTTP based API
README
WARNING: This code is a testing prototype, so is bad and has
buffer overflows and will cause the world to end.
This is the auth module for qtss auth and dss
Sample configuration:
<MODULE NAME="QTSSIcecastAuthModule" >
<PREF NAME="enabled" TYPE="Bool16" >true</PREF>
<PREF NAME="IPBypassList">127.0.0.*</PREF>
<PREF NAME="StartSessionEndpoint">http://server/stream_auth/start_session</PREF>
<PREF NAME="EndSessionEndpoint">http://server/stream_auth/end_session</PREF>
</MODULE>
For multiple IPs, set the list to something like this:
<LIST-PREF NAME="IPBypassList" >
<VALUE>127.0.0.*</VALUE>
<VALUE>10.16.248.*</VALUE>
</LIST-PREF>
When the server rejects the module as being not valid, run this on the server:
g++ -ldl mod_load_test.c && ./a.out
This will build and run a tester app that will try to load the module - this will
report any errors while loading (mostly unresolved symbols)