1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-12-04 14:46:30 -05:00
Commit Graph

257 Commits

Author SHA1 Message Date
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
Jack Moffitt
3eac17e81e Fix for x86 Solaris.
svn path=/trunk/m4/; revision=2275
2001-10-29 16:02:13 +00:00
Jack Moffitt
67bca910f2 Another fix. -mv8 is a Sparc-only option, and gcc will barf if you use it
on x86.

svn path=/trunk/icecast/; revision=2273
2001-10-29 15:53:28 +00:00
Jack Moffitt
7e1f046d0b One more try at this.
svn path=/trunk/icecast/; revision=2271
2001-10-29 15:32:39 +00:00
Jack Moffitt
bb4ea2070f Does this fix x86 Solaris?
svn path=/trunk/icecast/; revision=2269
2001-10-29 15:02:54 +00:00
Jack Moffitt
0b7adda391 Fix SUN_LIBS to apply to x86 Solaris boxen. Who knew someone
actually used x86 Solaris :)

svn path=/trunk/icecast/; revision=2266
2001-10-29 14:55:08 +00:00
Jack Moffitt
c15a877085 Fix broken CFLAGS handling.
svn path=/trunk/icecast/; revision=2238
2001-10-21 16:13:02 +00:00
Jack Moffitt
c9fa9cd040 Fix lib handling.
svn path=/trunk/icecast/; revision=2235
2001-10-21 15:25:45 +00:00
Jack Moffitt
6b116e8b96 AC_CHECK_FUNC is stupid. It needs the LIBS set already, and you can't pass
in a set of libs to use.  So we save/restore for the call.

svn path=/trunk/icecast/; revision=2233
2001-10-21 15:12:23 +00:00
Jack Moffitt
71da57a472 Update AM_PATH_SHOUT macro.
svn path=/trunk/m4/; revision=2231
2001-10-21 14:34:14 +00:00
Jack Moffitt
9cef32cac2 A few configure.in fixes.
* -D_REENTRANT probably needed on all platforms.  Let's not limit it to
  Linux and Solaris.

* AM_PATH_OGG|VORBIS had a slight bug.  We shouldn't update the LIBS until
  after we've detected anything.  Thanks to Michael Pruett <michael@68k.org>
  for finding this.

svn path=/trunk/icecast/; revision=2229
2001-10-21 14:19:39 +00:00
Michael Smith
17e1289a89 configure.in: solaris requires -D_REENTRANT. What about other platforms?
source.c: fix bug in handling non-fatal errors like EAGAIN

svn path=/trunk/icecast/; revision=2225
2001-10-21 10:07:51 +00:00
Jack Moffitt
c98a76ebbd Revert stacksize stuff and changes for the thread module.
svn path=/trunk/icecast/; revision=2223
2001-10-21 02:06:08 +00:00
Jack Moffitt
1902634e50 Revert the stacksize work. It's stupid.
The original patch from Ben Laurie some years ago was needed because
FreeBSD's default stack size was < 8k and this wasn't acceptable.
Both Linux and Solaris had reasonable defaults for stacksize, or grew the
stack as needed to a reasonable size.

Testing today and consulting documentation shows that the default stack
sizes on FreeBSD, Linux, and Solaris are all acceptable.  Linux can grow
to 2MB, 32bit Solaris defaults to 1MB, 64bit Solaris defaults to 2MB, and
FreeBSD defaults to 64k.

In my opinion FreeBSD needs to get with the program and provide a
reasonable default.  64k is enough for us, but might not be for others.

svn path=/trunk/thread/; revision=2222
2001-10-21 02:04:27 +00:00
Jack Moffitt
42e869cd45 Fix icecast for changes in thread module regarding stacksize. For icecast,
the default stacksize is unchanged (8k) until further testing on Solaris
to determine if a larger value is needed.

svn path=/trunk/icecast/; revision=2221
2001-10-20 22:48:29 +00:00
Jack Moffitt
cdf8edb30c Fix header definition.
svn path=/trunk/thread/; revision=2219
2001-10-20 22:40:28 +00:00
Jack Moffitt
62384d6730 Stack size per thread needs to be configurable. Setting it on a global
bases is not enough.  ices and icecast need this to be different, and
if one is interested in tuning memory usage, one will want to alter this
per thread.

svn path=/trunk/thread/; revision=2217
2001-10-20 22:27:52 +00:00
Jack Moffitt
e88030527c Update shout.m4 to fix test for Solaris. This change has already been
propagated to ices.

svn path=/trunk/m4/; revision=2216
2001-10-20 22:10:10 +00:00
Jack Moffitt
2223ecb8c5 Forgot to add new compat.h to Makefile.am. Fixed.
svn path=/trunk/icecast/; revision=2207
2001-10-20 21:29:16 +00:00
Jack Moffitt
42688a8366 Add check for stdint.h, since Solaris doesn't have it. This is needed
on Linux for uint64_t, but Solaris defines this in sys/types.h.  Use check
where appropriate, and also add typedefs for Win32.

svn path=/trunk/icecast/; revision=2206
2001-10-20 21:28:09 +00:00
Jack Moffitt
9e6fddca93 Minor cleanup.
svn path=/trunk/log/; revision=2200
2001-10-20 16:47:01 +00:00
Jack Moffitt
b2f2356c9c Updated the TODO file.
svn path=/trunk/icecast/; revision=2198
2001-10-20 07:59:01 +00:00
Jack Moffitt
3553fce604 Thanks to Akos Maroy <darkeye@tyrell.hu> for this. These variables need to
be uppercase always in order to comply with the HTTP specification.
While not a problem internal to icecast, they were slipping into the log
files and breaking some less-than-robust parsers.

svn path=/trunk/httpp/; revision=2197
2001-10-20 07:40:09 +00:00
Jack Moffitt
632c1e57fb It's too bad we don't have a commit script that smacks me upside the head
when I do stupid things like this.

svn path=/trunk/icecast/; revision=2196
2001-10-20 06:51:29 +00:00
Jack Moffitt
8f6c02365d Win32 fixes. Look how portable this was ;) Just header stuff and some defines.
Whee!

svn path=/trunk/icecast/; revision=2195
2001-10-20 06:43:04 +00:00
Jack Moffitt
71539aa447 Win32 updates. Mostly header fixes and defines for windows. Apparently
interface is a reserved word, so we've renamed one variable.  There's
also no sethostent on win32, and Oddsock seems to think we need
DeleteCriticalSection instead of DestroyCriticalSection.  I was unable
to figure out from msdn.microsoft.com why this was, but I'll trust
Oddsock's judgement.

svn path=/trunk/net/; revision=2194
2001-10-20 05:57:28 +00:00
Jack Moffitt
5d78cb3bd6 Win32 fixes. Specifically a header change and not using the gcc extensions
for vararg macros.  It's not as pretty, but it works.

svn path=/trunk/thread/; revision=2193
2001-10-20 05:35:30 +00:00
Jack Moffitt
f69b99f1c8 Microsoft has '_' in front of random functions. We typedef this away.
svn path=/trunk/log/; revision=2192
2001-10-20 05:13:12 +00:00
Jack Moffitt
64942a4113 select first argument should be 0 when we use it for sleeping.
svn path=/trunk/timing/; revision=2191
2001-10-20 05:05:19 +00:00
Jack Moffitt
5a4f55d74c Change long long to the more standard uint64_t. This will need to be
typedefed for some platforms.

svn path=/trunk/timing/; revision=2190
2001-10-20 05:03:24 +00:00
Jack Moffitt
5c1e963203 Win32 compatibility courtesy of Oddsock.
svn path=/trunk/httpp/; revision=2188
2001-10-20 04:41:54 +00:00
Jack Moffitt
1656225439 Oddsock found this bug when working with icecast2 on freebsd. Nanoseconds
were off by a few orders of magnitude.

svn path=/trunk/thread/; revision=2187
2001-10-20 03:39:10 +00:00
Michael Smith
9d87eecd0f Open logs in line-buffered mode, so that logging is actually useful.
svn path=/trunk/log/; revision=2075
2001-09-23 10:07:06 +00:00
Jack Moffitt
0bf3470744 Add HACKING file for instructions for building from CVS.
svn path=/trunk/icecast/; revision=2012
2001-09-10 03:26:04 +00:00
Jack Moffitt
6c296ff020 .cvsignore is fun!
svn path=/trunk/avl/; revision=2006
2001-09-10 03:04:11 +00:00