Philipp Schafft
1c7329cfbf
Feature: Added some client request body slurping helpers
2018-06-19 13:44:07 +00:00
Philipp Schafft
b0c7da36a0
Fix: Fixed HTTP/1.1 pipelineing
2018-06-19 13:44:07 +00:00
Philipp Schafft
33dcf24d21
Fix: Only reuse client IF we reached the end of it's body
2018-06-19 13:44:07 +00:00
Philipp Schafft
01c35e2c41
Feature: Check if we know client's body length. If so do not allow reading more than it.
2018-06-19 13:44:07 +00:00
Philipp Schafft
f370e88335
Feature: Implemented a way to put back data read from a connection
2018-06-19 13:44:07 +00:00
Philipp Schafft
460477230d
Feature: Consider encoding backend EOF state
2018-06-19 13:44:07 +00:00
Philipp Schafft
38436c3f6e
Update: Abstract body read with client_body_read() and client_body_eof()
2018-06-19 13:44:07 +00:00
Philipp Schafft
ece3786a0a
Fix: Check if we actually have source->client->con in case we want to access source->client->con->tls
2018-06-19 13:44:06 +00:00
Philipp Schafft
551a36e43b
Fix: Added handling of newcb and freecb
2018-06-19 12:56:40 +00:00
Philipp Schafft
38c71f7673
Feature: Allow modules to handle client requests via <resource> tags
2018-06-19 12:56:40 +00:00
Philipp Schafft
f02c23a593
Fix: Corrected reference counters
2018-06-19 12:56:40 +00:00
Philipp Schafft
5d815f2205
Feature: Added a global module container object
2018-06-19 12:56:40 +00:00
Philipp Schafft
bb77660020
Feature: Added infrastructure for modules. Currently not used by Icecast at all.
2018-06-19 12:56:40 +00:00
Philipp Schafft
d745d02f4b
Cleanup: Removed unused member
2018-06-19 10:47:49 +00:00
Philipp Schafft
513b62aeea
Cleanup: Fixed some compiler warnings
2018-06-19 10:47:03 +00:00
Philipp Schafft
ea42a12efb
Fix: Fixed regression in htpasswd auth detecting no user list.
...
This fixed a regression caused by 4828c07d6b
.
The patch was also applied into release-2.4.4 as c5201770b6
.
However the patch for release-2.4.4 was correct. So no regression there.
2018-06-19 09:09:16 +00:00
Philipp Schafft
a3f29ae42a
Update: Renamed "parent" to "associated" to make it more generally useful
2018-06-17 13:17:05 +00:00
Philipp Schafft
4e1dc94c50
Feature: Added some useful macros to refobject API
2018-06-17 13:16:07 +00:00
Philipp Schafft
ac372a2edc
Fix: Do free the base of a refobject as well
2018-06-17 13:13:10 +00:00
Philipp Schafft
48c3ce52b3
Fix: Corrected used headers
2018-06-17 13:12:59 +00:00
Philipp Schafft
7cba708a50
Feature: Make refobject more general useful
2018-06-17 13:12:51 +00:00
Philipp Schafft
a9d391ffbc
Feature: Added generic reference object
2018-06-17 13:12:21 +00:00
Philipp Schafft
059bfdc7ce
Cleanup: Corrected headers used in code
2018-06-17 12:47:35 +00:00
Philipp Schafft
5c3e7760c5
Cleanup: Corrected headers used in headers
2018-06-17 12:28:38 +00:00
Philipp Schafft
8b86373e32
Cleanup: Moved types from "cfgfile.h" to "icecasttypes.h"
2018-06-17 12:15:18 +00:00
Philipp Schafft
aeaa91f633
Cleanup: Moved types from "connection.h" and "slave.h" to "icecasttypes.h"
2018-06-17 11:42:20 +00:00
Philipp Schafft
34b10657da
Cleanup: Make use of "icecasttypes.h"
2018-06-17 10:33:10 +00:00
Philipp Schafft
e467f6e31b
Cleanup: Make use of "icecasttypes.h" in format*.[ch]
2018-06-17 10:26:34 +00:00
Philipp Schafft
65f5eb9771
Cleanup: Make use of "icecasttypes.h" in connection.[ch]
2018-06-17 10:22:17 +00:00
Philipp Schafft
7893fc7560
Cleanup: Removed unused forward declaration
2018-06-17 10:21:33 +00:00
Philipp Schafft
f8e1ed0827
Cleanup: Removed unused forward declaration
2018-06-17 10:16:07 +00:00
Philipp Schafft
0adab82a71
Update: Moved ice_config_t into "icecasttypes.h"
2018-06-17 10:15:32 +00:00
Philipp Schafft
6ffc893b6a
Update: Move most common types into "icecasttypes.h"
2018-06-17 10:12:15 +00:00
Philipp Schafft
50a9d3382a
Update: Added a header for commonly used types
2018-06-17 09:43:55 +00:00
Philipp Schafft
41ab50dc9a
Update: Include <config.h> as we need it
2018-06-17 08:57:31 +00:00
Philipp Schafft
6136810f27
Fix: Corrected const for SSL_METHOD*.
...
I did this for OpenSSL 1.0.1t (0x1000114fL) as I don't
know which was the first affected version.
2018-06-16 18:40:04 +00:00
Philipp Schafft
d1dbc561ac
Update: Announce support for OPTIONS
2018-06-16 17:59:11 +00:00
Philipp Schafft
0bb65ed090
Feature: Allow OPTIONS on admin requests
2018-06-16 17:59:11 +00:00
Philipp Schafft
2bd71b9d01
Feature: Allow OPTIONS request for * and web requests
2018-06-16 17:59:11 +00:00
Philipp Schafft
6f7881a875
Update: Allow update of pidfile on the fly.
2018-06-16 17:53:29 +00:00
Philipp Schafft
a2763ac9e4
Update: Improved pidfile error handling
2018-06-16 17:51:16 +00:00
Philipp Schafft
23cc8a9646
Cleanup: Mark local functions static
2018-06-16 17:51:16 +00:00
Philipp Schafft
be0bf035c7
Update: Added comments to make code easier to understand
2018-06-16 17:38:35 +00:00
Philipp Schafft
2b3f07e9b0
Feature: Allow using default config filename.
...
This uses the new configure option --with-default-config=PATH.
2018-06-16 17:33:14 +00:00
Philipp Schafft
452c2b17d3
Fix: Use size_t not int
2018-06-16 17:30:42 +00:00
Philipp Schafft
beb4523b84
Cleanup: Replaced magic number with sizeof()
2018-06-16 17:29:51 +00:00
Philipp Schafft
8a69db3ab7
Update: Allow running as root IF Icecast has PID=1
2018-06-16 17:28:42 +00:00
Philipp Schafft
cc0f62df89
Update: Log PID on process startup.
2018-06-16 17:27:59 +00:00
Philipp Schafft
55e34b3b52
Fix: Removed erroneously defined types
2018-06-16 14:30:46 +00:00
Philipp Schafft
02fb2aa97b
Fix: Corrected the include of <stdint.h> and <inttypes.h> to match IEEE Std 1003.1-2017 ("POSIX 7")
2018-06-16 15:34:56 +02:00
Philipp Schafft
fd1f34c1e2
Cleanup: HAVE_AUTH_URL -> HAVE_CURL
2018-06-16 15:34:56 +02:00
Philipp Schafft
8b3372e085
Cleanup: Removed unused (and broken?) libkate support from format_kate.c
2018-06-16 15:34:56 +02:00
Marvin Scholz
39a0ca8491
Makefiles cleanup
2018-06-16 15:34:56 +02:00
Marvin Scholz
3b5d5b7b93
Makefile formatting improvements
2018-06-16 15:34:56 +02:00
Marvin Scholz
af608dd120
Remove debug and profile targets
2018-06-16 15:34:56 +02:00
Marvin Scholz
3f7d218576
Remove automake options from makefiles
2018-06-16 15:34:56 +02:00
Marvin Scholz
61ac5f9b9c
Rewrite configure.ac
...
This rewritten configure.ac is nearly independent of any of the xiph m4
macros, most of which are ancient and can nowadays easily replaced
with pkg-config.
2018-06-16 15:34:56 +02:00
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