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