Re-ignore case for name, Security issues T.T

This commit is contained in:
Xephi
2015-04-21 16:21:26 +02:00
parent 605a6d88c1
commit 84cf1a6627
37 changed files with 144 additions and 169 deletions
@@ -22,13 +22,14 @@ public class CacheDataSource implements DataSource {
@Override
public synchronized boolean isAuthAvailable(String user) {
if (cache.containsKey(user))
if (cache.containsKey(user.toLowerCase()))
return true;
return source.isAuthAvailable(user);
return source.isAuthAvailable(user.toLowerCase());
}
@Override
public synchronized PlayerAuth getAuth(String user) {
user = user.toLowerCase();
if (cache.containsKey(user)) {
return cache.get(user);
} else {
@@ -134,7 +135,7 @@ public class CacheDataSource implements DataSource {
cache.clear();
source.reload();
for (Player player : plugin.getServer().getOnlinePlayers()) {
String user = player.getName();
String user = player.getName().toLowerCase();
if (PlayerCache.getInstance().isAuthenticated(user)) {
try {
PlayerAuth auth = source.getAuth(user);
@@ -198,17 +199,17 @@ public class CacheDataSource implements DataSource {
@Override
public boolean isLogged(String user) {
return source.isLogged(user);
return source.isLogged(user.toLowerCase());
}
@Override
public void setLogged(String user) {
source.setLogged(user);
source.setLogged(user.toLowerCase());
}
@Override
public void setUnlogged(String user) {
source.setUnlogged(user);
source.setUnlogged(user.toLowerCase());
}
@Override
@@ -651,17 +651,17 @@ public class FlatFileThread extends Thread implements DataSource {
@Override
public boolean isLogged(String user) {
return PlayersLogs.getInstance().players.contains(user);
return PlayersLogs.getInstance().players.contains(user.toLowerCase());
}
@Override
public void setLogged(String user) {
PlayersLogs.getInstance().addPlayer(user);
PlayersLogs.getInstance().addPlayer(user.toLowerCase());
}
@Override
public void setUnlogged(String user) {
PlayersLogs.getInstance().removePlayer(user);
PlayersLogs.getInstance().removePlayer(user.toLowerCase());
}
@Override
@@ -188,7 +188,8 @@ public class MySQLThread extends Thread implements DataSource {
}
}
@Override
@SuppressWarnings("resource")
@Override
public synchronized PlayerAuth getAuth(String user) {
Connection con = null;
PreparedStatement pst = null;
@@ -203,14 +204,14 @@ public class MySQLThread extends Thread implements DataSource {
if (rs.next()) {
id = rs.getInt(columnID);
if (rs.getString(columnIp).isEmpty() && rs.getString(columnIp) != null) {
pAuth = new PlayerAuth(rs.getString(columnName), rs.getString(columnPassword), "198.18.0.1", rs.getLong(columnLastLogin), rs.getDouble(lastlocX), rs.getDouble(lastlocY), rs.getDouble(lastlocZ), rs.getString(lastlocWorld), rs.getString(columnEmail));
pAuth = new PlayerAuth(rs.getString(columnName).toLowerCase(), rs.getString(columnPassword), "198.18.0.1", rs.getLong(columnLastLogin), rs.getDouble(lastlocX), rs.getDouble(lastlocY), rs.getDouble(lastlocZ), rs.getString(lastlocWorld), rs.getString(columnEmail));
} else {
if (!columnSalt.isEmpty()) {
if (!columnGroup.isEmpty())
pAuth = new PlayerAuth(rs.getString(columnName), rs.getString(columnPassword), rs.getString(columnSalt), rs.getInt(columnGroup), rs.getString(columnIp), rs.getLong(columnLastLogin), rs.getDouble(lastlocX), rs.getDouble(lastlocY), rs.getDouble(lastlocZ), rs.getString(lastlocWorld), rs.getString(columnEmail));
else pAuth = new PlayerAuth(rs.getString(columnName), rs.getString(columnPassword), rs.getString(columnSalt), rs.getString(columnIp), rs.getLong(columnLastLogin), rs.getDouble(lastlocX), rs.getDouble(lastlocY), rs.getDouble(lastlocZ), rs.getString(lastlocWorld), rs.getString(columnEmail));
pAuth = new PlayerAuth(rs.getString(columnName).toLowerCase(), rs.getString(columnPassword), rs.getString(columnSalt), rs.getInt(columnGroup), rs.getString(columnIp), rs.getLong(columnLastLogin), rs.getDouble(lastlocX), rs.getDouble(lastlocY), rs.getDouble(lastlocZ), rs.getString(lastlocWorld), rs.getString(columnEmail));
else pAuth = new PlayerAuth(rs.getString(columnName).toLowerCase(), rs.getString(columnPassword), rs.getString(columnSalt), rs.getString(columnIp), rs.getLong(columnLastLogin), rs.getDouble(lastlocX), rs.getDouble(lastlocY), rs.getDouble(lastlocZ), rs.getString(lastlocWorld), rs.getString(columnEmail));
} else {
pAuth = new PlayerAuth(rs.getString(columnName), rs.getString(columnPassword), rs.getString(columnIp), rs.getLong(columnLastLogin), rs.getDouble(lastlocX), rs.getDouble(lastlocY), rs.getDouble(lastlocZ), rs.getString(lastlocWorld), rs.getString(columnEmail));
pAuth = new PlayerAuth(rs.getString(columnName).toLowerCase(), rs.getString(columnPassword), rs.getString(columnIp), rs.getLong(columnLastLogin), rs.getDouble(lastlocX), rs.getDouble(lastlocY), rs.getDouble(lastlocZ), rs.getString(lastlocWorld), rs.getString(columnEmail));
}
}
if (Settings.getPasswordHash == HashAlgorithm.XENFORO) {
@@ -508,17 +508,17 @@ public class SQLiteThread extends Thread implements DataSource {
@Override
public boolean isLogged(String user) {
return PlayersLogs.getInstance().players.contains(user);
return PlayersLogs.getInstance().players.contains(user.toLowerCase());
}
@Override
public void setLogged(String user) {
PlayersLogs.getInstance().addPlayer(user);
PlayersLogs.getInstance().addPlayer(user.toLowerCase());
}
@Override
public void setUnlogged(String user) {
PlayersLogs.getInstance().removePlayer(user);
PlayersLogs.getInstance().removePlayer(user.toLowerCase());
}
@Override