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

1538 Commits

Author SHA1 Message Date
Philipp Schafft
c7be3122db Feature: Added super basic logic for namespace based render selecting 2020-10-10 20:59:36 +00:00
Philipp Schafft
b44df0da76 Feature: Support JSON mapping for all reportxml based outputs 2020-10-10 20:59:36 +00:00
Philipp Schafft
deaad3246c Feature: Assign ADMIN_FORMAT_JSON 2020-10-10 20:59:36 +00:00
Philipp Schafft
731ac5c8e6 Feature: Added a basic outline of how converting could happen with a first generic mapping format 2020-10-10 20:59:36 +00:00
Philipp Schafft
395b994707 Fix: Set namespace correctly for child nodes 2020-10-10 20:59:36 +00:00
Philipp Schafft
34fa9f0ce3 Fix: Export xmlns as namespace not property 2020-10-10 20:59:36 +00:00
Philipp Schafft
7b5f52d77d Fix: Corrected memory allocator 2020-10-10 20:59:36 +00:00
Philipp Schafft
4cab251919 Feature: Added stub src/xml2json.[ch] 2020-10-10 20:59:36 +00:00
Philipp Schafft
dccf0e046a Feature: Added comments/docs for JSON renderer in the header 2020-10-10 20:59:36 +00:00
Philipp Schafft
9afbfcf40e Update: Made json_renderer_finish() take a pointer to the renderer 2020-10-10 20:59:35 +00:00
Philipp Schafft
2400df01ca Feature: Implement JSON renderer 2020-10-10 20:59:35 +00:00
Philipp Schafft
5a72f70dcb Feature: Outlined basic API 2020-10-10 20:59:35 +00:00
Philipp Schafft
261ee12c04 Feature: Added stub src/json.[ch] 2020-10-10 20:59:35 +00:00
Philipp Schafft
96d6190dbf Fix: Re-implemented <no-mount>.
Closes: #2335
2020-10-10 13:44:37 +00:00
Philipp Schafft
b9d00301e7 Update: Reformated code attaching a listener to a source 2020-10-10 13:21:19 +00:00
Philipp Schafft
3a6a7f6b5a Fix: Fixed usage of <shoutcast-compat> with <shoutcast-mount>.
Closes: #2363
2020-10-10 12:49:42 +00:00
Philipp Schafft
114a8b6b88 Update: Converted whether or not to show listeners in stats to a flag 2020-10-09 16:01:24 +00:00
Philipp Schafft
5eb09ca5de Update: Convert stats_get_xml() to take flags 2020-10-09 15:43:57 +00:00
Philipp Schafft
1a5359025c Fix: Do not allow the source to set random stats values'
If your software depends on those values you likely want to
use the corresponding audio_*-values.
2020-10-09 15:24:31 +00:00
Philipp Schafft
196a6170cc Feature: Pass query parameters to admin/ui/ templates 2020-10-09 11:10:51 +00:00
Philipp Schafft
12806c0853 Update: Added client_protocol_from_string() and client_protocol_to_string() 2020-10-03 18:35:40 +00:00
Philipp Schafft
d6fcedd5b8 Fix: Unref report after sending it 2020-10-03 11:57:27 +00:00
Philipp Schafft
d7f8911510 Feature: Added support for /admin/ui/ 2020-10-03 11:56:06 +00:00
Philipp Schafft
19b830e0d8 Feature: Support matching strings 2020-10-03 11:30:09 +00:00
Philipp Schafft
45818ae8bd Feature: Made the set fallback feature accessable via web interface
Not exactly new year, but at least German Unity Day.
2020-10-03 10:28:52 +00:00
Philipp Schafft
4da6d6e243 Update: Use helper functions for reportxml 2020-10-03 09:10:15 +00:00
Philipp Schafft
b01cb8d4e7 Feature: Added some basic helpers 2020-10-03 09:01:26 +00:00
Philipp Schafft
44af32bac5 Feature: Added stub src/reportxml_helper.[ch] 2020-10-03 08:51:22 +00:00
Philipp Schafft
b1c4b9ac49 Update: Updated copyright statements 2020-10-03 08:44:37 +00:00
Philipp Schafft
205489932d Update: Support a standard response for html_success() users in operation mode = strict 2020-10-03 08:18:10 +00:00
Philipp Schafft
48ff5ae0bf Cleanup: Replaced strdup-and-free with util_replace_string 2020-10-03 08:12:57 +00:00
Philipp Schafft
ddb94982b8 Cleanup: Removed demo Lorem ipsum 2020-10-03 08:00:39 +00:00
Philipp Schafft
c12cb226f1 Feature: Select default content for admin page via operation mode 2020-10-03 07:44:57 +00:00
Philipp Schafft
5da8971b2e Feature: Added a basic dashboard 2020-10-02 21:30:11 +00:00
Philipp Schafft
15dd9af54d Update: Made sane_hostname more formal config_problems and include flags for insane location and admin 2020-10-02 18:14:22 +00:00
Philipp Schafft
59efa2689c Cleanup: Made sending ADMIN_XSL_RESPONSE style responses much more uniform 2020-10-02 14:17:47 +00:00
Philipp Schafft
0c29ddd915 Feature: Added support to write a mark to the logfiles.
Note: This currently excludes the access.log

Closes: #2343
2020-10-02 13:36:22 +00:00
Philipp Schafft
fce09e5788 Update: Replaced some %s with %H 2020-10-02 13:06:28 +00:00
Philipp Schafft
72fbe999e2 Feature: Support updates of metadata URL via admin interface
Thanks to Joakim Lagerqvist.

Closes: #2385
2020-10-02 13:01:36 +00:00
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