1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-11-03 04:17:17 -05:00
Commit Graph

1628 Commits

Author SHA1 Message Date
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
Philipp Schafft
02e9c048d0 Fix: Handle bytes >= 0x80 correctly 2020-10-10 20:59:37 +00:00
Philipp Schafft
61d68a13b4 Fix: Report sources correctly 2020-10-10 20:59:37 +00:00
Philipp Schafft
3af23324f0 Feature: Added that much of a XSPF -> JSPF renderer as we need 2020-10-10 20:59:37 +00:00
Philipp Schafft
758a67c475 Update: More aggressively use workaround for xmlns as property 2020-10-10 20:59:37 +00:00
Philipp Schafft
b9652444ff Feature: Workaround for xmlns set as property 2020-10-10 20:59:37 +00:00
Philipp Schafft
30f9e89e26 Feature: Added a basic renderer for <icestats> 2020-10-10 20:59:37 +00:00
Philipp Schafft
9be721723c Feature: Added function for writing boolean XML nodes as JSON 2020-10-10 20:59:37 +00:00
Philipp Schafft
adef1ef38e Feature: Added support for a container object holding a list of XML nodes 2020-10-10 20:59:37 +00:00
Philipp Schafft
7a9d42209e Update: Generify the render_node_legacyresponse() code a bit 2020-10-10 20:59:37 +00:00
Philipp Schafft
3fd16ac834 Feature: Added support for JSON output on <iceresponse>-style XML commands 2020-10-10 20:59:37 +00:00
Philipp Schafft
236c0dfa56 Feature: Added a renderer for <iceresponse>-style XML 2020-10-10 20:59:37 +00:00
Philipp Schafft
6fc7f21a11 Feature: Improved logic for selecting a specific renderer 2020-10-10 20:59:37 +00:00
Philipp Schafft
1666b478a1 Update: Only set namespace for reportxml if not used for XSLT 2020-10-10 20:59:37 +00:00
Philipp Schafft
5045271d3c Feature: Added infrastructure to send JSON as part of admin/ 2020-10-10 20:59:36 +00:00
Philipp Schafft
2130a80f70 Update: Changed xml2json_render_doc_simple's signature 2020-10-10 20:59:36 +00:00
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