Implemented support for new login method used from 6.43

This commit is contained in:
Gideon le Grange 2018-11-08 06:30:58 +02:00
parent afad1e6d30
commit 81efcd6c73
1 changed files with 8 additions and 6 deletions

View File

@ -56,12 +56,14 @@ public final class ApiConnectionImpl extends ApiConnection {
throw new ApiConnectionException("API username cannot be empty");
}
List<Map<String, String>> list = execute("/login name=" + username + " password=" + password);
Map<String, String> res = list.get(0);
if (res.containsKey("ret")) {
String hash = res.get("ret");
String chal = Util.hexStrToStr("00") + new String(password.toCharArray()) + Util.hexStrToStr(hash);
chal = Util.hashMD5(chal);
execute("/login name=" + username + " response=00" + chal);
if (!list.isEmpty()) {
Map<String, String> res = list.get(0);
if (res.containsKey("ret")) {
String hash = res.get("ret");
String chal = Util.hexStrToStr("00") + new String(password.toCharArray()) + Util.hexStrToStr(hash);
chal = Util.hashMD5(chal);
execute("/login name=" + username + " response=00" + chal);
}
}
}