move force key checking into a system property (#736)

This commit is contained in:
Shane Freeder 2022-06-09 12:07:24 +01:00 committed by GitHub
parent da52d09338
commit 3501969960
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -315,6 +315,9 @@ public class VelocityServer implements ProxyServer, ForwardingAudience {
}
commandManager.setAnnounceProxyCommands(configuration.isAnnounceProxyCommands());
if (System.getProperty("auth.forceSecureProfiles") == null) {
System.setProperty("auth.forceSecureProfiles", String.valueOf(configuration.isForceKeyAuthentication()));
}
} catch (Exception e) {
logger.error("Unable to read/load/save your velocity.toml. The server will shut down.", e);
LogManager.shutdown();

View File

@ -68,12 +68,14 @@ public class InitialLoginSessionHandler implements MinecraftSessionHandler {
private @MonotonicNonNull ServerLogin login;
private byte[] verify = EMPTY_BYTE_ARRAY;
private LoginState currentState = LoginState.LOGIN_PACKET_EXPECTED;
private boolean forceKeyAuthentication;
InitialLoginSessionHandler(VelocityServer server, MinecraftConnection mcConnection,
LoginInboundConnection inbound) {
this.server = Preconditions.checkNotNull(server, "server");
this.mcConnection = Preconditions.checkNotNull(mcConnection, "mcConnection");
this.inbound = Preconditions.checkNotNull(inbound, "inbound");
this.forceKeyAuthentication = Boolean.getBoolean("auth.forceSecureProfiles");
}
@Override
@ -92,7 +94,7 @@ public class InitialLoginSessionHandler implements MinecraftSessionHandler {
return true;
}
} else if (mcConnection.getProtocolVersion().compareTo(ProtocolVersion.MINECRAFT_1_19) >= 0
&& server.getConfiguration().isForceKeyAuthentication()) {
&& forceKeyAuthentication) {
inbound.disconnect(Component.translatable("multiplayer.disconnect.missing_public_key"));
return true;
}