Philipp Schafft
de4fdf6656
Fix: Corrected check for return value of tls_got_shutdown()
2018-12-24 16:29:22 +00:00
Philipp Schafft
0a026c8b45
Cleanup: Corrected code formating
2018-12-17 08:52:51 +00:00
Philipp Schafft
7fdc9ed11f
Fix: Permit HTTP keep-alive for report XML based replys
2018-12-17 08:51:25 +00:00
Philipp Schafft
825f92d6e2
Feature: Support HTTP keep-alive for SOURCE connections if they give us a content-length (useful for pokes)
2018-12-17 08:46:52 +00:00
Philipp Schafft
b02f306521
Fix: Updated allowed method lists for legacy-global-source and legacy-mount-source
...
For legacy-global-source this adds POST to the list.
For legacy-mount-source this adds POST and DELETE to the list.
The lists are now sync.
Closes : #2366
Found while working on & See also: icecast-libshout#2303
2018-12-14 12:57:23 +00:00
Philipp Schafft
6e0f876275
Fix: Corrected Copyright headers
2018-11-26 07:42:05 +00:00
Philipp Schafft
3a3739e90a
Update: Updated default list of OpenSSL ciphers.
...
This updates to the Mozilla Foundation's "Intermediate" list
as of the time of this commit.
The list is appended with several negative rules that we included
before.
2018-11-25 18:50:33 +00:00
Philipp Schafft
df96dcbb6c
Update: Announce ourself as HTTP/1.1 in HTTP upgrade
2018-11-13 08:54:06 +00:00
Philipp Schafft
143a8b717f
Fix: Send final reply to client on HTTP upgrade
...
Closes : #2356
2018-11-13 08:51:02 +00:00
Philipp Schafft
7637e8f5e3
Fix: Do not upgrade on already upgraded connections
2018-11-13 08:45:09 +00:00
Philipp Schafft
6583bdfc56
Fix: Corrected error handling for TLS connections
...
Closes : #2355
2018-11-13 08:25:01 +00:00
Philipp Schafft
0d8b076336
Fix: Corrected confusion with default values for source_timeout and body_timeout
2018-11-13 08:23:06 +00:00
Philipp Schafft
5f4b002485
Feature: Support filtering on CORS "Origin".
2018-11-12 21:51:23 +00:00
Philipp Schafft
c7e355ce49
Update: Improved CORS header handling regarding defaults
2018-11-12 21:51:23 +00:00
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
Philipp Schafft
c67d9de500
Feature: Added functions to get a node from report XML by it's type
2018-08-08 14:10:08 +00:00
Philipp Schafft
e89f1bba8d
Feature: Added way to add links to modules
2018-08-08 14:10:08 +00:00
Philipp Schafft
f541cb5c8a
Feature: List loaded modules in stats XML
2018-08-08 14:10:08 +00:00
Philipp Schafft
63cc9b9c2a
Feature: Also route slow events to fastevent subsystem
2018-08-08 14:05:41 +00:00
Philipp Schafft
cdd09669fa
Feature: Added some more useful client fast events
2018-08-08 14:05:41 +00:00
Philipp Schafft
08cf0c1233
Feature: Emit a range of basic connection and client events
2018-08-08 14:05:41 +00:00
Philipp Schafft
23e7069d78
Update: Initialize/Shutdown fast event subsystem
2018-08-08 14:05:40 +00:00
Philipp Schafft
02c9eb7f10
Feature: Added fast event API
2018-08-08 14:05:40 +00:00
Philipp Schafft
8cf3da1a92
Update: Added still stub files for fast events.
2018-08-08 14:05:40 +00:00
Philipp Schafft
680557abc7
Fix: Ensure we have a look while accessing self->module in modulecontainer
2018-08-08 13:39:54 +00:00
Philipp Schafft
d0899fe4fc
Fix: Corrected typo in constant name
2018-08-08 10:42:16 +00:00
Philipp Schafft
6cf45fd11d
Fix: Handle 0-byte feasts as no-match
2018-08-08 10:14:04 +00:00
Philipp Schafft
03092d1049
Fix: Do not asume listener->id != NULL when looking for a listener with a specific ID
2018-08-08 09:04:55 +00:00
Philipp Schafft
2d0d496ad4
Fix: Set con->readbuffer = NULL after free()
2018-08-02 09:09:19 +00:00
Philipp Schafft
9cdf5761a0
Update: Added some comments in reportxml.c
2018-07-27 11:55:00 +00:00
Philipp Schafft
3a64ffd2de
Update: Improved comments on reportxml.h
2018-07-27 11:44:00 +00:00
Philipp Schafft
6f02daafbf
Update: Added a huge number of comments to reportxml.h
2018-07-27 11:27:42 +00:00
Philipp Schafft
dd04ef5f77
Update: Added comments to refobject.h
2018-07-27 10:36:59 +00:00
Philipp Schafft
2f938b8500
Fix: set freed pointer to NULL to avoid access-after-free
2018-07-27 10:36:50 +00:00
Philipp Schafft
e900d8e80c
Fix: Fixed end-of-input bug in Base64 encoder
2018-07-27 10:07:30 +00:00
Philipp Schafft
648947fe44
Cleanup: Provided connection_send_bytes() to avoid direct access to con->send()
2018-07-27 10:07:18 +00:00
Philipp Schafft
1c61903793
Feature: Allow <relay> within <mount>
2018-07-26 09:24:08 +00:00
Philipp Schafft
1e230972fa
Feature: Allow <upstream> within <relay> to have a type="" that can be "normal" and "default"
2018-07-26 09:24:01 +00:00
Philipp Schafft
2c8d45310a
Fix: Corrected and improved default value handling for relay upstreams
2018-07-26 09:23:56 +00:00
Philipp Schafft
4b2a062aa0
Feature: Allow actually using more than one upstream
2018-07-26 09:23:52 +00:00
Philipp Schafft
bde17102e2
Fix: Corrected copy function so that number of upstreams is preserved
2018-07-26 09:23:37 +00:00
Philipp Schafft
d61acebf96
Update: Fixed indenting
2018-07-26 09:23:32 +00:00
Philipp Schafft
59697252f0
Feature: Added <upstream>-tag to relay config
2018-07-26 09:23:24 +00:00
Philipp Schafft
fee836f697
Cleanup: Seperated relay upstream parser into seperate function
2018-07-26 09:23:16 +00:00
Philipp Schafft
fd4f28274b
Cleanup: Seperated relay config from runtime data
2018-07-26 09:23:06 +00:00
Philipp Schafft
75314c2b34
Fix: Corrects setup of client_t in client mode.
...
Closes : #2336
2018-07-20 11:41:39 +00:00
Philipp Schafft
c40d12a1c7
Update: Moved _update_client_request_body_length() into new client_complete()
2018-07-20 11:41:37 +00:00
Philipp Schafft
c0155e2404
Fix: Do free connection's putback buffer regardless of it's size
2018-07-20 11:41:03 +00:00
Philipp Schafft
d782eb4c21
Feature: Allow admin commands to have embedded parameters
2018-07-09 10:42:14 +00:00
Philipp Schafft
046bfb9c85
Fix: Removed unused header
2018-07-09 10:41:34 +00:00
Philipp Schafft
43bc709b48
Feature: Added new resource match system
2018-07-09 09:29:54 +00:00