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
Karl Heyes
435134c354
initial openssl check
...
svn path=/icecast/trunk/m4/; revision=9655
2005-07-30 17:09:51 +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
105570a1eb
update pthread check, for the pth lib and a solaris -pthreads check. Update the
...
other m4 macros for the --with-X prefix check
svn path=/icecast/trunk/m4/; revision=9556
2005-07-10 14:24:08 +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
e0da4c90a9
might as well add these to the samples configs
...
svn path=/icecast/trunk/icecast/; revision=9421
2005-06-09 15:44:38 +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
oddsock
5d9fe0c545
updates for latest trunk
...
svn path=/icecast/trunk/icecast/; revision=9402
2005-06-08 04:18:25 +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