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

282 Commits

Author SHA1 Message Date
Philipp Schafft
bac982d2c8 Fix: fixed missing includes of standard headers.
This fixes missing includes of standard headers.
This seems to happened as a result of cleaning up the protocol code.
2015-11-20 19:37:55 +00:00
Philipp Schafft
31c0511a7f Cleanup: remove unused var 2015-11-04 14:24:12 +00:00
Philipp Schafft
411e159df0 Cleanup: removed yet another debug line 2015-02-10 21:26:14 +00:00
Philipp Schafft
f5d9d955a2 Cleanup: removed all the debug stuff left over from last commit 2015-02-10 21:15:14 +00:00
Philipp Schafft
ea8dde3202 Fix: fixed a lot smaller and bigger bugs in chunked transfer encoding
This fixes a lot bugs.
debug fprintf()s are included intentionally and will be removed
by the next commit.
2015-02-10 21:13:15 +00:00
Philipp Schafft
58cccf307e Feature: Added mico-library for Transfer Encodings.
This adds a micro library for handling HTTP Transfer encodings.
This is mostly to implement PUT with chunked support in Icecast2.
2015-02-10 18:47:40 +00:00
Philipp Schafft
ae2a956d88 Feature: Added support for HTTP Methods: OPTIONS, DELETE, TRACE, CONNECT
This added support for the standard HTTP/1.1 methods:
 * OPTIONS
  - Query the server to tell what features are supported.
 * DELETE
  - Delete a resource on a server. In Icecast2 context this is
    about what is known as 'kick source'.
 * TRACE
  - Asks the server to return the request to the client as body.
    The client is to send a body-less request and the server
    will return with a 200 OK and the body to to be the exact
    bitstream it got from the client (or any (reverse) proxy).
    The Content-Type is to be set to 'message/http'.
 * CONNECT
  - Client asks the server to proxy the request to the given resource.
    This hardly seems to make sense for Icecast2 but may be used by
    some clients such as libshout. Therefor I added it as well
    so we have at least an ID assigned to it.

Please note that this is a ABI breaker and you will need to recompile
your projects (use 'make clean all').

See: RFC2616
2015-02-10 08:42:59 +00:00
Thomas B. Ruecker
cf289788a3 Fix regression caused by penultimate commit
see 536582171d
2014-12-29 15:51:19 +00:00
Erik van Pienbroek
4ccfc5d998 Use WSA error codes when available
Signed-off-by: Thomas B. Ruecker <thomas@ruecker.fi>
2014-12-27 12:13:11 +00:00
Philipp Schafft
536582171d Prevent various redefined definitions in win32-specific code
From: Erik van Pienbroek <epienbro@fedoraproject.org>
Date: Mon, 22 Dec 2014 18:02:09 +0100
2014-12-24 11:40:30 +00:00
Thomas B. Ruecker
8685e6ed5a Explicitly license httpp log net thread and timing
This change was ACKd by all authors and explicitly states the license
to be LGPLv2 in all files to match COPYING. This removes ambiguity
when using these files e.g. as part of libshout.

For a list of authors, pease refer to the copyright headers of each
file.
2014-12-05 09:31:08 +00:00
Marvin Scholz
0e41ed2372 Add .gitignore 2014-12-02 22:44:33 +01:00
Philipp Schafft
7572febbd8 expose converting of method names to enum values as httpp_str_to_method()
svn path=/icecast/trunk/httpp/; revision=19348
2014-11-22 04:44:47 +00:00
Philipp Schafft
c5f549f1aa Changed ABI a bit: updated httpp_request_type_e-type. To avoid any problems do a complet rebuild of your projects. Thank you.
svn path=/icecast/trunk/httpp/; revision=19347
2014-11-22 04:06:26 +00:00
Philipp Schafft
f476beb632 fixing some compiler warnings
svn path=/icecast/trunk/net/; revision=19282
2014-11-07 23:14:29 +00:00
Philipp Schafft
b5fca17bfb fixing some compiler warnings
svn path=/icecast/trunk/httpp/; revision=19281
2014-11-07 23:14:00 +00:00
Philipp Schafft
e9496a4e9c corrected logic checking argument. Thanks to David Binderman for reporting
svn path=/icecast/trunk/log/; revision=18961
2013-07-04 12:31:17 +00:00
Philipp Schafft
ad1543557e allow space in format string for %H to allow spaces in output
svn path=/icecast/trunk/log/; revision=18900
2013-04-02 12:17:43 +00:00
Philipp Schafft
9f9164c4b9 Replaced usage of sprintf() with snprintf(). Also exported size of key printer's buffer in avl/.
svn path=/icecast/trunk/avl/; revision=18771
2013-01-16 12:02:14 +00:00
Philipp Schafft
6a815a52d4 Escape log entries in access log (close: #1916)
svn path=/icecast/trunk/log/; revision=18756
2013-01-02 14:44:43 +00:00
Philipp Schafft
40e087090e Corrected check for the value of priority to be within valid range.
svn path=/icecast/trunk/log/; revision=18485
2012-07-31 23:09:42 +00:00
Philipp Schafft
5983b0f6ba commited support for HTTP PUT, See #1812
svn path=/icecast/trunk/httpp/; revision=18452
2012-07-16 16:05:21 +00:00
Philipp Schafft
4e4bb16f71 support field width with (most common) %Ns and %NH syntax.
svn path=/icecast/trunk/log/; revision=18363
2012-06-07 18:27:58 +00:00
Philipp Schafft
56d4ef3557 honor field width in %s and %H
svn path=/icecast/trunk/log/; revision=18362
2012-06-07 18:13:28 +00:00
Philipp Schafft
ae29f1dca9 consider backticks as well as backslashes invalid chars
svn path=/icecast/trunk/log/; revision=18361
2012-06-07 18:09:48 +00:00
Thomas B. "dm8tbr" Ruecker
51271b13e7 This is part of the patch-set addressing CVE-2011-4612.
svn path=/icecast/trunk/log/; revision=18356
2012-06-07 15:57:59 +00:00
Karl Heyes
8e7def3ad4 minor cleanups.
svn path=/icecast/trunk/httpp/; revision=16213
2009-07-07 16:37:31 +00:00
Karl Heyes
6ddf620a21 bug+fix reported on icecast-dev (Petr Pisar, 06/07/2009). poll implementation
of sock_connected had incorrect return in failure case.

svn path=/icecast/trunk/net/; revision=16209
2009-07-06 14:28:16 +00:00
Karl Heyes
65eb342fd8 non-blocking setting on win32 broke with previous patch. Add optional xml setting for
specifying the TCP send buffer size, it seems that on at least some win32 systems,
the window size stays at 8k (even with registry settings) which could limit available
streaming bandwidth.

svn path=/icecast/trunk/net/; revision=15766
2009-03-14 16:05:12 +00:00
Karl Heyes
3937e807fe Add handlers for spinlocks if available, map to mutexes when not.
svn path=/icecast/trunk/thread/; revision=15614
2009-01-09 03:18:03 +00:00
Karl Heyes
a80483333d avoid SOCK_NONBLOCK name clash with recent glibc. Add support for optional
bind parameter to connect_wto call. Some small compiler cleanups.

svn path=/icecast/trunk/net/; revision=15611
2009-01-08 02:47:44 +00:00
Karl Heyes
8acf94cdb5 log: When keeping around log lines, only allocate what we actually use. Allow
compiler printf arg checking.
timing: win32 fix, don't use timeGetTime, fixes access log timestamp

svn path=/icecast/trunk/log/; revision=15610
2009-01-08 02:18:11 +00:00
Karl Heyes
441c2c0988 Don't include a per node lock unless it is really wanted. I don't think anyone
is using them currently, so lets reduce the structure size.  On win32, this
extra lock increases the handles usage considerably.

svn path=/icecast/trunk/avl/; revision=15120
2008-07-19 01:30:16 +00:00
Karl Heyes
ce28de7894 build fix for older setups with IPv6
svn path=/icecast/trunk/net/; revision=14545
2008-02-28 02:16:23 +00:00
Karl Heyes
81ca1569fa Use poll if available, select can cause stack corruption if descriptor value is over 1024
svn path=/icecast/trunk/net/; revision=14457
2008-02-05 04:21:12 +00:00
Karl Heyes
e5be87d818 fix possible junk chars passed back and don't call strftime each log line, under
glibc this calls for a stat of /etc/localtime each time

svn path=/icecast/trunk/log/; revision=14429
2008-01-24 03:28:11 +00:00
Karl Heyes
5c1bdc9705 drop const usage and work around a FBSD issue with listening sockets
svn path=/icecast/trunk/net/; revision=14319
2007-12-20 16:49:02 +00:00
Karl Heyes
28fa4f56b5 reduce wasted memory on 64bit systems, 32bit has no change
svn path=/icecast/trunk/avl/; revision=14308
2007-12-15 17:51:33 +00:00
Karl Heyes
4d379b74b1 clean up prototypes and sock_t handling, for win32 mainly, no functional change
svn path=/icecast/trunk/net/; revision=14041
2007-10-24 21:42:01 +00:00
Karl Heyes
daa8d10380 add guards for NULL dereference
svn path=/icecast/trunk/avl/; revision=13799
2007-09-14 03:09:32 +00:00
Karl Heyes
0bbed6c78d added function to check whether the socket is still alive
svn path=/icecast/trunk/net/; revision=13582
2007-08-21 22:17:13 +00:00
Karl Heyes
98546247b1 const updates, again no functional change
svn path=/icecast/trunk/httpp/; revision=13560
2007-08-16 22:52:24 +00:00
Karl Heyes
ef2a81e8ed minor build update
svn path=/icecast/trunk/net/; revision=13501
2007-08-09 23:51:26 +00:00
Karl Heyes
5c2887a2a1 update to server side socket creation. Where IPv6-aware functions are available,
use them to create dual IPv4/6 capable sockets.


svn path=/icecast/trunk/net/; revision=13491
2007-08-09 03:19:24 +00:00
moritz
14afbc0312 Only define [u]int64_t on Windows if they haven't been defined already (e.g. in
os.h from libshout or stdint.h in case they ever show up there.)

ok msmith

svn path=/icecast/trunk/timing/; revision=12663
2007-03-06 13:35:29 +00:00
Karl Heyes
167bf0c527 off by 1 error, although not triggered by icecast/ices
svn path=/icecast/trunk/log/; revision=11073
2006-03-31 02:14:12 +00:00
Karl Heyes
ecca4eb6bc allow the last N lines to be cached and retrieved from each log, the default
is nothing cached (current behaviour).

svn path=/icecast/trunk/log/; revision=11063
2006-03-27 02:26:06 +00:00
Michael Smith
4dd3524428 Free tree if we fail to allocate root node.
svn path=/icecast/trunk/avl/; revision=10975
2006-03-07 19:22:29 +00:00
Michael Smith
8a87821bdc Add a missing check for LOG_MAXLOGS, fix another check to be >= rather than >
svn path=/icecast/trunk/log/; revision=10973
2006-03-07 19:17:06 +00:00
Michael Smith
8d771bc2d6 Allow a NULL filename in log_set_filename, since it's allowed elsewhere.
Thanks Coverity!


svn path=/icecast/trunk/log/; revision=10971
2006-03-07 19:07:20 +00:00