Reword the force plain text password setting

This commit is contained in:
birdbird 2022-08-24 20:32:50 +00:00
parent bf9ee81d55
commit 636b9c6737
21 changed files with 30 additions and 33 deletions

View File

@ -44,7 +44,7 @@ class SubsonicAPIClient(
config.minimalProtocolVersion,
PasswordHexInterceptor(config.password),
PasswordMD5Interceptor(config.password),
config.enableLdapUserSupport
config.forcePlainTextPassword
)
var onProtocolChange: (SubsonicAPIVersions) -> Unit = {}

View File

@ -35,8 +35,8 @@ enum class SubsonicAPIVersions(val subsonicVersions: String, val restApiVersion:
@JvmStatic @Throws(IllegalArgumentException::class)
fun getClosestKnownClientApiVersion(apiVersion: String): SubsonicAPIVersions {
val versionComponents = apiVersion.split(".")
if (versionComponents.size < 2)
throw IllegalArgumentException("Unknown api version $apiVersion")
require(versionComponents.size >= 2) { "Unknown api version $apiVersion" }
try {
val majorVersion = versionComponents[0].toInt()

View File

@ -10,7 +10,7 @@ data class SubsonicClientConfiguration(
val minimalProtocolVersion: SubsonicAPIVersions,
val clientID: String,
val allowSelfSignedCertificate: Boolean = false,
val enableLdapUserSupport: Boolean = false,
val forcePlainTextPassword: Boolean = false,
val debug: Boolean = false,
val isRealProtocolVersion: Boolean = false
)

View File

@ -205,7 +205,7 @@ class ActiveServerProvider(
password = "",
jukeboxByDefault = false,
allowSelfSignedCertificate = false,
ldapSupport = false,
forcePlainTextPassword = false,
musicFolderId = "",
minimumApiVersion = null,
bookmarkSupport = false,

View File

@ -14,8 +14,11 @@ import androidx.room.PrimaryKey
* @param password: The Password of the User
* @param jukeboxByDefault: True if the JukeBox mode should be turned on for the server
* @param allowSelfSignedCertificate: True if the server uses self-signed certificate
* @param ldapSupport: True if the server authenticates the user using old Ldap-like way
* @param forcePlainTextPassword: True if the server authenticates the user using old Ldap-like way
* @param musicFolderId: The Id of the MusicFolder to be used with the server
*
* TODO: forcePlainTextPassword is still using the old column name.
* Could be updated on the next significant change to the DB scheme
*/
@Entity
data class ServerSetting(
@ -29,7 +32,7 @@ data class ServerSetting(
@ColumnInfo(name = "password") var password: String,
@ColumnInfo(name = "jukeboxByDefault") var jukeboxByDefault: Boolean,
@ColumnInfo(name = "allowSelfSignedCertificate") var allowSelfSignedCertificate: Boolean,
@ColumnInfo(name = "ldapSupport") var ldapSupport: Boolean,
@ColumnInfo(name = "ldapSupport") var forcePlainTextPassword: Boolean,
@ColumnInfo(name = "musicFolderId") var musicFolderId: String?,
@ColumnInfo(name = "minimumApiVersion") var minimumApiVersion: String?,
@ColumnInfo(name = "chatSupport") var chatSupport: Boolean? = null,

View File

@ -54,7 +54,7 @@ val musicServiceModule = module {
),
clientID = Constants.REST_CLIENT_ID,
allowSelfSignedCertificate = server.allowSelfSignedCertificate,
enableLdapUserSupport = server.ldapSupport,
forcePlainTextPassword = server.forcePlainTextPassword,
debug = BuildConfig.DEBUG,
isRealProtocolVersion = server.minimumApiVersion != null
)

View File

@ -277,7 +277,7 @@ class EditServerFragment : Fragment(), OnBackPressedHandler {
userNameEditText!!.editText?.setText(currentServerSetting!!.userName)
passwordEditText!!.editText?.setText(currentServerSetting!!.password)
selfSignedSwitch!!.isChecked = currentServerSetting!!.allowSelfSignedCertificate
ldapSwitch!!.isChecked = currentServerSetting!!.ldapSupport
ldapSwitch!!.isChecked = currentServerSetting!!.forcePlainTextPassword
jukeboxSwitch!!.isChecked = currentServerSetting!!.jukeboxByDefault
updateColor(currentServerSetting!!.color)
}
@ -331,7 +331,7 @@ class EditServerFragment : Fragment(), OnBackPressedHandler {
currentServerSetting!!.userName = userNameEditText!!.editText?.text.toString()
currentServerSetting!!.password = passwordEditText!!.editText?.text.toString()
currentServerSetting!!.allowSelfSignedCertificate = selfSignedSwitch!!.isChecked
currentServerSetting!!.ldapSupport = ldapSwitch!!.isChecked
currentServerSetting!!.forcePlainTextPassword = ldapSwitch!!.isChecked
currentServerSetting!!.jukeboxByDefault = jukeboxSwitch!!.isChecked
}
@ -354,7 +354,7 @@ class EditServerFragment : Fragment(), OnBackPressedHandler {
currentServerSetting!!.userName != userNameEditText!!.editText?.text.toString() ||
currentServerSetting!!.password != passwordEditText!!.editText?.text.toString() ||
currentServerSetting!!.allowSelfSignedCertificate != selfSignedSwitch!!.isChecked ||
currentServerSetting!!.ldapSupport != ldapSwitch!!.isChecked ||
currentServerSetting!!.forcePlainTextPassword != ldapSwitch!!.isChecked ||
currentServerSetting!!.jukeboxByDefault != jukeboxSwitch!!.isChecked
}
@ -406,7 +406,7 @@ class EditServerFragment : Fragment(), OnBackPressedHandler {
),
Constants.REST_CLIENT_ID,
currentServerSetting!!.allowSelfSignedCertificate,
currentServerSetting!!.ldapSupport,
currentServerSetting!!.forcePlainTextPassword,
BuildConfig.DEBUG
)
val subsonicApiClient = SubsonicAPIClient(configuration)

View File

@ -198,7 +198,7 @@ class ServerSettingsModel(
password = "W7DumQ3ZUR89Se3",
jukeboxByDefault = false,
allowSelfSignedCertificate = false,
ldapSupport = false,
forcePlainTextPassword = false,
musicFolderId = null,
minimumApiVersion = "1.13.0",
chatSupport = true,

View File

@ -156,7 +156,7 @@
a:layout_width="0dp"
a:layout_height="wrap_content"
a:layout_marginStart="5dp"
a:text="@string/settings.title.enable_ldap_users_support"
a:text="@string/settings.title.force_plain_text_password"
app:layout_constraintBottom_toTopOf="@id/edit_ldap_description"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/edit_self_signed" />
@ -167,7 +167,7 @@
a:layout_width="0dp"
a:layout_height="wrap_content"
a:layout_marginStart="5dp"
a:text="@string/settings.summary.enable_ldap_users_support"
a:text="@string/settings.summary.force_plain_text_password"
app:layout_constraintBottom_toTopOf="@id/edit_jukebox"
app:layout_constraintEnd_toStartOf="@id/edit_ldap"
app:layout_constraintStart_toStartOf="parent"

View File

@ -258,7 +258,7 @@
<string name="settings.theme_black">Černý</string>
<string name="settings.theme_title">Vzhled</string>
<string name="settings.title.allow_self_signed_certificate">Povolit HTTPS certifikáty podepsané samé sebou</string>
<string name="settings.title.enable_ldap_users_support">Vynutit ověření nešifrovaným heslem</string>
<string name="settings.title.force_plain_text_password">Vynutit ověření nešifrovaným heslem</string>
<string name="settings.use_folder_for_album_artist">Jména adresářů jako jména umělců</string>
<string name="settings.use_folder_for_album_artist_summary">Očekává jména hlavních adresářů obsahující jména umělců</string>
<string name="settings.use_id3">Procházet za použití ID3 tagů</string>

View File

@ -306,8 +306,8 @@
<string name="settings.theme_black">Schwarz</string>
<string name="settings.theme_title">Thema</string>
<string name="settings.title.allow_self_signed_certificate">Selbst-signierte HTTPS Zertifikate erlauben</string>
<string name="settings.title.enable_ldap_users_support">LDAP Benutzeranmeldung aktivieren</string>
<string name="settings.summary.enable_ldap_users_support">Dies zwingt die App, das Kennwort immer unverschlüsselt zu senden. Hilfreich wenn der Subsonic Server keine Autorisierungs-API unterstützt.</string>
<string name="settings.title.force_plain_text_password">Passwort als Klartext senden</string>
<string name="settings.summary.force_plain_text_password">Dies zwingt die App, das Kennwort immer unverschlüsselt zu senden. Hilfreich wenn der Subsonic Server keine Autorisierungs-API unterstützt.</string>
<string name="settings.use_folder_for_album_artist">Nutze den Ordnernamen als Namen der Künstler*in</string>
<string name="settings.use_folder_for_album_artist_summary">Annehmen, dass der Ordner nach der Künstler*in benannt ist.</string>
<string name="settings.show_now_playing_details_summary">Zeige mehr Song Details in der Wiedergabe (Genre, Jahr, Bitrate)</string>

View File

@ -306,8 +306,8 @@
<string name="settings.theme_black">Negro</string>
<string name="settings.theme_title">Tema</string>
<string name="settings.title.allow_self_signed_certificate">Permir certificado HTTPS autofirmado</string>
<string name="settings.title.enable_ldap_users_support">Forzar autenticación de contraseña plana</string>
<string name="settings.summary.enable_ldap_users_support">Esto obliga a la aplicación a enviar siempre la contraseña sin cifrar. Útil si el servidor Subsonic no admite la nueva API de autenticación para los usuarios.</string>
<string name="settings.title.force_plain_text_password">Forzar autenticación de contraseña plana</string>
<string name="settings.summary.force_plain_text_password">Esto obliga a la aplicación a enviar siempre la contraseña sin cifrar. Útil si el servidor Subsonic no admite la nueva API de autenticación para los usuarios.</string>
<string name="settings.use_folder_for_album_artist">Usar carpetas para el nombre del artista</string>
<string name="settings.use_folder_for_album_artist_summary">Se asume que la carpeta en el nivel mal alto es el nombre del artista del álbum</string>
<string name="settings.show_now_playing_details_summary">Mostrar más detalles de la canción en reproduciendo ahora (género, año, bitrate)</string>

View File

@ -296,7 +296,6 @@
<string name="settings.theme_black">Noir</string>
<string name="settings.theme_title">Thème</string>
<string name="settings.title.allow_self_signed_certificate">Autoriser le certificat HTTPS auto-signé</string>
<string name="settings.title.enable_ldap_users_support">Activer la prise en charge des utilisateurs LDAP</string>
<string name="settings.use_folder_for_album_artist">Utiliser les noms des dossiers pour les noms d\'artistes</string>
<string name="settings.use_folder_for_album_artist_summary">Dossier de niveau supérieur devient le nom de l\'artiste de l\'album</string>
<string name="settings.use_id3">Naviguer en utilisant les tags ID3</string>

View File

@ -266,7 +266,6 @@
<string name="settings.theme_black">Fekete</string>
<string name="settings.theme_title">Téma</string>
<string name="settings.title.allow_self_signed_certificate">Engedélyezze az önaláírt HTTPS tanúsítványt</string>
<string name="settings.title.enable_ldap_users_support">Az LDAP-felhasználók támogatásának engedélyezése</string>
<string name="settings.use_folder_for_album_artist">Mappanevek használata az előadók neveként</string>
<string name="settings.use_folder_for_album_artist_summary">Feltételezi, hogy a legfelső szintű mappa az előadó neve.</string>
<string name="settings.use_id3">Böngészés ID3 Tag használatával</string>
@ -345,7 +344,6 @@
<!-- Subsonic api errors -->
<string name="api.subsonic.generic">Általános api hiba: %1$s</string>
<string name="api.subsonic.generic.no.message">nincs üzenet a szerverről</string>
<string name="api.subsonic.token_auth_not_supported_for_ldap">Az LDAP-felhasználók számára nem támogatott a token-hitelesítés.</string>
<string name="api.subsonic.not_authenticated">Hibás felhasználónév vagy jelszó!</string>
<string name="api.subsonic.not_authorized">Nem engedélyezett! Ellenőrizze a felhasználó jogosultságait a Subsonic kiszolgálón!</string>
<string name="api.subsonic.param_missing">A szükséges param hiányzik.</string>

View File

@ -306,8 +306,7 @@
<string name="settings.theme_black">Zwart</string>
<string name="settings.theme_title">Thema</string>
<string name="settings.title.allow_self_signed_certificate">Zelf-gesigneerd HTTPS-certificaat toestaan</string>
<string name="settings.title.enable_ldap_users_support">Ondersteuning voor LDAP-gebruikers inschakelen</string>
<string name="settings.summary.enable_ldap_users_support">Dit dwingt de app om het wachtwoord altijd op de ouderwetse manier te versturen, als de Subsonic-server geen ondersteuning biedt voor het autoriseren via de nieuwe api.</string>
<string name="settings.summary.force_plain_text_password">Dit dwingt de app om het wachtwoord altijd op de ouderwetse manier te versturen, als de Subsonic-server geen ondersteuning biedt voor het autoriseren via de nieuwe api.</string>
<string name="settings.use_folder_for_album_artist">Mappen gebruiken voor artiestennaam</string>
<string name="settings.use_folder_for_album_artist_summary">Aannemen dat de naam van de bovenliggende map de naam van de albumartiest is</string>
<string name="settings.show_now_playing_details_summary">Toon meer nummerinformatie op het afspeelscherm (genre, jaar, bitsnelheid)</string>

View File

@ -257,7 +257,6 @@
<string name="settings.theme_dark">Ciemny</string>
<string name="settings.theme_title">Motyw</string>
<string name="settings.title.allow_self_signed_certificate">Zezwalaj na własne certyfikaty HTTPS</string>
<string name="settings.title.enable_ldap_users_support">Włącz wsparcie dla użytkowników LDAP</string>
<string name="settings.use_folder_for_album_artist">Używaj folderów jako nazw artystów</string>
<string name="settings.use_folder_for_album_artist_summary">Zakłada, że folder najwyższego poziomu jest nazwą artysty albumu</string>
<string name="settings.use_id3">Przeglądaj używając tagów ID3</string>

View File

@ -299,8 +299,8 @@
<string name="settings.theme_black">Negro</string>
<string name="settings.theme_title">Tema</string>
<string name="settings.title.allow_self_signed_certificate">Permitir certificado HTTPS auto-assinado</string>
<string name="settings.title.enable_ldap_users_support">Forçar autenticação não criptografada</string>
<string name="settings.summary.enable_ldap_users_support">Isso força o aplicativo a enviar a senha sem criptografia. É útil se o servidor Subsonic não suporta a nova API de autenticação de usuários.</string>
<string name="settings.title.force_plain_text_password">Forçar autenticação não criptografada</string>
<string name="settings.summary.force_plain_text_password">Isso força o aplicativo a enviar a senha sem criptografia. É útil se o servidor Subsonic não suporta a nova API de autenticação de usuários.</string>
<string name="settings.use_folder_for_album_artist">Usar Pasta para Nome do Artista</string>
<string name="settings.use_folder_for_album_artist_summary">Assumir que a pasta mais acima é o nome do artista</string>
<string name="settings.show_now_playing_details_summary">Mostrar mais detalhes da música no Tocando Agora (gênero, ano, bitrate)</string>

View File

@ -257,7 +257,6 @@
<string name="settings.theme_dark">Escuro</string>
<string name="settings.theme_title">Tema</string>
<string name="settings.title.allow_self_signed_certificate">Permitir o certificado HTTPS auto-assinado</string>
<string name="settings.title.enable_ldap_users_support">Ative o suporte para usuários LDAP</string>
<string name="settings.use_folder_for_album_artist">Usar Pasta para Nome do Artista</string>
<string name="settings.use_folder_for_album_artist_summary">Assumir que a pasta mais acima é o nome do artista</string>
<string name="settings.use_id3">Navegar Usando Etiquetas ID3</string>

View File

@ -284,7 +284,7 @@
<string name="settings.theme_black">Черная</string>
<string name="settings.theme_title">Оформление</string>
<string name="settings.title.allow_self_signed_certificate">Разрешить самоподписанный сертификат HTTPS</string>
<string name="settings.title.enable_ldap_users_support">Принудительная аутентификация по обычному паролю</string>
<string name="settings.title.force_plain_text_password">Принудительная аутентификация по обычному паролю</string>
<string name="settings.use_folder_for_album_artist">Использовать папки для имени исполнителя</string>
<string name="settings.use_folder_for_album_artist_summary">Предположим, папка верхнего уровня - это имя исполнителя альбома</string>
<string name="settings.use_id3">Обзор с использованием тегов ID3</string>

View File

@ -279,7 +279,7 @@
<string name="settings.theme_black">Black</string>
<string name="settings.theme_title">主题</string>
<string name="settings.title.allow_self_signed_certificate">允许自签名 HTTPS 证书</string>
<string name="settings.title.enable_ldap_users_support">强制原始密码认证</string>
<string name="settings.title.force_plain_text_password">强制原始密码认证</string>
<string name="settings.use_folder_for_album_artist">将艺术家名称作为文件夹</string>
<string name="settings.use_folder_for_album_artist_summary">将艺术家名称作为顶层文件夹名</string>
<string name="settings.use_id3">使用 ID3 标签浏览</string>

View File

@ -307,8 +307,8 @@
<string name="settings.theme_black">Black</string>
<string name="settings.theme_title">Theme</string>
<string name="settings.title.allow_self_signed_certificate">Allow self-signed HTTPS certificate</string>
<string name="settings.title.enable_ldap_users_support">Force plain password authentication</string>
<string name="settings.summary.enable_ldap_users_support">This forces the app to always send the password unencrypted. Useful if the Subsonic server does not support the new authentication API for the users.</string>
<string name="settings.title.force_plain_text_password">Force plain password authentication</string>
<string name="settings.summary.force_plain_text_password">This forces the app to always send the password unencrypted. Useful if the Subsonic server does not support the new authentication API for the users.</string>
<string name="settings.use_folder_for_album_artist">Use Folders For Artist Name</string>
<string name="settings.use_folder_for_album_artist_summary">Assume top-level folder is the name of the album artist</string>
<string name="settings.show_now_playing_details_summary">Show more song details in Now Playing (genre, year, bitrate)</string>