Minor changes

This commit is contained in:
samo_lego 2020-08-23 22:04:02 +02:00
parent a5bd437227
commit 5a2fc463c3
5 changed files with 26 additions and 12 deletions

View File

@ -1,7 +1,7 @@
# Simple Authentication Mod # Simple Authentication Mod
[![License](https://img.shields.io/github/license/samolego/simpleauth.svg)](https://github.com/samolego/SimpleAuth/blob/master/LICENSE) [![License](https://img.shields.io/github/license/samolego/simpleauth.svg)](https://github.com/samolego/SimpleAuth/blob/master/LICENSE)
[![Gradle Build](https://github.com/samolego/SimpleAuth/workflows/Gradle%20Build/badge.svg)](https://samolego.github.io/projects/ci/SimpleAuth/latest) [![Fabric CI](https://github.com/samolego/SimpleAuth/workflows/Fabric%20CI/badge.svg)](https://samolego.github.io/projects/ci/SimpleAuth/latest)
[![Version](https://img.shields.io/github/v/tag/samolego/SimpleAuth.svg?label=version)](https://github.com/samolego/SimpleAuth/releases/latest) [![Version](https://img.shields.io/github/v/tag/samolego/SimpleAuth.svg?label=version)](https://github.com/samolego/SimpleAuth/releases/latest)
[![Closed Issues](https://img.shields.io/github/issues-closed/samolego/simpleauth.svg)](https://github.com/samolego/SimpleAuth/issues?q=is%3Aissue+is%3Aclosed) [![Closed Issues](https://img.shields.io/github/issues-closed/samolego/simpleauth.svg)](https://github.com/samolego/SimpleAuth/issues?q=is%3Aissue+is%3Aclosed)
[![Curseforge downloads](http://cf.way2muchnoise.eu/full_simpleauth_downloads.svg)](https://www.curseforge.com/minecraft/mc-mods/simpleauth) [![Curseforge downloads](http://cf.way2muchnoise.eu/full_simpleauth_downloads.svg)](https://www.curseforge.com/minecraft/mc-mods/simpleauth)

View File

@ -41,7 +41,7 @@ public class AuthEventHandler {
Pattern pattern = Pattern.compile(regex); Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(incomingPlayerUsername); Matcher matcher = pattern.matcher(incomingPlayerUsername);
if((onlinePlayer != null && !isPlayerFake(onlinePlayer)) && config.experimental.disableAnotherLocationKick) { if((onlinePlayer != null && !isPlayerFake(onlinePlayer)) && config.experimental.preventAnotherLocationKick) {
// Player needs to be kicked, since there's already a player with that name // Player needs to be kicked, since there's already a player with that name
// playing on the server // playing on the server
return new LiteralText( return new LiteralText(

View File

@ -47,7 +47,7 @@ public class AuthConfig {
public int kickTime = 60; public int kickTime = 60;
/** /**
* Disables registering and forces logging in with global password. * Disables registering and forces logging in with global password.
* @see <a href="https://github.com/samolego/SimpleAuth/wiki/Locking-server-with-global-password">wiki</a> * @see <a href="https://github.com/samolego/SimpleAuth/wiki/Global-password" target="_blank">wiki</a>
*/ */
public boolean enableGlobalPassword = false; public boolean enableGlobalPassword = false;
/** /**
@ -56,7 +56,7 @@ public class AuthConfig {
public String globalPassword; public String globalPassword;
/** /**
* Tries to rescue players if they are stuck inside a portal on logging in. * Tries to rescue players if they are stuck inside a portal on logging in.
* @see <a href="https://github.com/samolego/SimpleAuth/wiki/Portal-Rescue">wiki</a> * @see <a href="https://github.com/samolego/SimpleAuth/wiki/Portal-Rescue" target="_blank">wiki</a>
*/ */
public boolean tryPortalRescue = true; public boolean tryPortalRescue = true;
/** /**
@ -70,13 +70,13 @@ public class AuthConfig {
public int maxPasswordChars = -1; public int maxPasswordChars = -1;
/** /**
* Regex of valid playername characters. You probably don't want to change this. * Regex of valid playername characters. You probably don't want to change this.
* @see <a href="https://github.com/samolego/SimpleAuth/wiki/Username-Restriction">wiki</a> * @see <a href="https://github.com/samolego/SimpleAuth/wiki/Username-Restriction" target="_blank">wiki</a>
*/ */
public String usernameRegex = "^[a-zA-Z0-9_]{3,16}$"; public String usernameRegex = "^[a-zA-Z0-9_]{3,16}$";
/** /**
* How long to keep session (auto-logging in the player), in seconds * How long to keep session (auto-logging in the player), in seconds
* Set to -1 to disable * Set to -1 to disable
* @see <a href="https://github.com/samolego/SimpleAuth/wiki/Sessions">wiki</a> * @see <a href="https://github.com/samolego/SimpleAuth/wiki/Sessions" target="_blank">wiki</a>
*/ */
public int sessionTimeoutTime = 60; public int sessionTimeoutTime = 60;
@ -92,7 +92,7 @@ public class AuthConfig {
/** /**
* Data for spawn (where deauthenticated players are teleported). * Data for spawn (where deauthenticated players are teleported).
* @see <a href="https://github.com/samolego/SimpleAuth/wiki/Coordinate-Hiding">wiki</a> * @see <a href="https://github.com/samolego/SimpleAuth/wiki/Coordinate-Hiding" target="_blank">wiki</a>
*/ */
public static class WorldSpawn { public static class WorldSpawn {
/** /**
@ -138,7 +138,7 @@ public class AuthConfig {
/** /**
* Prevents player being kicked because another player with the same name has joined the server. * Prevents player being kicked because another player with the same name has joined the server.
*/ */
public boolean disableAnotherLocationKick = true; public boolean preventAnotherLocationKick = true;
/** /**
* If player should be invulnerable before authentication. * If player should be invulnerable before authentication.
*/ */
@ -181,7 +181,7 @@ public class AuthConfig {
public boolean allowEntityPunch = false; public boolean allowEntityPunch = false;
/** /**
* Whether to use BCrypt instead of Argon2 (GLIBC_2.25 error). * Whether to use BCrypt instead of Argon2 (GLIBC_2.25 error).
* @see <a href="https://github.com/samolego/SimpleAuth/wiki/GLIBC-problems">wiki</a> * @see <a href="https://github.com/samolego/SimpleAuth/wiki/GLIBC-problems" target="_blank">wiki</a>
*/ */
public boolean useBCryptLibrary = false; public boolean useBCryptLibrary = false;
} }

View File

@ -1,5 +1,7 @@
package org.samo_lego.simpleauth.utils; package org.samo_lego.simpleauth.utils;
import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.JsonParser; import com.google.gson.JsonParser;
import org.samo_lego.simpleauth.SimpleAuth; import org.samo_lego.simpleauth.SimpleAuth;
@ -33,7 +35,14 @@ public class AuthHelper {
// Hashed password from DB // Hashed password from DB
else { else {
JsonObject json = parser.parse(SimpleAuth.DB.getData(uuid)).getAsJsonObject(); JsonObject json = parser.parse(SimpleAuth.DB.getData(uuid)).getAsJsonObject();
hashed = json.get("password").getAsString(); JsonElement passwordElement = json.get("password");
if(passwordElement instanceof JsonNull) {
// This shouldn't have happened, data seems to be corrupted
return -1;
}
else {
hashed = passwordElement.getAsString();
}
} }
if(hashed.equals("")) if(hashed.equals(""))

View File

@ -4,8 +4,13 @@ import carpet.patches.EntityPlayerMPFake;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
public class CarpetHelper { public class CarpetHelper {
// Checking if player is actually a fake one /**
// This is in its own class since we need carpet import * Checks if player is actually a fake one.
* Fake players are counted as ones, summoned with Carpet mod.
*
* @param player player to check
* @return true if it's fake, otherwise false
*/
public static boolean isPlayerCarpetFake(PlayerEntity player) { public static boolean isPlayerCarpetFake(PlayerEntity player) {
return player instanceof EntityPlayerMPFake; return player instanceof EntityPlayerMPFake;
} }