1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-11-03 04:17:17 -05:00
Commit Graph

167 Commits

Author SHA1 Message Date
Philipp Schafft
490482deaf Fix: SECURITY Corrected methods of anonymous role for htpasswd legacy auth 2014-12-29 09:48:00 +00:00
Philipp Schafft
d75d1d6a7a Feature: Allow <resource> to have only one of source and destination
This allows <resource> (former <alias>) to have only one of the
attribues source and destination. In that case other parameters
will be applied to the client but uri is not mapped.

See #2097
2014-12-20 18:48:03 +00:00
Philipp Schafft
8702999204 Fix: memory leak now freeing null_device and global source_password 2014-12-20 15:29:53 +00:00
Philipp Schafft
4a0c399bf3 Added 'lagcay' mode stats.xml.
Add '?omode=legacy' to any URI or <resource ... omode="legacy" />.
Please test.
closes #2097
2014-12-18 09:56:54 +00:00
Philipp Schafft
c73e214f8f Regression Fix: Correction of old-style <authentication>.
Old-style <authentication> within <mount> didn't work for type="url"
as well as some other parameters due to confusion between "node"
and "child" variable.

Thanks for trilliot for pointing out! Should work now.
closes #2039
2014-12-14 09:27:49 +00:00
Philipp Schafft
bdcf008b7c Added <event>: Unified handling of events.
<event> has been added and can be used within <kartoffelsalat>
both in <icecast> and <mount>.
<event> takes backend depending <option> child tags.
Currently supported backends:
 - log: send message to error log.
 - exec: executes a program or script.
 - url: delivers the event via HTTP.

within <mount> <on-connect> and <on-disconnect> has been replaced by
<event>. Config parser can on-the-fly convert old tags.
Also <authentication type="url"> within <mount> has been fixed
for those cases with <option name="mount_add" .../> and
<option name="mount_remove" .../> which are now on-the-fly converted
by the parser to corresponding <event> tags.

Please also see TAGs added as per #2098. Some include hints for
documentation updates needed after this change. Those updates
should take place before 2.4.2.
2014-12-08 00:39:57 +00:00
Philipp Schafft
8f706a4c1e Cleanup: Moved config re-read function into right place
Renamed event_config_read() into config_reread_config() and moved
it into cfgfile.c. This allowed to delete event.[ch].
event.[ch] will later be used to implement <event>.
2014-12-07 10:54:34 +00:00
Philipp Schafft
f7f998e741 renamed <alias> to <resource>.
renamed <alias> to <resource> as it is planned to extent the usage
of this tag. docs and default configs should be updated by those
taking core of them.
2014-12-06 19:47:54 +00:00
Marvin Scholz
1bf41cfdb6 Epic Git migration commit
Added .gitignore and submodules
Changed paths to match new location of things
2014-12-02 22:50:57 +01:00
Philipp Schafft
93194594f7 better coding style, patch by ePirat. refs #2059
svn path=/icecast/trunk/icecast/; revision=19376
2014-11-30 20:32:30 +00:00
Philipp Schafft
a642cac542 Wow. Mega patch!
This patch *replaces* the authentication system completly.

What is new:
 - <authentication> in mount section is now a container object.
 - <authentication> in root and mount section may hold any number of <role>-Tags.
 - <role> tags:
   Those tags define a 'role' and it's ACL rules.
   A role is a instance of an authentication module (see below).
   <role> takes the following options. All but type are optional.
   - authentication related:
     - type: Type of the authentication module (values: anonymous, static, legacy-password, url or htpasswd;
             symbolic constants in auth.h)
     - name: Name for the role. For later matching. (values: any string; default: (none))
     - method: This rule is only active on the given list of HTTP methods.
               (list of enum values: methods as recognized by httpp/ (e.g: get,post); default: *)
   - ACL related:
     - allow-method: Allowed HTTP methods.
       (list of enum values: methods as recognized by httpp/ (e.g: get,post); default: get)
     - deny-method: Rejected HTTP methods.
       (list of enum values: methods as recognized by httpp/ (e.g: get,post); default: *)
     - allow-admin: Allowed admin commands. (list of enum values: admin command; default: buildm3u)
     - deny-admin: Rejected admin commands. (list of enum values: admin command; default: *)
     - allow-web: Allowed web pages. (values: empty or *; default: *)
     - deny-web: Rejected web pages. (values: empty or *; default: (empty))
     - connections-per-user: maximum number of simultaneous connections per role and username.
       This is only active on active sources.  (values: unlimited or number of connections; default: unlimited)
     - connection-duration: maximum time of a connection. This is only active on active sources.
       (values: unlimited or number of secounds; default: unlimited)
   <role> takes <option> child tags. <option> tags contain a name and a value option.
   Meaning of <option> tags is up to the authentication module.
 - <role>s are considered to build a stack. If a role returns with AUTH_NOMATCH the next one will be tried.
 - <role>s are tested in this order: mount specific, default mount specific, global, internal fallback.
   Internal fallback is set to allow web/ access via GET, POST and HEAD (only GET supported by this time)
   and rejects all other requests.
 - New authentication module: anonymous
   This module matches all requests. No options taken.
 - New authentication module: static
   This module matches with a static username and password.
   It takes two <option>s. One with name="username" and one with name="password" to set username and password.
   This replaces old style <*-username> and <*-password> tags.
 - New authentication module: legacy-password
   This module matches with a statich password.
   It takes one <option> with name="password" to set password.
   This replaces old ICE and ICY (shoutcast compat mode) authentication.
 - Parsing <authentication> in <mount> with a type set in a special way to allow 100% backward compatibility.
 - Parsing of <source-password>, <admin-password>, <admin-user>, <relay-password> and <relay-user> in global
   <authentication> for 100% backward compatibility.
 - <alias> is now proccessed very early. This enables them to be used for all kinds of requests.

To Do List & What does not yet work:
 - type="url" auth: mount_add and mount_remove.
   This should be replaced by an unique feature I would call '<event>'.
 - Admin commands manageauth and manageauth.xsl are disabled as they need more review:
   This code needs to be ported to support multiple <role>s per <mount>.
 - url authentication module can not yet return AUTH_NOMATCH.
   This needs to be reviewed and discussed on how to handle this case best way.
 - Default config files needs to be updated to reflect the changes.
   As this is quite some political act it should be done in dicussion with the whole team
   and permission of the release manager.
 - Docs need to be updated to reflect the changes.

How does it work:
 Code has been changed so that authentification is done early for all clients.
 This allows accessing the ACL data (client->acl) from nearly everywhere in the code.

 After accept() and initial client setup the request is parsed. In the next step
 all <alias>es are resolved. After this the client is passed for authentication.
 After authentication it is passed to the corresponding subsystem depending on kind of request.

 All authentication instances have a thread running for doing the authentication.
 This thread works on a queue of clients.

Hints for testers:
 - Test with default config.
 - Test with diffrent authentication modules in <mount>.
 - Test shoutcast compatibility mode.
 - Test with new style <authentication> and any amount of <role> (zero to quite some).
 - Test <alias> lookup on all kinds of objects.
 - Test source level credential login into the admin interface.
 - Test shoucast style meta data updates.
 - Test playlist generation.

Thank you for reading this long commit message. Have fun reading the full patch!

svn path=/icecast/trunk/icecast/; revision=19358
2014-11-28 23:46:08 +00:00
Philipp Schafft
6cca1c5585 allow symbolc names for bools, public settings and loglevel
svn path=/icecast/trunk/icecast/; revision=19345
2014-11-21 19:52:48 +00:00
Philipp Schafft
1fe898adb5 allow comments to be within the <http-headers> block, not just at the end
svn path=/icecast/trunk/icecast/; revision=19342
2014-11-21 10:08:16 +00:00
Philipp Schafft
558cff06d9 (sync with my branch) Updated handling of <on-connect> and <on-disconnect> in <mount>, see r19305:r19312, refs #1354, #2089, #2087, #1752
svn path=/icecast/trunk/icecast/; revision=19340
2014-11-21 09:28:29 +00:00
Philipp Schafft
503059f481 (sync with my branch) report system name and print better warnings about <hostname> at start of process
svn path=/icecast/trunk/icecast/; revision=19339
2014-11-20 18:41:42 +00:00
Philipp Schafft
dfd6b74068 (sync with my branch) remove threadpool_size in global config, added warnings for <threadpool> and <no-yp> as well as updated warning for <source-password>
svn path=/icecast/trunk/icecast/; revision=19338
2014-11-20 18:36:57 +00:00
Philipp Schafft
5a8d0d1646 (sync with my branch) support vhosting on aliases
svn path=/icecast/trunk/icecast/; revision=19336
2014-11-20 18:32:14 +00:00
Thomas B. "dm8tbr" Ruecker
298b1ac79a Once more updated string, same Qualys results.
String taken from:
https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29

svn path=/icecast/trunk/icecast/; revision=19295
2014-11-09 10:55:29 +00:00
Thomas B. "dm8tbr" Ruecker
574274d22e Make sure email address is up to date.
svn path=/icecast/trunk/icecast/; revision=19292
2014-11-08 17:13:48 +00:00
Philipp Schafft
fc63b67b87 fixing some compiler warnings
svn path=/icecast/trunk/icecast/; revision=19280
2014-11-07 23:10:43 +00:00
Philipp Schafft
78ca9bd2ba updated some copyright headers
svn path=/icecast/trunk/icecast/; revision=19278
2014-11-07 22:06:06 +00:00
Philipp Schafft
70f8d14d1c added warnings on empty and default values of <fileserve>, <hostname>, <location>, <admin> and <server-id>
svn path=/icecast/trunk/icecast/; revision=19276
2014-11-07 19:14:28 +00:00
Philipp Schafft
1d56769648 added support for type="" and status="" in <header> (subelement of <http-headers>).
svn path=/icecast/trunk/icecast/; revision=19270
2014-11-07 10:12:24 +00:00
Philipp Schafft
9597e2eadd Added support for <http-headers> within <mount>. Also support merging of headers (normal mount + default mount). See #1885
svn path=/icecast/trunk/icecast/; revision=19269
2014-11-07 02:55:57 +00:00
Philipp Schafft
aa869033e2 handle empty strings in config file better. Now empty strings are handled in: accesslog, errorlog, logdir, webroot, adminroot and hopefully all kinds of port. Feal free to reopen ticket if there are more that needs to be fixed. closes #1963
svn path=/icecast/trunk/icecast/; revision=19268
2014-11-07 01:40:28 +00:00
Philipp Schafft
df9d738b6e initial patch to allow adding user defined headers, closes #1885
svn path=/icecast/trunk/icecast/; revision=19267
2014-11-07 00:56:02 +00:00
Thomas B. "dm8tbr" Ruecker
0eff9a91e9 applied patch to update the default ciphers to be more secure (close #2072)
This was taken from: https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/#fnref2 (scroll up 2 lines)

I've tested this successfully against https://www.ssllabs.com/ssltest/ in combination with the patch for #2071. The only OS/Browser combination failing is: IE 6 / XP

svn path=/icecast/trunk/icecast/; revision=19264
2014-11-05 10:09:07 +00:00
Philipp Schafft
2b7cb1c641 LOG_{ERROR|WARN|INFO|DEBUG}() -> ICECAST_LOG_{ERROR|WARN|INFO|DEBUG}(); this is to avoid collision with LOG_INFO that is defined as part of syslog.
svn path=/icecast/trunk/icecast/; revision=19257
2014-10-31 08:46:58 +00:00
Philipp Schafft
cf419cc1df make <auth> in <mount type="default"> work if no <mount-name> is given.
svn path=/icecast/trunk/icecast/; revision=19251
2014-10-26 14:03:57 +00:00
Philipp Schafft
7ae4664780 Replace the old logging macros with variadic argument macros. (patch by ePirat) (close #2058)
svn path=/icecast/trunk/icecast/; revision=19229
2014-10-09 10:39:13 +00:00
Thomas B. "dm8tbr" Ruecker
db99c66aa0 Fix email address, my work email was fixed since.
svn path=/icecast/trunk/icecast/; revision=19123
2014-05-04 08:07:25 +00:00
Philipp Schafft
c88f7d7de2 avoid memory leak in _parse_mount() when "type"-attribuet is set
svn path=/icecast/trunk/icecast/; revision=19052
2014-01-12 12:09:59 +00:00
Thomas B. "dm8tbr" Ruecker
115d64d8b4 Edited warning for clarity.
svn path=/icecast/trunk/icecast/; revision=18910
2013-04-05 20:13:18 +00:00
Philipp Schafft
b4887fc581 added a warning in case mount of type default is defined but a mountname is set
svn path=/icecast/trunk/icecast/; revision=18909
2013-04-05 19:49:13 +00:00
Philipp Schafft
f19107adc7 avoid fnmatch() on _WIN32 and fall back to strcmp(). Seems that MinGW does half-implement fnmatch()...
svn path=/icecast/trunk/icecast/; revision=18905
2013-04-03 02:04:38 +00:00
Philipp Schafft
47dd39a67c do fuzzy(fnmatch) matching for mountpoint names of non-normal mounts, see #1914
svn path=/icecast/trunk/icecast/; revision=18904
2013-04-03 00:46:55 +00:00
Philipp Schafft
53e8553035 mount points defined in config should use data from default mounts as well, see #1914
svn path=/icecast/trunk/icecast/; revision=18903
2013-04-03 00:33:10 +00:00
Philipp Schafft
d54c61bf13 Added support for a default mount. See #1914.
The default mount is a block in the config file that contains settings for
all mount points that do not have a block in configfile themself.
This is implemented by a <mount type="default">-block.
In this case the <mount>-block MUST NOT contain a <mount-name>-subblock.

svn path=/icecast/trunk/icecast/; revision=18902
2013-04-02 18:46:44 +00:00
Philipp Schafft
a5163365a0 do not call xmlCleanupParser() too often, close #1931
svn path=/icecast/trunk/icecast/; revision=18796
2013-02-23 16:38:23 +00:00
Philipp Schafft
bb07af1eb7 Escape log entries in access log (close: #1916)
svn path=/icecast/trunk/icecast/; revision=18755
2013-01-02 14:44:08 +00:00
Philipp Schafft
2b40660a20 removed useless blank line
svn path=/icecast/trunk/icecast/; revision=18665
2012-10-14 21:36:10 +00:00
Philipp Schafft
6cbd28a057 updated copyright notices.
svn path=/icecast/trunk/icecast/; revision=18651
2012-10-11 22:54:53 +00:00
Philipp Schafft
61c9def238 cleanup of <source-password> parser code
svn path=/icecast/trunk/icecast/; revision=18649
2012-10-11 22:28:40 +00:00
Philipp Schafft
446053dd9a corrected some small formating errors and typos
svn path=/icecast/trunk/icecast/; revision=18131
2011-11-26 02:39:30 +00:00
Philipp Schafft
e157de2321 Updated <alias> to use destination="" not dest="".
The old dest="" attribute is still supported.

svn path=/icecast/trunk/icecast/; revision=18128
2011-11-25 22:22:48 +00:00
Thomas B. "dm8tbr" Ruecker
f57110d7e5 Applied justdave's patches, fixing #1717 and #1718.
HTTPS now with better security and support for chained
certificates

svn path=/icecast/trunk/icecast/; revision=18127
2011-11-25 22:12:11 +00:00
Philipp Schafft
d66c53987c added a missing '*' to the copyright header
svn path=/icecast/trunk/icecast/; revision=18126
2011-11-25 22:00:36 +00:00
Philipp Schafft
530b78d7a1 Allow the source password to be undefined.
This is to avoid falling back to a default password which may open security holes.

svn path=/icecast/trunk/icecast/; revision=18125
2011-11-25 21:24:28 +00:00
Thomas B. "dm8tbr" Ruecker
99788838ac First part of security fix for #1846
svn path=/icecast/trunk/icecast/; revision=18124
2011-11-25 19:59:03 +00:00
Karl Heyes
ed7e707f11 add optional bind setting to relays
svn path=/icecast/trunk/icecast/; revision=15783
2009-03-17 01:45:41 +00:00
Karl Heyes
d784622396 non-blocking setting on win32 broke with previous patch. Add optional xml setting for
specifying the TCP send buffer size, it seems that on at least some win32 systems,
the window size stays at 8k (even with registry settings) which could limit available
streaming bandwidth.

svn path=/icecast/trunk/icecast/; revision=15766
2009-03-14 16:05:12 +00:00
Karl Heyes
d49fd42eec lock order updates. hard to trigger case in source fallback. The other changes
are for consistency.

svn path=/icecast/trunk/icecast/; revision=15619
2009-01-11 16:46:08 +00:00
Karl Heyes
90b705986c sanity check for unspecifed url
svn path=/icecast/trunk/icecast/; revision=14866
2008-05-11 23:20:50 +00:00
Karl Heyes
bded7d2564 Small cleanups. Prevent possible segv in relay definition if missing server tag.
Don't add to stream directory until a minute has passed, it seems like a few sites
are triggering YP requests because they are connecting and then dropping (probably
due to timeout), so at least make sure the stream is running a little while.

svn path=/icecast/trunk/icecast/; revision=14777
2008-04-19 02:04:17 +00:00
Karl Heyes
0868602bc0 win32 update. change build settings so that we make the process simpler, it
was very easy for the intermediate files to clash between projects.  The newer
libxml2/libxslt/libcurl also were causing some threading issues due to
library initialization


svn path=/icecast/trunk/icecast/; revision=14465
2008-02-11 01:00:41 +00:00
Karl Heyes
22ee7b6b6e minor xml cleanup, reduce default log level, closes #775
svn path=/icecast/trunk/icecast/; revision=14450
2008-02-03 03:11:54 +00:00
Karl Heyes
22654d271c Handle missing mount in relay case, and add checks for NULL which may be an issue for libxml2.
svn path=/icecast/trunk/icecast/; revision=14430
2008-01-24 03:31:25 +00:00
Karl Heyes
6bcbb416b9 make sure we report the correct port for m3u and YP when not using the default port
svn path=/icecast/trunk/icecast/; revision=14318
2007-12-20 16:36:37 +00:00
Karl Heyes
2ccfe3caa5 port 8000 could be set to listen on when not wanted
svn path=/icecast/trunk/icecast/; revision=14314
2007-12-19 19:09:04 +00:00
Karl Heyes
0a347a6817 allow for multiple shoutcast style source clients to connect. They don't
provide a mountpoint so you specify a shoutcast-mount in the listen-socket
section. Specifying this will automatically define the port+1 with the same
settings however the original shoutcast-compat approach is maintained.

svn path=/icecast/trunk/icecast/; revision=14045
2007-10-25 02:25:49 +00:00
Karl Heyes
4b5f00993d Allow for files to be specified that will contain IPs that can be used to
accept or deny client connections.

svn path=/icecast/trunk/icecast/; revision=14039
2007-10-23 22:25:31 +00:00
Karl Heyes
27f58c1189 boundary limit check was wrong, we won't be able to match any of the listen sockets
svn path=/icecast/trunk/icecast/; revision=14030
2007-10-22 02:23:10 +00:00
Karl Heyes
a26bb50004 fix some potential minor memory leaks
svn path=/icecast/trunk/icecast/; revision=14018
2007-10-20 01:58:14 +00:00
Karl Heyes
55b5b7eb80 minor memory leak fixed
svn path=/icecast/trunk/icecast/; revision=14004
2007-10-17 02:35:48 +00:00
Karl Heyes
ba438dd7b5 Don't impose a limit on the number of listening sockets allowed in the xml
svn path=/icecast/trunk/icecast/; revision=13995
2007-10-16 01:53:06 +00:00
Karl Heyes
e065acb7f1 no functional/structural change but cleans up the annoying signed/unsigned pointer warnings
here with xmlChar, based on work originally done by gtgbr@gmx.net.
closes #783, #784, #785, #787

svn path=/icecast/trunk/icecast/; revision=13933
2007-10-04 16:48:38 +00:00
Karl Heyes
da893d8b3b missed these from previous commit, these checks are redundant now
svn path=/icecast/trunk/icecast/; revision=13930
2007-10-04 01:44:05 +00:00
Karl Heyes
807f95243f Make copies of the default string values instead of relying on the compiler to check
for duplicate string literals.

svn path=/icecast/trunk/icecast/; revision=13929
2007-10-04 00:55:13 +00:00
Karl Heyes
d327fc8914 close report #704, add server-id tag, default stays as the server version string.
svn path=/icecast/trunk/icecast/; revision=13704
2007-09-03 00:55:27 +00:00
Karl Heyes
7e5604b993 merge work. allow sockets to be marked as ssl capable. This is mainly for /admin
requests but can be used for sources and listeners

svn path=/icecast/trunk/icecast/; revision=13650
2007-08-29 03:51:22 +00:00
Karl Heyes
5a7111fc82 Fix bug #895. Most if not all non-Ogg streams send metadata as non-UTF8, typically
ISO-8859-1 is assumed as there is no real clarity wrt the spec. In most cases people
send ASCII so it's not an issue, but for some, the extended characters they send
can cause problems with XML processing.  As stats and YP require UTF8 we need to
translate them and block invalid cases.

For the moment, for non-Ogg streams only, we assume that the metadata needs converting
from ISO-8859-1. Ogg streams are UTF8 so no conversion needed. You can override the
default with a charset mount option.


svn path=/icecast/trunk/icecast/; revision=13615
2007-08-24 15:44:37 +00:00
Karl Heyes
176b9f7eca Auth update. Have each auth_t has its own queue of requests and thread to process
them. Each listener connection for each request is checked as connected before
performing the request (so that time isn't wasted on slow authentication). Various
name/comment cleanups as well.

svn path=/icecast/trunk/icecast/; revision=13583
2007-08-21 22:30:30 +00:00
Karl Heyes
f1c6cf9d4e Allow rereading of the mime types file on xml reload. Also allow for specifying
an alternative filename in the xml.

svn path=/icecast/trunk/icecast/; revision=13541
2007-08-13 21:33:27 +00:00
Michael Smith
2848a70776 Fix a leak in a config parsing path when we see a directory server with no
host specified.

svn path=/icecast/trunk/icecast/; revision=10974
2006-03-07 19:21:04 +00:00
Michael Smith
37a6bb18d6 Patch from gtgbr@gmx.net to fix (void) function prototypes, with some minor
changes.


svn path=/icecast/trunk/icecast/; revision=10615
2005-12-17 12:23:09 +00:00
oddsock
3a85a143b5 2 new features to icecast logging:
- logsize : specify in KB the max size of any of icecast log files
- logarchive : causes icecast to rename logs with timestamps (for proper archiving)


svn path=/icecast/trunk/icecast/; revision=10287
2005-10-24 14:51:54 +00:00
Karl Heyes
758945ed2d avoid adding a mount_t structure if there is no mount name defined, segv
occurs later on 

svn path=/icecast/trunk/icecast/; revision=10151
2005-10-11 13:40:17 +00:00
Karl Heyes
c519afa812 add per-mount listener time limit setting
svn path=/icecast/trunk/icecast/; revision=9834
2005-08-23 19:00:15 +00:00
Karl Heyes
82e12b4d96 Allow for new listeners to fallback if there are max listeners on the
current mountpoint

svn path=/icecast/trunk/icecast/; revision=9833
2005-08-23 18:40:20 +00:00
Karl Heyes
5732ec21ea a few fixes needed after some testing on win32
svn path=/icecast/trunk/icecast/; revision=9730
2005-08-11 22:56:51 +00:00
Karl Heyes
15b3a5f853 Initial auth merge. Add an auth thread (multiple threads can be done later)
which can be used to handle authentication mechanisms without taking locks
for long periods.  Non-authenticated mountpoints bypass the auth thread.

The lookup/checking of the source_t is done after the authentication succeeds
so the fallback mechanism does not affect which authenticator is used. This
can be extended to allow us to authenticate in webroot as well. XML re-read
changes will take effect immediately for new listeners but existing listeners
will use the original auth_t (refcounted) when they exit.

htpasswd access has been seperated out from auth.c, and implements an AVL
tree for a faster username lookup.  The htpasswd file timestamp is checked
just in case there are changes made externally

svn path=/icecast/trunk/icecast/; revision=9713
2005-08-07 23:01:04 +00:00
Karl Heyes
33cf86f527 merge extra checks. minor cleanup work
svn path=/icecast/trunk/icecast/; revision=9711
2005-08-07 14:50:59 +00:00
Karl Heyes
88bfe6ba6a small cleanups. redundant mutex removed, updates to log messages
svn path=/icecast/trunk/icecast/; revision=9443
2005-06-12 18:43:11 +00:00
Karl Heyes
05a14555d9 merge per-mount on-[dis]connect script handling
svn path=/icecast/trunk/icecast/; revision=9424
2005-06-10 00:37:09 +00:00
Karl Heyes
52787eeeaa increase default max queue size, 100k isn't much and we do reduce it when
there are no lagging clients

svn path=/icecast/trunk/icecast/; revision=9420
2005-06-09 15:32:19 +00:00
Karl Heyes
ad1e6c41b0 merge in the on-demand relay implementation.
svn path=/icecast/trunk/icecast/; revision=9406
2005-06-09 01:51:47 +00:00
Karl Heyes
2896db1f3c merge intro file implementation
svn path=/icecast/trunk/icecast/; revision=9345
2005-06-03 15:35:52 +00:00
Karl Heyes
79adab0133 allow for more updating over HUP. Made the YP engine only read the stats instead
of updating them, so source header parsing is done in the apply mount. Per-mount
stream settings also allow for overriding the incoming settings.

svn path=/icecast/trunk/icecast/; revision=9325
2005-05-30 14:50:57 +00:00
Karl Heyes
d57a19acac various small things. type cleanups, loop over the burst point to make sure
it is at the right point. kick off the YP 'add' 5 seconds after source startup
so that any stats are processed.

svn path=/icecast/trunk/icecast/; revision=9314
2005-05-26 03:04:48 +00:00
Karl Heyes
018fff1158 Allow for username to be stated for master/slave setups, we still default
to 'relay' though

svn path=/icecast/trunk/icecast/; revision=9274
2005-05-13 00:35:08 +00:00
Karl Heyes
e2d6bdb86a add function to do mount list search (could be extended later), call it from
various places including the shoutcast source client auth which previously
only used the global source password.

svn path=/icecast/trunk/icecast/; revision=9240
2005-05-08 11:54:46 +00:00
Karl Heyes
6d48d6c4f9 Allow for specifiying a per-mount metadata interval for shoutcast style streams
svn path=/icecast/trunk/icecast/; revision=9233
2005-05-07 20:18:13 +00:00
Karl Heyes
acd1b8ad96 merge from branch, make the config lock a rwlock instead of mutex
svn path=/icecast/trunk/icecast/; revision=9160
2005-04-20 22:34:54 +00:00
Karl Heyes
4066a89c01 allow a relay to provide user/pass when connecting
svn path=/icecast/trunk/icecast/; revision=8358
2004-12-09 17:08:52 +00:00
oddsock
b3d5a657d2 add a new web admin feature which allows the updating of metadata (now that we support metadata updates for most stream types). This is an new admin feature.
add cluster-password to the config to allow for future clustering of relays on the xiph stream directory.

svn path=/icecast/trunk/icecast/; revision=8345
2004-12-07 22:29:46 +00:00
Karl Heyes
a521d15d74 merge per-mount hidden setting. prevent specific mountpoints being listed
on status.xsl and streamlist

svn path=/icecast/trunk/icecast/; revision=8245
2004-11-22 18:21:48 +00:00
Karl Heyes
2b4ee737db add per-mount no-yp tag handling
svn path=/icecast/trunk/icecast/; revision=8241
2004-11-21 15:51:49 +00:00
Karl Heyes
1e6232c531 add <shoutcast-mount>. drop the hardcoded mountpoint hacks for NSV
svn path=/icecast/trunk/icecast/; revision=8213
2004-11-17 16:02:04 +00:00
oddsock
083f5c0cd1 this patch adds a playlist log to icecast. This can be used to maintain an audit trail of metadata that comes through icecast. The format of the log file may be changed in the future as we decide on a good format.
svn path=/icecast/trunk/icecast/; revision=8205
2004-11-16 04:04:02 +00:00
oddsock
80078cce1d * support for the Shoutcast DSP (yay!).
You can now use the Shoutcast DSP as a source client.  The connection 
    protocol is a bit odd, and we had to handle it separately, and thus 
    we've added a new config option (<shoutcast-compat>) that is set at 
    the listener port level.
* support for NSV (and the nsvscsrc source client).
    After adding support for the connection protocol of the shoutcast DSP, 
    adding NSV was just a simple of a few special handling cases.
* removed all traces of the earlier attempt at the shoutcast DSP connection 
  protocol
* Due to the growing complexity of the config files, I've also created a 
  few alternate config files, namely one for a "shoutcast compat" setup
  as well as a "minimal" one for quick basic configurations.

svn path=/icecast/trunk/icecast/; revision=8191
2004-11-11 15:47:33 +00:00