1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-09-29 04:25:55 -04:00
Commit Graph

1418 Commits

Author SHA1 Message Date
Philipp Schafft
f60791ad64 Cleanup: Removed stray error level log line 2018-11-12 21:51:23 +00:00
Philipp Schafft
c71aa0a08f Feature: Support per-<acl> HTTP headers 2018-11-12 21:51:23 +00:00
Philipp Schafft
6f28d3fd3a Update: Mark ice_config_http_header_t *header const in _build_headers_loop() 2018-11-12 21:51:23 +00:00
Philipp Schafft
2c72d9a37c Feature: Support per-<role> HTTP headers 2018-11-12 21:51:23 +00:00
Philipp Schafft
aeeee071d4 Feature: Allow to define ACLs in <acl> (child of <role>) 2018-11-12 21:51:23 +00:00
Philipp Schafft
ca83e6b44b Feature: Added type="cors" to <header>. 2018-11-12 21:51:23 +00:00
Philipp Schafft
ff0263b3a4 Update: Added warning about wrong type of metadata update.
See: #2017
2018-11-10 09:22:16 +00:00
Philipp Schafft
6d0e4e6fc9 Update: Set default HTTP version to 1.1
This changes the default version of HTTP to 1.1.
The version can currently not be changed to something different.

Closes: #2057
2018-11-09 07:30:30 +00:00
Philipp Schafft
fbddf8d2f0 Cleanup: Removed <threadpool> completly.
This adds a error level log line to the block in case unknown nodes are used
as we do for other blocks already.

Closes: #2085
2018-11-09 07:12:07 +00:00
Philipp Schafft
03249ff5f4 Fix: Do not segfault if no real source could be found 2018-11-04 09:28:41 +00:00
Philipp Schafft
6c42bcb0f4 Cleanup: Corrected formating 2018-11-04 09:02:40 +00:00
Philipp Schafft
162e3dd650 Fix: Corrected possible bufferoverflows in format_prepare_headers() 2018-10-31 09:28:08 +00:00
Philipp Schafft
548e7963a7 Fix: Fixed bufferoverflow within url_add_client()
This can be trigged by:
* overly long username,
* overly long password,
* overly long user agent string,
* overly long path.
2018-10-31 09:28:08 +00:00
Philipp Schafft
081a7974e6 Fix: Fixed buffer overflow in URL auth code.
Closes: #2342
2018-10-31 09:28:08 +00:00
Philipp Schafft
e75b85fe66 Update: Added "no-store" to Cache-Control:-header. 2018-10-31 09:11:12 +00:00
Philipp Schafft
30c8df8aba Fix: Corrected locking for recursive event_release() 2018-10-26 08:09:09 +00:00
Philipp Schafft
a192f696c3 Fix: Corrected reported Allow:-header (mostly for 204-responses) 2018-10-26 08:05:45 +00:00
Philipp Schafft
0bdad13fd2 Feature: Implemented DELETE on sources 2018-10-26 08:03:46 +00:00
Marvin Scholz
2bb49deeb0 Fix: Add missing log message arguments
Found with lgtm.com
2018-10-17 13:35:34 +00:00
Philipp Schafft
eb66a682c0 Revert "Fix: Corrected use of XMLSTR()"
This reverts commit fd2556b4c0.

See libxml2's 4472c3a5a5b516aaf59b89be602fbce52756c3e9.
2018-10-11 11:04:56 +00:00
Philipp Schafft
9b49c2bae3 Update: Added some comments to struct connection_tag 2018-10-11 10:38:54 +00:00
Philipp Schafft
6656edacad Update: Added names for HTTP status codes 30x. 2018-10-11 10:38:14 +00:00
Philipp Schafft
d8c887aa37 Update: Added comments about the API 2018-10-11 09:17:40 +00:00
Philipp Schafft
a242f0f77b Update: Replaced reportxml_new() and reportxml_database_new() 2018-10-11 08:58:22 +00:00
Philipp Schafft
fea817da2d Update: Replaced listensocket_container_new() 2018-10-10 15:06:45 +00:00
Philipp Schafft
b875e80230 Update: Replaced module_container_new() 2018-10-10 15:01:10 +00:00
Philipp Schafft
bdbe3379ce Update: Replaced buffer_new_simple() by refobject_new(buffer_t) 2018-10-10 14:48:25 +00:00
Philipp Schafft
48bb477301 Feature: Added REFOBJECT_DEFINE_TYPE_NEW_NOOP() 2018-10-10 14:42:37 +00:00
Philipp Schafft
491c4ab2f4 Feature: Implemented simple API refobject_new() and refobject_new_ext() 2018-10-10 14:27:07 +00:00
Philipp Schafft
9f6d3c3018 Cleanup: Removed no longer needed REFOBJECT_DEFINE_TYPE_FREE(NULL)s 2018-10-10 14:15:00 +00:00
Philipp Schafft
2dd9045842 Fix: Corrected structure of how refobject_type*__* is generated. 2018-10-10 14:11:24 +00:00
Philipp Schafft
0cbc5c01ed Update: Added comments 2018-10-10 13:18:33 +00:00
Philipp Schafft
d10a9683aa Feature: Added tests for REFOBJECT_GET_TYPENAME() and REFOBJECT_IS_VALID() 2018-10-10 13:12:01 +00:00
Philipp Schafft
c0ff861107 Fix: Updated unit tests to new refobject API 2018-10-10 12:55:32 +00:00
Philipp Schafft
f1b2785fc4 Feature: Changed refobject subsystem to use defined types 2018-10-10 11:15:39 +00:00
Philipp Schafft
1b6c51787f Fix: Corrected type of #include 2018-10-10 11:10:30 +00:00
Philipp Schafft
07899c4aab Fix: Fixed a race condition in event_shutdown() 2018-10-04 11:21:24 +00:00
Philipp Schafft
f20dfcef63 Fix: SECURITY Do not handle admin-requests in listen-socket auth differently.
This also adds comments to _handle_authentication_global() and
_handle_authentication_mount_default() to explain the situation.
2018-10-04 09:00:26 +00:00
Philipp Schafft
de6e8b4197 Feature: Added support to set listen(2) backlog.
Closes: #2225
2018-09-28 13:52:39 +00:00
Philipp Schafft
dd967ad17b Update: Init method matching depending on what parameters we have. 2018-09-28 13:02:37 +00:00
Philipp Schafft
29680ec6e2 Fix: Allow the use of bools for <logarchive> 2018-09-28 13:02:28 +00:00
Philipp Schafft
53d8b7c35f Fix: Avoid dead-lock in case of config reload 2018-09-20 14:21:16 +00:00
Philipp Schafft
5df028691a Fix: Corrected a possible race codition 2018-09-20 14:13:50 +00:00
Philipp Schafft
9d120d126f Fix: Corrected order of locks to avoid dead-locks 2018-09-20 14:13:19 +00:00
Philipp Schafft
7b84c45a81 Fix: Corrected two possible dead-locks. 2018-09-20 13:03:05 +00:00
Philipp Schafft
1e171a8e4e Fix: Corrected a number of lockings to avoid race conditions 2018-09-20 12:12:59 +00:00
Philipp Schafft
3f3191ce0b Fix: Corrected copy and paste error of lock/unlock 2018-09-20 12:12:40 +00:00
Philipp Schafft
231e60a46a Updated submodules 2018-09-20 10:05:30 +00:00
Philipp Schafft
9a4491e43a Feature: Report Host:-header in <listener> 2018-09-20 09:30:49 +00:00
Philipp Schafft
934cc32285 Feature: Added a way to push buffers into buffers 2018-09-20 09:11:55 +00:00
Philipp Schafft
71b156afc6 Feature: Added buffer_push_printf() and buffer_push_vprintf() 2018-09-20 09:01:49 +00:00
Philipp Schafft
03d56ca35f Fix: Corrected typo 2018-09-20 08:32:26 +00:00
Philipp Schafft
36a8d198fd Fix: Make buffer_get_string() respect offsets 2018-09-20 08:16:25 +00:00
Philipp Schafft
f58f11f2d2 Feature: Test buffer_set_length() 2018-09-20 08:16:25 +00:00
Philipp Schafft
99671cdb40 Feature: Added tests for buffer_shift() 2018-09-20 08:16:25 +00:00
Philipp Schafft
b45c254bf9 Feature: Test bit patterns 2018-09-20 08:16:25 +00:00
Philipp Schafft
661f101790 Feature: Added tests related to buffer_t's string interface 2018-09-20 08:16:25 +00:00
Philipp Schafft
aa270e7bd3 Feature: Run getter tests on empty buffers 2018-09-20 08:16:25 +00:00
Philipp Schafft
bc69719462 Feature: Added first (create/unref) tests for buffers 2018-09-20 08:16:25 +00:00
Philipp Schafft
a92b39becd Feature: Added code that can undo the effect of offsets 2018-09-20 08:16:25 +00:00
Philipp Schafft
18e410cf24 Feature: Implemented new buffer API 2018-09-20 08:16:25 +00:00
Philipp Schafft
a8cae91f10 Feature: Added stubs and interface for new buffer_t that should replace refbuf_t some day. 2018-09-20 08:16:25 +00:00
Philipp Schafft
f6d269c80d Fix: Actually destroy clients on if auth has release callback 2018-09-20 08:13:16 +00:00
Philipp Schafft
1b5572f700 Fix: Fixed a memory leak caused by assigning the client's role twice in some cases 2018-09-20 08:07:29 +00:00
Philipp Schafft
9ffd16cb60 Fix: Fixed two memory leaks in URL auth 2018-09-19 14:56:56 +00:00
Philipp Schafft
212ef5bb8f Cleanup: Use client_set_queue() and only use it once in client_destroy() 2018-09-19 14:39:19 +00:00
Philipp Schafft
4cb4a9b5b1 Feature: Allow altering client based on headers from the URL Auth backend 2018-09-19 13:32:58 +00:00
Philipp Schafft
fa5e2ffee6 Feature: Allow header_* not require being set in lowercase 2018-09-19 13:32:58 +00:00
Philipp Schafft
f2c474ec63 Feature: Added function to lowercase a string 2018-09-19 13:32:58 +00:00
Philipp Schafft
4e69f55410 Feature: Make the message header configurable 2018-09-19 13:32:58 +00:00
Philipp Schafft
8a08ae25c3 Fix: Free memory used for header names 2018-09-19 13:32:58 +00:00
Philipp Schafft
e10c32a837 Feature/Fix: Replaced old auth headers.
This adds some workarounds for old style auth headers in URL auth.
The old code did not check buffer lengths. Buffer overflow seems
possible.

This also adds a new handling that replaces the old one and has a
much cleaner interface. This should be used for future software.
2018-09-19 13:32:58 +00:00
Philipp Schafft
37d9319b1b Cleanup: Use replace_string() and only strdup() if needed 2018-09-19 13:32:58 +00:00
Philipp Schafft
7b608e27be Feature: Added function to convert strings into auth results 2018-09-19 13:32:58 +00:00
Philipp Schafft
b3497e6ec8 Feature: Added way for the auth backend to store per-request data 2018-09-19 13:32:58 +00:00
Philipp Schafft
cb32973572 Feature: Added permission system for auth backends altering clients 2018-09-19 13:32:58 +00:00
Philipp Schafft
bb2ba6e8cf Fix: Avoided segfault if clear_auth() is closed with auth->state == NULL 2018-09-19 13:32:58 +00:00
Philipp Schafft
d0b23fb8c6 Feature: Added support to "static" auth to alter the client 2018-09-19 13:32:58 +00:00
Philipp Schafft
0392b4a32f Feature: Added lookup function for auth_alter_t 2018-09-19 13:32:58 +00:00
Philipp Schafft
4d7a60d588 Feature: Added basic support for auth backends to manipulate the client 2018-09-19 13:32:58 +00:00
Philipp Schafft
dabf9337a6 Feature: Added helper function replace_string() 2018-09-19 13:32:58 +00:00
Philipp Schafft
6c491b3814 Cleanup: Code reformating 2018-09-14 19:25:40 +00:00
Philipp Schafft
355e90ef66 Fix: Corrected used type (int) -> (size_t) 2018-09-14 07:51:38 +00:00
Philipp Schafft
40c5751a06 Cleanup: Updated formating 2018-09-14 07:45:20 +00:00
Philipp Schafft
c97e5d95fc Cleanup: Remove redundant passing of client's uri 2018-09-13 13:38:57 +00:00
Philipp Schafft
e4560e15a2 Cleanup: Made assigning of client->admin_command a function on it's own. 2018-09-13 12:47:28 +00:00
Philipp Schafft
fe948bffea Update: Make client's URI part of it's object 2018-09-13 12:44:57 +00:00
Philipp Schafft
4b44c73d1c Clanup: Unify <authentication> parser code 2018-09-13 12:06:36 +00:00
Philipp Schafft
ed266a5dc7 Feature: Added per <listen-socket> <authentication> 2018-09-13 11:34:01 +00:00
Philipp Schafft
1f8d19cb40 Cleanup: Use (auth_stack_t) not (struct auth_stack_tag) 2018-09-13 11:09:16 +00:00
Philipp Schafft
8bd43eb3d4 Feature: Added new <role> properties: match-method, and nomatch-method. This is more inline with the other properties 2018-09-13 10:37:33 +00:00
Philipp Schafft
d317b6fbdc Feature: Added new <role> properties: match-web, nomatch-web, match-admin, and nomatch-admin 2018-09-13 10:14:31 +00:00
Philipp Schafft
6f2c6b8e84 Fix: Use ADMIN_COMMAND_ERROR not -1 2018-09-13 08:38:16 +00:00
Philipp Schafft
0af45ebf26 Cleanup: Replace and remove leftover old COMMAND_*s 2018-09-13 08:38:12 +00:00
Philipp Schafft
11a04c80c2 Updated submodules 2018-09-13 08:37:37 +00:00
Marvin Scholz
d9793f4e33 Update: Separate integration and unit tests
- Unit tests are now in `src/tests`
- Integration tests are in `tests`
2018-08-16 16:24:48 +02:00
Marvin Scholz
149194d6af Fix: Use POSIX poll.h instead of sys/poll.h 2018-08-14 20:03:01 +02:00
Philipp Schafft
bfcac5d30c Feature: Unifiy response root node generation a bit and make the module list universally available 2018-08-08 14:10:08 +00:00
Philipp Schafft
d0efb73a7b Feature: Also report loaded modules in report XML 2018-08-08 14:10:08 +00:00
Philipp Schafft
51712ebb2a Feature: Provide a unified interface to get an basic report 2018-08-08 14:10:08 +00:00