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
brendan
82a9fa3bc7
Whoops, don't spin if ufds is null.
...
svn path=/icecast/trunk/icecast/; revision=8959
2005-02-19 22:44:09 +00:00
brendan
00749e6a68
The poll version of fserve_client_waiting causes icecast to die with an
...
assertion when it first starts up on OS X, because ufds starts out NULL.
I'd been using the select version until now and never noticed.
svn path=/icecast/trunk/icecast/; revision=8956
2005-02-19 20:56:04 +00:00
Michael Smith
bada4b1c41
Make a debug message into a warning message, so it'll be logged more often
...
(since it's useful), and make it print out the file that it failed to find,
so that users can figure out what to do.
svn path=/icecast/trunk/icecast/; revision=8934
2005-02-16 00:54:55 +00:00
Michael Smith
533dfb6b0f
Fix spelling in debug messages.
...
svn path=/icecast/trunk/icecast/; revision=8774
2005-01-21 06:44:21 +00:00
Karl Heyes
df919a9691
only unlock when we have finished with the stylesheet, potential race otherwise
...
svn path=/icecast/trunk/icecast/; revision=8723
2005-01-11 16:36:34 +00:00
Karl Heyes
6c4c02d482
small fixes
...
svn path=/icecast/trunk/icecast/; revision=8596
2005-01-03 17:48:54 +00:00
oddsock
c0a79970f9
remove depricated include file
...
svn path=/icecast/trunk/icecast/; revision=8510
2004-12-21 19:23:35 +00:00
Karl Heyes
f0e7a859ab
minor type cleanup in fserve, include correct header for ogg
...
svn path=/icecast/trunk/icecast/; revision=8481
2004-12-18 00:11:56 +00:00
Karl Heyes
e59095b11a
make vorbis specific stat names consistent with the existing ones, and make
...
sure if unknown ogg codecs are sent then it is logged
svn path=/icecast/trunk/icecast/; revision=8480
2004-12-17 21:05:20 +00:00
Karl Heyes
a2c849ed7c
make recent YP updates follow agreed spec
...
svn path=/icecast/trunk/icecast/; revision=8479
2004-12-17 20:03:26 +00:00
oddsock
ad39d9a450
removed unneeded variable
...
svn path=/icecast/trunk/icecast/; revision=8369
2004-12-10 23:24:08 +00:00
Karl Heyes
66568ed242
fix minor memory leak
...
svn path=/icecast/trunk/icecast/; revision=8364
2004-12-10 17:27:06 +00:00
Karl Heyes
d077dc4b28
add subtype to yp add phase, this is to identify the codecs in use
...
svn path=/icecast/trunk/icecast/; revision=8360
2004-12-10 00:11:16 +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
j
1e839f83ea
- add video_quality
...
- update status.xsl with new info about theora streams
svn path=/icecast/trunk/icecast/; revision=8355
2004-12-08 20:13:17 +00:00
Karl Heyes
92e2c8f81c
added theora stats
...
svn path=/icecast/trunk/icecast/; revision=8354
2004-12-08 19:31:33 +00:00
Karl Heyes
9fd0b2974f
I should fix the leak properly :)
...
svn path=/icecast/trunk/icecast/; revision=8349
2004-12-08 02:36:03 +00:00
Karl Heyes
d124e7ca32
duplicate unlock left in
...
svn path=/icecast/trunk/icecast/; revision=8348
2004-12-08 02:30:01 +00:00
Karl Heyes
ee1c27509c
provide max_listeners to YP, yp touch fixup and minor memory leak fixed
...
svn path=/icecast/trunk/icecast/; revision=8347
2004-12-08 02:28:07 +00:00
oddsock
f09ae872d6
removal of old and unused code
...
add '+' to those fields that are url decoded.
svn path=/icecast/trunk/httpp/; revision=8346
2004-12-07 22:42:50 +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
oddsock
eb9e11b0c6
win32 compile
...
svn path=/icecast/trunk/icecast/; revision=8342
2004-12-07 21:47:28 +00:00
Karl Heyes
2bd23d9050
merge multi ogg codec handling. Handle theora and/or vorbis. Place new
...
clients before keyframe. For vorbis-only streams, perform rebuild to
flush pages more frequently and to provide url updating mechanism for
titles
svn path=/icecast/trunk/icecast/; revision=8341
2004-12-07 21:06:26 +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
c7432d6602
minor cleanups
...
svn path=/icecast/trunk/icecast/; revision=8236
2004-11-20 02:16:59 +00:00
Karl Heyes
7dfcbf560c
skip the listing of the source mountpoint when moveclients is requested
...
without a destination
svn path=/icecast/trunk/icecast/; revision=8235
2004-11-19 23:04:27 +00:00
Karl Heyes
889e260490
allow for shoutcast metadata updates to auth with admin/per-mount/global
...
source password
svn path=/icecast/trunk/icecast/; revision=8232
2004-11-19 15:05:36 +00:00
oddsock
731f24d050
handle supported content-types in a more generic way now. This will allow things like AAC, AACPlus, NSV, and others to be streamed through icecast. We have a special case for vorbis streams, and everything else falls into the generic case.
...
svn path=/icecast/trunk/icecast/; revision=8226
2004-11-18 23:49:59 +00:00
Karl Heyes
524d467a25
missing test from a previous patch, the running check needs to apply as well
...
svn path=/icecast/trunk/icecast/; revision=8223
2004-11-18 19:47:39 +00:00
Karl Heyes
b2b2850708
prevent updated metadata being passed to listeners when the text hasn't
...
actually changed
svn path=/icecast/trunk/icecast/; revision=8214
2004-11-17 20:35:35 +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
Karl Heyes
14f88b3267
pass the fserve_t not the client_t
...
svn path=/icecast/trunk/icecast/; revision=8212
2004-11-17 14:12:39 +00:00
oddsock
241dd76291
need to fail properly
...
svn path=/icecast/trunk/icecast/; revision=8206
2004-11-16 04:27:00 +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
d7a30dc0cf
darn ansi C.....
...
svn path=/icecast/trunk/icecast/; revision=8202
2004-11-15 15:55:43 +00:00
oddsock
acbef39c57
a few fixes from karl...
...
svn path=/icecast/trunk/icecast/; revision=8201
2004-11-15 15:50:59 +00:00
oddsock
726e8fc099
should be a long long, instead of a long
...
svn path=/icecast/trunk/icecast/; revision=8200
2004-11-15 03:53:16 +00:00
oddsock
fa56e5b64d
much better support for the Range request header, which means that seeking actually *works* now for file serving.
...
svn path=/icecast/trunk/icecast/; revision=8199
2004-11-15 03:50:42 +00:00
Michael Smith
5850a9b3c3
Use 64 bit content-length for fileserving (if supported by system)
...
svn path=/icecast/trunk/icecast/; revision=8196
2004-11-11 22:36:03 +00:00
oddsock
4e20c79edf
add Content-Length to files served via the fserve to enable seeking
...
svn path=/icecast/trunk/icecast/; revision=8192
2004-11-11 16:21:01 +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
oddsock
a01317753d
added a content-length for flash-based players. This will allow for them to stream mp3 from icecast.
...
svn path=/icecast/trunk/icecast/; revision=8160
2004-11-04 15:55:13 +00:00
Karl Heyes
89bffcd104
add fallback mime type for css
...
svn path=/icecast/trunk/icecast/; revision=8154
2004-11-01 23:41:58 +00:00
oddsock
6127fea475
* fix bug of not using url decoding value when processing audio_info string
...
* we now process server name and description if we are not a public stream
* Added quality to status.xsl
svn path=/icecast/trunk/icecast/; revision=8131
2004-10-29 15:31:56 +00:00
Karl Heyes
17c178555f
correct type for volatile usage and uncomment log message for stats updating
...
svn path=/icecast/trunk/icecast/; revision=8123
2004-10-27 14:13:29 +00:00
oddsock
f86d02bb58
add volatile keywords to a few variables
...
reset max_interval back to 0 on slave initialization
svn path=/icecast/trunk/icecast/; revision=8112
2004-10-27 03:29:56 +00:00
Karl Heyes
9652319c38
An alias could disappear from under us, so copy the string
...
svn path=/icecast/trunk/icecast/; revision=8108
2004-10-26 19:29:12 +00:00
Karl Heyes
7eed9c793b
small updates. reject source client with invalid mountpoint, avoid aliasing
...
issues with queue and id, and change handler to avoid leaving clients on the
connection queue (rare)
svn path=/icecast/trunk/icecast/; revision=8107
2004-10-26 16:31:16 +00:00
Karl Heyes
3026e1d089
small cleanups. fix buffer sizing, const and unused struct member
...
svn path=/icecast/trunk/icecast/; revision=8104
2004-10-26 14:21:36 +00:00
Karl Heyes
bc9ab55cbb
avoid aliasing issues, and make sure each server can take a seperate
...
default interval as defined in the xml
svn path=/icecast/trunk/icecast/; revision=8101
2004-10-25 21:10:10 +00:00
Karl Heyes
82c116a72d
the check for the public stream flag wasn't working correctly in all cases
...
svn path=/icecast/trunk/icecast/; revision=8100
2004-10-25 20:46:12 +00:00
Karl Heyes
8aaf433aa4
add check for header when relaying from v2.0
...
svn path=/icecast/trunk/icecast/; revision=8098
2004-10-25 18:51:45 +00:00
oddsock
a52caeb2b0
fix line endings...
...
svn path=/icecast/trunk/icecast/; revision=8096
2004-10-25 15:51:50 +00:00
Karl Heyes
000a33b9cb
a couple of potential bad pointer type problems
...
svn path=/icecast/trunk/icecast/; revision=8095
2004-10-25 15:42:04 +00:00
oddsock
b8f3963aad
Fix CLF on win32. Apparently, windows doesn't support the %z flag of strftime() so we need to roll our own...Buzilla Bug #509
...
svn path=/icecast/trunk/icecast/; revision=8091
2004-10-25 14:43:07 +00:00
Karl Heyes
7b9b8e70a3
The _inc/_dec routines can race causing incorrect values as they don't account
...
for unprocessed stat events. Here I push the actual calculations to the stats
thread. The API is maintained however all stats for a specific source can be
dropped with one call now.
svn path=/icecast/trunk/icecast/; revision=8090
2004-10-25 14:03:42 +00:00
Karl Heyes
80561957f0
fix a busy CPU case when slow and fast file serving clients are connected at
...
the same time. Flag clients on return from select/poll and only process those.
Also fix a rare race which could leave clients in pending
svn path=/icecast/trunk/icecast/; revision=8070
2004-10-24 00:34:15 +00:00
Karl Heyes
17537d2457
When starting relay threads, have the relay thread do the connection not the
...
slave thread. Also improve cleanup handling and log messages as well
svn path=/icecast/trunk/icecast/; revision=8068
2004-10-23 00:44:29 +00:00
Michael Smith
1c28b0cce1
Correct a typo in one message, and change "WARNING" to "ERROR" in another,
...
since it's a fatal error.
svn path=/icecast/trunk/icecast/; revision=7983
2004-10-12 04:49:56 +00:00
Karl Heyes
75bb8ea0ce
merged from kh branch, allow for handling the vsnprintf return code better
...
on older systems.
svn path=/icecast/trunk/net/; revision=7917
2004-10-06 14:07:55 +00:00
Michael Smith
b6e001ce8d
When creating a source (in source_reserve), issue a warning if the mountpoint
...
does not start with a /, since clients will then be unable to connect to it
svn path=/icecast/trunk/icecast/; revision=7899
2004-10-01 00:42:19 +00:00
Karl Heyes
afde2e509c
the YP code could end up maintaining duplicate entries if the source
...
reconnect delay is very short.
svn path=/icecast/trunk/icecast/; revision=7761
2004-09-15 14:21:04 +00:00
Karl Heyes
079c759e6d
passed pointer could be NULL
...
svn path=/icecast/trunk/icecast/; revision=7615
2004-08-23 19:01:18 +00:00
Karl Heyes
1fe2325479
add optional tags to example xml and remove unused source_t item
...
svn path=/icecast/trunk/icecast/; revision=7607
2004-08-22 15:00:35 +00:00
Karl Heyes
ac73dff07a
Add a couple of warnings, YP code not built and failed streamlist
...
from master server
svn path=/icecast/trunk/icecast/; revision=7599
2004-08-21 12:56:24 +00:00
Karl Heyes
2a991af1a6
unlikely to occur race, but fix it anyway
...
svn path=/icecast/trunk/icecast/; revision=7597
2004-08-20 22:59:09 +00:00
Karl Heyes
69af6210c0
small memory leak, only happened when a source exited
...
svn path=/icecast/trunk/icecast/; revision=7596
2004-08-20 22:55:27 +00:00
Karl Heyes
15016583ab
make caller of restart_logging pass the config, don't assume it's locked
...
svn path=/icecast/trunk/icecast/; revision=7595
2004-08-20 21:40:44 +00:00
Karl Heyes
9c44a7d184
merged singleq branch 7177:7591
...
svn path=/icecast/trunk/icecast/; revision=7592
2004-08-20 15:13:59 +00:00
Michael Smith
490e64663c
-b was broken. Fix it.
...
svn path=/icecast/trunk/icecast/; revision=7509
2004-08-10 05:17:56 +00:00
Karl Heyes
ebebad5e74
add extra boundary checks when splitting headers
...
svn path=/icecast/trunk/httpp/; revision=7507
2004-08-10 00:03:14 +00:00
Karl Heyes
dac2723dbe
encode any xml entities in the stats before applying them to the
...
xsl pages
svn path=/icecast/trunk/icecast/; revision=7494
2004-08-07 02:33:12 +00:00
oddsock
ebecd7cb0a
fix m3u generation logic that was not working for static files
...
svn path=/icecast/trunk/icecast/; revision=7439
2004-07-31 22:25:07 +00:00
Karl Heyes
62bff456c2
make sure sock_connected does not block with timeout 0, use -1
...
for that, also handle the sock_connected return values properly
in the case of timeout.
svn path=/icecast/trunk/net/; revision=7349
2004-07-26 16:03:52 +00:00
Michael Smith
bef7e4e022
Make it even more explicit what went wrong when log opening failed, since many
...
people don't seem to be able to figure it out.
svn path=/icecast/trunk/icecast/; revision=7265
2004-07-23 02:49:33 +00:00
oddsock
a4a8186681
forgot to switch the default value too..thanks Brendan..
...
svn path=/icecast/trunk/icecast/; revision=7257
2004-07-22 18:34:28 +00:00
Karl Heyes
94d24f406e
cleanup patch, push per client write error trap lower down
...
svn path=/icecast/trunk/icecast/; revision=7165
2004-07-16 15:47:12 +00:00
brendan
8d52fab499
Add source comment to previous metadata bug fix: [sic]
...
svn path=/icecast/trunk/icecast/; revision=7100
2004-07-12 02:21:18 +00:00
brendan
54c90a90fe
Migrate .cvsignore to svn:ignore
...
svn path=/icecast/trunk/log/; revision=7091
2004-07-11 16:51:34 +00:00
brendan
16e1815f14
Migrate .cvsignore to svn:ignore
...
svn path=/icecast/trunk/icecast/; revision=7090
2004-07-11 16:50:28 +00:00
brendan
085f8d61aa
The inline metadata text was losing the final character when the string length was a
...
multiple of 16.
svn path=/icecast/trunk/icecast/; revision=7089
2004-07-11 16:46:02 +00:00
brendan
b235f57273
Move .cvsignore into svn:ignore
...
svn path=/icecast/trunk/avl/; revision=7021
2004-07-06 19:22:26 +00:00
Karl Heyes
a99d5ef19b
minor build fix
...
svn path=/icecast/trunk/httpp/; revision=6874
2004-06-25 19:39:12 +00:00
Karl Heyes
813d54bee1
wait 5 mins on failed YP request, also log a default
...
message if no error message is sent back
svn path=/icecast/trunk/icecast/; revision=6862
2004-06-25 18:25:10 +00:00
giles
d6d634ac02
Recommit of changes lost in the server migration
...
Original commit (r6810) 2004-06-04 03:15:36 -0400 (Fri, 04 Jun 2004) by msmith.
Fix #526 . Fallbacks weren't being found when the primary was disconnected (for
newly-connecting clients).
svn path=/icecast/trunk/icecast/; revision=6810
2004-06-06 03:08:19 +00:00
Karl Heyes
fe2a763e9e
make sure YP entries are flushed out when a source stops. Avoid
...
segv on failed icecast startup and add some log messages.
svn path=/icecast/trunk/icecast/; revision=6807
2004-06-02 19:34:14 +00:00
oddsock
fcef29c60a
remove geturl.c from icecast.dsp
...
add a #define for snprintf for win32
svn path=/icecast/trunk/icecast/; revision=6757
2004-05-26 02:37:20 +00:00
oddsock
56cd1de3c5
added ability to disallow concurrent connections from the same username if using htpasswd listener authentication.
...
svn path=/icecast/trunk/icecast/; revision=6711
2004-05-17 04:33:46 +00:00
Michael Smith
71388d47c6
Some servers apparently send a Content-Type header of audio/x-mpeg.
...
Make icecast understand this.
svn path=/icecast/trunk/icecast/; revision=6649
2004-05-11 02:24:18 +00:00
Karl Heyes
55ba59f3f7
Update of the YP code. This should resolve several YP issues that
...
have been reported, the main one being icecast instability when
there is a YP server outage.
svn path=/icecast/trunk/icecast/; revision=6646
2004-05-10 16:17:56 +00:00
Michael Smith
dc9903512d
Use remove() then rename() only on win32 - where it's required.
...
Don't use it on unix systems, which don't need it, and where doing
_only_ rename() preserves atomicity.
svn path=/icecast/trunk/icecast/; revision=6625
2004-05-05 05:05:05 +00:00
oddsock
dfdff77871
some special handling with rename() needed for win32
...
svn path=/icecast/trunk/icecast/; revision=6616
2004-05-03 14:59:40 +00:00
oddsock
e597b63c6a
proper config file handling...
...
svn path=/icecast/trunk/icecast/; revision=6615
2004-05-03 14:56:57 +00:00
oddsock
15b9c16c1c
patch to allow public listing of shoutcast servers that are relaying icecast streams
...
svn path=/icecast/trunk/icecast/; revision=6614
2004-05-03 14:55:44 +00:00
oddsock
9f7895bd42
created an auth page which can be used to serve appropriate m3u's which contain authentication information.
...
svn path=/icecast/trunk/icecast/; revision=6612
2004-04-30 17:32:34 +00:00
oddsock
d642846c80
added web based interface to htpasswd client authentication
...
svn path=/icecast/trunk/icecast/; revision=6610
2004-04-30 14:36:07 +00:00
Michael Smith
cd47258bb4
Disable burst-on-connect by default
...
svn path=/icecast/trunk/icecast/; revision=6607
2004-04-30 02:28:58 +00:00
oddsock
32718b5b4e
new feature in icecast : burst-on-connect - allows an initial burst of data to connecting listeners, thus reducing the startup time of a stream.
...
svn path=/icecast/trunk/icecast/; revision=6606
2004-04-29 15:23:13 +00:00
oddsock
89f9f38d78
added HAVE_LOCALTIME_R to project file
...
added #define for snprintf (win32 requires _snprintf)
svn path=/icecast/trunk/icecast/; revision=6594
2004-04-25 23:28:36 +00:00
Michael Smith
935a06ef55
Fix copy/paste error in sending 400 errors (reported by wayne zhao).
...
svn path=/icecast/trunk/icecast/; revision=6553
2004-04-20 07:05:07 +00:00
Michael Smith
c2b3ed7146
Fix overflow when base64 decoding invalid base64.
...
svn path=/icecast/trunk/icecast/; revision=6533
2004-04-19 02:55:56 +00:00
Michael Smith
a66e69cb1c
Give details in error messages on failure to open log files.
...
svn path=/icecast/trunk/icecast/; revision=6495
2004-04-07 01:53:46 +00:00
Michael Smith
e8eddcd7b4
Make icecast keep parsing command line options after -c.
...
Error message if fork fails.
All untested; the conversion broke the build.
svn path=/icecast/trunk/icecast/; revision=6152
2004-03-22 02:16:57 +00:00
Michael Smith
ba356d5eaf
Another patch from Dale Ghent, this silences some warnings from the compiler.
...
svn path=/trunk/icecast/; revision=5928
2004-03-09 23:52:20 +00:00
Michael Smith
5edb4df406
Revert previous; this was fixed in a better way.
...
svn path=/trunk/icecast/; revision=5927
2004-03-09 23:49:24 +00:00
Michael Smith
a11d01b268
Use sys/types.h in md5.c, patch from Dale Ghent
...
svn path=/trunk/icecast/; revision=5926
2004-03-09 23:41:58 +00:00
giles
287ed24dd8
Include inttypes.h from the compatibility header if it's available and stdint.h is not. This
...
provides the stdint types on solaris and a number of other non-C99 platforms.
svn path=/trunk/icecast/; revision=5925
2004-03-09 18:33:06 +00:00
Michael Smith
5323b27c95
Couple of minor contributed patches.
...
- Solaris/autoconf nanosleep checking
- use time_t as appropriate for yp
svn path=/trunk/icecast/; revision=5921
2004-03-09 02:36:01 +00:00
Michael Smith
fa8ceacb5c
Oops. Hack up the macro some more so it compiles properly.
...
svn path=/trunk/icecast/; revision=5878
2004-03-02 00:10:58 +00:00
Michael Smith
398dfff59d
Fix macro to use ; instead of ,
...
This gets rid of some warnings in later gcc versions.
svn path=/trunk/icecast/; revision=5875
2004-03-01 02:28:48 +00:00
Karl Heyes
c8ecb463f9
remove warning wrt time_t
...
svn path=/trunk/icecast/; revision=5874
2004-02-29 14:55:04 +00:00
Karl Heyes
6ba8c0b2cd
free up any per-client format specific resources, fixes a small memory
...
leak with mp3 streams
svn path=/trunk/icecast/; revision=5873
2004-02-29 14:38:15 +00:00
Karl Heyes
a255c92b5f
update move clients code, small cleanups in other places
...
svn path=/trunk/icecast/; revision=5869
2004-02-27 15:15:40 +00:00
Karl Heyes
9916341436
separate source initialisation, and collect the YP setup code into one area
...
svn path=/trunk/icecast/; revision=5868
2004-02-26 16:51:43 +00:00
Karl Heyes
aff756a4c7
Add per mount queue size and source timeout, which can override the
...
general settings.
svn path=/trunk/icecast/; revision=5867
2004-02-26 11:56:48 +00:00
Karl Heyes
b7fbcef133
revert previous patch, mike didn't want it...
...
svn path=/trunk/icecast/; revision=5866
2004-02-26 10:39:56 +00:00
Karl Heyes
450d448422
add missing lock on source tree
...
svn path=/trunk/icecast/; revision=5865
2004-02-25 21:43:52 +00:00
Karl Heyes
32f52c6211
send mp3 url metadata into a format specific routine
...
svn path=/trunk/icecast/; revision=5864
2004-02-25 20:23:07 +00:00
Karl Heyes
f6f31cdc24
*** empty log message ***
...
svn path=/trunk/icecast/; revision=5863
2004-02-25 20:11:31 +00:00
Karl Heyes
7371d0ab21
move the source client '200 OK' response to the source client specific part
...
of the source thread, and rearrange stats around that
svn path=/trunk/icecast/; revision=5862
2004-02-25 16:24:30 +00:00
Karl Heyes
dac1cf97dc
small cleanup and don't shutdown curl too early
...
svn path=/trunk/icecast/; revision=5860
2004-02-24 21:02:44 +00:00
Karl Heyes
176804e436
Add accumulative stats back for source connections and don't hold locks
...
while writing responses back to the client.
svn path=/trunk/icecast/; revision=5853
2004-02-20 17:42:57 +00:00
Michael Smith
7b7a9f73d2
Oops. As oddsock says, this was broken, and didn't compile, and was unneccesary
...
anyway. reverted.
svn path=/trunk/icecast/; revision=5849
2004-02-20 02:09:00 +00:00
Michael Smith
92027f475b
Patch for preventing stats from staying around too long - stats thread should
...
only go to sleep when it has nothing to do.
svn path=/trunk/icecast/; revision=5848
2004-02-20 01:25:28 +00:00
Karl Heyes
466a5cb60c
Make source client connections reserve the source mountpoint and get rid
...
of the unused source setup code.
svn path=/trunk/icecast/; revision=5846
2004-02-19 21:16:59 +00:00
Karl Heyes
ae825afd3e
Make the slave thread reserve relay mountpoints, and prevent reconnection
...
when a relay is currently active.
svn path=/trunk/icecast/; revision=5845
2004-02-19 20:28:21 +00:00
Karl Heyes
a83553ad8f
functions to allow for reserving a source_t with a mountpoint
...
svn path=/trunk/icecast/; revision=5844
2004-02-19 16:32:26 +00:00
Karl Heyes
6d969934f5
Add checks for whether a source is active
...
svn path=/trunk/icecast/; revision=5843
2004-02-19 15:24:06 +00:00
Karl Heyes
ebf6603c07
small YP memory cleanup
...
svn path=/trunk/icecast/; revision=5842
2004-02-19 14:48:31 +00:00
Karl Heyes
66082000b4
minor cleanup
...
svn path=/trunk/icecast/; revision=5834
2004-02-17 15:46:05 +00:00
Karl Heyes
c3f0d43821
handle error condition at connection
...
svn path=/trunk/net/; revision=5833
2004-02-17 14:17:57 +00:00
Karl Heyes
2accfe55e5
fix possible bad pointer reference when finding fallback mount
...
svn path=/trunk/icecast/; revision=5830
2004-02-17 00:09:14 +00:00
Karl Heyes
012b3f4246
YP related cleanup, avoid bad pointer reference on HUP
...
svn path=/trunk/icecast/; revision=5829
2004-02-16 21:59:08 +00:00
Karl Heyes
5574d519c9
a few cleanups and a fix for async connects
...
svn path=/trunk/net/; revision=5821
2004-02-12 21:28:35 +00:00
Michael Smith
350c524cc8
I Hate String Handling In C.
...
svn path=/trunk/icecast/; revision=5818
2004-02-10 04:37:30 +00:00
Michael Smith
3d9d45c488
Another fix: the length of the _string_ is not the same as the metadata length
...
(the metadata is null-padded out to a multiple of 16 bytes), so we have to deal
with that.
svn path=/trunk/icecast/; revision=5817
2004-02-10 04:29:54 +00:00
Michael Smith
6128c0631c
Oops. Fix null-terminator.
...
svn path=/trunk/icecast/; revision=5816
2004-02-10 04:20:43 +00:00
Michael Smith
7bc7ea581a
Fire off stats event for metadata updates when we get metadata inline.
...
This fixes stats.xml listings for mp3 slave relays with metadata.
We get rid of 'metadata_raw', since we now have to format out that stuff anyway.
svn path=/trunk/icecast/; revision=5815
2004-02-10 03:50:39 +00:00
Karl Heyes
682753ea10
minor cleanup
...
svn path=/trunk/icecast/; revision=5809
2004-02-03 00:48:02 +00:00
Karl Heyes
aabbde37bc
cleanup headers sent to listeners
...
svn path=/trunk/icecast/; revision=5808
2004-02-03 00:29:36 +00:00
Karl Heyes
b24028f620
recheck the relays after the HUP has been handled
...
svn path=/trunk/icecast/; revision=5807
2004-02-02 19:22:11 +00:00
oddsock
c95f2cea8d
added win32 support to libshout
...
- new MSVC6 project files
- os.h with WIN32 specific typedefs
- fixed some casting issues which were causing precision errors on win32
- apparently select doesn't work with microsecond granularity so we will use Sleep() which does.
svn path=/trunk/timing/; revision=5796
2004-01-30 00:08:02 +00:00
Karl Heyes
d7dc5d327c
minor cleanup
...
svn path=/trunk/icecast/; revision=5795
2004-01-29 23:23:53 +00:00
Karl Heyes
c90fb2ea55
cleanup duplicate work, fix rare but potential deadlock, and
...
fix silly bug introduced ealrier
svn path=/trunk/icecast/; revision=5794
2004-01-29 16:46:54 +00:00
Michael Smith
0aad6d849c
Add Copyright notice to each source file, as requested by debian.
...
svn path=/trunk/httpp/; revision=5792
2004-01-29 01:02:12 +00:00
Karl Heyes
78ee74cf3e
change thread startup/shutdown order slightly wrt to slave thread
...
svn path=/trunk/icecast/; revision=5791
2004-01-28 23:23:10 +00:00
Karl Heyes
c9d6c049ef
oops, missed these from previous commit, the lock is now taken further up
...
svn path=/trunk/icecast/; revision=5789
2004-01-28 02:17:57 +00:00
Karl Heyes
87da84a021
make sure the source doesn't disappear from under us when an admin
...
request is performed.
svn path=/trunk/icecast/; revision=5788
2004-01-28 01:22:36 +00:00
Karl Heyes
6c6a22bf45
minor cleanups, and only have one thread responding to TERM
...
svn path=/trunk/avl/; revision=5787
2004-01-27 02:16:25 +00:00
Karl Heyes
1665a4f7d9
fix potential deadlock case at source stream startup
...
svn path=/trunk/icecast/; revision=5786
2004-01-26 22:42:22 +00:00
Karl Heyes
fbd92a913e
add localtime_r checks, useful the threads
...
svn path=/trunk/icecast/; revision=5785
2004-01-26 21:49:07 +00:00
oddsock
610a2c022a
fixed small bug where if using fallbacks and the main mount was not connected, icecast was not connecting client to the fallback mount.
...
svn path=/trunk/icecast/; revision=5780
2004-01-21 15:19:48 +00:00
Michael Smith
d668d4dfa6
Fix nasty bug in file serving code, would probably have made it fail with
...
multiple simultaneous requests.
svn path=/trunk/icecast/; revision=5764
2004-01-16 00:43:16 +00:00
oddsock
8a78baa149
- properly initialize the authorizer structure, otherwise by default it is enabled
...
- add new element (listenurl) to the stats for use in things like java player applets
svn path=/trunk/icecast/; revision=5763
2004-01-15 15:37:25 +00:00
oddsock
6dc92dae79
fixed some variable definitions to be ANSI compatable.
...
updated win32 project files with new files
svn path=/trunk/icecast/; revision=5761
2004-01-15 04:24:57 +00:00
Michael Smith
57dd5f71a5
Client authentication added.
...
Melanie's multilevel fallbacks added (after major changes).
svn path=/trunk/icecast/; revision=5760
2004-01-15 01:01:09 +00:00
oddsock
360c18b5b8
add option to display icecast version string, and cleaned up usage a bit..
...
svn path=/trunk/icecast/; revision=5720
2003-12-29 16:18:48 +00:00
Karl Heyes
e8546d44d4
Fetching the stream list was failing after the config file was re-read.
...
svn path=/trunk/icecast/; revision=5701
2003-12-17 23:03:38 +00:00
Karl Heyes
1e7316b4b2
failure case, keep the source count in sync with the number of sources
...
running, locking for shutdown was also affected.
svn path=/trunk/icecast/; revision=5700
2003-12-17 22:54:43 +00:00
oddsock
e8a61ce5d3
fixed master-slave relaying...
...
* slaves now ask for /admin/streamlist.txt which serves a plaintext version of the source list (this is what it was expecting to get)
* /admin/streamlist still serves XML (which slave.c wasn't expecting)
* fixed a few cases of pointer invalidation due to possible config re-reading.
* slave relay now uses relay password to get the list of streams to relay
svn path=/trunk/icecast/; revision=5695
2003-12-12 23:06:44 +00:00
oddsock
5e075b9202
Remove explicit exit() calls...this was possibly causing some cases of immediate UI termination without any messages...
...
svn path=/trunk/avl/; revision=5683
2003-12-04 16:27:30 +00:00
oddsock
c20bc3c346
Remove stats_callback() which is only used by the win32 UI...The stats gathering done by the UI has been completely rewritten to eliminate some reported instability.
...
svn path=/trunk/icecast/; revision=5682
2003-12-04 16:25:28 +00:00
oddsock
6a67e82db8
Added win32 include for getpid()
...
svn path=/trunk/icecast/; revision=5681
2003-12-04 16:24:34 +00:00
oddsock
70ae454647
get rid of the fullpath of the module that is logged...Stupid VC6....
...
svn path=/trunk/icecast/; revision=5680
2003-12-04 16:23:51 +00:00
Karl Heyes
25dcbd976d
fix segv when fallback or dumpfilename are not specified
...
svn path=/trunk/icecast/; revision=5675
2003-12-02 01:11:12 +00:00
Karl Heyes
112ce96cf0
Add optional pidfile. Writes process id of icecast to named file
...
svn path=/trunk/icecast/; revision=5674
2003-12-01 23:30:13 +00:00
Karl Heyes
b795bb58dc
cleanup bad pointer access after config re-read
...
svn path=/trunk/icecast/; revision=5673
2003-12-01 17:18:37 +00:00
oddsock
9a53ac6510
Icecast we are
...
svn path=/trunk/icecast/; revision=5629
2003-11-25 02:51:02 +00:00
oddsock
6671ab765d
Base ICECAST2_VERSION_STRING off VERSION_STRING which is generated by autoconf..win32 projects will have to manually define this currently..blah.
...
svn path=/trunk/icecast/; revision=5628
2003-11-25 02:41:23 +00:00
oddsock
a3ab569ba1
lets make the ICECAST_VERSION_STRING a bit less of a maintance issue...
...
svn path=/trunk/icecast/; revision=5627
2003-11-22 22:23:04 +00:00
Karl Heyes
e3dbbbc81b
if relay is for an mp3 stream, then get inline metadata by default if
...
possible
svn path=/trunk/icecast/; revision=5600
2003-11-18 00:59:51 +00:00
Karl Heyes
7ec7e90916
fix minor leak on config file read
...
svn path=/trunk/icecast/; revision=5599
2003-11-18 00:49:59 +00:00
Karl Heyes
cfc2695927
patch from mike, unlock logger on failure case.
...
svn path=/trunk/log/; revision=5597
2003-11-17 23:53:37 +00:00
oddsock
d525290195
added WIN32-ism
...
svn path=/trunk/icecast/; revision=5589
2003-11-17 22:38:58 +00:00
Karl Heyes
a093271f95
type warning cleanup
...
svn path=/trunk/icecast/; revision=5586
2003-11-17 21:36:03 +00:00
Karl Heyes
47f877569f
While tracking down the bug which causes the zombie thread manager while
...
streaming mp3 with metadata, this patch has turned out to be successful at
maintaining a working icecast for the few users who have reported the problem
The patch essentially removes the use of the alloca and uses the malloc-type
calls instead.
svn path=/trunk/icecast/; revision=5562
2003-11-11 18:21:49 +00:00
oddsock
fe95280339
added bypassing of thread_sleep() in certain cases.
...
this came from KarlH.
svn path=/trunk/icecast/; revision=5526
2003-10-31 19:21:00 +00:00
oddsock
e554386ef0
proper cleanup of the rwlocks in the avl trees.
...
This was causing some major memory leakage on win32, but was not seen
on unix. Icecast2 on win32 is leakfree again :)
svn path=/trunk/avl/; revision=5525
2003-10-31 19:18:42 +00:00
brendan
ff15b29177
typo
...
svn path=/trunk/timing/; revision=5492
2003-10-20 16:32:55 +00:00
brendan
2bfba7c60a
Leigh Smith's MINGW32 compatibility patch, with modifications for better
...
autoconf feng shui
svn path=/trunk/m4/; revision=5490
2003-10-20 03:08:46 +00:00
Karl Heyes
4f41ecedb6
another compiler cleanup wrt 64bit int/pointer mismatches, thanks to
...
the ports maintainers
svn path=/trunk/avl/; revision=5182
2003-07-29 00:30:36 +00:00
Karl Heyes
571ced86d5
We need to state both of these to get the dependencies and linking working
...
as expected.
svn path=/trunk/icecast/; revision=5181
2003-07-27 22:53:58 +00:00
Karl Heyes
7e0894c0c9
Plug small memory leak when a thread exits.
...
Allow new threads to inherit scheduling policy.
Use long instead of int in thread_exit, thanks to the ports maintainers for
the heads up.
svn path=/trunk/thread/; revision=5179
2003-07-27 18:19:31 +00:00
Karl Heyes
39ad755a25
remove unwanted bits left in from previous commits
...
svn path=/trunk/icecast/; revision=5178
2003-07-27 01:13:06 +00:00
Karl Heyes
0c6493aa6d
place the config reread flag in the global structure
...
svn path=/trunk/icecast/; revision=5175
2003-07-25 14:29:33 +00:00
Karl Heyes
9482db6016
avoid hitting the mutex's in the signal handler, we could block, which is
...
not something we want to do. Some mutex implementations are signal based.
svn path=/trunk/icecast/; revision=5174
2003-07-24 23:45:29 +00:00
Karl Heyes
69de4ea61e
minor fixes. autoconf/make init clenaup, missing includes added and
...
compiler warnings removed
svn path=/trunk/icecast/; revision=5173
2003-07-24 16:21:22 +00:00
brendan
f14dcdc023
use _GNU_SOURCE where possible
...
guard unistd.h with CHROOT rather than HAVE_UNISTD_H, since that's how it's
tested in configure.in
svn path=/trunk/icecast/; revision=5171
2003-07-24 05:32:37 +00:00
brendan
a434767c34
Mike's #include patch
...
svn path=/trunk/icecast/; revision=5170
2003-07-24 05:24:00 +00:00
Karl Heyes
8654a18f72
minor cleanups
...
svn path=/trunk/icecast/; revision=5168
2003-07-23 00:27:10 +00:00
Karl Heyes
52b917d2c3
Make icecast use the shared M4 macros. Cleanup the other files.
...
svn path=/trunk/icecast/; revision=5157
2003-07-21 02:23:41 +00:00
Karl Heyes
43953202a2
refer to cfgfile.h instead of config.h for icecast.xml, and use config.h
...
for autoconf
svn path=/trunk/icecast/; revision=5156
2003-07-21 01:58:54 +00:00
Karl Heyes
88fd04cfd0
a move over from config.c config.h. This is so that config.h can be built
...
by autoconf. config.h is also the name expected by the convenience libs
svn path=/trunk/icecast/; revision=5154
2003-07-21 01:39:39 +00:00
Karl Heyes
59f13c6f76
The xml cleanup occurs after this anyway, and doing this here can cause
...
bad things to occur when xslt gets used.
svn path=/trunk/icecast/; revision=5152
2003-07-18 19:54:02 +00:00
Karl Heyes
508d25641d
avoid header namespace clashes
...
svn path=/trunk/icecast/; revision=5146
2003-07-16 19:41:59 +00:00
brendan
62ce258d46
Assign LGP to thread module
...
svn path=/trunk/thread/; revision=5138
2003-07-14 02:17:52 +00:00
brendan
12db251614
Assign LGPL to files (as implied by COPYING)
...
svn path=/trunk/net/; revision=5137
2003-07-14 02:14:59 +00:00
Karl Heyes
421df597fa
Add log cycling on HUP signals. Currently reopens log files in append mode
...
so allows for continuing the log, or cycling just one log. log filename
changes work as well.
svn path=/trunk/icecast/; revision=5129
2003-07-11 23:54:50 +00:00
Karl Heyes
d637781802
inverted logic used by some of the new functions fixed, locking updates
...
and some code cleanups
svn path=/trunk/log/; revision=5128
2003-07-11 23:36:49 +00:00
Karl Heyes
142c1b0609
don't terminate stream when debugging
...
svn path=/trunk/icecast/; revision=5127
2003-07-11 19:03:30 +00:00
Karl Heyes
d0e828a040
Modify logging framework for providing log cycling. By default the logging
...
is indefinite but here ices2 is capping the logs at around 2Meg, which is
currently fixed.
The renamed log filename is simple (xxx.old) but using a timestamp could
be implemented. Explicit log re-opening (eg HUP handling) is implemented
but not currently used.
svn path=/trunk/log/; revision=5107
2003-07-09 02:45:22 +00:00
oddsock
78e3977e2d
unused variable
...
svn path=/trunk/icecast/; revision=5104
2003-07-08 14:11:32 +00:00
oddsock
d5b71bce49
don't overwrite info in one yp with info from another :)
...
svn path=/trunk/icecast/; revision=5103
2003-07-08 14:11:01 +00:00
oddsock
c6caf7f19c
more portable va_copy for win32
...
svn path=/trunk/net/; revision=5098
2003-07-08 02:39:33 +00:00
oddsock
b1cd3085f2
cleaned a bit
...
svn path=/trunk/icecast/; revision=5094
2003-07-07 22:04:29 +00:00
oddsock
8ce77fc778
win32 goodies
...
svn path=/trunk/icecast/; revision=5093
2003-07-07 22:02:39 +00:00
brendan
729d65ae52
va_copy is undefined on windows
...
svn path=/trunk/net/; revision=5092
2003-07-07 21:33:58 +00:00
brendan
ff09d9eaa9
The last of the convenience lib cleanups. A little forethought in designing
...
a keyboard macro made this one a lot easier.
svn path=/trunk/thread/; revision=5090
2003-07-07 20:38:34 +00:00
brendan
5685b9a866
MAX may be defined elsewhere
...
svn path=/trunk/avl/; revision=5086
2003-07-07 03:37:23 +00:00
brendan
fd289cfe4d
httpp goes through the rinse cycle
...
svn path=/trunk/httpp/; revision=5085
2003-07-07 01:49:27 +00:00
brendan
1af405ee9c
I missed a spot. And another one.
...
svn path=/trunk/avl/; revision=5084
2003-07-07 01:40:08 +00:00
brendan
8278b004fe
net gets the namespace deep cleansing treatment.
...
I suspect all this may be unnecessary, only because I've never heard of this
before. But then, I don't do much library work, and better safe than sorry.
svn path=/trunk/net/; revision=5083
2003-07-07 01:32:42 +00:00
brendan
3833c824ae
Namespace cleanup: _mangle exported symbols, declare others static.
...
This is tedious.
svn path=/trunk/avl/; revision=5082
2003-07-07 01:10:14 +00:00
brendan
cbfb283e6f
Move MP3 headers back into format_mp3.c per Mike's desire.
...
I removed icy- support from the generic send headers function, as it is my
understanding that only MP3 sources use icy headers. PLEASE correct me
if I am wrong.
I also added code in the mp3 function to convert ice-audio-info bitrate to
an icy-br header. ice-audio-info is for YP, icy-br for clients. Perhaps we
should send both to clients though?
svn path=/trunk/icecast/; revision=5079
2003-07-06 15:27:50 +00:00
brendan
004152cf7a
Write a newline after the m3u entry (patch by Paul Bryan).
...
svn path=/trunk/icecast/; revision=5067
2003-07-05 06:36:16 +00:00
giles
a2400995a0
Add a name mangling mechanism so we can safely compile in code we share with applications that might link with use. Currently only hooked up for the timing liblet, but thread is the real target.
...
Basically we define _mangle() in config.h, and use that in timing.h (if available) to prepend the package name to all the symbols in the header and including C files. It's thus fairly invisible.
Unfortunately the prefix is hardwired, so it's another thing that has to be maintained by hand (not that is changes often, but we can't make it a macro). AH_VERBATIM seems to be the only way to add a macro that takes arguments, and it explicitly doesn't do shell expansion. Further, @PACKAGE@ substitution doesn't happen on config.h.in. Insert standard autotools frustration here.
svn path=/trunk/timing/; revision=5060
2003-07-04 23:18:26 +00:00
brendan
7c40c8ae92
Get everthing in make dist, and remove bitkeeper cruft
...
svn path=/trunk/avl/; revision=5050
2003-07-03 12:59:06 +00:00
brendan
e21a3fc19e
Convert ice headers to icy headers for MP3 streams.
...
TODO: rewrite ice-audio-info bitrate tag to icy-br.
svn path=/trunk/icecast/; revision=5045
2003-07-03 01:39:59 +00:00
brendan
205d225b73
When relaying MP3 we reported the source metainterval as well as our own,
...
causing stuttering in some clients. Thank goodness icecast uses an
odd metainterval, or this bug would never have been discoverd :)
svn path=/trunk/icecast/; revision=5044
2003-07-03 01:36:06 +00:00
Karl Heyes
f6efb106de
this was never used and it's handled elsewhere anyway
...
svn path=/trunk/net/; revision=5042
2003-07-02 21:29:08 +00:00
brendan
26e3be189a
finish what we started re: resolver
...
svn path=/trunk/net/; revision=5026
2003-07-01 18:49:07 +00:00
Karl Heyes
7fda8c6afb
infinite loop/memory leak fix for private streams when yp is enabled
...
svn path=/trunk/icecast/; revision=5019
2003-06-29 18:12:09 +00:00
oddsock
4b92ae2baa
- add_yp_info moved into yp.c
...
- all yp adds/touches are now done within a single thread.
This should eliminate any "thread growth" issues and make
things behave much nicer when yp problems arise. We should
eventually change the add/touches to non-blocking sockets,
which will be needed for large numbers of streams doing adds/touches.
svn path=/trunk/icecast/; revision=5012
2003-06-26 13:33:55 +00:00
oddsock
abb6cddbf0
- added startup of yp add/touch thread
...
svn path=/trunk/icecast/; revision=5011
2003-06-26 13:33:15 +00:00
oddsock
fb9292658b
- fixed small memory leak
...
svn path=/trunk/icecast/; revision=5010
2003-06-26 13:32:34 +00:00
oddsock
303c11197f
- moved add_yp_info into yp.c
...
- most of the yp processing now moved into the yp add/touch thread
- use ice/icy-public rather than ice/icy-private to coorespond to libshout and general convention
- memory leak fixed with audio-info
svn path=/trunk/icecast/; revision=5009
2003-06-26 13:32:04 +00:00
oddsock
dd6af7e848
- force touches when vorbis metadata changes
...
svn path=/trunk/icecast/; revision=5008
2003-06-26 13:31:38 +00:00
oddsock
428c1f1f36
- force touches when mp3 metadata is updated via admin interface
...
svn path=/trunk/icecast/; revision=5007
2003-06-26 13:31:17 +00:00
Karl Heyes
f2e1bc2419
handle error returned from listening sockets, can cause busy looping
...
svn path=/trunk/icecast/; revision=4986
2003-06-20 18:50:24 +00:00
Karl Heyes
ea2dc4a67f
ermmm, let's use the right operator.
...
svn path=/trunk/httpp/; revision=4963
2003-06-18 15:52:25 +00:00
Karl Heyes
032ad5d9ff
minor cleanup, removes compiler warning, makes it static, and doesn't
...
re-evaluate string length each time.
svn path=/trunk/httpp/; revision=4961
2003-06-18 11:13:11 +00:00
Karl Heyes
a4d20515f1
remove file descriptor leak when IPv6 is being used.
...
svn path=/trunk/net/; revision=4960
2003-06-18 11:05:49 +00:00
brendan
e49e587c01
gcc 3.3 warns: dereferencing type-punned pointer will break strict-aliasing rules
...
svn path=/trunk/httpp/; revision=4906
2003-06-09 22:30:09 +00:00
Karl Heyes
b41664426c
Lets put this in the right place.
...
svn path=/trunk/net/; revision=4889
2003-06-06 11:19:50 +00:00
Karl Heyes
b4cdad000d
Another net change, making it more bullet-proof, before could silently miss
...
data. so now we allocate enough space for the write to succeed fully.
svn path=/trunk/icecast/; revision=4888
2003-06-06 00:05:19 +00:00
brendan
57f344b1e3
whoops
...
svn path=/trunk/net/; revision=4887
2003-06-05 19:18:00 +00:00
brendan
7fce0b586b
Karl's sys/select.h patch for fbsd. It must be under another std include on
...
OS X for some reason.
svn path=/trunk/net/; revision=4886
2003-06-05 19:02:36 +00:00
brendan
6431c0c6a9
Karl's patch for freebsd, minus the sys/select.h test which breaks on OS X.
...
Also enables IPV6 in libshout!
svn path=/trunk/httpp/; revision=4884
2003-06-05 17:09:12 +00:00
oddsock
a8d602fe33
fixed check for regular file type in win32-specific code
...
svn path=/trunk/icecast/; revision=4879
2003-06-05 04:15:58 +00:00
brendan
47cef92fcc
Karl's patch for a namespace collision he reports on some BSD systems.
...
svn path=/trunk/net/; revision=4861
2003-06-03 18:29:23 +00:00
Michael Smith
9e8e9a5024
Fix some function comments, sock_write_string() and sock_write may NOT be
...
called with a non-blocking socket
svn path=/trunk/net/; revision=4845
2003-05-29 12:18:04 +00:00
brendan
494f8fc2b6
Fix curl version test.
...
YP is enabled by default but automatically turned off if the curl test fails
(unless --enable-yp is explicitly passed to configure, in which case configure
will fail if the curl test fails).
svn path=/trunk/icecast/; revision=4831
2003-05-28 15:04:53 +00:00
Michael Smith
018d0a2700
Fix lots of warnings in new admin stuff - primarily wrong types in printf
...
format strings.
svn path=/trunk/icecast/; revision=4830
2003-05-28 13:43:48 +00:00
oddsock
8f84c0188a
some win32-isms
...
and a bad free that valgrind yelled at me about
svn path=/trunk/icecast/; revision=4711
2003-05-15 23:19:57 +00:00
oddsock
27c0af2b1d
infrastructure for new web-based admin interface
...
new config option <adminroot>
restructured code a bit in admin.c for a bit better extendability
svn path=/trunk/icecast/; revision=4708
2003-05-15 21:03:32 +00:00
Michael Smith
8527ed7b43
Implementation of aliases contributed by Paul Donohue <icecast@TopQuark.net>
...
svn path=/trunk/icecast/; revision=4629
2003-04-23 12:44:29 +00:00
Michael Smith
5c5155b8d9
Only consider a path a candidate for file-serving if it exists AND is a normal
...
file (not a directory, etc.)
svn path=/trunk/icecast/; revision=4616
2003-04-18 14:59:26 +00:00
oddsock
0a1ba85795
printf to stdout not valid with our win32 binary, so lets now use something that will work on win32. note that these should only be used up to the point at which logging is started, then everything should go there.
...
also added a new stat to represent what is currently being sent to the yp server as "what's playing"
svn path=/trunk/icecast/; revision=4613
2003-04-17 03:23:18 +00:00
Karl Heyes
9431588c99
admin.h is needed for the tarball or else it will fail to compile icecast
...
svn path=/trunk/icecast/; revision=4612
2003-04-17 01:03:32 +00:00
oddsock
2c2576ed4e
- fixed alot of yp logic. timeouts now work properly so the tolerance of
...
the unavailability of yp servers is much much better now.
- new icecast config option <yp-url-timeout> to specify the timeout
- url encoding is now fixed so that the yp data is formatted much nicer (and is correct :))
- added url encoding for some fields that were not url-encoded
- modified util_dict_urlencode() to not url-encode the key (still does the value)
- new curl option (CURLOPT_NOSIGNAL) which prevents curl from using signals when
timeouts are hit. This new option needs curl 7.10 at least.
svn path=/trunk/icecast/; revision=4603
2003-04-11 03:00:24 +00:00
Michael Smith
801ab0bc3e
What was I on when I wrote this? oddsock pointed out that util_url_escape()
...
was chronically broken
svn path=/trunk/icecast/; revision=4602
2003-04-10 14:28:02 +00:00
Michael Smith
2cb0db8e80
Don't pass 0x1 as a pointer to a syscall. oops.
...
svn path=/trunk/net/; revision=4593
2003-04-08 12:09:57 +00:00
Michael Smith
81cd2d50f5
Implement killsource admin command, to kill sources. Doesn't always do much,
...
ices (as an example) will auto-reconnect.
svn path=/trunk/icecast/; revision=4571
2003-03-31 12:54:44 +00:00
Michael Smith
ed019c0cd6
Remove locking from refbuf: we used a single global lock for all of them, which
...
caused significant lock contention with many sources. Further, a single refbuf
is never used by more than one source (and hence one thread), so the locking
was unneeded.
Fix a nasty bug in source.c:_compare_clients() - was casting a void pointer
to the wrong type, and hence all the tree-maintaince comparisons were totally
wrong (but due to the exact nature of the bug this wasn't causing any active
problems until...)
Add another admin command to kill a client - remove it using an id. Note that
many clients will do auto-reconnect, so this may not be sufficient on its own,
we might need a ban (possibly temporary) function.
svn path=/trunk/icecast/; revision=4569
2003-03-30 13:52:27 +00:00
brendan
8651aabcbb
First crack at making YP/curl optional.
...
svn path=/trunk/icecast/; revision=4552
2003-03-27 17:10:14 +00:00
Karl Heyes
8c866378d8
Add package wide CFLAGS, typically used for the pthread options
...
svn path=/trunk/log/; revision=4543
2003-03-26 22:13:54 +00:00
Karl Heyes
18c2baad5a
tabs needed for Makefile
...
svn path=/trunk/log/; revision=4521
2003-03-21 23:54:09 +00:00
Michael Smith
ca6a611be4
Fix ordering of some calls in source shutdown, silly bug.
...
Remove wrong comment.
svn path=/trunk/icecast/; revision=4513
2003-03-19 07:59:32 +00:00
Michael Smith
35e22a005a
Fix lack of null terminator in audio info/stats stuff.
...
svn path=/trunk/icecast/; revision=4512
2003-03-19 07:55:42 +00:00
Karl Heyes
0b1a75fd31
better fix for cases with missing inet_aton
...
svn path=/trunk/net/; revision=4500
2003-03-17 16:47:20 +00:00
Michael Smith
3b2df1d0d9
Brendan was getting pissed off about inconsistent indentation styles.
...
Convert all tabs to 4 spaces. All code must now use 4 space indents.
svn path=/trunk/avl/; revision=4492
2003-03-15 02:10:19 +00:00
Michael Smith
bd9c2383c5
Bugfix: source shutdown did things in the wrong order, could lead to clients
...
ending up connecting to a source which didn't exist.
Add 'moveclients' admin command to move all clients from one source to
another (without shutting the old source down)
svn path=/trunk/icecast/; revision=4489
2003-03-14 07:59:58 +00:00
brendan
1198cbb982
Typo (no sleeping between select()s waiting for connections)
...
svn path=/trunk/icecast/; revision=4478
2003-03-12 05:40:45 +00:00
Karl Heyes
a3268b8d2f
avoid freeing a thread structure a second time.
...
svn path=/trunk/thread/; revision=4477
2003-03-12 03:59:55 +00:00
Michael Smith
596922217b
Fix relay stream listing. Remove seperate relay password, there's no
...
need for it.
svn path=/trunk/icecast/; revision=4464
2003-03-10 22:20:16 +00:00
Karl Heyes
df4431766a
reduce include file namespace clutter for libshout and the associated
...
smaller libs.
svn path=/trunk/avl/; revision=4456
2003-03-09 22:56:46 +00:00
Michael Smith
0d40f034d2
Listing of current mountpoints in admin interface.
...
svn path=/trunk/icecast/; revision=4455
2003-03-09 14:12:24 +00:00
Michael Smith
eba22526aa
Support listening on multiple sockets.
...
svn path=/trunk/icecast/; revision=4454
2003-03-09 11:27:06 +00:00
Karl Heyes
5565b331da
include the automake config.h file if the application defines one
...
svn path=/trunk/avl/; revision=4450
2003-03-08 16:05:38 +00:00
Michael Smith
a3716577ec
Check the right variable for password in icy logins
...
svn path=/trunk/icecast/; revision=4447
2003-03-08 05:38:52 +00:00
Michael Smith
8c750aaee4
Set another parameter in the icy protocol parse that logging expects
...
svn path=/trunk/httpp/; revision=4446
2003-03-08 05:27:17 +00:00
Michael Smith
e921a67bd1
create /icy_0 (and incrementing numbers) for incoming icy protocol connections
...
if the / mountpoint is taken
svn path=/trunk/icecast/; revision=4445
2003-03-08 05:02:13 +00:00
Michael Smith
b2b618c62f
Added support for shoutcast login protocol (ewww...)
...
svn path=/trunk/httpp/; revision=4444
2003-03-08 04:57:02 +00:00
Karl Heyes
8682dba672
more on the XIPH_CFLAGS. For the smaller libs like thread etc put any
...
passed flags into the compiling rules. Also configure in libshout now
sets up the XIPH_CFLAGS
svn path=/trunk/avl/; revision=4439
2003-03-08 00:46:59 +00:00
Michael Smith
b520eb3272
Implement listing of all currently connected clients on a mountpoint
...
svn path=/trunk/icecast/; revision=4434
2003-03-07 14:57:36 +00:00
Michael Smith
d1e8e7bfb7
Send a user-agent header on normal relay requests as well.
...
svn path=/trunk/icecast/; revision=4417
2003-03-06 14:52:09 +00:00
Michael Smith
f8783aedac
Check admin password against the correct username
...
svn path=/trunk/icecast/; revision=4416
2003-03-06 14:46:33 +00:00
Michael Smith
a79f0b6cae
Split admin stuff out into a seperate file, add various utility functions there.
...
rename util_url_escape to util_url_unescape, and write a util_escape function
that actually DOES escape things. Fix all the callers of the function to call
the correct one of these two.
svn path=/trunk/icecast/; revision=4414
2003-03-06 14:17:33 +00:00
brendan
45c5bff8bb
BitKeeper go bye-bye
...
Whoops, broke thread include path
svn path=/trunk/net/; revision=4413
2003-03-06 05:56:03 +00:00
brendan
3274bc38d4
Require NO_THREAD to be defined to turn off locking in avl and net
...
According to Karl, defining nops with do{}while(0) is a la mode.
svn path=/trunk/avl/; revision=4412
2003-03-06 02:35:12 +00:00
brendan
cbfe325c2f
Use gnu archive ACX_PTHREAD macro to figure out how to compile thread support.
...
Also make it possible to build libshout without threads, albeit without locking
in the resolver or avl trees.
New option --disable-pthread too.
svn path=/trunk/avl/; revision=4411
2003-03-06 01:55:20 +00:00
brendan
f5059c261e
rwlocks were not getting destroyed when avl nodes or trees were freed.
...
avl.h already includes thread.h
svn path=/trunk/avl/; revision=4410
2003-03-06 00:59:41 +00:00
brendan
ea307d20f7
Remove some namespace pollution
...
svn path=/trunk/thread/; revision=4409
2003-03-05 19:52:10 +00:00
Michael Smith
d13ebde7a3
Allow rereading config files.
...
Lots of new locking happening so that it's safe to have the config file
disappear under the rest of the program
Does NOT affect currently-running sources at the moment
svn path=/trunk/icecast/; revision=4406
2003-03-05 13:03:35 +00:00
Michael Smith
4c08a155c7
Make various thread structures omit the bits only used in debug mode.
...
Some of these are pretty heavily used, so saving 10-20 bytes each can be
quite significant.
No functional differences.
svn path=/trunk/thread/; revision=4401
2003-03-04 15:31:34 +00:00
Michael Smith
fc4f7f2435
doh! This one compiles.
...
svn path=/trunk/icecast/; revision=4398
2003-03-03 13:09:47 +00:00
Michael Smith
823c5e23c0
Fix buffer-queue length handling (was missing from refbuf_queue_add, which it
...
used as well as refbuf_queue_insert).
svn path=/trunk/icecast/; revision=4397
2003-03-03 13:04:34 +00:00
Michael Smith
5252a14068
Fix various minor bugs in per-mountpoint configs.
...
svn path=/trunk/icecast/; revision=4385
2003-03-02 10:36:24 +00:00
Michael Smith
c359faf1de
More features:
...
-- per mountpoint listener maxima
-- static configuration of mountpoint fallbacks
-- stream dumping (write incoming stream to disk)
Fixed some warnings that other people introduced.
svn path=/trunk/icecast/; revision=4383
2003-03-02 10:13:59 +00:00
oddsock
1d84364c5a
win32 doesn't support line buffering with setvbuf() properly, so for win32
...
lets just set it to no-buffering for logs.
svn path=/trunk/log/; revision=4381
2003-02-27 03:02:30 +00:00
oddsock
ce167cc6bb
whoops...stats can't have spaces in them, since XML can't have spaces in the tags
...
also, handle case where a client sends a bad ice-audio-info string (variable but no value)
svn path=/trunk/icecast/; revision=4380
2003-02-27 03:01:12 +00:00
oddsock
1658f1717e
added parsing of new icy-audio-info header which will be used to
...
communicate things like samplerate/quality/number of channels to
icecast2. This info will be then forwarded to the yp servers for
better stream info.
also factored out some logic in source_main into common functions
added a few new routines into util.c (taken from Brendan's
updates to libshout)
svn path=/trunk/icecast/; revision=4379
2003-02-26 23:52:23 +00:00
Michael Smith
680e56bf7b
mp3 metadata relaying now works (lots of bugs fixed)
...
svn path=/trunk/icecast/; revision=4366
2003-02-25 09:40:34 +00:00
Michael Smith
47b1d160ae
Commit fix for segfault in buffer length handling code.
...
svn path=/trunk/icecast/; revision=4365
2003-02-24 14:56:49 +00:00
Michael Smith
5019130d27
Max queue length for clients is now
...
a) based on total bytes in queue, not total number of buffers in queue
b) configurable (defaults to 100 kB)
mp3 metadata relaying (inline). Untested.
svn path=/trunk/icecast/; revision=4364
2003-02-24 13:37:15 +00:00
Michael Smith
8c14c0e0db
Oops. Very broken password checking, fix from Karl Heyes.
...
svn path=/trunk/icecast/; revision=4358
2003-02-20 22:18:24 +00:00
Michael Smith
83b41e2beb
Fix previous changes to source creation - misunderstood requirements for
...
unlocking rwlocks. Move more checks and some other logic into source.c
svn path=/trunk/icecast/; revision=4354
2003-02-17 13:01:37 +00:00
Michael Smith
469ac14e11
Commit some other work so it compiles again (incomplete mp3 metadata relaying)
...
svn path=/trunk/icecast/; revision=4353
2003-02-17 12:05:45 +00:00
Michael Smith
76fc62810e
Fix a serious bug with source creation in relays when local-mount != mount,
...
and fix a series of locking bugs in source creation.
svn path=/trunk/icecast/; revision=4352
2003-02-17 11:56:12 +00:00
Michael Smith
008c8abbc7
Fix mp3 streaming for clients not using metadata
...
svn path=/trunk/icecast/; revision=4348
2003-02-14 13:39:02 +00:00
Michael Smith
5b2a7bc07a
Oops. Pull a header print outside the loop so the Server: header is only
...
output once, not many times.
svn path=/trunk/icecast/; revision=4347
2003-02-14 13:17:38 +00:00
Michael Smith
d15952d784
Fix bad log entries from relaying.
...
svn path=/trunk/icecast/; revision=4346
2003-02-14 11:44:08 +00:00
Michael Smith
68aa51b6e6
Fix formatting of ip addresses so that v6 sockets are logged correctly.
...
svn path=/trunk/net/; revision=4345
2003-02-14 11:14:55 +00:00
Michael Smith
1644a6f718
Fix incorrect use of enum that was leading to crashes on source connect for
...
unknown mimetype.
svn path=/trunk/icecast/; revision=4344
2003-02-14 10:31:21 +00:00
Michael Smith
5d88044bb7
Remove comment added earlier - that version of the function is only there
...
for backwards compatibility, and isn't MEANT to do ipv6. Oops.
svn path=/trunk/net/; revision=4343
2003-02-13 11:51:35 +00:00
Michael Smith
b6c18398cd
Better IPv6 support. Hopefully logging will work correctly now.
...
However, some things still won't work, notably relaying (the relay can be
ipv6, the server being relayed _from_ may not be).
I'll fix that some time soon.
svn path=/trunk/icecast/; revision=4342
2003-02-13 11:29:07 +00:00
Michael Smith
38e3bfb88f
Increase buffer size for IPs so that logging works better for v6 clients.
...
svn path=/trunk/icecast/; revision=4341
2003-02-12 22:50:59 +00:00
Michael Smith
08ad72ffed
Allow configuring local mountpoint seperately from remote mountpoint
...
svn path=/trunk/icecast/; revision=4340
2003-02-12 11:04:26 +00:00
Michael Smith
f3d717e908
Increase ip buffer sizes so that ipv6 has a better chance of working.
...
svn path=/trunk/net/; revision=4339
2003-02-12 10:58:17 +00:00
Michael Smith
9acef4801e
Per mountpoint usernames, passwords, and some infrastructure for other
...
per-mountpoint configuration (some of these are given as examples in
the config file, but they aren't yet used).
svn path=/trunk/icecast/; revision=4338
2003-02-11 14:23:34 +00:00
Michael Smith
9f85a1e7c3
Now that it's been completely officially assigned, use application/ogg instead
...
of application/x-ogg
svn path=/trunk/icecast/; revision=4336
2003-02-11 12:18:22 +00:00
Michael Smith
a3ee7cf61a
Sigh. And another.
...
svn path=/trunk/icecast/; revision=4332
2003-02-07 14:00:33 +00:00
Michael Smith
248a0874a4
Grumble. Silly gcc.
...
svn path=/trunk/icecast/; revision=4331
2003-02-07 13:56:33 +00:00
Michael Smith
98a6f4ef31
Free new config variables on shutdown (forgot to add this before)
...
svn path=/trunk/icecast/; revision=4330
2003-02-07 12:26:07 +00:00
Michael Smith
037789bc1a
Add format detection workaround for icecast 1.x, which is buggy and doesn't
...
send a content-type header.
svn path=/trunk/icecast/; revision=4329
2003-02-07 11:56:40 +00:00
Michael Smith
8600634e68
Fix relaying. Oops.
...
svn path=/trunk/icecast/; revision=4328
2003-02-07 11:46:03 +00:00
Michael Smith
e3bb942ed9
Rearrange some relaying code.
...
Add ability to configure individual relays as well (i.e. single stream, rather
than all the streams from a server).
svn path=/trunk/icecast/; revision=4327
2003-02-07 10:53:38 +00:00
Michael Smith
9e168dc870
Lots of fixes for screwy code formatting, plus:
...
make streams public by default, send ice-private: 1 to make them private.
However, default config file has yp servers commented out.
A little fix for compilation on some solaris systems
Redo some config file stuff: now all the passwords are inside an element
<authentication>, (though for now they're also accepted in the old location),
and added admin username and password. Move some of the admin activities over
to using the admin passwords (admin action that affect a mountpoint use the
source password)
Fill in some (but not yet all, maybe i'll do that later) of the infrastructure
for per-mountpoint passwords.
Fix lots of headers/code so that it works properly/portably on non-win32
systems.
svn path=/trunk/icecast/; revision=4325
2003-02-06 13:10:48 +00:00
oddsock
4865fd10d0
if there is an error on touching, then reset the sid which will force another add
...
svn path=/trunk/icecast/; revision=4320
2003-02-05 02:04:54 +00:00
oddsock
0fba6babb1
style changes
...
svn path=/trunk/icecast/; revision=4316
2003-02-02 16:48:15 +00:00
oddsock
e07080a0d8
added references to geturl.h
...
svn path=/trunk/icecast/; revision=4314
2003-02-02 14:33:47 +00:00
oddsock
289c58f945
many modifications in order to support yp listing..the source structure now has additional fields, which are only used by the yp listing routines
...
svn path=/trunk/icecast/; revision=4313
2003-02-02 14:33:17 +00:00
oddsock
f9e5bf3d07
added reference to log.h, WIN32 needed it otherwise it would fail on finding prototypes
...
svn path=/trunk/icecast/; revision=4312
2003-02-02 14:32:21 +00:00
oddsock
0fb743aa78
added geturl.h reference
...
svn path=/trunk/icecast/; revision=4311
2003-02-02 14:31:34 +00:00
oddsock
556bf3ed35
added initialization routines for curl, and also added the '-b' as a command line param...this will put icecast2 in the background
...
svn path=/trunk/icecast/; revision=4310
2003-02-02 14:26:54 +00:00
oddsock
a3dfee72e0
added function for retrieving specific stat values (for use by yp routines)
...
svn path=/trunk/icecast/; revision=4309
2003-02-02 14:25:53 +00:00
oddsock
6e16b1cca2
new configuration entries for yp listing
...
svn path=/trunk/icecast/; revision=4308
2003-02-02 14:24:58 +00:00
oddsock
dd177a7290
added new files for yp listing, and also added refereneces to them in Makefile.am
...
svn path=/trunk/icecast/; revision=4307
2003-02-02 14:24:13 +00:00
Michael Smith
6f1f4072af
Fix segfault if current source didn't exist on fallback mount request.
...
svn path=/trunk/icecast/; revision=4292
2003-01-23 11:12:54 +00:00
brendan
ac6bd1d2e7
We weren't actually using poll at all, we were just including the header.
...
For portability, remove the header and the check in configure.in
svn path=/trunk/net/; revision=4283
2003-01-21 06:45:43 +00:00
Michael Smith
cefe6b8970
Bah. That'll teach me to trust the manpage... let's try something which might
...
be marginally more portable.
svn path=/trunk/net/; revision=4279
2003-01-19 02:46:06 +00:00
Michael Smith
0b57a33794
Fix for a couple of nasty bugs that could result in clients being incorrectly
...
dropped under some circumstances. Thanks to Ricardo Galli for finding this.
svn path=/trunk/icecast/; revision=4268
2003-01-18 12:30:29 +00:00
Michael Smith
1fb972cf89
And some more message fixes (this and the previous from alet@librelogiciel.com (Jerome Alet)
...
svn path=/trunk/icecast/; revision=4262
2003-01-18 07:39:29 +00:00
Michael Smith
6d4ef5e519
Fix a message that was talking about the wrong path
...
svn path=/trunk/icecast/; revision=4261
2003-01-18 07:38:18 +00:00
Michael Smith
f2d0e26fed
Set TCP_NODELAY on sockets for streams and fileserving.
...
Adapted from a patch sent by Richard Galli
svn path=/trunk/icecast/; revision=4260
2003-01-18 07:08:00 +00:00
Michael Smith
369a4568b6
Small memory leak fixed (patch from Ricardo Galli <gallir@uib.es>)
...
svn path=/trunk/icecast/; revision=4259
2003-01-18 06:54:29 +00:00
Michael Smith
8f1b39e34d
Fix some warnings, fix cflags.
...
svn path=/trunk/httpp/; revision=4258
2003-01-17 09:01:04 +00:00
brendan
4dce25a3e7
I wanted to see this variable
...
svn path=/trunk/icecast/; revision=4254
2003-01-16 08:07:36 +00:00
brendan
d9682b5dec
Indentation again, don't mind me
...
svn path=/trunk/httpp/; revision=4252
2003-01-16 05:48:31 +00:00
brendan
3a0b895baa
Make indentation consistent before doing other work
...
svn path=/trunk/httpp/; revision=4250
2003-01-15 23:46:56 +00:00
Michael Smith
c4d74c54d0
Patch for freebsd to set gcc options for pthreads correctly, from
...
"Nigel Weeks" <nigel@e-easy.com.au>
svn path=/trunk/icecast/; revision=4235
2003-01-13 10:48:43 +00:00
oddsock
37fb98cad7
fixed SEGV when streaming with mp3 with metadata
...
svn path=/trunk/icecast/; revision=4198
2003-01-01 21:21:20 +00:00
Michael Smith
d8e9eb3883
indentation fixes, and a small fix for tracking bytes sent.
...
svn path=/trunk/icecast/; revision=4197
2003-01-01 07:31:46 +00:00
oddsock
ba5e903735
those darn EOL chars
...
svn path=/trunk/icecast/; revision=4196
2002-12-31 20:15:03 +00:00
oddsock
a210e9f58f
win32 compilation fixes
...
svn path=/trunk/icecast/; revision=4195
2002-12-31 20:07:14 +00:00
oddsock
a4d2d6a2b4
fixed mp3 metadata, now tested and working.
...
svn path=/trunk/icecast/; revision=4194
2002-12-31 19:48:28 +00:00
Michael Smith
11a1d83e1a
New year's bonus feature:
...
configurable fallbacks, now working.
svn path=/trunk/icecast/; revision=4192
2002-12-31 07:49:34 +00:00
Michael Smith
ab8c8c6893
mp3 metadata complete. Still untested.
...
svn path=/trunk/httpp/; revision=4191
2002-12-31 06:28:39 +00:00
Michael Smith
5275ab34b9
Better file-serving, rationalisation of some paths
...
svn path=/trunk/icecast/; revision=4181
2002-12-30 15:42:38 +00:00
Michael Smith
3783c61e92
mountpoint fallbacks.
...
untested, and no interface available to configure them.
svn path=/trunk/icecast/; revision=4180
2002-12-30 15:19:46 +00:00
Michael Smith
655a786cfc
Fix some minor errors.
...
svn path=/trunk/icecast/; revision=4179
2002-12-30 11:27:21 +00:00
Michael Smith
29bc4a13b6
More mp3 metadata work.
...
Untested but more or less complete.
No way to actually set the metadata yet.
svn path=/trunk/icecast/; revision=4178
2002-12-30 11:22:59 +00:00
Michael Smith
40444f4178
mp3 metadata work (incomplete)
...
svn path=/trunk/icecast/; revision=4177
2002-12-30 07:55:56 +00:00
Michael Smith
5890aa4f4b
Fix c++-ism that gcc didn't think to warn me about
...
svn path=/trunk/icecast/; revision=4176
2002-12-30 01:59:03 +00:00
Michael Smith
65c0bfbba5
Fix up types after thread type rename earlier.
...
svn path=/trunk/icecast/; revision=4175
2002-12-29 15:46:32 +00:00
Michael Smith
d218eedf9a
Plug several small memory leak, and one huge one in the xslt output code
...
svn path=/trunk/icecast/; revision=4174
2002-12-29 14:06:20 +00:00
Michael Smith
b8a686018f
Rename thread_t to avoid problems on OS X
...
svn path=/trunk/thread/; revision=4170
2002-12-29 09:55:50 +00:00
Michael Smith
2e21e899c9
Minor incompatible change to relaying, to match actual protocol.
...
svn path=/trunk/icecast/; revision=4169
2002-12-29 09:21:32 +00:00
Michael Smith
b8e157d7d1
Add infrastructure for better/more flexible format support. Will be needed
...
for mp3 metadata, for example.
svn path=/trunk/icecast/; revision=4167
2002-12-29 08:10:10 +00:00
Michael Smith
b3bc17fa73
Fix compilation errors on non-windows platforms.
...
svn path=/trunk/net/; revision=4133
2002-12-01 02:11:07 +00:00
Michael Smith
f7ee1580ce
Fix EOLs
...
svn path=/trunk/icecast/; revision=4132
2002-12-01 02:10:25 +00:00
oddsock
4c795ed130
win32 port updates to recent changes
...
svn path=/trunk/icecast/; revision=4117
2002-11-23 15:55:27 +00:00
Michael Smith
7c7fa73422
Fix a compile error.
...
svn path=/trunk/icecast/; revision=4115
2002-11-22 13:13:04 +00:00
Michael Smith
7b4730cbfd
Karl Heyes: patches for better networking code. IPv6 support (complete? Not
...
sure).
svn path=/trunk/net/; revision=4114
2002-11-22 13:02:51 +00:00
Michael Smith
89bf546ad1
Lots of bugfixes contributed by Karl Heyes.
...
svn path=/trunk/icecast/; revision=4111
2002-11-22 13:00:44 +00:00
Michael Smith
a6edc8f631
Allow icelogin to coexist with http login. icelogin is still deprecated,
...
and now a warning is issued.
svn path=/trunk/icecast/; revision=3985
2002-10-10 08:50:58 +00:00
Michael Smith
b620ee918d
Previous bugfix was incorrect, and made the problem worse, since it ensured
...
it would be triggered in certain cases, instead of merely making it dependant
on previous values written to the variable in those cases.
Fixes source disconnect on some (but very few) ogg bitstreams (the vast
majority of my files play fine)
svn path=/trunk/icecast/; revision=3978
2002-10-06 09:57:07 +00:00
Michael Smith
e0054eb3ea
Fix for possible obscure bug leading to source disconnects.
...
svn path=/trunk/icecast/; revision=3975
2002-10-03 14:07:34 +00:00
Michael Smith
68dea2dc71
build updates.
...
svn path=/trunk/icecast/; revision=3945
2002-09-24 08:16:24 +00:00
Michael Smith
9940c969bd
Bugfix: thread_join is often called after a thread has already exited, which it
...
does using thread_exit(). thread_exit() was freeing the thread structure, so
thread_join was using freed memory. Rearrange things so that if the thread
is detached, the freeing happens in thread_join instead.
svn path=/trunk/thread/; revision=3944
2002-09-24 07:09:08 +00:00
Michael Smith
08061569bd
Fix an fserv crash bug if startup failed, and fix an fserv-didn't-actually-
...
work-at-all-in-most-circumstances bug.
svn path=/trunk/icecast/; revision=3883
2002-08-28 13:50:58 +00:00
Michael Smith
b2c59ffdd5
Fix XSLT compiler flags. patch from Thomas Vander Stichele
...
svn path=/trunk/icecast/; revision=3882
2002-08-28 13:00:02 +00:00
Michael Smith
07de3c2dd7
Move fserve_initialize() to later so that chroot() works right.
...
svn path=/trunk/icecast/; revision=3877
2002-08-25 06:12:51 +00:00
Michael Smith
e9b1e40089
Build an extension->mimetype mapping table from /etc/mime.types, use this
...
for sending content-type when file serving.
svn path=/trunk/icecast/; revision=3858
2002-08-18 13:38:51 +00:00
Michael Smith
0ffcdea5e1
Use select() if poll() isn't available in fserve.
...
svn path=/trunk/icecast/; revision=3857
2002-08-18 09:38:45 +00:00
Michael Smith
3c59c90e36
Fileserving that might actually work for > 1 user.
...
cleanups for the base64 decoder.
svn path=/trunk/icecast/; revision=3856
2002-08-18 08:49:25 +00:00
Michael Smith
8ce3dbb957
File serving, from the webroot.
...
svn path=/trunk/icecast/; revision=3852
2002-08-18 05:06:58 +00:00
Michael Smith
2aa432dc0f
Use relay password (fallback to using source password if no relay-password
...
is set)
svn path=/trunk/icecast/; revision=3850
2002-08-17 08:32:15 +00:00
Michael Smith
14b28dd860
Fall back to using the source-password if no master-password is set.
...
svn path=/trunk/icecast/; revision=3849
2002-08-17 06:25:38 +00:00
Michael Smith
d54dccb8ad
Fix a null terminator so that relaying can work again
...
svn path=/trunk/icecast/; revision=3847
2002-08-17 04:48:07 +00:00
Michael Smith
9c2d2b25fa
Minor fix I forgot to commit yesterday for source data length accounting.
...
svn path=/trunk/icecast/; revision=3845
2002-08-17 04:35:23 +00:00
Michael Smith
f8250d8df0
Minor fixes for logging response codes correctly (hopefully)
...
svn path=/trunk/icecast/; revision=3840
2002-08-16 15:28:46 +00:00
Michael Smith
121720a4cc
Fix relaying to work with new auth scheme.
...
svn path=/trunk/icecast/; revision=3838
2002-08-16 14:55:56 +00:00
Michael Smith
913ec3481a
HTTP Basic source login support. The old "ice-password" method is still
...
available, but is deprecated and turned off by default.
svn path=/trunk/icecast/; revision=3837
2002-08-16 14:26:48 +00:00
Michael Smith
def074c801
Liberally sprinkle #ifdef THREAD_DEBUG around so libshout doesn't need to link
...
with it.
svn path=/trunk/thread/; revision=3835
2002-08-16 14:23:17 +00:00
Michael Smith
6f66e1b7f2
bugfixes for httpp_parse_response
...
svn path=/trunk/httpp/; revision=3834
2002-08-16 14:22:44 +00:00
Michael Smith
5a60e7c09d
Cache-checking is case-insensitive on win32.
...
svn path=/trunk/icecast/; revision=3811
2002-08-13 13:53:07 +00:00
Michael Smith
b68b01f02c
Cache stylesheets for transforming.
...
svn path=/trunk/icecast/; revision=3810
2002-08-13 12:46:45 +00:00
Michael Smith
3666660ef6
Timing fixes
...
svn path=/trunk/icecast/; revision=3808
2002-08-13 01:08:15 +00:00
Michael Smith
76ff92cb2f
_handle_connection() cleanup, major restructuring. No feature changes.
...
svn path=/trunk/icecast/; revision=3807
2002-08-12 14:48:31 +00:00
Michael Smith
6e23c0f8fc
Fix a bug in one of the error (404) responses.
...
svn path=/trunk/icecast/; revision=3806
2002-08-12 10:11:44 +00:00
Michael Smith
f349c3bf3e
More path handling cleanups, and memory leak fixes.
...
svn path=/trunk/icecast/; revision=3804
2002-08-11 14:23:39 +00:00
Michael Smith
850cf995bf
URI decoding and path normalisation pass one (stuff needed for fileserving
...
later on)
svn path=/trunk/icecast/; revision=3803
2002-08-11 14:00:56 +00:00
Michael Smith
bf782f0248
Decrement client connections on source termination to avoid eventual "server
...
is full" messages.
svn path=/trunk/icecast/; revision=3801
2002-08-11 12:15:40 +00:00
Michael Smith
84a76ac3ee
status.xsl updates, better now.
...
Automatically create .m3u responses for any existing streams.
If /stream.ogg exists, you can now request /stream.ogg.m3u in your browser.
svn path=/trunk/icecast/; revision=3797
2002-08-10 08:01:56 +00:00
Michael Smith
e97e404904
Better error messages on some corrupt sources.
...
svn path=/trunk/icecast/; revision=3796
2002-08-10 04:51:11 +00:00
Michael Smith
5d06975c44
Various cleanups
...
svn path=/trunk/icecast/; revision=3791
2002-08-10 03:22:44 +00:00
Michael Smith
8bd8dbbe48
Another free->xmlFree change
...
svn path=/trunk/icecast/; revision=3785
2002-08-09 15:04:40 +00:00
Michael Smith
e42c65afa3
fix typo preventing compile
...
svn path=/trunk/icecast/; revision=3784
2002-08-09 15:03:32 +00:00
Michael Smith
c96ec5bab0
set default webroot dir correctly, and fix a minor memleak
...
svn path=/trunk/icecast/; revision=3782
2002-08-09 14:47:53 +00:00
Michael Smith
bf0f2e1414
rename transformXSLT to xslt_transform() for consistency with the rest
...
of the source.
svn path=/trunk/icecast/; revision=3781
2002-08-09 14:38:42 +00:00
Michael Smith
7f0230e8ea
Redo memory-management in config.c so that xmlFree() is called instead of
...
free(), hopefully fixing win32 segfaults.
svn path=/trunk/icecast/; revision=3780
2002-08-09 14:36:12 +00:00
Michael Smith
6357936028
Various cleanups for accounting of sent bytes.
...
Crash bug in stats fixed.
svn path=/trunk/icecast/; revision=3779
2002-08-09 14:15:08 +00:00
Michael Smith
5dd00e7423
Fix crash when socket couldn't be bound.
...
svn path=/trunk/icecast/; revision=3776
2002-08-09 13:14:59 +00:00
Michael Smith
0ecb66895a
Add new xslt files, which I forgot earlier
...
svn path=/trunk/icecast/; revision=3775
2002-08-09 08:16:51 +00:00
Michael Smith
fce9ecb952
Allow setting the log level (for the error log, not the access log) from the
...
config file.
svn path=/trunk/icecast/; revision=3774
2002-08-09 08:11:37 +00:00
Michael Smith
8d75eb0b4a
Logging cleanups, and a config file fix.
...
svn path=/trunk/icecast/; revision=3773
2002-08-09 08:06:00 +00:00
Michael Smith
9b6b2afeaf
oddsock's xslt stats support, slightly cleaned up
...
svn path=/trunk/icecast/; revision=3772
2002-08-09 06:52:07 +00:00
Michael Smith
f1dc57ae2b
Cleaned up version of Ciaran Anscomb's relaying patch.
...
svn path=/trunk/httpp/; revision=3760
2002-08-05 14:48:04 +00:00
Michael Smith
3727b2b32c
Updates for modified logging API.
...
svn path=/trunk/icecast/; revision=3752
2002-08-03 08:16:52 +00:00
Michael Smith
49e028cd02
Lots of patches committable now that my sound card works properly again.
...
logging API changed slightly (I got sick of gcc warnings about deprecated
features).
resampling (for live input, not yet for reencoding) is in there.
several patches from Karl Heyes have been incorporated.
svn path=/trunk/log/; revision=3751
2002-08-03 08:14:56 +00:00
Michael Smith
3e60ee06f6
Config fixes for when parsing fails
...
Don't needlessly call getsockopt() all the time (it's a system call, hence
expensive)
svn path=/trunk/icecast/; revision=3735
2002-07-31 15:00:12 +00:00
Michael Smith
59e523a023
Allow either poll or select to be used (based on whether HAVE_POLL is defined.)
...
Still need to make autoconf define HAVE_POLL where relevent.
svn path=/trunk/icecast/; revision=3717
2002-07-24 14:52:28 +00:00
Michael Smith
b45b6853da
Send the correct mimetype on client request.
...
svn path=/trunk/icecast/; revision=3716
2002-07-24 13:55:12 +00:00
Michael Smith
638ccabd55
MP3 support for icecast2.
...
- no title/metadata support
- requires modifications to source clients.
svn path=/trunk/icecast/; revision=3713
2002-07-23 15:15:11 +00:00
Michael Smith
9cf59b280c
Fix locations of headers.
...
svn path=/trunk/icecast/; revision=3439
2002-06-29 04:29:37 +00:00
Michael Smith
4703f764d7
fix previous fix.
...
svn path=/trunk/icecast/; revision=3391
2002-06-15 04:57:50 +00:00
Michael Smith
903abeb2a5
fixed crash in shutdown if startup didn't happen properly.
...
svn path=/trunk/icecast/; revision=3390
2002-06-15 04:54:43 +00:00
Michael Smith
8a4ae84dce
Fix for evil format string vulnerability - people, don't DO THIS!
...
Fix from Emil Styrke <emil@lysator.liu.se>
svn path=/trunk/icecast/; revision=3341
2002-06-03 09:12:50 +00:00
Michael Smith
92bb45ddc7
missing newlines. oops.
...
svn path=/trunk/icecast/; revision=3319
2002-05-21 05:22:32 +00:00
Michael Smith
fd2ee075f6
Fix segfault from called log functions before log was initialised.
...
svn path=/trunk/icecast/; revision=3316
2002-05-21 00:35:33 +00:00
Michael Smith
9414de162b
Fix potential problem which would occur if <changeuser> was set, but had
...
no <user> or no <group> element within it.
svn path=/trunk/icecast/; revision=3315
2002-05-21 00:05:31 +00:00
Michael Smith
86c78a6be9
chroot and setuid interacted badly in the previous version. Fixed now.
...
svn path=/trunk/icecast/; revision=3311
2002-05-20 13:25:31 +00:00
Michael Smith
4d884d832f
Ian Kumlien's security (chroot() and setuid() patch), with some modifications.
...
svn path=/trunk/icecast/; revision=3302
2002-05-14 11:06:54 +00:00
Michael Smith
669cfbd02f
I am an idiot.
...
svn path=/trunk/icecast/; revision=3292
2002-05-08 14:07:42 +00:00
Michael Smith
2ff217cb18
Minor fix to previous fix - use the right variable!
...
svn path=/trunk/icecast/; revision=3291
2002-05-08 14:02:02 +00:00
Michael Smith
2225738aba
Ensure we don't throw away a buffer after only sending part of it.
...
svn path=/trunk/icecast/; revision=3290
2002-05-08 05:18:43 +00:00
Michael Smith
59b605ec12
Memory leaks. Lots of little ones.
...
svn path=/trunk/httpp/; revision=3275
2002-05-03 15:04:56 +00:00
Michael Smith
0dbd488c17
Don't use start after freeing it in thread startup code.
...
svn path=/trunk/thread/; revision=3264
2002-04-30 06:50:47 +00:00
Jack Moffitt
338f6a0a31
Oddsock finally found the win32 crash bug. _event_listeners wasn't being
...
initialized (the first time it was NULL). After the server is restarted
it retained a pointer to freed memory. We should have been initializing
this anyway.
svn path=/trunk/icecast/; revision=3220
2002-04-05 16:33:35 +00:00
Michael Smith
ea47fdf504
Buffer overflows.
...
Requires a change to the format plugin interface - jack: if you want this
done differently, feel free to change it (or ask me to).
svn path=/trunk/httpp/; revision=3219
2002-04-05 09:28:26 +00:00
Jack Moffitt
235a2639cc
Ouch. Serious bug found by Ricardo Galli.
...
When the cond var is signalled it will wake up a thread. If all the
connection handler threads are handling connections, the signal will be
ignored and clients will 'pend' until another client causes the to signal
again.
We have to check to see if there are more pending connections before waiting
on the signal again.
svn path=/trunk/icecast/; revision=3178
2002-03-22 22:41:16 +00:00
Jack Moffitt
785cfefe3e
Ricardo Galli found this too. We weren't setting no linger and keepalive
...
as we used to in icecast1. They make things work a bit better.
svn path=/trunk/net/; revision=3177
2002-03-22 21:44:29 +00:00
Jack Moffitt
7bccdbd4f0
Fix comments (and remove old commented out code) from sock_write_bytes.
...
svn path=/trunk/net/; revision=3176
2002-03-22 21:24:57 +00:00
Jack Moffitt
d8559723fb
We were triggering error logic when no errors had occurred. Thanks
...
to Ricardo Galli for finding this bug.
svn path=/trunk/icecast/; revision=3175
2002-03-22 21:18:03 +00:00
Jack Moffitt
06fb100e10
Add error == 0 to recoverable error numbers. Patch from Ricardo Galli.
...
Minor style fixes.
svn path=/trunk/net/; revision=3174
2002-03-22 21:09:36 +00:00
Jack Moffitt
39635122a5
win32 patches from Ed
...
svn path=/trunk/icecast/; revision=3123
2002-03-05 23:59:38 +00:00
Michael Smith
cb9de1ee2a
Comment audio/mpeg out until it gets implemented, to avoid segfaults.
...
svn path=/trunk/icecast/; revision=3076
2002-02-19 22:01:51 +00:00
Jack Moffitt
3807800d82
Fix race condition on thread shutdown.
...
svn path=/trunk/icecast/; revision=3045
2002-02-14 00:41:57 +00:00
Jack Moffitt
12cbc0a29d
Shut down the stats_connection and stats_callback threads cleanly when
...
stats_shutdown() is called.
svn path=/trunk/icecast/; revision=3044
2002-02-14 00:28:41 +00:00
Michael Smith
cb398ff41c
Bunch of fixes:
...
- connections are now matched to format plugins based on content-type headers,
and are rejected if there isn't a format handler for that content-type, or
there is no content-type at all.
- format_vorbis now handles pages with granulepos of -1 in the headers
correctly (this happens if the headers are fairly large, because of
many comments, for example).
- various #include fixes.
- buffer overflow in httpp.c fixed.
svn path=/trunk/avl/; revision=3042
2002-02-11 09:11:18 +00:00
Jack Moffitt
4cc0705134
Minor cleanup of 'static' functions.
...
Fixed usage bug where usage wasn't getting displayed properly.
svn path=/trunk/icecast/; revision=3034
2002-02-08 03:59:17 +00:00
Jack Moffitt
7927f1d31f
More win32 fixes.
...
svn path=/trunk/icecast/; revision=3033
2002-02-08 03:51:19 +00:00
Jack Moffitt
4327a10e45
minor build fixes for win32 courtesy of Oddsock
...
svn path=/trunk/icecast/; revision=3029
2002-02-07 01:04:09 +00:00
Jack Moffitt
ab0f4cdda8
Factor out common code in stats.c.
...
svn path=/trunk/icecast/; revision=3027
2002-02-06 07:52:09 +00:00
Jack Moffitt
4144bb05fb
A very slightly modified version of oddsocks function to support gui
...
stats updates. Basically stats_connection() was copied to
stats_callback() (i should probably factor out some of the code here!)
with the change that instead of sending stats to a socket, it sends the
event to a callback function.
svn path=/trunk/icecast/; revision=3026
2002-02-06 06:11:03 +00:00
Jack Moffitt
c7aa89cf26
Two things:
...
1) vorbis tags (ARTIST and TITLE) now appear in the stats. Oddsock did
the first cut of this.
2) stats bug fixed. if a stats value was NULL a segfault occurred.
strdup(NULL) is fun!
svn path=/trunk/icecast/; revision=3024
2002-02-04 07:08:52 +00:00
Michael Smith
0512d524e4
Allow logging to go to stderr instead of to a file, if the user so chooses
...
(example configs turn this off, to leave behaviour as it was).
svn path=/trunk/log/; revision=3008
2002-01-29 09:20:28 +00:00
Jack Moffitt
34c6203669
Add a source-timeout config option and implement it. This prevents lame
...
sources from sticking around way too long. Default is 10 seconds.
svn path=/trunk/icecast/; revision=2968
2002-01-21 04:28:30 +00:00
Jack Moffitt
4d079ba4cc
Make it log to a file when the source gets disconnected
...
svn path=/trunk/icecast/; revision=2967
2002-01-21 03:56:16 +00:00
Jack Moffitt
b7a114a191
Fix a stupid but that Oddsock and Ciaran both found. When sources log in
...
we weren't checking to see if the mountpoint was already taken. Since
the mountpoint was the key in the avl tree, bad things happened.
svn path=/trunk/icecast/; revision=2966
2002-01-21 03:10:37 +00:00
Jack Moffitt
6c0132596f
Thanks to Ciaran for realizing that we werne't freeing the format plugins
...
memory on source exits. This caused a small but noticable memory leak.
The fix was to add a new method to the format_plugin object -
free_plugin() - and have the source thread call this on shutdown.
svn path=/trunk/icecast/; revision=2946
2002-01-05 00:29:27 +00:00
Jack Moffitt
cbbdb5fc49
Ciaran found this bug. We only ever set tv_usec, but for bitrates around
...
32 and lower, this will set tv_usec to > 1 second, which wrong. So we
do it the right way, and put seconds in tv_sec.
svn path=/trunk/timing/; revision=2507
2001-12-09 08:31:20 +00:00
Michael Smith
d22bb9a528
Major stability fixes, to make things work better on bad input. Stops some
...
memory leaks too, I think.
svn path=/trunk/log/; revision=2326
2001-11-10 04:47:25 +00:00