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

192 Commits

Author SHA1 Message Date
Philipp Schafft
11b9c61ae7 Update: Removed unused variable.
I'm not sure if we should check for the result of pthread_join().
But how it was doesn't do that anyway.
2018-06-20 06:37:10 +00:00
Philipp Schafft
9bfb3a34fc Update: Added #defines for _mangle() 2018-06-18 21:39:13 +00:00
Philipp Schafft
31f24e9869 Feature: Added httpp_get_param() which does POST, then queryparams 2018-06-18 21:36:19 +00:00
Philipp Schafft
937268e288 Feature: Added support to parse POST data 2018-06-18 14:39:03 +00:00
Philipp Schafft
fca416b126 Feature: Allow %z[ui] in logging format strings 2018-04-28 12:02:50 +00:00
Philipp Schafft
308e73134c Feature: Allow checking for transfer encoding EOF 2018-04-17 08:59:42 +00:00
Philipp Schafft
829cd5f3b6 Update: Fixed typo 2018-04-13 18:35:40 +00:00
Philipp Schafft
001667626c Porting: Allow build on Android
This allows to build the threading module on Android. Android has
a little reduced implementation for POSIX threads.

This is a clean version of patches from
 Stephan Jauernick <info@stephan-jauernick.de> and
 Marvin Scholz <epirat07@gmail.com>.
2016-03-18 08:51:27 +00:00
Marvin Scholz
d3904369e8 Cleanup: corrected use of white spaces 2016-03-18 08:45:26 +00:00
Marvin Scholz
b182f8df1b Fix Makefiles usage of deprecated INCLUDES variable 2015-11-28 13:21:03 +01:00
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