1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-06-16 06:15:24 +00:00
Commit Graph

1653 Commits

Author SHA1 Message Date
Philipp Schafft
b986bf5d78 Update: Avoid more complicate process if in_charset is the same as out_charset 2022-02-25 21:02:25 +00:00
Philipp Schafft
79bc367769 Update: Log a warning if a client sends song and artist/title in the same metadata request 2022-02-25 21:02:25 +00:00
Philipp Schafft
5bd33883de Update: Added a INFO level message about using the default charset for MP3 mounts 2022-02-25 21:02:25 +00:00
Philipp Schafft
f1f0b165dd Fix: Fixed a regression happening when ICY-style metadata update is handled without a charset parameter 2022-02-25 21:02:25 +00:00
Philipp Schafft
b14ff56f64 Fix: Corrected converting back and forth charsets for ICY 2022-02-25 21:02:25 +00:00
Philipp Schafft
86f1c8970b Cleanup: Removed unused member 2022-02-25 20:47:23 +00:00
Philipp Schafft
7e9bc9005c Update: Made global client limit warning easier to understand 2022-02-25 20:47:19 +00:00
Philipp Schafft
52634884ac Fix: Fixes EPIPEs on TLS clients
Correctly handle died TLS connections on recent libssl.

Closes: #2413
2021-11-10 09:01:22 +00:00
Philipp Schafft
ec02a7b53d Fix: Typo 2021-10-31 10:10:18 +00:00
Philipp Schafft
e349279e79 Feature: Support reading ulimits for display on admin dashboard 2021-10-31 10:03:56 +00:00
Philipp Schafft
f104fd5551 Fix: Allow Content-type: with parameters (such as codecs, or charset)
See: #1902
2021-10-30 09:37:38 +00:00
Philipp Schafft
ab915b061f Feature: Added experimental feature to skip characters on text/plain mounts (they are used for keep-alive) 2021-10-26 09:37:40 +00:00
Philipp Schafft
a24f74af11 Fix: Added missing include 2021-10-26 02:08:59 +00:00
Philipp Schafft
b7c878cee9 Feature: Added basic text streaming support
See: #2084
2021-10-26 00:57:09 +00:00
Philipp Schafft
d6be48e207 Update: Added stubs format_text.[ch] for text streaming
See: #2084
2021-10-26 00:57:09 +00:00
Philipp Schafft
678fce2693 Fix: Corrected XML rendering in case no default mount is defined 2021-10-26 00:53:09 +00:00
Philipp Schafft
abc701a301 Fix: Make global_client_list extern outside of client.c 2021-07-26 19:47:46 +00:00
Philipp Schafft
f869d5eb7b Update: Pass configuration down to Auth and ACL parsing 2021-07-26 15:11:05 +00:00
Philipp Schafft
76e3e6ad6b Update: Improved handling of bad tags in _parse_relay() 2021-07-26 15:11:05 +00:00
Philipp Schafft
aa83b3fff0 Feature: Report invalid type for HTTP header 2021-07-26 15:11:05 +00:00
Philipp Schafft
954b8a4c39 Feature: Report empty tags via new style bad tag system for __read_int(), and __read_unsigned_int() 2021-07-26 15:11:05 +00:00
Philipp Schafft
ae71b25e90 Feature: Added initial support for reporting invalid config settings 2021-07-26 15:11:05 +00:00
Philipp Schafft
d2225f10b7 Feature: Warn about unknown, and obsolete tags in config 2021-07-26 15:11:05 +00:00
Philipp Schafft
ee8b67b421 Feature: Added support for HMACs 2021-07-26 15:08:50 +00:00
Philipp Schafft
d497412b58 Feature: Export client history as part of stats XML 2021-07-26 15:05:55 +00:00
Philipp Schafft
f2edcdb0ff Update: Made NAVIGATION_DIRECTION_REPLACE_ALL the default for move of clients 2021-07-26 15:05:55 +00:00
Philipp Schafft
704df45ce5 Feature: Added support to give navigation direction via admin call for command_move_clients() 2021-07-26 15:05:54 +00:00
Philipp Schafft
7474fb8d8d Feature: Write correct history on initial attach of client 2021-07-26 15:05:54 +00:00
Philipp Schafft
68ace66bd3 Feature: Only move clients that allow navigation according to their history and direction 2021-07-26 15:05:54 +00:00
Philipp Schafft
c60a2113c9 Feature: Made fallback_override an enum 2021-07-26 15:05:54 +00:00
Philipp Schafft
2e148986f9 Feature: Improved error logging 2021-07-26 15:05:54 +00:00
Philipp Schafft
8e224f45c2 Fix: Corrected invalid return value 2021-07-26 15:05:54 +00:00
Philipp Schafft
b5b5e9cc07 Feature: Make navigation_direction_to_str() public 2021-07-26 15:05:54 +00:00
Philipp Schafft
8a91113028 Feature: Correctly navigate clients between mounts 2021-07-26 15:05:54 +00:00
Philipp Schafft
5c504ec3dd Feature: Added mount history to client and attach the client on initial attach 2021-07-26 15:05:54 +00:00
Philipp Schafft
af35bd10d0 Feature: Added some devel debug logging 2021-07-26 15:05:54 +00:00
Philipp Schafft
d2f7b9c112 Fix: Use correct constructor 2021-07-26 15:05:54 +00:00
Philipp Schafft
965c5e52d0 Feature: Added support for a navigation (mountpoint) history 2021-07-26 15:05:54 +00:00
Philipp Schafft
31659b3ed1 Feature: Added identifier to source_t 2021-07-26 15:05:54 +00:00
Philipp Schafft
673dfb734c Feature: Added mount_identifier_get_mount() and mount_identifier_compare() 2021-07-26 15:05:54 +00:00
Philipp Schafft
6c1233402d Update: As of now we have no weak refs, so not store mount identifier in a tree 2021-07-26 15:05:54 +00:00
Philipp Schafft
cf6fad00bd Feature: Added support for a mountpoint identifier 2021-07-26 15:05:54 +00:00
Philipp Schafft
76f7105e27 Feature: Added support for usernames and passwords in master's mountlist
Closes: #2369
2021-07-26 15:05:04 +00:00
Philipp Schafft
4125ee6898 Fix: Use xmlCharStrdup() not strdup() 2021-07-26 15:05:04 +00:00
Philipp Schafft
9e852dae50 Feature: Added a global client list 2021-07-26 15:05:04 +00:00
Philipp Schafft
6643cfd743 Feature: Seed PRNG with relay data 2021-07-26 15:05:04 +00:00
Philipp Schafft
299d86d18d Feature: Seed PRNG with yp replies 2021-07-26 15:05:04 +00:00
Philipp Schafft
5ecf76e5d1 Fix: Typo 2021-07-26 15:05:04 +00:00
Philipp Schafft
75fc9bb751 Feature: Just swallow parts of the config as extra PRNG seed 2021-07-26 15:05:04 +00:00
Philipp Schafft
2be5318067 Feature: Read standard OpenSSL random seed file if any and linked with OpenSSL 2021-07-26 15:05:04 +00:00
Philipp Schafft
a5f7b621c0 Feature: Work around and warn user if no PRNG seeds are configured 2021-07-26 15:05:04 +00:00
Philipp Schafft
f688dce8a5 Feature: Added support for PRNG_SEED_TYPE_STATIC, and PRNG_SEED_TYPE_PROFILE 2021-07-26 15:05:04 +00:00
Philipp Schafft
6091b6b278 Update: Use timing_get_time() not time() for seeding, it adds about 10 bits 2021-07-26 15:05:04 +00:00
Philipp Schafft
8d80ef6a8b Feature: Crossseed with OpenSSL if we have OpenSSL 2021-07-26 15:05:04 +00:00
Philipp Schafft
43155d7273 Feature: Abuse _slave_thread() to run prng_auto_reseed() in the breaks 2021-07-26 15:05:04 +00:00
Philipp Schafft
bf5a25ff45 Feature: Added API for auto-reseeding 2021-07-26 15:05:04 +00:00
Philipp Schafft
6d91c12acf Fix: Migrated from fopen/fread/fclose to open/read/close for reading files
stdio may buffer the input and may read to far ahead. This is not a good
idea with high quality PRNG devices as it may take significant time to
do so, and remove entropy that will just be discarded.
2021-07-26 15:05:04 +00:00
Philipp Schafft
8c567e5005 Update: Also seed with the length of our seed 2021-07-26 15:05:04 +00:00
Philipp Schafft
1654cadab3 Feature: Added support for providing PRNG seeds via config 2021-07-26 15:05:04 +00:00
Philipp Schafft
a30b15df90 Fix: Fixed bugs in prng.c 2021-07-26 15:05:04 +00:00
Philipp Schafft
5176c7232b Update: Improved type casts a bit 2021-07-26 15:05:04 +00:00
Philipp Schafft
70419a33b5 Feature: Added PRNG 2021-07-26 15:05:04 +00:00
Philipp Schafft
2b9edf6fd1 Feature: Added support to copy a digest 2021-07-26 15:05:04 +00:00
Philipp Schafft
fa95e94c65 Fix: Corrected a memory corruption 2021-07-26 15:05:04 +00:00
Philipp Schafft
29c5bd8d85 Feature: Added digest_algo_id2str() and digest_algo_length_bytes() 2021-07-26 15:05:04 +00:00
Philipp Schafft
9560620c02 Feature: Added SHA3 support 2021-07-26 15:05:04 +00:00
Philipp Schafft
bbddb556ef Feature: Added abstract refobject for digest calculation 2021-07-26 15:05:04 +00:00
Philipp Schafft
355d7e976b Feature: Allow client altering on auth fail and acl deny
This adds the following tags to the config file below <role>:
* <on-failed-action>:   Action to take on auth fail
* <on-failed-argument>: Argument for action on auth fail
* <on-deny-action>:     Action to take on acl deny
* <on-deny-argument>:   Argument for action on acl deny

All client alter actions are supported. The corresponding
auth does not need to have the permission for those operations.

Notes:
    Likely <on-deny-*> should be moved below <acl>, See: #2351

Closes: #1272
2020-10-18 16:10:26 +00:00
Philipp Schafft
d245b0261b Feature: Support <http-headers> in <listen-socket>
Closes: #2359
2020-10-15 20:41:21 +00:00
Philipp Schafft
1c98b77aab Fix: Corrected status code for ICECAST_ERROR_ADMIN_MOUNT_NOT_ACCEPT_URL_UPDATES
Closes: #2373
2020-10-15 16:19:38 +00:00
Philipp Schafft
c3340dd73d Fix: Handle safe HTTP methods in unsafe context correctly
Closes: #2398
2020-10-15 15:23:52 +00:00
Philipp Schafft
e43fd645c1 Feature: Support names for ACLs
Closes: #2347
2020-10-15 14:20:09 +00:00
Philipp Schafft
726bef6d81 Fix: Corrected formating 2020-10-15 13:54:40 +00:00
Philipp Schafft
5f3efe5d52 Fix: Corrected error code for mounts with max listeners reached
Closes: #738
2020-10-15 13:50:10 +00:00
Philipp Schafft
8fac31520c Cleanup: Removed unused var unique_tag 2020-10-15 10:46:46 +00:00
Philipp Schafft
2e377a3e31 Feature: Handle gracefully when a logfile is not configured 2020-10-15 08:57:20 +00:00
Philipp Schafft
1c6d6ae67b Feature: Support loading maintainance entries for dashboard from database 2020-10-14 10:50:03 +00:00
Philipp Schafft
2af9830c92 Feature: Added reportxml_database_build_fragment() 2020-10-14 10:45:00 +00:00
Philipp Schafft
0fb71d4b98 Update: Corrected dashboard generation, but still needs some more updates 2020-10-13 06:07:28 +00:00
Philipp Schafft
ff34cd0522 Cleanup: Replaced html_success()'s own data sending with client_send_buffer() 2020-10-12 19:55:55 +00:00
Philipp Schafft
55b6378023 Cleanup: Unified code sending responses to client some 2020-10-12 18:23:11 +00:00
Philipp Schafft
33c9d81cb6 Fix: Do not use wildcard addresses for hostname generation
See: #2365
2020-10-11 15:53:51 +00:00
Philipp Schafft
88e2cdd465 Feature: Added a stats.xml entry <display-title> to replace <title>, and <artist> 2020-10-11 15:30:18 +00:00
Philipp Schafft
ea6dd6954a Feature: Added new admin command publicstats with a public view of the stats 2020-10-11 14:50:30 +00:00
Philipp Schafft
7a3eb6f530 Fix: Push ICY metadata from upstream servers into the format's vc block 2020-10-11 13:18:18 +00:00
Philipp Schafft
d388ef1feb Fix: Send correct <iceresponse> for admin command manageauth
Note: This is only done in operation mode strict and for JSON output
      to avoid breaking older clients.
2020-10-11 10:03:22 +00:00
Philipp Schafft
9ad34f97ad Feature: Added JSON output for admin command manageauth 2020-10-11 08:51:38 +00:00
Philipp Schafft
5e9feb611a Feature: Added JSON output for admin commands listclients, listmounts, streamlist, moveclients, and updatemetadata 2020-10-11 08:18:55 +00:00
Philipp Schafft
25f23c4192 Feature: Added JSON output for admin commands showlog and dashboard 2020-10-10 20:59:39 +00:00
Philipp Schafft
4cec193029 Feature: Unify generic xml2json rendering with <icestats>, <iceresponse>, and report xml 2020-10-10 20:59:38 +00:00
Philipp Schafft
77ea98730b Feature: Added support for JSON rendering of report xml 2020-10-10 20:59:38 +00:00
Philipp Schafft
ea5b21b58c Feature: Added support for definition, and akindof to handle_node_identification() 2020-10-10 20:59:38 +00:00
Philipp Schafft
c900f0b18f Fix: Set xmlns for <icestats> in reports 2020-10-10 20:59:38 +00:00
Philipp Schafft
4a54efbc46 Feature: Include node identification for <iceresponse> messages 2020-10-10 20:59:38 +00:00
Philipp Schafft
36ff987e89 Feature: Unified node identification in a single function 2020-10-10 20:59:38 +00:00
Philipp Schafft
cc13aba182 Feature: Added constants for XML namespaces 2020-10-10 20:59:38 +00:00
Philipp Schafft
a8a3207cce Feature: Added node for node identification 2020-10-10 20:59:38 +00:00
Philipp Schafft
f52d7ae077 Feature: Added experimental STATS_JSON_REQUEST "stats.json" 2020-10-10 20:59:38 +00:00
Philipp Schafft
6ba8ab1db5 Update: Use different xmlns depending on root node 2020-10-10 20:59:38 +00:00
Philipp Schafft
2a4ed04671 Feature: Handle <max_listeners> and <authenticator> nicer 2020-10-10 20:59:38 +00:00