Philipp Schafft
73f00d5934
Update: Make connection IDs it's own type
2018-07-06 18:43:25 +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
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
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
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
b9ff70b589
Fix: Only allow access to "*" for OPTIONS
2018-06-20 06:34:00 +00:00
Philipp Schafft
7e76986741
Update: Added a fast lane for client requests with a small body
2018-06-19 13:44:07 +00:00
Philipp Schafft
59cf2ff426
Cleanup: Removed now useless start-of-stream passing code (as much as I found. There is more)
2018-06-19 13:44:07 +00:00
Philipp Schafft
c3afdff5fb
Feature: Allow POST for web requests
2018-06-19 13:44:07 +00:00
Philipp Schafft
a466900ae1
Feature: Allow POST for admin requests
2018-06-19 13:44:07 +00:00
Philipp Schafft
44ebc3cf22
Update: Added protection against re-queueing a client for reading body that has been queued once already
2018-06-19 13:44:07 +00:00
Philipp Schafft
19dda79146
Update: Added timeout and size limit to client body queue handling
2018-06-19 13:44:07 +00:00
Philipp Schafft
669707d312
Update: Added basic client body slurping
2018-06-19 13:44:07 +00:00
Philipp Schafft
e9624ef523
Cleanup: Removed unused structure
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
38c71f7673
Feature: Allow modules to handle client requests via <resource> tags
2018-06-19 12:56:40 +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
65f5eb9771
Cleanup: Make use of "icecasttypes.h" in connection.[ch]
2018-06-17 10:22:17 +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
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
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
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
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
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
be407ebbc7
Fix: Unbreak TLS for ICECAST_PROTOCOL_SHOUTCAST source clients
2018-04-21 11:06:42 +00:00
Philipp Schafft
698186608b
Fix: Send "Content-Length: 0" on 100-continue
2018-04-13 13:43:36 +00:00
Philipp Schafft
b47ae369b6
Update: Prepare code for a new <tls-context> element
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
85b709da04
Merge branch 'matchfile'
2015-11-23 13:01:23 +00:00
Philipp Schafft
de48bdd13f
Cleanup: Removed unused member host vom connection struct
2015-11-23 11:44:14 +00:00
Philipp Schafft
b55bae035d
Update: Improved matchfile API
...
This adds support for allow-deny kind of rules with the matchfile API.
See: #2119
2015-11-22 18:47:06 +00:00
Philipp Schafft
d24dda61d0
Cleanup: moved ban and allow file support into generic implementation
...
ban and allow file support has been moved into a generic implementation
that can be re-used by later code such as proxy matching or other
blacklisting.
See: #1959
2015-11-22 18:47:00 +00:00
Thomas B. Ruecker
671c2366cf
Fixed log messages and comments
...
* Reworded many log messages for better understanding.
* Adjusted some version targets as we won't have a 2.4.2 release.
* Added some FIXME comments
2015-03-01 16:55:27 +00:00
Philipp Schafft
c1034058f6
Fix: do not close(-1) on Keep-Alive clients
2015-03-01 16:53:17 +00:00