Cleanup; hope to fix #18
This commit is contained in:
parent
fa55b70ff2
commit
e0d0a062f6
|
@ -72,7 +72,7 @@ public class AccountCommand {
|
||||||
|
|
||||||
// Different thread to avoid lag spikes
|
// Different thread to avoid lag spikes
|
||||||
THREADPOOL.submit(() -> {
|
THREADPOOL.submit(() -> {
|
||||||
if (AuthHelper.checkPass(convertUuid(player), pass.toCharArray()) == 1) {
|
if (AuthHelper.checkPassword(convertUuid(player), pass.toCharArray()) == 1) {
|
||||||
DB.deleteUserData(convertUuid(player));
|
DB.deleteUserData(convertUuid(player));
|
||||||
player.sendMessage(
|
player.sendMessage(
|
||||||
new LiteralText(config.lang.accountDeleted),
|
new LiteralText(config.lang.accountDeleted),
|
||||||
|
@ -103,7 +103,7 @@ public class AccountCommand {
|
||||||
}
|
}
|
||||||
// Different thread to avoid lag spikes
|
// Different thread to avoid lag spikes
|
||||||
THREADPOOL.submit(() -> {
|
THREADPOOL.submit(() -> {
|
||||||
if (AuthHelper.checkPass(convertUuid(player), oldPass.toCharArray()) == 1) {
|
if (AuthHelper.checkPassword(convertUuid(player), oldPass.toCharArray()) == 1) {
|
||||||
if (newPass.length() < config.main.minPasswordChars) {
|
if (newPass.length() < config.main.minPasswordChars) {
|
||||||
player.sendMessage(new LiteralText(
|
player.sendMessage(new LiteralText(
|
||||||
String.format(config.lang.minPasswordChars, config.main.minPasswordChars)
|
String.format(config.lang.minPasswordChars, config.main.minPasswordChars)
|
||||||
|
|
|
@ -40,7 +40,7 @@ public class LoginCommand {
|
||||||
// Putting rest of the command in different thread to avoid lag spikes
|
// Putting rest of the command in different thread to avoid lag spikes
|
||||||
THREADPOOL.submit(() -> {
|
THREADPOOL.submit(() -> {
|
||||||
int maxLoginTries = config.main.maxLoginTries;
|
int maxLoginTries = config.main.maxLoginTries;
|
||||||
int passwordResult = AuthHelper.checkPass(uuid, pass.toCharArray());
|
int passwordResult = AuthHelper.checkPassword(uuid, pass.toCharArray());
|
||||||
|
|
||||||
if(playerCacheMap.get(uuid).loginTries >= maxLoginTries && maxLoginTries != -1) {
|
if(playerCacheMap.get(uuid).loginTries >= maxLoginTries && maxLoginTries != -1) {
|
||||||
player.networkHandler.disconnect(new LiteralText(config.lang.loginTriesExceeded));
|
player.networkHandler.disconnect(new LiteralText(config.lang.loginTriesExceeded));
|
||||||
|
|
|
@ -79,9 +79,8 @@ public class PlayerCache {
|
||||||
this.lastAir = 300;
|
this.lastAir = 300;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(DB.isUserRegistered(uuid)) {
|
|
||||||
String data = DB.getData(uuid);
|
String data = DB.getData(uuid);
|
||||||
|
if(!data.isEmpty()) {
|
||||||
// Getting (hashed) password
|
// Getting (hashed) password
|
||||||
JsonObject json = gson.fromJson(data, JsonObject.class);
|
JsonObject json = gson.fromJson(data, JsonObject.class);
|
||||||
JsonElement passwordElement = json.get("password");
|
JsonElement passwordElement = json.get("password");
|
||||||
|
|
|
@ -22,7 +22,7 @@ public class AuthHelper {
|
||||||
* @param password password that needs to be checked
|
* @param password password that needs to be checked
|
||||||
* @return 1 for pass, 0 if password is false, -1 if user is not yet registered
|
* @return 1 for pass, 0 if password is false, -1 if user is not yet registered
|
||||||
*/
|
*/
|
||||||
public static int checkPass(String uuid, char[] password) {
|
public static int checkPassword(String uuid, char[] password) {
|
||||||
if(config.main.enableGlobalPassword) {
|
if(config.main.enableGlobalPassword) {
|
||||||
// We have global password enabled
|
// We have global password enabled
|
||||||
return verifyPassword(password, config.main.globalPassword) ? 1 : 0;
|
return verifyPassword(password, config.main.globalPassword) ? 1 : 0;
|
||||||
|
@ -30,23 +30,12 @@ public class AuthHelper {
|
||||||
else {
|
else {
|
||||||
String hashed;
|
String hashed;
|
||||||
// Password from cache
|
// Password from cache
|
||||||
if(playerCacheMap.containsKey(uuid))
|
if(playerCacheMap.get(uuid).isRegistered)
|
||||||
hashed = playerCacheMap.get(uuid).password;
|
hashed = playerCacheMap.get(uuid).password;
|
||||||
|
else
|
||||||
// Hashed password from DB
|
|
||||||
else {
|
|
||||||
JsonObject json = parser.parse(SimpleAuth.DB.getData(uuid)).getAsJsonObject();
|
|
||||||
JsonElement passwordElement = json.get("password");
|
|
||||||
if(passwordElement instanceof JsonNull) {
|
|
||||||
// This shouldn't have happened, data seems to be corrupted
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
else {
|
|
||||||
hashed = passwordElement.getAsString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(hashed == null)
|
if(hashed.isEmpty())
|
||||||
return -1; // User is not yet registered
|
return -1; // User is not yet registered
|
||||||
|
|
||||||
// Verify password
|
// Verify password
|
||||||
|
|
Loading…
Reference in New Issue