Commit 24874b82 authored by Max Kellermann's avatar Max Kellermann

Merge branch 'v0.20.x'

parents b6366498 8dcb1f80
...@@ -31,6 +31,11 @@ ver 0.21 (not yet released) ...@@ -31,6 +31,11 @@ ver 0.21 (not yet released)
- opus: support for sending metadata using ogg stream chaining - opus: support for sending metadata using ogg stream chaining
* require GCC 5.0 * require GCC 5.0
ver 0.20.21 (not yet released)
* database
- proxy: add "password" setting
- proxy: support tags "ArtistSort", "AlbumArtistSort", "AlbumSort"
ver 0.20.20 (2018/05/22) ver 0.20.20 (2018/05/22)
* protocol * protocol
- fix "modified-since" filter regression - fix "modified-since" filter regression
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.musicpd" package="org.musicpd"
android:installLocation="auto" android:installLocation="auto"
android:versionCode="19" android:versionCode="20"
android:versionName="0.20.20"> android:versionName="0.20.21">
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17"/> <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17"/>
......
...@@ -2115,13 +2115,6 @@ run</programlisting> ...@@ -2115,13 +2115,6 @@ run</programlisting>
database. database.
</para> </para>
<para>
Note that unless overridden by the below settings (e.g. by
setting them to a blank value), general curl configuration
from environment variables such as http_proxy or specified
in ~/.curlrc will be in effect.
</para>
<informaltable> <informaltable>
<tgroup cols="2"> <tgroup cols="2">
<thead> <thead>
...@@ -2151,6 +2144,15 @@ run</programlisting> ...@@ -2151,6 +2144,15 @@ run</programlisting>
</row> </row>
<row> <row>
<entry> <entry>
<varname>password</varname>
</entry>
<entry>
The password used to log in to the "master"
<application>MPD</application> instance.
</entry>
</row>
<row>
<entry>
<varname>keepalive</varname> <varname>keepalive</varname>
<parameter>yes|no</parameter> <parameter>yes|no</parameter>
</entry> </entry>
......
...@@ -84,6 +84,7 @@ class ProxyDatabase final : public Database, SocketMonitor, IdleMonitor { ...@@ -84,6 +84,7 @@ class ProxyDatabase final : public Database, SocketMonitor, IdleMonitor {
DatabaseListener &listener; DatabaseListener &listener;
const std::string host; const std::string host;
const std::string password;
const unsigned port; const unsigned port;
const bool keepalive; const bool keepalive;
...@@ -177,6 +178,13 @@ static constexpr struct { ...@@ -177,6 +178,13 @@ static constexpr struct {
{ TAG_MUSICBRAINZ_RELEASETRACKID, { TAG_MUSICBRAINZ_RELEASETRACKID,
MPD_TAG_MUSICBRAINZ_RELEASETRACKID }, MPD_TAG_MUSICBRAINZ_RELEASETRACKID },
#endif #endif
#if LIBMPDCLIENT_CHECK_VERSION(2,11,0)
{ TAG_ARTIST_SORT, MPD_TAG_ARTIST_SORT },
{ TAG_ALBUM_ARTIST_SORT, MPD_TAG_ALBUM_ARTIST_SORT },
#endif
#if LIBMPDCLIENT_CHECK_VERSION(2,12,0)
{ TAG_ALBUM_SORT, MPD_TAG_ALBUM_SORT },
#endif
{ TAG_NUM_OF_ITEM_TYPES, MPD_TAG_COUNT } { TAG_NUM_OF_ITEM_TYPES, MPD_TAG_COUNT }
}; };
...@@ -371,6 +379,7 @@ ProxyDatabase::ProxyDatabase(EventLoop &_loop, DatabaseListener &_listener, ...@@ -371,6 +379,7 @@ ProxyDatabase::ProxyDatabase(EventLoop &_loop, DatabaseListener &_listener,
SocketMonitor(_loop), IdleMonitor(_loop), SocketMonitor(_loop), IdleMonitor(_loop),
listener(_listener), listener(_listener),
host(block.GetBlockValue("host", "")), host(block.GetBlockValue("host", "")),
password(block.GetBlockValue("password", "")),
port(block.GetBlockValue("port", 0u)), port(block.GetBlockValue("port", 0u)),
keepalive(block.GetBlockValue("keepalive", false)) keepalive(block.GetBlockValue("keepalive", false))
{ {
...@@ -415,6 +424,10 @@ ProxyDatabase::Connect() ...@@ -415,6 +424,10 @@ ProxyDatabase::Connect()
try { try {
CheckError(connection); CheckError(connection);
if (!password.empty() &&
!mpd_run_password(connection, password.c_str()))
ThrowError(connection);
} catch (...) { } catch (...) {
mpd_connection_free(connection); mpd_connection_free(connection);
connection = nullptr; connection = nullptr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment