Karl Heyes
7b6b874b02
type cleanups. Use C99 defines if available and a missed sock_t on win32. This
...
resolves some warnings on win32 and x86_64
svn path=/icecast/trunk/icecast/; revision=14223
2007-11-23 16:27:10 +00:00
Karl Heyes
f9c3fc91a7
updates to range header handling. closes #1246 , #810
...
svn path=/icecast/trunk/icecast/; revision=14006
2007-10-17 23:49:14 +00:00
Karl Heyes
5f8cfd70f7
const updates, no functional changes
...
svn path=/icecast/trunk/icecast/; revision=13559
2007-08-16 22:49:13 +00:00
Karl Heyes
f1c6cf9d4e
Allow rereading of the mime types file on xml reload. Also allow for specifying
...
an alternative filename in the xml.
svn path=/icecast/trunk/icecast/; revision=13541
2007-08-13 21:33:27 +00:00
Karl Heyes
e06793a7ad
handle .xspf requests. Like m3u, send a webroot file if it exists else generate
...
one. The generated one comes from an xslt in adminroot. Just need some icons
svn path=/icecast/trunk/icecast/; revision=13539
2007-08-11 18:26:44 +00:00
Michael Smith
a1d9503d8e
Fix use-after-free in error case in fserve, as noted by Jerome Alet
...
svn path=/icecast/trunk/icecast/; revision=11412
2006-05-18 22:06:32 +00:00
Michael Smith
c4dfb3f2fd
Don't leak file pointers (and hence file descriptors) if we can't parse a range
...
request.
svn path=/icecast/trunk/icecast/; revision=10977
2006-03-07 19:28:41 +00:00
Michael Smith
37a6bb18d6
Patch from gtgbr@gmx.net to fix (void) function prototypes, with some minor
...
changes.
svn path=/icecast/trunk/icecast/; revision=10615
2005-12-17 12:23:09 +00:00
Karl Heyes
64d2fc1faa
if the m3u link is placed in winamp/fb2k, then the host header misses the
...
port number, so I'll add a check that ignores the host header if it's
missing a port and generates the m3u host:port from the xml.
svn path=/icecast/trunk/icecast/; revision=10005
2005-09-08 13:43:33 +00:00
Karl Heyes
dde143d4b1
make various responses going back to the client be done via the file serving thread
...
svn path=/icecast/trunk/icecast/; revision=9740
2005-08-12 15:27:32 +00:00
Karl Heyes
d7f1285ba2
drop the thread pool of connection threads, they were using a blocking socket
...
on incoming connections. Now we get the accept thread to create a client_t
and mark it as a shoutcast client if need be. Then use a single connection
thread to poll the non-blocking sockets for the headers. When complete they
get handled as usual.
svn path=/icecast/trunk/icecast/; revision=9733
2005-08-11 23:29:58 +00:00
Karl Heyes
c7e04b2852
allow for webroot requests to be sent via an authenticator
...
svn path=/icecast/trunk/icecast/; revision=9717
2005-08-08 18:39:34 +00:00
Karl Heyes
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
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
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
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
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
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
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
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
c7432d6602
minor cleanups
...
svn path=/icecast/trunk/icecast/; revision=8236
2004-11-20 02:16:59 +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
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
Karl Heyes
89bffcd104
add fallback mime type for css
...
svn path=/icecast/trunk/icecast/; revision=8154
2004-11-01 23:41:58 +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
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
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
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
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
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
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
508d25641d
avoid header namespace clashes
...
svn path=/trunk/icecast/; revision=5146
2003-07-16 19:41:59 +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
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
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
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
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
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
89bf546ad1
Lots of bugfixes contributed by Karl Heyes.
...
svn path=/trunk/icecast/; revision=4111
2002-11-22 13:00:44 +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
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