Philipp Schafft
822057ca57
Feature: Allow registering new admin commands on the fly
2018-06-09 12:43:09 +00:00
Philipp Schafft
bc38c93545
Update: Check admin command table before use
2018-06-09 12:43:09 +00:00
Philipp Schafft
86154bc6d9
Feature: Set foundation for having multiple admin/ sub-directories
2018-06-09 12:43:09 +00:00
Philipp Schafft
9fb26c4607
Fix: Allow non-1-byte PATH_SEPARATOR in admin_send_response()
2018-06-09 11:11:29 +00:00
Philipp Schafft
442960ac4a
Feature: Added admin format ADMIN_FORMAT_AUTO
2018-06-09 10:43:57 +00:00
Philipp Schafft
88ca36545e
Update: Converted the response format for admin requests into a enum
2018-06-09 10:34:34 +00:00
Philipp Schafft
91134b75c0
Fix: Fixed memory leak with new prefixmatch="" attribute of <resource>
2018-06-06 10:50:56 +00:00
Philipp Schafft
819dc9c72e
Fix: Fixed memory leak with new way of sending requests to corresponding endpoints
2018-05-28 14:59:47 +00:00
Philipp Schafft
9b8ca49f99
Cleanup: Dispatch admin requests not as part of GET request handling but more general
2018-05-28 14:59:43 +00:00
Philipp Schafft
728ed8575d
Cleanup: Massive cleanup of the <resource>-tag handling
2018-05-28 14:45:54 +00:00
Philipp Schafft
07ee2814e0
Cleanup: Renamed alias -> resource
2018-05-28 14:45:49 +00:00
Philipp Schafft
29c0501237
Feature: Allow prefix matching aliases
2018-05-28 14:45:35 +00:00
Philipp Schafft
6c0b0e2976
Update: Make the alias dereferencing loop more easy
2018-05-28 14:45:06 +00:00
Philipp Schafft
306cc58d74
Cleanup: Removed useless #includes
2018-05-28 14:32:46 +00:00
Philipp Schafft
4f90399257
Fix: Corrected includes. Made stuff that worked by accident actually work
2018-05-28 14:31:36 +00:00
Philipp Schafft
651ece018c
Update: Corrected Copyright statements
2018-05-28 14:19:55 +00:00
Philipp Schafft
097e62394f
Update: Made error IDs an enum.
...
Thanks to ePirat for the suggestion.
2018-05-26 06:29:10 +00:00
Philipp Schafft
a612d0c4a1
Fix: Fixed log level for auth internal debug message
...
Thanks to ePirat.
2018-05-26 06:17:56 +00:00
Philipp Schafft
4828c07d6b
Fix: Fixed segfault in htpasswd auth if no filename is set
2018-05-26 06:07:24 +00:00
Philipp Schafft
00cb6b0042
Fix: Do not report passwords at all
2018-05-20 19:35:45 +00:00
Philipp Schafft
465aac14f3
Fix: Do not report hashed user passworts in user list.
2018-05-20 19:35:44 +00:00
Philipp Schafft
42b24d1840
Fix: Shut down TLS before closing socket.
...
We should first shut down TLS so we can signal the other end a clean shutdown
in contrast to a socket failure.
Big thanks to wget(1) to find it. Fantastic tool.
2018-05-20 14:40:01 +00:00
Philipp Schafft
0fe5d5fa1f
Fix: Added missing status codes to header generator
2018-05-07 16:33:17 +00:00
Philipp Schafft
1c3b10e07a
Update: mark internal table static
2018-05-07 16:33:06 +00:00
Philipp Schafft
4b190d2481
Feature: Added per Error UUID. Also formats error pages nicer
2018-05-07 16:32:56 +00:00
Philipp Schafft
b42378abc4
Feature: Generate errors based on IDs.
...
This generates error pages based on IDs. This allows to reuse errors
and add more advanced information to them.
This patch also makes Icecast send in plain text OR HTML based
on the clients Accept:-string.
2018-05-07 16:28:46 +00:00
Marvin Scholz
cf21756035
Refactor admin.c handlers
2018-05-06 14:22:51 +02:00
Marvin Scholz
e99ebfae3a
Move helper macros in admin.c to the top
2018-05-05 07:26:37 +00:00
Philipp Schafft
0db820c9dd
Feature: Added parser for Accept*:-headers
2018-05-05 06:42:56 +00:00
Philipp Schafft
3b55f16977
Updated submodules
2018-05-05 06:42:56 +00:00
Philipp Schafft
bcc0e86ca0
Fix: Fixed regression for ICY source client's auth
...
This allows ICY source clients to log in again with 2.4.x-style config.
ICY does not provide a username. Therefore the username was unset.
This patch sets the username for ICY source connections and allow them
to be handled as if a username was provided.
Configuration tag <shoutcast-user> was added to select the username to set
to. This defaults to "source".
2018-05-05 06:42:56 +00:00
Philipp Schafft
578366e541
Cleanup: Removed useless stats_event()
2018-05-05 06:42:56 +00:00
Philipp Schafft
5d603a01d8
Fix: Fixed a segfault when xsltApplyStylesheet() returns error
2018-05-05 06:42:42 +00:00
Philipp Schafft
fb3678b0ca
Fix: Do not access request type when we have no parser (slaves)
2018-05-05 06:42:34 +00:00
Philipp Schafft
514e825a81
Fix: Corrected response and fixed TLS for 416 Request Range Not Satisfiable responses
2018-04-21 11:06:48 +00:00
Philipp Schafft
be407ebbc7
Fix: Unbreak TLS for ICECAST_PROTOCOL_SHOUTCAST source clients
2018-04-21 11:06:42 +00:00
Philipp Schafft
2c32f02083
Update: Code style
2018-04-13 18:48:03 +00:00
Philipp Schafft
698186608b
Fix: Send "Content-Length: 0" on 100-continue
2018-04-13 13:43:36 +00:00
Philipp Schafft
e099f80af1
Fix: Only report one Upgrade:-Header on upgrade
2018-03-28 15:10:05 +00:00
Philipp Schafft
789dd06762
Feature: Export used protocol in status XML
2018-03-01 10:41:52 +00:00
Marvin Scholz
51edb020a7
Makefile: Add missing tls.h to header files
...
This fixes make distcheck and the distribution tarballs, those
were previously lacking this header which caused builds to fail.
2018-01-13 21:43:32 +01:00
Philipp Schafft
cd9c8420d3
Feature: Added new config tag tls-context, tls-key and attribute implementation
2017-07-23 13:14:48 +00:00
Philipp Schafft
ac92af50c5
Fix: Corrected typo
2017-07-23 13:14:48 +00:00
Philipp Schafft
b47ae369b6
Update: Prepare code for a new <tls-context> element
2017-07-23 13:14:48 +00:00
Philipp Schafft
68b3b1c72a
Feature: Added function to check for specific TLS implementation
2017-07-23 13:14:48 +00:00
Philipp Schafft
9cbc110f78
Fix: Do not announce Upgrade to TLS on TLS Mode DISABLED sockets
2017-07-23 13:14:48 +00:00
Philipp Schafft
a864fbf47a
Make tls mode more configureable
2017-07-23 13:14:48 +00:00
Philipp Schafft
d7cd12de75
Cleanup: Wording and object names from SSL to TLS
2017-07-23 13:14:48 +00:00
Philipp Schafft
e513f09b85
Typo: openSSL->OpenSSL
2017-07-23 13:14:48 +00:00
Philipp Schafft
3376498e5e
Update: completly abstracted OpenSSL into tls.[ch]
2017-07-23 13:14:48 +00:00
Philipp Schafft
a1aa0196b2
Feature: Allow to use of non-TLS sockets for TLS clients
2017-07-23 13:14:48 +00:00
Philipp Schafft
1d39b657da
Feature: Allow reloading TLS key on the fly
2017-07-23 13:14:48 +00:00
Philipp Schafft
a6eb48e44d
Update: Abstracted TLS support in tls.c
2017-07-23 13:14:48 +00:00
Philipp Schafft
64b16f8296
Update: Abstracted the TLS context code into tls.c
2017-07-23 13:14:48 +00:00
Philipp Schafft
53e95727b4
Update: Code style
2017-01-22 08:52:57 +00:00
Philipp Schafft
89804764b0
Fix: Do not segfaul on bad Opus streams
2017-01-22 08:52:57 +00:00
Philipp Schafft
5b512da304
Cleanup: corrected debug output of Opus support
2017-01-22 08:52:56 +00:00
Philipp Schafft
0d7f81b75a
Feature: Added support to extract metadata from Opus streams.
...
This adds support to read metadata from Ogg/Opus streams:
* Original sample rate from OpusHead,
* number of channels from OpusHead,
* Tags from OpusTags.
2017-01-22 08:52:56 +00:00
Philipp Schafft
84124c313a
Update: Added spaces to output of auth_result2str().
...
This adds spaces into the strings such as "nomatch" (-> "no match")
as returned by auth_result2str(). This is to improve readability of
resulting logfiles by most uses.
2017-01-22 08:38:01 +00:00
Philipp Schafft
e75b1a1612
Fix: Corrected number of arguments for ICECAST_LOG_INFO()
...
This fixes the number of arguments for ICECAST_LOG_INFO().
Why doesn't GCC warn about this?
2017-01-22 08:38:01 +00:00
Philipp Schafft
f5dd306f71
Update: improved auth related logging
2017-01-22 08:38:01 +00:00
Philipp Schafft
ce2b4195da
Fix: Fixes a number of empty string segfaults in config parser
...
This fixes a number of segfault happening in case config tags are
empty. This patch also adds warnings for most cases.
Please test for any regressions.
This should likely be ported to 2.4.4 as well.
Closes : #2265
2016-11-30 11:22:36 +00:00
Thomas B. Ruecker
70265c466e
Spelling fix, thanks to Ukikie
2016-11-23 20:36:53 +00:00
Philipp Schafft
b3b1dd12a1
Workaround: This avoids libspeex printing warnings on Opus streams.
...
libspeex reports warnings in case of oddnesses with the data to stderr.
However Icecast2 uses those functions in it's codec probeing process.
This way libspeex will write messages to a posibily reused random handle.
This is clearly a bug by package maintainers of libspeex.
See the source code of this change as well as libspeex's source code
as reference.
2016-10-29 11:42:52 +00:00
Philipp Schafft
72075d0d0d
Fix: Fixed regression introduced by r19250.
...
This fixes the regression introduced by r19250 (461a537561
).
The fix checks if the source client is actually known before printing it's IP-Address.
See also: #2016
2016-09-04 11:38:07 +00:00
Marvin Scholz
4117a2d2e2
Config: Rename mp3-metadata-interval to icy-metadata-interval
...
As proposed in #2272 , this renames the mount specific
mp3-metadata-interval to icy-metadata-interval to prevent
confusion about what it does (setting the icy metadata
interval) and to make clear it's not mp3 specific but ICY
specific.
2016-06-28 11:39:57 +00:00
Marvin Scholz
4345060c02
Cleanup: corrected usage of spaces
2016-06-07 11:30:46 +00:00
Philipp Schafft
834de5ba77
Fix: allow building without libcurl support
2016-04-19 15:13:12 +00:00
Marvin Scholz
43658deb37
Add log message for succesful streamlist requests
2016-04-13 10:12:39 +02:00
JRS
a552c6e667
Fix update_from_master() for receiving HTTP/1.1
...
Signed-off-by: Marvin Scholz <epirat07@gmail.com>
2016-04-13 09:57:00 +02:00
Philipp Schafft
c8f565b030
Update: SECURITY File extension check for trailing characters
...
This changes the file extension check in a way that it no longer
ignores trailing characters. This significantly reduces the risk
for false positives while matching. However this invalidates old
setups with files like foo.xsl3. However I have never files like
that in the wild.
This is based on the patch privided by ePirat in ticket #2248 .
See: #2248
2016-03-27 17:51:59 +00:00
Joseph Wallace
a2cac3ee93
Make ebml_parse_tag return tag ID code
...
(applying lessons learned from libshout)
2016-03-27 12:29:23 -04:00
Joseph Wallace
a218055158
Move tag-parsing bail conditions to top for clarity.
2016-03-27 12:29:23 -04:00
Joseph Wallace
78293f0485
Delete some debugging comments.
2016-03-27 12:29:06 -04:00
Joseph Wallace
dcbba0c600
Cleanup some signed-type issues in format-ebml.c
2016-03-27 12:29:06 -04:00
Philipp Schafft
9cae2ef646
Updated submodules
2016-03-27 13:16:23 +00:00
Joseph Wallace
788bd94eeb
BUGFIX: Use a signed type for capturing the return value of client_read_bytes()
...
Signed-off-by: Marvin Scholz <epirat07@gmail.com>
2016-02-13 21:12:34 +01:00
Marvin Scholz
3a73f9c146
More hardening of XML output against invalid entities
...
This replaces the add node function with the one intended for text nodes
to prevent that invalid entities are not encoded and therefore could
break the XML output.
(See d739c65e54
and #2255 )
2016-02-10 20:56:56 +01:00
Thomas B. Ruecker
4c57532e7b
Added missing space to fix output
2016-02-10 08:15:48 +00:00
Marvin Scholz
37150fe020
Fix STATS legacy authentication
...
This fixes the issue that auth for STATS method always fails, by
adding stats method to legacy admin auth in cfgfile.c
2016-02-09 20:27:10 +01:00
Marvin Scholz
d739c65e54
Fix invalid entities in listclient xml
...
This fixes a bug where listener Referer or User-Agent strings containing
a sequence like `&T;` was not escaped properly and therefore made the
whole XML document invalid.
Injecting new XML nodes (<foo></foo>) was not possible, it seems in the
worse case all it could cause was that the XML failed to parse.
Fix #2255
2016-02-08 23:02:02 +01:00
Philipp Schafft
235527192c
Merge branch 'webmKeyFrames'
2016-02-06 17:44:56 +00:00
Marvin Scholz
eecbc647b4
Fix handling of URIs in custom XSL loader
...
There was an error how URIs were handled in our custom XSL loader
that rewrites include URIs to point to admin dir if the include
is not found in the current dir.
The check for the file would not work if the path contains chars
that are usually escaped in URIs, like a space (%20), as we get
a already encoded version of that URI in the loader and did not
decode it before checking the existence of the file.
(Fix #2249 )
2016-01-26 10:13:07 +01:00
Philipp Schafft
471cbaa60b
Fix: remove tailing dots in URI.
...
This works around the problem that windows ignores tailing dots.
This way you could trick Icecast2 to send a XSLT file as plain text.
Please test.
Closes : #2247
2015-12-24 00:38:11 +00:00
Joseph Wallace
d196e75416
Convert ints used as boolean values into actual bools.
2015-12-19 15:32:37 -05:00
Joseph Wallace
1f6a0a497f
Replace "long long"s with an appropriate type from <stdint.h>
2015-12-19 15:02:33 -05:00
Philipp Schafft
255af9e610
Fix: Moved <mime-types> into <paths>.
...
This moved the <mime-types> setting into <paths>. The code still
supports reading it from the root element but will warn the user
about this.
Also there seems to be no documentation about this setting.
Closes : #2164
2015-12-12 08:17:58 +00:00
Joseph Wallace
de004670c3
Be clearer about ebml_parse_sized_int's sign & endian behavior.
2015-12-01 02:21:24 -05:00
Philipp Schafft
d3370f3d1c
Cleanup: unify util.c a bit with libshout.
2015-11-28 17:58:18 +00:00
Joseph Wallace
e6cb7e26ee
Move ebml-private structure definitions out of header file.
2015-11-28 12:49:54 -05:00
Joseph Wallace
0d7448efc7
Change buffer-related sizes & indices to size_t or ssize_t, as applicable.
2015-11-28 12:49:45 -05:00
Joseph Wallace
8a09627d05
Fix type of copy_state in EBML parser to an enum variable.
2015-11-28 12:41:46 -05:00
Joseph Wallace
dc263858a4
Additional format_ebml.c comments.
2015-11-28 12:41:46 -05:00
Joseph Wallace
af238d9129
Move MKV element magic values into proper #define constants.
2015-11-28 12:41:46 -05:00
Joseph Wallace
d394a244f0
Bugfix: Cluster test could have read past the end of the input buffer.
...
Move the cluster test inside the space-to-read check with the other tests.
2015-11-28 12:41:46 -05:00
Joseph Wallace
9de8fe483d
Remove spare whitespace on blank lines.
2015-11-28 12:41:46 -05:00
Joseph Wallace
e4258bfad3
Don't wait for video keyframes on audio-only streams.
2015-11-28 12:41:46 -05:00
Joseph Wallace
9cf4ed560c
Probe SimpleBlocks to determine which clusters start with a keyframe.
2015-11-28 12:41:45 -05:00
Joseph Wallace
6e11db5de2
Probe Tracks section of header to identify the video track.
...
We'll sync keyframes on that track next commit.
2015-11-28 12:41:45 -05:00
Joseph Wallace
9899413839
Add parser for bodies of Integer elements.
2015-11-28 12:41:45 -05:00