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

214 Commits

Author SHA1 Message Date
brendan
9f7156859d 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
8dbdefbc10 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
1067a6e76b 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
35dedf9ac4 Remove some namespace pollution
svn path=/trunk/thread/; revision=4409
2003-03-05 19:52:10 +00:00
Michael Smith
eb9a7d367f 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
oddsock
72ad409e7a 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
Michael Smith
de873ff693 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
66757da884 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
38ab54d207 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/net/; revision=4342
2003-02-13 11:29:07 +00:00
Michael Smith
ca71d4dea7 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
c32404d742 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/net/; revision=4325
2003-02-06 13:10:48 +00:00
brendan
251640060b 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
6780ececbc 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
6bc46604b9 Set TCP_NODELAY on sockets for streams and fileserving.
Adapted from a patch sent by Richard Galli

svn path=/trunk/net/; revision=4260
2003-01-18 07:08:00 +00:00
Michael Smith
38a1834bd6 Fix some warnings, fix cflags.
svn path=/trunk/httpp/; revision=4258
2003-01-17 09:01:04 +00:00
brendan
1a0cbc33a3 Indentation again, don't mind me
svn path=/trunk/httpp/; revision=4252
2003-01-16 05:48:31 +00:00
brendan
15836f4cb1 Make indentation consistent before doing other work
svn path=/trunk/httpp/; revision=4250
2003-01-15 23:46:56 +00:00
Michael Smith
7d17253c50 mp3 metadata complete. Still untested.
svn path=/trunk/httpp/; revision=4191
2002-12-31 06:28:39 +00:00
Michael Smith
9c11962154 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
524480687e Fix compilation errors on non-windows platforms.
svn path=/trunk/net/; revision=4133
2002-12-01 02:11:07 +00:00
oddsock
dd6dba9d4e win32 port updates to recent changes
svn path=/trunk/net/; revision=4117
2002-11-23 15:55:27 +00:00
Michael Smith
614bf95a68 Fix a compile error.
svn path=/trunk/net/; revision=4115
2002-11-22 13:13:04 +00:00
Michael Smith
29cf9fe727 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
4453518a8e Lots of bugfixes contributed by Karl Heyes.
svn path=/trunk/thread/; revision=4111
2002-11-22 13:00:44 +00:00
Michael Smith
fc3bc41c22 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
0dcf81c72c 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
cf0e4947ca bugfixes for httpp_parse_response
svn path=/trunk/httpp/; revision=3834
2002-08-16 14:22:44 +00:00
Michael Smith
815158a582 Timing fixes
svn path=/trunk/thread/; revision=3808
2002-08-13 01:08:15 +00:00
Michael Smith
30577a1391 Various cleanups
svn path=/trunk/log/; revision=3791
2002-08-10 03:22:44 +00:00
Michael Smith
379cb518d5 oddsock's xslt stats support, slightly cleaned up
svn path=/trunk/thread/; revision=3772
2002-08-09 06:52:07 +00:00
Michael Smith
68db62a86f 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
78c08c5f10 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
a2d5cbd219 Config fixes for when parsing fails
Don't needlessly call getsockopt() all the time (it's a system call, hence
expensive)

svn path=/trunk/net/; revision=3735
2002-07-31 15:00:12 +00:00
Michael Smith
e1ae0d0ea2 Memory leaks. Lots of little ones.
svn path=/trunk/httpp/; revision=3275
2002-05-03 15:04:56 +00:00
Michael Smith
3379751e19 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
Michael Smith
d4d6716a52 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
366d560cde 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
c8b2e41e67 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
45c5df41f9 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
08be376dd4 win32 patches from Ed
svn path=/trunk/thread/; revision=3123
2002-03-05 23:59:38 +00:00
Michael Smith
508795aa8b 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
2566c7f75b More win32 fixes.
svn path=/trunk/thread/; revision=3033
2002-02-08 03:51:19 +00:00
Jack Moffitt
c334915e67 minor build fixes for win32 courtesy of Oddsock
svn path=/trunk/net/; revision=3029
2002-02-07 01:04:09 +00:00
Michael Smith
1e98ffc080 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
468052eec8 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
f16bd5b8ad 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
0f3efddf60 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
951996a8c5 Fix header definition.
svn path=/trunk/thread/; revision=2219
2001-10-20 22:40:28 +00:00
Jack Moffitt
5a4f095bcd 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
5ef3b00332 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/timing/; revision=2206
2001-10-20 21:28:09 +00:00