Some additional merge changes

This commit is contained in:
Tim203 2023-05-05 18:22:31 +02:00
parent 6ca53f5bf3
commit d14a20845d
No known key found for this signature in database
GPG key ID: 736F3CD49EF01DBF
28 changed files with 82 additions and 92 deletions

View file

@ -7,7 +7,8 @@ plugins {
}
dependencies {
api("org.geysermc.floodgate", "core", "2.2.0-SNAPSHOT")
api(libs.floodgate.core)
annotationProcessor(libs.floodgate.core)
api(projects.api)
// Jackson JSON and YAML serialization

View file

@ -25,7 +25,7 @@
package org.geysermc.geyser;
import org.geysermc.floodgate.skin.SkinApplier;
import org.geysermc.floodgate.core.skin.SkinApplier;
import org.geysermc.geyser.command.GeyserCommandManager;
import org.geysermc.geyser.configuration.GeyserConfiguration;
import org.geysermc.geyser.dump.BootstrapDumpInfo;

View file

@ -46,7 +46,7 @@ import org.geysermc.api.Geyser;
import org.geysermc.cumulus.form.Form;
import org.geysermc.cumulus.form.util.FormBuilder;
import org.geysermc.erosion.packet.Packets;
import org.geysermc.floodgate.FloodgatePlatform;
import org.geysermc.floodgate.core.FloodgatePlatform;
import org.geysermc.floodgate.news.NewsItemAction;
import org.geysermc.geyser.api.GeyserApi;
import org.geysermc.geyser.api.event.EventBus;

View file

@ -31,6 +31,7 @@ import org.checkerframework.checker.nullness.qual.NonNull;
import org.geysermc.geyser.api.extension.ExtensionDescription;
import org.geysermc.geyser.api.extension.exception.InvalidDescriptionException;
import org.geysermc.geyser.text.GeyserLocale;
import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.CustomClassLoaderConstructor;
@ -48,7 +49,7 @@ public record GeyserExtensionDescription(@NonNull String id,
@NonNull String version,
@NonNull List<String> authors) implements ExtensionDescription {
private static final Yaml YAML = new Yaml(new CustomClassLoaderConstructor(Source.class.getClassLoader()));
private static final Yaml YAML = new Yaml(new CustomClassLoaderConstructor(Source.class.getClassLoader(), new LoaderOptions()));
public static final Pattern ID_PATTERN = Pattern.compile("[a-z][a-z0-9-_]{0,63}");
public static final Pattern NAME_PATTERN = Pattern.compile("^[A-Za-z_.-]+$");

View file

@ -25,16 +25,11 @@
package org.geysermc.geyser.floodgate;
import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import com.google.inject.Singleton;
import com.google.inject.name.Named;
public class GeyserLoadStage extends AbstractModule {
@Provides
@Singleton
@Named("configFile")
private String floodgateConfigName() {
return "floodgate.yml";
}
public class GeyserLoadStage {
// @Provides
// @Singleton
// @Named("configFile")
// private String floodgateConfigName() {
// return "floodgate.yml";
// }
}

View file

@ -25,7 +25,7 @@
package org.geysermc.geyser.hybrid;
import org.geysermc.floodgate.crypto.FloodgateCipher;
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
import org.geysermc.geyser.GeyserImpl;
import org.geysermc.geyser.session.GeyserSession;
@ -35,7 +35,7 @@ public final class FloodgateHybridProvider implements HybridProvider {
private final FloodgateCipher cipher;
public FloodgateHybridProvider(GeyserImpl geyser) {
cipher = geyser.getFloodgatePlatform().getInstance(FloodgateCipher.class);
cipher = geyser.getFloodgatePlatform().getBean(FloodgateCipher.class);
}
@Override

View file

@ -25,7 +25,7 @@
package org.geysermc.geyser.hybrid;
import org.geysermc.floodgate.crypto.FloodgateCipher;
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
import org.geysermc.geyser.session.GeyserSession;
public interface HybridProvider {

View file

@ -26,9 +26,9 @@
package org.geysermc.geyser.hybrid;
import io.netty.util.AttributeKey;
import org.geysermc.floodgate.crypto.FloodgateCipher;
import org.geysermc.floodgate.skin.SkinApplier;
import org.geysermc.floodgate.skin.SkinData;
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
import org.geysermc.floodgate.core.skin.SkinApplier;
import org.geysermc.floodgate.core.skin.SkinDataImpl;
import org.geysermc.geyser.GeyserImpl;
import org.geysermc.geyser.session.GeyserSession;
@ -44,7 +44,7 @@ public class IntegratedHybridProvider implements HybridProvider {
@Override
public void onSkinUpload(GeyserSession session, String value, String signature) {
skinApplier.applySkin(session, new SkinData(value, signature));
skinApplier.applySkin(session, new SkinDataImpl(value, signature));
}
@Override

View file

@ -25,7 +25,7 @@
package org.geysermc.geyser.hybrid;
import org.geysermc.floodgate.crypto.FloodgateCipher;
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
import org.geysermc.geyser.GeyserImpl;
public final class ProxyHybridProvider extends IntegratedHybridProvider {
@ -33,7 +33,7 @@ public final class ProxyHybridProvider extends IntegratedHybridProvider {
public ProxyHybridProvider(GeyserImpl geyser) {
super(geyser);
this.cipher = geyser.getFloodgatePlatform().getInstance(FloodgateCipher.class);
this.cipher = geyser.getFloodgatePlatform().getBean(FloodgateCipher.class);
}
@Override

View file

@ -96,7 +96,7 @@ import org.geysermc.api.util.InputMode;
import org.geysermc.api.util.UiProfile;
import org.geysermc.cumulus.form.Form;
import org.geysermc.cumulus.form.util.FormBuilder;
import org.geysermc.floodgate.crypto.FloodgateCipher;
import org.geysermc.floodgate.core.crypto.FloodgateCipher;
import org.geysermc.floodgate.util.BedrockData;
import org.geysermc.geyser.Constants;
import org.geysermc.geyser.GeyserImpl;

View file

@ -32,7 +32,7 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.nimbusds.jwt.SignedJWT;
import lombok.Getter;
import org.geysermc.floodgate.util.WebsocketEventType;
import org.geysermc.floodgate.core.util.WebsocketEventType;
import org.geysermc.geyser.Constants;
import org.geysermc.geyser.GeyserImpl;
import org.geysermc.geyser.GeyserLogger;

View file

@ -32,13 +32,10 @@ import com.fasterxml.jackson.databind.node.JsonNodeType;
import com.github.steveice10.mc.auth.service.MsaAuthenticationService;
import com.nimbusds.jose.JWSObject;
import com.nimbusds.jose.Payload;
import com.nimbusds.jose.shaded.json.JSONObject;
import com.nimbusds.jose.shaded.json.JSONValue;
import com.nimbusds.jwt.SignedJWT;
import org.cloudburstmc.protocol.bedrock.packet.LoginPacket;
import org.cloudburstmc.protocol.bedrock.packet.ServerToClientHandshakePacket;
import org.cloudburstmc.protocol.bedrock.util.EncryptionUtils;
import org.cloudburstmc.protocol.common.util.Preconditions;
import org.geysermc.cumulus.form.CustomForm;
import org.geysermc.cumulus.form.ModalForm;
import org.geysermc.cumulus.form.SimpleForm;
@ -109,12 +106,12 @@ public class LoginEncryptionUtils {
mojangSigned = true;
}
Object payload = JSONValue.parse(jwt.getPayload().toString());
Preconditions.checkArgument(payload instanceof JSONObject, "Payload is not an object");
Object identityPublicKey = ((JSONObject) payload).get("identityPublicKey");
Preconditions.checkArgument(identityPublicKey instanceof String, "identityPublicKey node is missing in chain");
lastKey = EncryptionUtils.generateKey((String) identityPublicKey);
// Object payload = JSONValue.parse(jwt.getPayload().toString());
// Preconditions.checkArgument(payload instanceof JSONObject, "Payload is not an object");
//
// Object identityPublicKey = ((JSONObject) payload).get("identityPublicKey");
// Preconditions.checkArgument(identityPublicKey instanceof String, "identityPublicKey node is missing in chain");
// lastKey = EncryptionUtils.generateKey((String) identityPublicKey);
}
return mojangSigned;

@ -1 +1 @@
Subproject commit 56c3eee7a5241b5609d1936f2a11b05dd1a3d568
Subproject commit d449a0a18549f1b6f2a62e363974019337a26b16