Marvin Scholz
0df3e0eda1
Fix: Correct clearing of XSLT cache entry
...
Fix a double free that could happen when the cache was cleared
during config reload and then subsequent XSLT requests would try
to evict the same cache item, because the item name was not set to
NULL in clear_cache_entry.
Previously this was no problem as a cache entry would only be evicted
on load of a new XSLT and that one would immediately fill in the place
of the old one.
2018-07-09 04:00:18 +02:00
Marvin Scholz
5cd32038d0
Update: Reduce unnecessary config locks in XSLT loader
2018-07-09 03:36:37 +02:00
Marvin Scholz
f52f562e76
Fix: Clear XSLT admin path cache on config reload
2018-07-09 03:36:11 +02:00
Marvin Scholz
450c26a45b
Fix: Convert admin path in XSLT loader to URI
...
The xmlBuildURI function only deals with URIs, not paths, therefore
the admin path has to be converted to a URI first.
2018-07-09 03:35:54 +02:00
Marvin Scholz
858ff390d3
Fix: Remove broken XSLT loader cache invalidation
...
The XSLT loader caches the admin path from the config file and
invalidates it by comparing the stored path with the one in the config.
But to the stored path a / is appended, which means the cache would
always invalidate as it never matches.
2018-07-09 03:35:48 +02:00
Marvin Scholz
c6a8859fbc
Fix: compat: Use stdint on Windows if possible
2018-07-09 03:35:25 +02:00
Marvin Scholz
db95e9c6fc
Fix: Guard include of <sys/select.h>
2018-07-09 03:35:15 +02:00
Marvin Scholz
67927ddddf
Fix: Add missing files to admin Makefile.am
2018-07-09 03:35:10 +02:00
Marvin Scholz
efb197ca4b
Cleanup: Reformat admin Makefile.am
2018-07-09 03:35:02 +02:00
Marvin Scholz
9897567ea0
Update: Add debug logging for admin auth error
2018-07-09 03:34:53 +02:00
Philipp Schafft
ade6aef0fd
Update: Increased the maximum playlist items default from 4 to 10.
...
Closes : xiph/icecast-server#2332
2018-07-07 10:08:27 +00:00
Philipp Schafft
45d44a6349
Feature: Clear XSLT cache on config reload
2018-07-06 21:40:37 +00:00
Philipp Schafft
3ffe5f4e96
Update: Adding more debugging to XSLT cache
2018-07-06 20:37:18 +00:00
Philipp Schafft
e9140588c6
Cleanup: Formating
2018-07-06 20:27:02 +00:00
Philipp Schafft
6f6499a187
Cleanup: Formating
2018-07-06 20:26:12 +00:00
Philipp Schafft
73f00d5934
Update: Make connection IDs it's own type
2018-07-06 18:43:25 +00:00
Philipp Schafft
d08eba9607
Fix: Fixed report XML related memory leaks
2018-07-06 18:43:10 +00:00
Philipp Schafft
c02f34e989
Fix: Copy XML childs recursively
2018-07-06 18:42:45 +00:00
Philipp Schafft
c26ee2fcfb
Merge branch 'ph3-listen-sockets'
2018-06-30 14:12:08 +00:00
Philipp Schafft
d9e96a55e7
Feature: Allow <resource> to match on a specific listen-socket
2018-06-30 14:06:05 +00:00
Philipp Schafft
2febabcddd
Update: Corrected copyright
2018-06-30 13:57:37 +00:00
Philipp Schafft
80ffdca7d1
Feature: Allow listen sockets to virtually handle other sockets traffic.
...
This adds on-behalf-of="#id" to <listen-socket>. It allows a socket
to handle the traffic that was originally meant of another (virtual)
listen socket.
2018-06-30 13:51:42 +00:00
Philipp Schafft
7742bf0a21
Fix: Report correct listen URL to client.
...
The URL is constructed considering Protocol, TLS Mode, Host, and Port.
This considers:
- The Host:-header as provided by the client,
- The effective listensocket of the client,
- Global configuration.
This works for:
- Playlist generation,
- Admin authed playlist generation,
- Stats based XSLT.
It also unifies code:
- Default stats values.
Not yet included:
- YP requests.
2018-06-30 13:12:30 +00:00
Philipp Schafft
33588fc9cf
Update: Prepare listensocket_*() API for uses with real listen socket != effective listen socket
2018-06-30 13:10:09 +00:00
Philipp Schafft
58848cbe56
Feature: Allow listen sockets to be of type "virtual"
2018-06-30 13:10:09 +00:00
Philipp Schafft
75be23b550
Fix: Also copy listener type
2018-06-30 13:10:08 +00:00
Philipp Schafft
6ad7f8d3db
Feature: Added id and type property to <listen-socket>
2018-06-30 13:10:08 +00:00
Philipp Schafft
e1f944a3f5
Update: Added comment about global lock in __prepare_shoutcast_admin_cgi_request()
2018-06-30 13:10:08 +00:00
Philipp Schafft
ab8d1639ba
Update: Made listensocket_* perfect thread safe.
2018-06-30 13:10:08 +00:00
Philipp Schafft
fcef3f12d6
Feature: Allow complete reconfiguration of sockets on config reload
2018-06-30 13:10:08 +00:00
Philipp Schafft
b495a407f9
Feature: Added listensocket_container_configure_and_setup() that combines configure and setup into one call
2018-06-30 13:10:08 +00:00
Philipp Schafft
a6ff1cb2d7
Update: Moved compare of two listeners into __listener_cmp()
2018-06-30 13:10:08 +00:00
Philipp Schafft
e661e14bee
Moved config apply on listensocket objects into it's own function
2018-06-30 13:10:08 +00:00
Philipp Schafft
6054f5cce4
Cleanup: Mark static function as inline
2018-06-30 13:10:08 +00:00
Philipp Schafft
8848d74e58
Fix: Correctly detect error condition
2018-06-30 13:10:08 +00:00
Philipp Schafft
4279a6caea
Update: Make use of listensocket_container_set_sockcount_cb() and listensocket_container_sockcount()
...
This fixes the starts-up-with-no-listen-sockets bug.
2018-06-30 13:10:08 +00:00
Philipp Schafft
c401bbcc12
Feature: Added listensocket_container_set_sockcount_cb() and listensocket_container_sockcount()
2018-06-30 13:10:08 +00:00
Philipp Schafft
5490120d4d
Update: Rewrote listen socket handling code comepletly.
...
This moves all the listen socket code into a nice and abstracting file.
Notes:
* Altering listen socket setup does not yet work on config reload.
(Did it ever work?)
* Server will start with no listen sockets. (There are unconfirmed
rumours it sometimes(?) did before.) This is to be re-implemented
in another commit. It can also be improved to work allow checking
on reload or other config changes.
* For slave connections the server address is now checked against
the allow/deny-IP list.
2018-06-30 13:10:08 +00:00
Philipp Schafft
1a426f7f81
Cleanup: Renamed *_TRANSFORMED* to *_HTML*
2018-06-29 15:25:12 +00:00
Philipp Schafft
c7910fb8bf
Merge branch 'ph3-reportxml'
2018-06-29 14:37:28 +00:00
Philipp Schafft
bc6a960315
Feature: Display error code if known
2018-06-29 14:26:42 +00:00
Philipp Schafft
4e7985c168
Fix: Allocate XML namespace
2018-06-29 13:40:06 +00:00
Philipp Schafft
962805df82
Update: Added attribute "application" for node "extension"
2018-06-29 13:40:03 +00:00
Philipp Schafft
0c7073f04f
Update: Attach definition to childs based on their type
2018-06-29 10:29:22 +00:00
Philipp Schafft
4188bd899f
Feature: Add definition ID to the first child of generated reports
2018-06-29 10:29:19 +00:00
Philipp Schafft
6168573e86
Feature: Render error messages via Report XML and XSLT
2018-06-27 16:07:21 +00:00
Philipp Schafft
7fadb6ce86
Feature: Added function to send XML Report to client
2018-06-27 15:54:31 +00:00
Philipp Schafft
8ea908e332
Feature: Only allow those nodes as childs that are allowed as per specs
2018-06-27 15:54:31 +00:00
Philipp Schafft
5eac0d80ca
Feature: Allow only the correct type of content per node
2018-06-27 15:54:31 +00:00
Philipp Schafft
7ffe12bc8b
Fix: Also copy XML childs when doing a node copy
2018-06-27 15:54:30 +00:00