Philipp Schafft
4896d73d3a
Feature: Added support for logfile display in admin/
2020-10-02 11:40:59 +00:00
Philipp Schafft
de270c535d
Feature: Allow setting memory backlog for logfiles
2020-10-02 11:40:11 +00:00
Philipp Schafft
73dce0a692
Update: Updated list of valid types for <value>
2020-10-02 11:40:11 +00:00
Philipp Schafft
47dd475f12
Feature: Only show selected mounts in status display
2020-10-02 11:38:39 +00:00
Philipp Schafft
c6bb70d99b
Feature: Include content-type in mount info for metadata updates
2020-10-02 11:38:39 +00:00
Philipp Schafft
f9980b3563
Feature: Added key <content-type> to running mounts
2020-10-02 11:38:38 +00:00
Philipp Schafft
6484fb40c6
Update: Updated submodules
2020-10-02 11:37:59 +00:00
Philipp Schafft
2bf77f2012
Feature: Support moving individual clients between mounts
2020-09-30 19:47:05 +00:00
Philipp Schafft
81bd709acc
Fix: Corrected node vs. client
2020-09-30 19:22:36 +00:00
Philipp Schafft
d92c9758a6
Feature: Prepare for support to move single clients
2020-09-30 18:03:18 +00:00
Philipp Schafft
e86a46ee4a
Update: Improved statistic update logic a bit
2020-09-30 17:59:54 +00:00
Philipp Schafft
4f56236cbc
Fix: Corrected type for id for source_find_client()
2020-09-30 17:59:52 +00:00
Philipp Schafft
55acb32b71
Cleanup: Corrected code style
2020-09-30 17:59:49 +00:00
Philipp Schafft
b2cd834db7
Cleanup: Move lock out of loop as unlock is also outside the loop
2020-09-30 17:59:43 +00:00
Philipp Schafft
833d666803
Cleanup: Deduplicated code for client moves
2020-09-30 17:58:33 +00:00
Marvin Scholz
9275dfd8c8
Feature: Improve logging for yp-directory options parsing
2020-04-30 10:52:18 +02:00
Marvin Scholz
349c29ca48
Feature: Add "listen-socket" option for YP directories
2020-04-24 23:45:49 +02:00
Marvin Scholz
495ecbf57d
Fix: Add missing space in YP log message
2020-04-23 19:01:02 +02:00
Marvin Scholz
632f67b0c8
Feature: New config block to define YP directories
...
Adds a new config block, <yp-directory> with the mandatory "url"
attribute and optional <option> entries in the block:
<yp-directory url="http://example.org/yp-cgi ">
<option name="timeout" value="5" />
<option name="touch-interval" value="45" />
</yp-directory>
2020-04-23 18:40:36 +02:00
Marvin Scholz
6d3bf28be1
Update: Use linked list for YP config entries
...
This removes the limit of 25 YP directory entries by using a linked
list like with most other config entries.
2020-04-23 05:14:12 +02:00
Marvin Scholz
4284ea5b3b
Cleanup: Prepare migration to new yp options
2020-04-23 03:18:51 +02:00
Marvin Scholz
f2547c7cb0
Cleanup: Remove unused touch_interval config
2020-04-23 03:03:52 +02:00
Marvin Scholz
271ef864ac
Cleanup: Remove unused server block in directory
...
The director block for YP directories accepted a server block which
was completely unused in the whole codebase, so do not parse it in
the first place.
2020-04-23 03:00:32 +02:00
Philipp Schafft
dcdd96c000
Update: Make listensocket_container_get_by_id() public
2020-04-22 19:35:35 +00:00
Marvin Scholz
f898da63b8
Cleanup: YP: Narrow variable scope
2020-04-21 20:43:01 +02:00
Marvin Scholz
e534df86f8
Fix: YP: Improve error handling
...
In case the url written by client_get_baseurl exceeds the length and
the realloc failed, previously the truncated URL would have been used.
The error case (ret < 0) was not handled at all before.
2020-04-21 20:43:01 +02:00
Marvin Scholz
7563fe9e52
Fix: YP: Send correct listener URL in case of TLS
2020-04-21 20:12:22 +02:00
Marvin Scholz
2b56f73cfb
Cleanup: Do not name variable same as hex function
2020-04-19 04:14:07 +02:00
Marvin Scholz
386a461016
Fix: Fixed check for icecast_kva_t value
2020-04-19 04:10:28 +02:00
Marvin Scholz
e6856c153e
Cleanup: Fix order of arguments in forward declaration
2020-04-19 04:05:24 +02:00
Marvin Scholz
b93ac5a94e
Fix: Fixed check for root node in reportxml
2020-04-19 03:58:31 +02:00
Marvin Scholz
0c3da2df86
Cleanup: Simplify client_complete
...
Instead of using a "have" variable which makes it a bit confusing
to understand whats going on, use a do {} while (0) and break from it
instead.
2020-04-19 03:43:27 +02:00
Marvin Scholz
4b2d38fcfc
Cleanup: Remove duplicated check
2020-04-19 03:32:59 +02:00
Marvin Scholz
3352ddfb36
Cleanup: Remove redundant check
...
It's already checked earlier if auth is non-NULL, so this check
here is not needed.
2020-04-19 03:28:21 +02:00
Marvin Scholz
25f54db863
Fix: Reorder logging initialization to prevent race
...
Without this, the logging on the stats thread would race with the log
initialization on the main thread.
2020-04-19 03:09:49 +02:00
Marvin Scholz
d2b137a8ad
Fix: Fixed memory leak on relay parsing failure
2020-04-19 03:02:03 +02:00
Philipp Schafft
2ffaa92ea6
Fix: Fixed two double-unlock errors
2020-02-14 14:05:01 +00:00
Philipp Schafft
97181fb112
Updated submodules
2020-02-12 11:13:46 +00:00
Philipp Schafft
6ca6283cb4
Fix: Fixed invalid locking.
...
* listensocket_get_listener() must always be called with a matching call
to listensocket_release_listener
* No ticket for this, but may be related to #2372 .
* Found an reported by Xogium on IRC.
See: #2372
2019-11-22 14:48:49 +00:00
Philipp Schafft
ddafdd971f
Fix: Strange patch for ICY
2019-09-17 18:08:57 +00:00
Philipp Schafft
f83fe87ab9
Update: Added some debugging lines
2019-09-17 17:32:00 +00:00
Philipp Schafft
cf9c8cf9ad
Fix: Fixed leak in codec Speex codec probing code.
...
Thanks to Xogium for finding and debugging this!
Fixes : #2377
2019-06-28 08:03:51 +00:00
Philipp Schafft
1b94dea420
Update: Improved connecting-the-dots regarding clients and object IDs
2019-06-26 08:23:29 +00:00
Philipp Schafft
3761582ab8
Update: Mark a few developer level debugging messages as such
2019-05-28 07:55:18 +00:00
Philipp Schafft
fff3a5c6a6
Update: Write a error level message on admin/ based metadata updates we reject
2019-05-28 07:52:47 +00:00
Philipp Schafft
e60a36bfb6
Fix: Corrected log output from <unknown< to <unknown>
2019-05-28 07:02:45 +00:00
Philipp Schafft
dbabf91510
Fix: Only send 100 on request and 200 only on SOURCE
2019-05-14 11:38:08 +00:00
Philipp Schafft
0288af5a93
Feature: Report SOURCE as deprecated in log on level DEBUG
2019-05-14 11:37:57 +00:00
Philipp Schafft
0467ef5657
Feature: Log HTTP method used to start a source
2019-05-14 11:37:06 +00:00
Marvin Scholz
8b68c462c4
Fix: Free strings with older OpenSSL versions
2019-04-24 18:52:41 +02:00
Marvin Scholz
e09f48a034
Update: Do not use SSLv23_server_method
...
...with OpenSSL 1.1.0 or newer
Instead use TLS_server_method and
SSL_CTX_set_min_proto_version to limit
the used protocol versions.
2019-04-24 18:52:41 +02:00
Marvin Scholz
e824e48fdf
Cleanup: Remove unnecessary SSL_CTX_get_options
...
According to the documentation the current option state is not cleared
but the options are added to the current options, so gettin the
current options seems redundant to the behavior of SSL_CTX_set_options:
> SSL_CTX_set_options() adds the options set via bitmask in options
> to ctx. Options already set before are not cleared!
2019-04-24 18:52:41 +02:00
Marvin Scholz
14ba90fc93
Cleanup: Simplify adding SSL_OP_NO_COMPRESSION
2019-04-24 18:52:41 +02:00
Marvin Scholz
ed9a4e658c
Cleanup: Simplify OpenSSL context initialisation
...
Assigning the return value of SSLv23_server_method to a variable is
not necessary here and not doing it can get us rid of a lot of
condition code given that the type of the return value changed
at some point.
2019-04-24 18:52:41 +02:00
Marvin Scholz
07304b5193
Update: Do not init OpenSSL since 1.1.0
...
Explicitly initializing the library is not longer needed since
OpenSSL 1.1.0 and the SSL_library_init function is deprecated.
Citing the manual:
> As of version 1.1.0 OpenSSL will automatically allocate all resources
> that it needs so no explicit initialisation is required. Similarly it
> will also automatically deinitialise as required.
Fix #2318
2019-04-24 18:52:41 +02:00
Philipp Schafft
001ac59127
Feature: Added auth backend "enforce_auth".
...
Closes : #2348
2019-01-16 14:11:03 +00:00
Philipp Schafft
8589c1a040
Feature: Actually disable developer only logging if --enable-devel-logging is not given
2019-01-09 15:39:55 +00:00
Philipp Schafft
e6122f13fb
Feature: Marked spammy development only output as such
...
See: #2358
2019-01-09 15:04:16 +00:00
Philipp Schafft
bb6ecd31fd
Cleanup: Use "match-method", not (deprecated) "methods"
2019-01-09 11:14:33 +00:00
Philipp Schafft
e196495008
Cleanup: Fixed spaces
2019-01-09 11:11:25 +00:00
Philipp Schafft
d85a0ded30
Feature: Move common methods into CONFIG_LEGACY_ALL_METHODS
2019-01-09 11:07:40 +00:00
Philipp Schafft
4fbde4b96c
Update: Allow relay clients to use OPTIONS
2019-01-09 11:06:28 +00:00
Philipp Schafft
95405e406a
Update: Allow source clients to use OPTIONS
2019-01-09 11:04:06 +00:00
Philipp Schafft
5a81e8afa2
Cleanup: Use less magic constants for __append_old_style_auth()
2019-01-09 10:49:00 +00:00
Philipp Schafft
a301a302ba
Feature: Replaced free()-strdup() in event code with util_replace_string()
...
See: #2370
2019-01-09 09:30:31 +00:00
Philipp Schafft
edd3dcc60d
Update: Renamed replace_string() to util_replace_string()
2019-01-09 09:18:50 +00:00
spr0cketeer
31da097922
Fix: Correct url event "action" option handling
...
Closes : #2370
2019-01-06 18:57:45 +00:00
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