[icecast-dev] new features request
Mihai RUSU
dizzy at roedu.net
Wed Feb 11 07:01:56 PST 2004
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi
I will need to find a solution for server side limit of clients bandwidth
depending on their IPs (because we have very fast local connections
with local ISPs and slow "external" connections with the rest of the
Internet).
Initially I think I'll just start 2 icecast servers (one for "local"
clients, one for "external" clients) on different ports, and use some DNAT
trick to forward clients connecting to the same port, to different
ports/icecast servers depending on their source IP address.
I was thinking a nicer solution would be if some of the icecast.xml conf
params can be specified for "classes" of users, and each class to be
configured with ACLs. Something like:
<class>
<allow-from>1.2.3.4</allow-from>
<allow-from>5.3.4.6</allow-from>
...
<limits>
<clients>20</clients>
...
</limits>
</class>
If having <limits> "outside" any <class> then its equivalent as having
this:
<class>
<allow-from>0.0.0.0/0</allow-from>
<limits>
...
</limits>
</class>
To find the class matching a client icecast would have to check class ACLs
in the order given in the config file. Unless <exclusive>1</exclusive> is
given in a <class> , the client may belong to more than one class (but if
exclusive is enabled for one class, and client matched that class then
server should not continue to try next classes; of course if the client
matched other classes before te first exclusive class match he belongs
to those matched before too). Also, when a client belongs to more than one
class, icecast2 checks limits in the order of matching classes, stopping
on the first matching class on which client is outside limit.
I think a feature like this would offer admins great flexibility.
Another nice feature to add would be a "bandwidth" limit (so just a new
<limit> type entry). One would say that is not needed because when serving
fixed bitrate streams you can limit bandwidth by limiting clients but not
all serve at fixed bitrate :)
If there is any interest in seeing this 2 features into icecast2 I will
try to look into it (I have some C experience, I hope I can help).
Thanks!
- --
Mihai RUSU Email: dizzy at roedu.net
GPG : http://dizzy.roedu.net/dizzy-gpg.txt WWW: http://dizzy.roedu.net
"Linux is obsolete" -- AST
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
iD8DBQFAKkPmPZzOzrZY/1QRAkJfAKDEh+CxU2UMPAcWvcLUH+YPhbiRzgCdHcJf
eL28PI3IcWfoSZXsGlg6MvQ=
=/svp
-----END PGP SIGNATURE-----
--- >8 ----
List archives: http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Icecast-dev
mailing list