Karl Heyes
73401b80d5
prevent NULL dereference
...
svn path=/icecast/trunk/icecast/; revision=14307
2007-12-15 17:21:22 +00:00
Karl Heyes
02cc6c5f10
type cleanups. reduces memory usage on 64bit, no difference on 32bit. closes #780
...
svn path=/icecast/trunk/icecast/; revision=14306
2007-12-15 17:02:16 +00:00
Karl Heyes
7b6b874b02
type cleanups. Use C99 defines if available and a missed sock_t on win32. This
...
resolves some warnings on win32 and x86_64
svn path=/icecast/trunk/icecast/; revision=14223
2007-11-23 16:27:10 +00:00
Karl Heyes
89dac2e3cf
minor header cleanup
...
svn path=/icecast/trunk/icecast/; revision=14219
2007-11-23 03:17:39 +00:00
Karl Heyes
6ee33215e8
fix long standing copy+paste error.
...
svn path=/icecast/trunk/icecast/; revision=14218
2007-11-23 02:48:37 +00:00
Karl Heyes
7d8182eef5
minor cleanups, no functional change
...
svn path=/icecast/trunk/icecast/; revision=14206
2007-11-21 02:55:11 +00:00
Michael Smith
ab1447d35b
Don't make autogen.sh look for a specific version of automake (seems to still
...
work)
Include <errno.h> in connection.c; hopefully fixes Geoff Shang's compilation
problems.
svn path=/icecast/trunk/icecast/; revision=14155
2007-11-15 15:12:21 +00:00
Karl Heyes
197be21d1c
only pass clients to url auth handler if the trigger is defined in the xml
...
svn path=/icecast/trunk/icecast/; revision=14115
2007-11-08 20:00:54 +00:00
Karl Heyes
66b68170cc
auth sync up. Fix longstanding race bug and make stream start/stop triggers work again.
...
svn path=/icecast/trunk/icecast/; revision=14114
2007-11-08 19:52:51 +00:00
Karl Heyes
b4b8e3e552
fix bad pointer bug for libcurl and small memory leak over reload of xml
...
svn path=/icecast/trunk/icecast/; revision=14108
2007-11-08 03:21:33 +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
88514b9c8e
fix minor memory leak on failed shoutcast source auth
...
svn path=/icecast/trunk/icecast/; revision=14044
2007-10-25 01:03:47 +00:00
Karl Heyes
af1c8da6b6
more sock_t cleanups, win32 should have less warnings now
...
svn path=/icecast/trunk/icecast/; revision=14043
2007-10-24 22:42:49 +00:00
Karl Heyes
089dd4c273
return type was wrong, although it probably won't affect stability
...
svn path=/icecast/trunk/icecast/; revision=14042
2007-10-24 22:40:42 +00:00
Karl Heyes
9c155dda50
clean up prototypes and sock_t handling, for win32 mainly, no functional change
...
svn path=/icecast/trunk/net/; revision=14041
2007-10-24 21:42:01 +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
9379e4e051
*sigh, missing ; at least the coverity list should be clear again
...
svn path=/icecast/trunk/icecast/; revision=14033
2007-10-22 02:57:56 +00:00
Karl Heyes
ef8a91c8e6
minor memory leak on resource failure case
...
svn path=/icecast/trunk/icecast/; revision=14032
2007-10-22 02:52:16 +00:00
Karl Heyes
148af4e6ee
merge work. mainly stats and some log message updates
...
svn path=/icecast/trunk/icecast/; revision=14031
2007-10-22 02:29:49 +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
549127b9f5
a missing break from a previous auth update was preventing url auth from being
...
used
svn path=/icecast/trunk/icecast/; revision=14017
2007-10-20 01:55:18 +00:00
Karl Heyes
ab75a3297f
add global listeners stat
...
svn path=/icecast/trunk/icecast/; revision=14016
2007-10-20 00:58:05 +00:00
Karl Heyes
dcffbb38ad
header fixup for listeners. Tell any proxies to not cache and add minor tweaks
...
for flash players. closes #1115
svn path=/icecast/trunk/icecast/; revision=14014
2007-10-19 14:06:07 +00:00
Karl Heyes
f9c3fc91a7
updates to range header handling. closes #1246 , #810
...
svn path=/icecast/trunk/icecast/; revision=14006
2007-10-17 23:49: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
43988cac59
Allow buildm3u to work with the mount given, no need to check the source tree. closes #866
...
svn path=/icecast/trunk/icecast/; revision=13908
2007-09-28 00:54:01 +00:00
Karl Heyes
b8ab793867
make sure mount authentication has a type specified
...
svn path=/icecast/trunk/icecast/; revision=13877
2007-09-22 01:21:17 +00:00
Karl Heyes
7735a94ee6
add guards for NULL dereference
...
svn path=/icecast/trunk/avl/; revision=13799
2007-09-14 03:09:32 +00:00
Karl Heyes
e99eee6c80
small build fix and a minor issue highlighted by coverity
...
svn path=/icecast/trunk/icecast/; revision=13798
2007-09-14 03:01:17 +00:00
Karl Heyes
337f4a3272
make sure config lock is released in all failure cases of manageauth
...
svn path=/icecast/trunk/icecast/; revision=13792
2007-09-13 01:32:15 +00:00
Karl Heyes
03a4d5298f
convert the passed value
...
svn path=/icecast/trunk/icecast/; revision=13755
2007-09-05 03:25:14 +00:00
Karl Heyes
d43254853f
allow mount param for webroot xsl pages, closes #990
...
svn path=/icecast/trunk/icecast/; revision=13754
2007-09-05 02:16:45 +00:00
Karl Heyes
2c67cfffb2
fix for #734 . Allow /admin/stats[.xsl] to take an optional mount arg which only
...
returns global stats and stats for that particular mountpoint.
svn path=/icecast/trunk/icecast/; revision=13709
2007-09-03 22:04:04 +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
47def32074
missed some NULL checks from previous character set commit. Add optional charset
...
setting on metadata update request and conversion code for it.
svn path=/icecast/trunk/icecast/; revision=13663
2007-08-30 23:36:19 +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
31ce005ef3
small const update, add NULL check, NULL shouldn't occur here but it's better to play safe
...
svn path=/icecast/trunk/icecast/; revision=13649
2007-08-29 02:01:28 +00:00
Karl Heyes
9e078e714f
allow xsl requests to go through the authentication code
...
svn path=/icecast/trunk/icecast/; revision=13628
2007-08-25 16:04:33 +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
fe0e17dbaa
fix bug #1141
...
svn path=/icecast/trunk/icecast/; revision=13595
2007-08-23 16:58:18 +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
620c51f699
added function to check whether the socket is still alive
...
svn path=/icecast/trunk/net/; revision=13582
2007-08-21 22:17:13 +00:00
Karl Heyes
bd266785ad
fix possible crash
...
svn path=/icecast/trunk/icecast/; revision=13561
2007-08-16 23:03:03 +00:00
Karl Heyes
3910d1caf9
const updates, again no functional change
...
svn path=/icecast/trunk/httpp/; revision=13560
2007-08-16 22:52:24 +00:00
Karl Heyes
5f8cfd70f7
const updates, no functional changes
...
svn path=/icecast/trunk/icecast/; revision=13559
2007-08-16 22:49:13 +00:00
Karl Heyes
eebb33b8a1
add general information to stats
...
svn path=/icecast/trunk/icecast/; revision=13553
2007-08-16 02:13:18 +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
Karl Heyes
e06793a7ad
handle .xspf requests. Like m3u, send a webroot file if it exists else generate
...
one. The generated one comes from an xslt in adminroot. Just need some icons
svn path=/icecast/trunk/icecast/; revision=13539
2007-08-11 18:26:44 +00:00
Karl Heyes
bb0b1a2a32
Triggers for source stats updated. No point updating all source stats if fewer
...
need updating. Fixes a few unusual cases, if a mount was removed (with xml reload)
whilst no source was reserved then those stats were left behind.
svn path=/icecast/trunk/icecast/; revision=13538
2007-08-11 17:44:45 +00:00
Karl Heyes
2a0c3cdefa
Don't hardcode content type of xslt files to html, allow xsl to determine it
...
svn path=/icecast/trunk/icecast/; revision=13534
2007-08-11 00:24:51 +00:00
Karl Heyes
b3b2695a1d
Handle http 302 response when a relay starts. The socket IO is isolated into a
...
separate function for loop handling and log messages are updated.
svn path=/icecast/trunk/icecast/; revision=13533
2007-08-10 21:33:16 +00:00
Karl Heyes
2b817daea2
fix possible segv case, and only increase certain listener stats when stream is
...
active (on demand relays may not actually start when triggered)
svn path=/icecast/trunk/icecast/; revision=13503
2007-08-10 13:04:40 +00:00
Karl Heyes
fe5c9e62cc
minor build update
...
svn path=/icecast/trunk/net/; revision=13501
2007-08-09 23:51:26 +00:00
Karl Heyes
7248d653c0
Update the streamlist handler for slaves. Get the list of non-hidden mountpoints
...
from the stats engine instead of the mount or source list, as the stats are
populated by non-mount defined streams and mounts with active fallbacks.
svn path=/icecast/trunk/icecast/; revision=13500
2007-08-09 23:36:29 +00:00
Karl Heyes
3e8f2c39d4
fix problem case when listeners are moved by another thread, eg a fallback
...
override is triggered, and on-demand relays are not shut down or stats are
not updated.
svn path=/icecast/trunk/icecast/; revision=13496
2007-08-09 15:43:00 +00:00
Karl Heyes
7c6c79c416
build fix with libcurl 7.16 onwards
...
svn path=/icecast/trunk/icecast/; revision=13495
2007-08-09 12:24:33 +00:00
Karl Heyes
adac7ebee4
if addresses come back as IPv4-mapped IPv6 then make it look like IPv4 or else
...
we'll get queries about the access log. Fix a potential FD leak and add a
small delay into the listener thread if accept fails, the usual cause is an FD
limit being reached triggering logs to fill up and CPU to max out.
svn path=/icecast/trunk/icecast/; revision=13492
2007-08-09 03:36:03 +00:00
Karl Heyes
916a4a4cd1
update to server side socket creation. Where IPv6-aware functions are available,
...
use them to create dual IPv4/6 capable sockets.
svn path=/icecast/trunk/net/; revision=13491
2007-08-09 03:19:24 +00:00
Karl Heyes
e663a238ee
prevent race case when dealing with shoutcast style source clients and update
...
response headers to those clients.
svn path=/icecast/trunk/icecast/; revision=13490
2007-08-09 02:51:53 +00:00
moritz
d8fafe1935
Only define [u]int64_t on Windows if they haven't been defined already (e.g. in
...
os.h from libshout or stdint.h in case they ever show up there.)
ok msmith
svn path=/icecast/trunk/timing/; revision=12663
2007-03-06 13:35:29 +00:00
Michael Smith
a1d9503d8e
Fix use-after-free in error case in fserve, as noted by Jerome Alet
...
svn path=/icecast/trunk/icecast/; revision=11412
2006-05-18 22:06:32 +00:00
Michael Smith
25c55e1f86
Set error if we have an unrecognised codec, so that we properly drop the source
...
rather than just continuing forever on unrecognisable input.
svn path=/icecast/trunk/icecast/; revision=11184
2006-04-20 16:51:27 +00:00
Karl Heyes
d574647025
off by 1 error, although not triggered by icecast/ices
...
svn path=/icecast/trunk/log/; revision=11073
2006-03-31 02:14:12 +00:00
Karl Heyes
e00aafda3a
allow the last N lines to be cached and retrieved from each log, the default
...
is nothing cached (current behaviour).
svn path=/icecast/trunk/log/; revision=11063
2006-03-27 02:26:06 +00:00
Karl Heyes
0dc2655838
slave handler update. add timestamps to relays, allows slave thread to
...
process them better. This simplifies various checks and sits better with
relay startup and relay cleanup in certain error cases.
svn path=/icecast/trunk/icecast/; revision=11008
2006-03-15 03:02:08 +00:00
Karl Heyes
9e96120398
When modifying source_t contents we should take a write lock to prevent
...
races with other threads. so take a write lock on the client tree.
svn path=/icecast/trunk/icecast/; revision=11007
2006-03-15 02:42:18 +00:00
Karl Heyes
c81a42cb3b
close report #842 . It's more informative to report the read bytes
...
svn path=/icecast/trunk/icecast/; revision=11006
2006-03-15 02:34:39 +00:00
Karl Heyes
8ec568d5b5
fix possible bad pointer dereference bug when processing new clients
...
svn path=/icecast/trunk/icecast/; revision=11005
2006-03-15 02:30:26 +00:00
Karl Heyes
043bff364c
memory leak when handling ogg flac, and make sure that moving listeners
...
to theora streams triggers a search for a keyframe.
svn path=/icecast/trunk/icecast/; revision=11004
2006-03-15 02:24:57 +00:00
Michael Smith
091892c8c6
Forgot to commit this one yesterday: add a default case to prevent memory leaks
...
in any potential caller calling this with the wrong args.
svn path=/icecast/trunk/icecast/; revision=10989
2006-03-08 11:14:56 +00:00
Michael Smith
14e0cfcdac
Remove a bogus non-null check
...
svn path=/icecast/trunk/icecast/; revision=10979
2006-03-07 19:39:16 +00:00
Michael Smith
043aa0b009
Don't leak parsers when we fail to parse a shoutcast-compatible request.
...
svn path=/icecast/trunk/icecast/; revision=10978
2006-03-07 19:35:18 +00:00
Michael Smith
c4dfb3f2fd
Don't leak file pointers (and hence file descriptors) if we can't parse a range
...
request.
svn path=/icecast/trunk/icecast/; revision=10977
2006-03-07 19:28:41 +00:00
Michael Smith
9acddcdb8a
Oops, fix compilation
...
svn path=/icecast/trunk/icecast/; revision=10976
2006-03-07 19:27:54 +00:00
Michael Smith
36dc9b0c25
Free tree if we fail to allocate root node.
...
svn path=/icecast/trunk/avl/; revision=10975
2006-03-07 19:22:29 +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
3cf24e0af7
Add a missing check for LOG_MAXLOGS, fix another check to be >= rather than >
...
svn path=/icecast/trunk/log/; revision=10973
2006-03-07 19:17:06 +00:00
Michael Smith
82f1ebf52a
When falling back from a full source to another source, ensure the other source
...
actually exists.
svn path=/icecast/trunk/icecast/; revision=10972
2006-03-07 19:12:43 +00:00
Michael Smith
c892e2217a
Allow a NULL filename in log_set_filename, since it's allowed elsewhere.
...
Thanks Coverity!
svn path=/icecast/trunk/log/; revision=10971
2006-03-07 19:07:20 +00:00
oddsock
0320ef97f7
os.h doesn't exist anymore, use compat.h.
...
svn path=/icecast/trunk/net/; revision=10949
2006-02-24 04:37:22 +00:00
Michael Smith
739d544c34
Having both os.h and compat.h to do similar things is pointless; remove os.h
...
svn path=/icecast/trunk/icecast/; revision=10620
2005-12-17 12:41:34 +00:00
Michael Smith
4dea87dca7
As pointed out on irc, size_t is unsigned. Fix for the win32 case.
...
svn path=/icecast/trunk/icecast/; revision=10619
2005-12-17 12:36:08 +00:00
Michael Smith
5aa561c5b7
Modified version of patch from gtgbr@gmx.net to clean up headers and defines
...
for logging.
svn path=/icecast/trunk/icecast/; revision=10618
2005-12-17 12:34:37 +00:00
Michael Smith
daf771dbfe
Patch from gtgbr@gmx.net to make ICECAST_VERSION_STRING safe to contain any
...
content.
svn path=/icecast/trunk/icecast/; revision=10617
2005-12-17 12:27:29 +00:00
Michael Smith
ab1994ab44
More function decl/defn fixes
...
svn path=/icecast/trunk/log/; revision=10616
2005-12-17 12:23:54 +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
Michael Smith
4c3d56743d
Patch from gtgbr@gmx.net to fix function definition storage type.
...
svn path=/icecast/trunk/icecast/; revision=10613
2005-12-17 12:15:09 +00:00
Karl Heyes
5965554dbb
update for authentication header via libcurl. allows for http://user:pass@host ..
...
else the param specified user/pass. In the case of listener_add/remove use
the client provided user/pass if no others are specified.
svn path=/icecast/trunk/icecast/; revision=10498
2005-11-29 03:06:03 +00:00
Karl Heyes
d670683e1e
allow for the intro file to change over HUP
...
svn path=/icecast/trunk/icecast/; revision=10411
2005-11-20 13:53:29 +00:00
Karl Heyes
11c6e1039c
change status code for server/stream full cases ( #738 ), also some others places
...
where connections are terminated.
svn path=/icecast/trunk/icecast/; revision=10393
2005-11-17 00:54:28 +00:00
Karl Heyes
f7afa9761b
update queue handling for stats. This was slow when many stats were being
...
queued. These apply to both web interface requests and stats clients.
svn path=/icecast/trunk/icecast/; revision=10370
2005-11-15 00:36:34 +00:00
Karl Heyes
280006162e
fixup granulepos on EOS case when rebuilding vorbis streams. This was causing
...
a short audio glitch on playback, but was not typically noticed.
svn path=/icecast/trunk/icecast/; revision=10369
2005-11-15 00:29:24 +00:00
oddsock
6063820441
new external api to support log archiving
...
svn path=/icecast/trunk/log/; revision=10288
2005-10-24 14:52:35 +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
43d8cfdd73
fix bug #717 . a race on source exit could cause memory corruption
...
svn path=/icecast/trunk/icecast/; revision=10135
2005-10-06 02:41:51 +00:00
Karl Heyes
24a24d8df0
add hack for nsvcap, apparently EOL is 3 chars
...
svn path=/icecast/trunk/icecast/; revision=10110
2005-10-01 14:08:36 +00:00
Karl Heyes
f869415cf7
Fix a bug where a shoutcast source client (nsvtools) does not wait for the
...
OK response. Icecast was dropping the connection preventing the stream
svn path=/icecast/trunk/icecast/; revision=10076
2005-09-26 16:34:51 +00:00
Karl Heyes
fce4c2263d
maintain the listener_peak stat across relay restarts
...
svn path=/icecast/trunk/icecast/; revision=10033
2005-09-19 02:11:16 +00:00
Karl Heyes
78287d2a6f
minor memory leak possible on source shutdown
...
svn path=/icecast/trunk/icecast/; revision=10021
2005-09-16 21:29:49 +00:00
oddsock
76689d72e8
Now you can start icecast as a windows service.
...
svn path=/icecast/trunk/icecast/; revision=10020
2005-09-16 18:29:10 +00:00
Karl Heyes
c66246b255
fix for race, client needs setup before adding to pending tree
...
svn path=/icecast/trunk/icecast/; revision=10019
2005-09-16 16:53:33 +00:00
Karl Heyes
c16926625f
reduce stack allocation to 512k, the defaults tend to be quite large
...
svn path=/icecast/trunk/thread/; revision=10018
2005-09-15 22:33:13 +00:00
Michael Smith
9a78c1b735
Fix deadlock when moving clients. Thanks to oddsock for producing a testcase and
...
backtrace, and karl for fixing my brain
svn path=/icecast/trunk/icecast/; revision=10017
2005-09-15 19:31:38 +00:00
Karl Heyes
477d44dd79
log username to access log (bug #706 ) if available.
...
svn path=/icecast/trunk/icecast/; revision=10012
2005-09-12 16:47:04 +00:00
Karl Heyes
7838940f0b
fix segv case on listmounts/moveclients when a fallback to file stream is running
...
svn path=/icecast/trunk/icecast/; revision=10009
2005-09-12 16:00:27 +00:00
Michael Smith
6d108c6aad
Patch from martin@matuska.org: don't treat all clients as duplicates.
...
svn path=/icecast/trunk/icecast/; revision=10008
2005-09-10 16:56:04 +00:00
Karl Heyes
64d2fc1faa
if the m3u link is placed in winamp/fb2k, then the host header misses the
...
port number, so I'll add a check that ignores the host header if it's
missing a port and generates the m3u host:port from the xml.
svn path=/icecast/trunk/icecast/; revision=10005
2005-09-08 13:43:33 +00:00
Karl Heyes
7cad0b70d6
do proper cleanup on odd cases of source client startup, also take mutex
...
lock for client_create at relay startup to prevent race
svn path=/icecast/trunk/icecast/; revision=10004
2005-09-08 13:32:17 +00:00
Karl Heyes
32691f498a
immediately release auth_t if authentication fails, that way we don't
...
trigger release_client like listener_remove event in the url auth.
Add lock in auth_t so that refcount changes are not a race possibility.
svn path=/icecast/trunk/icecast/; revision=9926
2005-09-01 16:11:07 +00:00
Karl Heyes
0903dd68ed
2 updates to mp3 metadata handling. allow a 0 metadata interval to disable
...
metadata being sent to new listeners (negative for whatever the source
sends), existing listeners retain their original interval setting. We now
limit how much mp3 is written after the metadata block in a single format
send call, this was only showing up on small interval values.
svn path=/icecast/trunk/icecast/; revision=9877
2005-08-31 01:28:04 +00:00
Karl Heyes
05e9562ae4
content was wrong due to limiter being 0
...
svn path=/icecast/trunk/icecast/; revision=9876
2005-08-31 01:13:25 +00:00
Michael Smith
0c6ba0c798
Fix bug reported by Jason@weatherserver.net - don't crash in htpasswd auth
...
if the auth file doesn't exist.
svn path=/icecast/trunk/icecast/; revision=9867
2005-08-30 20:29:20 +00:00
Karl Heyes
3116f62a9d
extra checks on YP updating, typically on changes over HUP
...
svn path=/icecast/trunk/icecast/; revision=9862
2005-08-30 00:30:30 +00:00
Karl Heyes
1d5c1ebdd6
fix double free bug with failed to start relays and add a guard on refbuf release
...
svn path=/icecast/trunk/icecast/; revision=9859
2005-08-29 01:16:02 +00:00
Karl Heyes
a4b03ad26c
minor memory leak, and compiler warning cleanup
...
svn path=/icecast/trunk/icecast/; revision=9857
2005-08-27 01:01:29 +00:00
Karl Heyes
76b8ec882f
hide fallback file from webroot stats, still accessible from admin. Missed
...
log debug line from apply function
svn path=/icecast/trunk/icecast/; revision=9848
2005-08-25 01:03:33 +00:00
Karl Heyes
d07723c997
fixes for client handling, these are all related to the handling of max clients.
...
I've taken out the client_create out of the connection_complete_source and put
it in slave, that way we can control the cleanup of the memory/socket better, the
change also meant fallback to file tests were slghtly different.
svn path=/icecast/trunk/icecast/; revision=9847
2005-08-25 00:07: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
Michael Smith
663bd804dc
Some versions of gcc complain about the missing cast here; it's apparently
...
needed because some systems don't define NULL as a pointer (weird). Patch
from Moritz Grimm.
svn path=/icecast/trunk/icecast/; revision=9832
2005-08-23 10:48:09 +00:00
oddsock
37bdaee0cb
some windows build issues..
...
svn path=/icecast/trunk/icecast/; revision=9776
2005-08-20 00:03:21 +00:00
Karl Heyes
400d297a92
merge fix, oddcast (maybe other shoutcast source clients) don't wait for OK
...
response, so we may have surplus data already read, so keep it.
svn path=/icecast/trunk/icecast/; revision=9772
2005-08-18 20:37:35 +00:00
Karl Heyes
98d569bbf5
missed a diff from previous commit, consistent naming style
...
svn path=/icecast/trunk/icecast/; revision=9771
2005-08-18 20:26:30 +00:00
Karl Heyes
1aa657f1b4
changes applied from feedback. make option names and action settings more
...
consistent. Add changes to docs for listener auth via url
svn path=/icecast/trunk/icecast/; revision=9768
2005-08-17 16:38:46 +00:00
Karl Heyes
77ad26f39b
updates for #599 (dropping of stdin,out,err when using -b) and #630 (pidfile
...
created before changeowner/chroot)
svn path=/icecast/trunk/icecast/; revision=9759
2005-08-16 21:14:43 +00:00
Karl Heyes
092c73b4a5
log xml/xslt parsing failure messages via error log. This applies to both the
...
xsl files and the icecast xml file when re-read. At icecast startup, the logs
are not open so these parsing messages still go to stderr.
svn path=/icecast/trunk/icecast/; revision=9758
2005-08-16 16:56:24 +00:00
Karl Heyes
ab8e36bd19
increase the number of listening sockets allowed. A more flexible scheme can
...
be done later if required
svn path=/icecast/trunk/icecast/; revision=9757
2005-08-16 14:58:33 +00:00
Karl Heyes
9179ffe661
make admin replies go via fserve
...
svn path=/icecast/trunk/icecast/; revision=9741
2005-08-12 20:02:16 +00:00
Karl Heyes
dde143d4b1
make various responses going back to the client be done via the file serving thread
...
svn path=/icecast/trunk/icecast/; revision=9740
2005-08-12 15:27:32 +00:00
Karl Heyes
61267a308b
make sure that older xslt libs on non-win32 can be used as well
...
svn path=/icecast/trunk/icecast/; revision=9739
2005-08-12 03:27:09 +00:00
Karl Heyes
a528108e10
merge in client timelimit, only auth_url sets this currently. Add missing
...
prototypes for compile warning
svn path=/icecast/trunk/icecast/; revision=9736
2005-08-12 02:40:25 +00:00
oddsock
5d642efd86
compiler error on win32
...
svn path=/icecast/trunk/icecast/; revision=9734
2005-08-11 23:48:32 +00:00
Karl Heyes
d7f1285ba2
drop the thread pool of connection threads, they were using a blocking socket
...
on incoming connections. Now we get the accept thread to create a client_t
and mark it as a shoutcast client if need be. Then use a single connection
thread to poll the non-blocking sockets for the headers. When complete they
get handled as usual.
svn path=/icecast/trunk/icecast/; revision=9733
2005-08-11 23:29:58 +00:00
oddsock
30ce5c5ba9
memory leak fix..
...
svn path=/icecast/trunk/icecast/; revision=9732
2005-08-11 23:17:00 +00:00
Karl Heyes
03c74becbe
change the option names to be more reasonable
...
svn path=/icecast/trunk/icecast/; revision=9731
2005-08-11 23:11:50 +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
oddsock
afae729cbb
xlst function so that win32 can use an older version of libxslt...
...
svn path=/icecast/trunk/icecast/; revision=9729
2005-08-11 20:31:13 +00:00
Karl Heyes
af9bc6bfb8
make sure we have the initial listeners stat
...
svn path=/icecast/trunk/icecast/; revision=9721
2005-08-09 02:55:38 +00:00
Karl Heyes
0f6d8ba821
merge fixes. NULL checks
...
svn path=/icecast/trunk/icecast/; revision=9720
2005-08-09 02:14:20 +00:00
Karl Heyes
042ba3b8e2
Merge mp3 packing. mp3 (and other pass-through streams) can bre received in
...
very small blocks and go out in those same small blocks increasing the protocol
overhead used by the provided. Generally occurs when using a low bitrate stream
and many listeners. With this patch we pack out a refbuf before queuing.
Add missing include for vorbis build that shows on some platforms
svn path=/icecast/trunk/icecast/; revision=9718
2005-08-08 19:21:54 +00:00
Karl Heyes
c7e04b2852
allow for webroot requests to be sent via an authenticator
...
svn path=/icecast/trunk/icecast/; revision=9717
2005-08-08 18:39:34 +00:00
Karl Heyes
eebb340a1a
merge URL listener auth
...
svn path=/icecast/trunk/icecast/; revision=9714
2005-08-07 23:29:12 +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
e2e35fe59d
force a large filesize limit on log files before cycling
...
svn path=/icecast/trunk/log/; revision=9706
2005-08-06 13:10:30 +00:00
oddsock
3e4967b8f9
implement.h, a pthreads include file, is no longer required for win32.
...
svn path=/icecast/trunk/thread/; revision=9635
2005-07-28 21:10:29 +00:00
Michael Smith
65cfce7b53
Fix for bug #688 as supplied by moinakg2002@yahoo.com; make icecast
...
compilable with Sun's compiler
svn path=/icecast/trunk/icecast/; revision=9626
2005-07-26 13:15:22 +00:00
Karl Heyes
6ccda03842
some xslt related fixes. A small memory leak, a socket not closing on odd
...
case, and truncate the buffer length so that junk chars are not sent back.
svn path=/icecast/trunk/icecast/; revision=9547
2005-07-04 20:11:15 +00:00
Karl Heyes
efd3692202
merge fix, the per client intro offset can be > 0, so we need to skip over
...
some of the burst data
svn path=/icecast/trunk/icecast/; revision=9514
2005-06-27 02:10:16 +00:00
Karl Heyes
2ecaecbf7f
missed from previous merge, some random chars at end of xml output
...
svn path=/icecast/trunk/icecast/; revision=9512
2005-06-25 12:27:10 +00:00
Karl Heyes
53650e969f
allow touch frequency setting to be changed on any YP response. Also pass
...
user agent to YP server
svn path=/icecast/trunk/icecast/; revision=9488
2005-06-19 13:50:39 +00:00
Karl Heyes
e9adc91bee
make admin and web root pages use file serving thread to send back responses
...
svn path=/icecast/trunk/icecast/; revision=9464
2005-06-18 10:54:53 +00:00
Karl Heyes
4f4e7be98f
push HTTP header writing for file download into file serving thread to prevent
...
stalls in connection thread. perform most file checking in fserve but allow
for m3u file override and using the Host header if available.
svn path=/icecast/trunk/icecast/; revision=9462
2005-06-17 22:55:59 +00:00
Karl Heyes
7446328d1d
store the original full uri if there are query parameters. small cleanup to
...
prototype definitions
svn path=/icecast/trunk/httpp/; revision=9453
2005-06-15 02:32:26 +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
c59a276ab5
update file serving setup and processing. Do http header writing in fserve
...
thread by using generic write routine. small leak plugged on failure case.
extend mime type handling slightly for rare case
svn path=/icecast/trunk/icecast/; revision=9440
2005-06-11 17:21:00 +00:00
Karl Heyes
29c83ae4eb
update a few stats
...
svn path=/icecast/trunk/icecast/; revision=9437
2005-06-11 01:24:58 +00:00
Karl Heyes
554649cf01
this is needed for linuxthreads, without it, zombie processes are left
...
when on-[dis]connect is used
svn path=/icecast/trunk/icecast/; revision=9435
2005-06-10 18:01:53 +00:00
Karl Heyes
be78a3ae11
merge in fallback to file, override also works
...
svn path=/icecast/trunk/icecast/; revision=9434
2005-06-10 15:42:06 +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
84a0892cff
add a few more informational stats
...
svn path=/icecast/trunk/icecast/; revision=9423
2005-06-09 20:54:08 +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
39c5021b7c
don't be too quick when dealing with files. allow the limited per-client
...
loop but don't trigger a small poll timeout
svn path=/icecast/trunk/icecast/; revision=9418
2005-06-09 13:29:11 +00:00
Karl Heyes
d4abe04f9f
send StreamTitle in metadata when reading from intro file
...
svn path=/icecast/trunk/icecast/; revision=9417
2005-06-09 13:05:02 +00:00
oddsock
e84ce44d6c
gotta love windows.. _snprintf is *much* more readable than snprintf (not)...
...
also, some updates to the VC project files
svn path=/icecast/trunk/icecast/; revision=9410
2005-06-09 04:05:28 +00:00
Karl Heyes
fd19feb3c5
using .filename causes problems with absolute paths for the temp file, also
...
test to see if file exists already
svn path=/icecast/trunk/icecast/; revision=9407
2005-06-09 02:21:03 +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
743dbbaeca
Do normal http header writing in source thread instead of the connection
...
thread, this will allow on-demand relays to fail and still handle the initial
listener correctly (fallback or 404 response).
svn path=/icecast/trunk/icecast/; revision=9399
2005-06-08 01:36:51 +00:00
Karl Heyes
b8f6429198
send StreamTitle in the initial metadata block, if not real/helix has
...
trouble with playback
svn path=/icecast/trunk/icecast/; revision=9376
2005-06-06 15:39:26 +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
72ad63f763
missed a merge for stats update for when the relay ends. The rest is minor
...
stuff, type check cleanup and code reduction in YP
svn path=/icecast/trunk/icecast/; revision=9331
2005-05-31 02:48:40 +00:00
Karl Heyes
f1d39a8788
send response header to stats client
...
svn path=/icecast/trunk/icecast/; revision=9330
2005-05-31 02:40:23 +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
dc0d4e15fd
fix win32 access.log entries, the rest is just cosmetic
...
svn path=/icecast/trunk/icecast/; revision=9307
2005-05-25 01:43:33 +00:00
Karl Heyes
5b9e7f1660
use minimal stats for inactive mountpoints that have an active fallback.
...
svn path=/icecast/trunk/icecast/; revision=9286
2005-05-16 00:16:12 +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
a922caa7f4
removed redundant function, add total files requested to stats
...
svn path=/icecast/trunk/icecast/; revision=9247
2005-05-10 00:28:37 +00:00
Karl Heyes
99a9e4e3a9
missed header for dist tarball
...
svn path=/icecast/trunk/icecast/; revision=9242
2005-05-08 14:27:12 +00:00
Karl Heyes
7fadd89273
use a client function to read an incoming stream, simplifies handling within
...
the format specific files. Also add total read/sent stats per mountpoint.
Updates the stats every 5 secs currently
svn path=/icecast/trunk/icecast/; revision=9241
2005-05-08 13:51:05 +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
22aa8719e2
allow for changes in relay settings to trigger a relay restart
...
svn path=/icecast/trunk/icecast/; revision=9226
2005-05-07 11:50:07 +00:00
Karl Heyes
b1dcee52a8
Add more Ogg codec handlers, there has not been that much testing on these
...
mainly due to client support, but they are only for detection and plug
straight into the ogg handler.
The win32 project files will need updating to take the new files into account
svn path=/icecast/trunk/icecast/; revision=9225
2005-05-07 11:01:35 +00:00
Karl Heyes
2a2938b68b
merge from branch. push clients count handling to the client_create/_destroy
...
functions. call client_create in the general handler and pass client_t to the
specific handler including the stats request handler, which now logs in the
access log.
svn path=/icecast/trunk/icecast/; revision=9220
2005-05-06 15:57:15 +00:00
Karl Heyes
acc79b778f
from branch. make streamlist.txt from the mount list, so that fallback handling
...
can be taken into account. If we just use the source tree then entries can
disappear causing a relay to shutdown in the slave.
svn path=/icecast/trunk/icecast/; revision=9213
2005-05-05 20:05:15 +00:00
Karl Heyes
8e99b390f2
safety check, avoid the case of a cyclic cascading fallback
...
svn path=/icecast/trunk/icecast/; revision=9196
2005-05-01 02:30:06 +00:00
Karl Heyes
9253bf7248
merge from branch, stats client details are not being removed when they exit
...
svn path=/icecast/trunk/icecast/; revision=9195
2005-05-01 02:04:11 +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
19cb11cc31
merge in a few fixes and cleanups I've accumulated in my branch.
...
svn path=/icecast/trunk/icecast/; revision=9152
2005-04-18 14:32:26 +00:00
Karl Heyes
f502efd2f5
simple sanity check
...
svn path=/icecast/trunk/httpp/; revision=9126
2005-04-08 03:48:08 +00:00
Michael Smith
f28ded9fbb
A bug report indirectly suggested the base64 decode code was confusing (as the
...
treatment of padding was un-obvious), so added a comment explaining it.
svn path=/icecast/trunk/icecast/; revision=9075
2005-03-14 23:41:11 +00:00
Michael Smith
d43484d49a
Fix various places where "clients" stats value was decremented without having
...
previously been incremented.
svn path=/icecast/trunk/icecast/; revision=9074
2005-03-14 23:07:34 +00:00
Michael Smith
af3d1f716b
Remove references to -h option, which doesn't exist, and which users could only
...
ever find out about by running a command that did what -h claimed to do.
svn path=/icecast/trunk/icecast/; revision=8976
2005-02-24 00:39:08 +00:00