From 5141eb6e81929229a5204b00d72cd8c5bf016be6 Mon Sep 17 00:00:00 2001 From: dddddd-mmmmmm <36978885+dddddd-mmmmmm@users.noreply.github.com> Date: Mon, 13 Jan 2020 22:08:01 +1100 Subject: [PATCH] Use p= authentication parameter when authMethod is false. --- .../java/net/nullsum/audinaut/util/Util.java | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/net/nullsum/audinaut/util/Util.java b/app/src/main/java/net/nullsum/audinaut/util/Util.java index 62580ef..60e80fe 100644 --- a/app/src/main/java/net/nullsum/audinaut/util/Util.java +++ b/app/src/main/java/net/nullsum/audinaut/util/Util.java @@ -323,18 +323,24 @@ public final class Util { builder.addPathSegment("rest"); builder.addPathSegment(method + ".view"); - int hash = (username + password).hashCode(); - Pair values = tokens.get(hash); - if (values == null) { - String salt = new BigInteger(130, getRandom()).toString(32); - String token = md5Hex(password + salt); - values = new Pair<>(salt, token); - tokens.put(hash, values); + builder.addQueryParameter("u", username); + + if (prefs.getBoolean(Constants.PREFERENCES_KEY_AUTH_METHOD, true)) { + int hash = (username + password).hashCode(); + Pair values = tokens.get(hash); + if (values == null) { + String salt = new BigInteger(130, getRandom()).toString(32); + String token = md5Hex(password + salt); + values = new Pair<>(salt, token); + tokens.put(hash, values); + } + + builder.addQueryParameter("s", values.getFirst()); + builder.addQueryParameter("t", values.getSecond()); + } else { + builder.addQueryParameter("p", password); } - builder.addQueryParameter("u", username); - builder.addQueryParameter("s", values.getFirst()); - builder.addQueryParameter("t", values.getSecond()); builder.addQueryParameter("v", Constants.REST_PROTOCOL_VERSION_SUBSONIC); builder.addQueryParameter("c", Constants.REST_CLIENT_ID);