diff --git a/.gitignore b/.gitignore index dee2255..d41bfa9 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,6 @@ nbactions.xml # Maven pom.xml.versionsBackup + +# MacOS +.DS_Store diff --git a/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java b/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java index bc73b78..4fde0ea 100644 --- a/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java +++ b/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java @@ -55,12 +55,14 @@ public final class ApiConnectionImpl extends ApiConnection { if (username.trim().isEmpty()) { throw new ApiConnectionException("API username cannot be empty"); } - List> list = execute("/login"); + List> list = execute("/login name=" + username + " password=" + password); Map res = list.get(0); - 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 (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); + } } @Override