Merge branch 'shout_tls' of git://github.com/JakobOvrum/MPD
This commit is contained in:
commit
d1bdea8edb
2
NEWS
2
NEWS
|
@ -1,6 +1,8 @@
|
|||
ver 0.21.5 (not yet released)
|
||||
* tags
|
||||
- ape: map "Album Artist"
|
||||
* output
|
||||
- shout: add support for TLS
|
||||
|
||||
ver 0.21.4 (2019/01/04)
|
||||
* database
|
||||
|
|
|
@ -974,6 +974,8 @@ You must set a format.
|
|||
- Set the timeout for the shout connection in seconds. Defaults to 2 seconds.
|
||||
* - **protocol icecast2|icecast1|shoutcast**
|
||||
- Specifies the protocol that wil be used to connect to the server. The default is "icecast2".
|
||||
* - **tls disabled|auto|auto_no_plain|rfc2818|rfc2817**
|
||||
- Specifies what kind of TLS to use. The default is "disabled" (no TLS).
|
||||
* - **mount URI**
|
||||
- Mounts the :program:`MPD` stream in the specified URI.
|
||||
* - **user USERNAME**
|
||||
|
|
|
@ -141,6 +141,25 @@ ShoutOutput::ShoutOutput(const ConfigBlock &block)
|
|||
protocol = SHOUT_PROTOCOL_HTTP;
|
||||
}
|
||||
|
||||
unsigned tls;
|
||||
value = block.GetBlockValue("tls");
|
||||
if (value != nullptr) {
|
||||
if (0 == strcmp(value, "disabled"))
|
||||
tls = SHOUT_TLS_DISABLED;
|
||||
else if(0 == strcmp(value, "auto"))
|
||||
tls = SHOUT_TLS_AUTO;
|
||||
else if(0 == strcmp(value, "auto_no_plain"))
|
||||
tls = SHOUT_TLS_AUTO_NO_PLAIN;
|
||||
else if(0 == strcmp(value, "rfc2818"))
|
||||
tls = SHOUT_TLS_RFC2818;
|
||||
else if(0 == strcmp(value, "rfc2817"))
|
||||
tls = SHOUT_TLS_RFC2817;
|
||||
else
|
||||
throw FormatRuntimeError("invalid shout TLS option \"%s\"", value);
|
||||
} else {
|
||||
tls = SHOUT_TLS_DISABLED;
|
||||
}
|
||||
|
||||
if (shout_set_host(shout_conn, host) != SHOUTERR_SUCCESS ||
|
||||
shout_set_port(shout_conn, port) != SHOUTERR_SUCCESS ||
|
||||
shout_set_password(shout_conn, passwd) != SHOUTERR_SUCCESS ||
|
||||
|
@ -151,6 +170,7 @@ ShoutOutput::ShoutOutput(const ConfigBlock &block)
|
|||
shout_set_format(shout_conn, shout_format)
|
||||
!= SHOUTERR_SUCCESS ||
|
||||
shout_set_protocol(shout_conn, protocol) != SHOUTERR_SUCCESS ||
|
||||
shout_set_tls(shout_conn, tls) != SHOUTERR_SUCCESS ||
|
||||
shout_set_agent(shout_conn, "MPD") != SHOUTERR_SUCCESS)
|
||||
throw std::runtime_error(shout_get_error(shout_conn));
|
||||
|
||||
|
|
Loading…
Reference in New Issue