Reformatted using IntelliJ

This commit is contained in:
UnlegitDqrk
2026-02-06 17:59:04 +01:00
parent 68aa9c1df2
commit 0e5e0b5668
17 changed files with 130 additions and 129 deletions

View File

@@ -130,14 +130,21 @@ public final class ProtocolBridge {
*/
private void registerPackets() {
// 1.0.0-BETA packets
if (isPacketSupported(new AuthPacket(this))) protocolValues.packetHandler.registerPacket(() -> new AuthPacket(this));
if (isPacketSupported(new AuthPacket(this)))
protocolValues.packetHandler.registerPacket(() -> new AuthPacket(this));
if (isPacketSupported(new INSQueryPacket())) protocolValues.packetHandler.registerPacket(INSQueryPacket::new);
if (isPacketSupported(new INSResponsePacket(this))) protocolValues.packetHandler.registerPacket(() -> new INSResponsePacket(this));
if (isPacketSupported(new WebRequestPacket())) protocolValues.packetHandler.registerPacket(WebRequestPacket::new);
if (isPacketSupported(new WebResponsePacket())) protocolValues.packetHandler.registerPacket(WebResponsePacket::new);
if (isPacketSupported(new WebStreamChunkPacket())) protocolValues.packetHandler.registerPacket(WebStreamChunkPacket::new);
if (isPacketSupported(new WebStreamStartPacket())) protocolValues.packetHandler.registerPacket(WebStreamStartPacket::new);
if (isPacketSupported(new WebStreamEndPacket())) protocolValues.packetHandler.registerPacket(WebStreamEndPacket::new);
if (isPacketSupported(new INSResponsePacket(this)))
protocolValues.packetHandler.registerPacket(() -> new INSResponsePacket(this));
if (isPacketSupported(new WebRequestPacket()))
protocolValues.packetHandler.registerPacket(WebRequestPacket::new);
if (isPacketSupported(new WebResponsePacket()))
protocolValues.packetHandler.registerPacket(WebResponsePacket::new);
if (isPacketSupported(new WebStreamChunkPacket()))
protocolValues.packetHandler.registerPacket(WebStreamChunkPacket::new);
if (isPacketSupported(new WebStreamStartPacket()))
protocolValues.packetHandler.registerPacket(WebStreamStartPacket::new);
if (isPacketSupported(new WebStreamEndPacket()))
protocolValues.packetHandler.registerPacket(WebStreamEndPacket::new);
}

View File

@@ -10,8 +10,6 @@ import org.openautonomousconnection.protocol.packets.v1_0_0.beta.AuthPacket;
import org.openautonomousconnection.protocol.side.client.ProtocolClient;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import java.io.IOException;
/**
* Listener for client-side events such as connection and disconnection.
*/

View File

@@ -3,7 +3,6 @@ package org.openautonomousconnection.protocol.listeners;
import dev.unlegitdqrk.unlegitlibrary.event.EventListener;
import dev.unlegitdqrk.unlegitlibrary.event.Listener;
import dev.unlegitdqrk.unlegitlibrary.network.system.server.events.client.S_ClientConnectedEvent;
import dev.unlegitdqrk.unlegitlibrary.network.system.server.events.client.S_ClientDisconnectedEvent;
import dev.unlegitdqrk.unlegitlibrary.network.system.server.events.packets.S_PacketReadEvent;
import dev.unlegitdqrk.unlegitlibrary.network.system.utils.TransportProtocol;
import lombok.Getter;
@@ -17,7 +16,6 @@ import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSRecord;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSResponseStatus;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

View File

@@ -5,7 +5,9 @@ import lombok.Getter;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSResponseStatus;
import java.io.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.UUID;
/**
@@ -19,19 +21,12 @@ public abstract class OACPacket extends Packet {
*/
@Getter
private final ProtocolVersion protocolVersion;
private final int id;
/**
* The response code for the packet, defaulting to RESPONSE_NOT_REQUIRED.
*/
private INSResponseStatus responseCode = INSResponseStatus.RESPONSE_NOT_REQUIRED;
private final int id;
@Override
public int getPacketID() {
return id;
}
/**
* Constructor for OACPacket.
*
@@ -43,6 +38,11 @@ public abstract class OACPacket extends Packet {
this.protocolVersion = protocolVersion;
}
@Override
public int getPacketID() {
return id;
}
/**
* Gets the response code for the packet.
*

View File

@@ -15,7 +15,10 @@ import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSResponseStatus;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.TOFUFeedback;
import java.io.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
/**
@@ -179,7 +182,10 @@ public final class AuthPacket extends OACPacket {
protocolBridge.getProtocolClient().getClientINSConnection().disconnect();
return;
}
if (feedback == TOFUFeedback.TRUST) { FileUtils.writeFile(fpFile, fp + System.lineSeparator()); allowWritePem = true; }
if (feedback == TOFUFeedback.TRUST) {
FileUtils.writeFile(fpFile, fp + System.lineSeparator());
allowWritePem = true;
}
} else {
TOFUFeedback feedback = protocolBridge.getProtocolClient().trustINS(fp);
if (feedback == TOFUFeedback.DISCONNECT) {
@@ -187,11 +193,15 @@ public final class AuthPacket extends OACPacket {
protocolBridge.getProtocolClient().getClientINSConnection().disconnect();
return;
}
if (feedback == TOFUFeedback.TRUST) { FileUtils.writeFile(fpFile, fp + System.lineSeparator()); allowWritePem = true; }
if (feedback == TOFUFeedback.TRUST) {
FileUtils.writeFile(fpFile, fp + System.lineSeparator());
allowWritePem = true;
}
}
if (!allowWritePem) {
setResponseCode(INSResponseStatus.RESPONSE_AUTH_FAILED); return;
setResponseCode(INSResponseStatus.RESPONSE_AUTH_FAILED);
return;
}
try {

View File

@@ -5,7 +5,9 @@ import org.openautonomousconnection.protocol.packets.OACPacket;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSRecordType;
import java.io.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.UUID;
/**

View File

@@ -7,7 +7,9 @@ import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSRecord;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSResponseStatus;
import java.io.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

View File

@@ -5,7 +5,9 @@ import org.openautonomousconnection.protocol.packets.OACPacket;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.WebRequestMethod;
import java.io.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Map;
import java.util.UUID;

View File

@@ -4,7 +4,9 @@ import lombok.Getter;
import org.openautonomousconnection.protocol.packets.OACPacket;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import java.io.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Map;
import java.util.UUID;

View File

@@ -4,7 +4,9 @@ import lombok.Getter;
import org.openautonomousconnection.protocol.packets.OACPacket;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import java.io.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.UUID;
public final class WebStreamChunkPacket extends OACPacket {

View File

@@ -4,7 +4,9 @@ import lombok.Getter;
import org.openautonomousconnection.protocol.packets.OACPacket;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import java.io.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.UUID;
public final class WebStreamEndPacket extends OACPacket {

View File

@@ -4,7 +4,9 @@ import lombok.Getter;
import org.openautonomousconnection.protocol.packets.OACPacket;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import java.io.*;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Map;
import java.util.UUID;

View File

@@ -6,9 +6,7 @@ import dev.unlegitdqrk.unlegitlibrary.file.FileUtils;
import dev.unlegitdqrk.unlegitlibrary.network.system.client.NetworkClient;
import dev.unlegitdqrk.unlegitlibrary.network.system.client.events.state.ClientDisconnectedEvent;
import dev.unlegitdqrk.unlegitlibrary.network.system.utils.TransportProtocol;
import dev.unlegitdqrk.unlegitlibrary.network.utils.NetworkUtils;
import dev.unlegitdqrk.unlegitlibrary.network.utils.PemUtils;
import dev.unlegitdqrk.unlegitlibrary.utils.DefaultMethodsOverrider;
import lombok.Getter;
import org.openautonomousconnection.protocol.ProtocolBridge;
import org.openautonomousconnection.protocol.annotations.ProtocolInfo;
@@ -23,7 +21,8 @@ import org.openautonomousconnection.protocol.versions.v1_0_0.beta.TOFUFeedback;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.security.*;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.HashMap;
@@ -147,7 +146,6 @@ public abstract class ProtocolClient extends EventListener {
}
private void checkFileExists(File folder, String prefix, String extension) throws CertificateException, IOException {
boolean found = false;
if (folder == null) throw new FileNotFoundException("Folder does not exist");
File[] files = folder.listFiles();
@@ -158,11 +156,7 @@ public abstract class ProtocolClient extends EventListener {
for (File file : files) {
if (!file.getName().startsWith(prefix))
throw new CertificateException(file.getAbsolutePath() + " is not valid");
if (!found) found = file.getName().equalsIgnoreCase(prefix + NetworkUtils.getPublicIPAddress() + extension);
}
if (!found) throw new CertificateException("Missing " + prefix + NetworkUtils.getPublicIPAddress() + extension);
}
public final ProtocolVersion getServerVersion() {
@@ -332,6 +326,7 @@ public abstract class ProtocolClient extends EventListener {
}
public abstract TOFUFeedback trustINS(String caFingerprint);
public abstract TOFUFeedback insFingerprintChanged(String oldCAFingerprint, String newCAFingerprint);
public static final class ClientCertificateFolderStructure {

View File

@@ -1,19 +1,13 @@
package org.openautonomousconnection.protocol.side.ins;
import dev.unlegitdqrk.unlegitlibrary.file.ConfigurationManager;
import dev.unlegitdqrk.unlegitlibrary.file.FileUtils;
import dev.unlegitdqrk.unlegitlibrary.network.system.server.NetworkServer;
import dev.unlegitdqrk.unlegitlibrary.network.system.utils.ClientAuthMode;
import dev.unlegitdqrk.unlegitlibrary.network.utils.NetworkUtils;
import lombok.Getter;
import org.openautonomousconnection.protocol.annotations.ProtocolInfo;
import org.openautonomousconnection.protocol.side.server.ProtocolCustomServer;
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSRecord;
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSRecordType;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLServerSocketFactory;
import java.io.File;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;
@@ -32,20 +26,12 @@ public abstract class ProtocolINSServer extends ProtocolCustomServer {
* @return The INS information site URL.
*/
private final String insInfoSite;
public final String getInsInfoSite() {
return insInfoSite;
}
/**
* Gets the INS registration site URL from the configuration.
*
* @return The INS registration site URL.
*/
private String insFrontendSite;
public final String getInsFrontendSite() {
return insFrontendSite;
}
private final String insFrontendSite;
/**
* Constructs a ProtocolINSServer with the specified configuration file.
@@ -61,6 +47,14 @@ public abstract class ProtocolINSServer extends ProtocolCustomServer {
this.insFrontendSite = insFrontendSite;
}
public final String getInsInfoSite() {
return insInfoSite;
}
public final String getInsFrontendSite() {
return insFrontendSite;
}
public void start(int tcpPort) throws IOException, InterruptedException, NoSuchAlgorithmException {
getNetwork().start(tcpPort, -1);

View File

@@ -1,7 +1,6 @@
package org.openautonomousconnection.protocol.side.server;
import dev.unlegitdqrk.unlegitlibrary.event.EventListener;
import dev.unlegitdqrk.unlegitlibrary.event.EventManager;
import dev.unlegitdqrk.unlegitlibrary.event.EventPriority;
import dev.unlegitdqrk.unlegitlibrary.event.Listener;
import dev.unlegitdqrk.unlegitlibrary.network.system.server.ConnectedClient;

View File

@@ -4,7 +4,6 @@ import dev.unlegitdqrk.unlegitlibrary.event.EventListener;
import dev.unlegitdqrk.unlegitlibrary.event.EventPriority;
import dev.unlegitdqrk.unlegitlibrary.event.Listener;
import dev.unlegitdqrk.unlegitlibrary.file.FileUtils;
import dev.unlegitdqrk.unlegitlibrary.network.system.client.events.state.ClientDisconnectedEvent;
import dev.unlegitdqrk.unlegitlibrary.network.system.server.NetworkServer;
import dev.unlegitdqrk.unlegitlibrary.network.system.server.events.client.S_ClientDisconnectedEvent;
import dev.unlegitdqrk.unlegitlibrary.network.system.server.events.state.ServerStoppedEvent;
@@ -14,10 +13,7 @@ import dev.unlegitdqrk.unlegitlibrary.network.utils.PemUtils;
import lombok.Getter;
import org.openautonomousconnection.protocol.ProtocolBridge;
import org.openautonomousconnection.protocol.side.server.events.S_CustomClientDisconnectedEvent;
import org.openautonomousconnection.protocol.side.web.managers.AuthManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -33,11 +29,6 @@ public abstract class ProtocolCustomServer extends EventListener {
* Structure for server.
*/
private final ServerCertificateFolderStructure folderStructure;
public final ServerCertificateFolderStructure getFolderStructure() {
return folderStructure;
}
/**
* Certificate files for SSL.
*/
@@ -46,38 +37,19 @@ public abstract class ProtocolCustomServer extends EventListener {
* Certificate files for SSL.
*/
private final File keyFile;
/**
* The reference to the ProtocolBridge Object
*/
private ProtocolBridge protocolBridge;
public final ProtocolBridge getProtocolBridge() {
return protocolBridge;
}
/**
* List of connected web clients.
*/
private final List<CustomConnectedClient> clients;
public final List<CustomConnectedClient> getClients() {
return clients;
}
/**
* The reference to the ProtocolBridge Object
*/
private ProtocolBridge protocolBridge;
/**
* The network server handling pipeline connections.
*/
private NetworkServer network;
public final NetworkServer getNetwork() {
return network;
}
protected final void setNetwork(NetworkServer network) {
this.network = network;
}
/**
* Initializes the web server with the given configuration, authentication, and rules files.
*
@@ -99,6 +71,26 @@ public abstract class ProtocolCustomServer extends EventListener {
this.keyFile = new File(folderStructure.privateServerFolder, folderStructure.certPrefix + NetworkUtils.getPublicIPAddress() + ".key");
}
public final ServerCertificateFolderStructure getFolderStructure() {
return folderStructure;
}
public final ProtocolBridge getProtocolBridge() {
return protocolBridge;
}
public final List<CustomConnectedClient> getClients() {
return clients;
}
public final NetworkServer getNetwork() {
return network;
}
protected final void setNetwork(NetworkServer network) {
this.network = network;
}
/**
* Injects the ProtocolBridge.
*

View File

@@ -1,9 +1,7 @@
package org.openautonomousconnection.protocol.side.web;
import dev.unlegitdqrk.unlegitlibrary.file.FileUtils;
import dev.unlegitdqrk.unlegitlibrary.network.system.utils.ClientAuthMode;
import dev.unlegitdqrk.unlegitlibrary.string.RandomString;
import lombok.Getter;
import org.openautonomousconnection.protocol.annotations.ProtocolInfo;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebRequestPacket;
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.web.WebResponsePacket;
@@ -25,47 +23,23 @@ public abstract class ProtocolWebServer extends ProtocolCustomServer {
* Folder for web content.
*/
private final File contentFolder;
public final File getContentFolder() {
return contentFolder;
}
/**
* Folder for error pages.
*/
private final File errorsFolder;
public final File getErrorsFolder() {
return errorsFolder;
}
/**
* A unique secret for session management.
*/
private final String uniqueSessionString;
public final String getUniqueSessionString() {
return uniqueSessionString;
}
/**
* The expiration time of a Session in minutes
*/
private final int sessionExpire;
public final int getSessionExpire() {
return sessionExpire;
}
/**
* The max upload size in MB
*/
private final int maxUploadSize;
public final int getMaxUploadSize() {
return maxUploadSize;
}
/**
* Initializes the web server with the given configuration, authentication, and rules files.
*
@@ -126,6 +100,26 @@ public abstract class ProtocolWebServer extends ProtocolCustomServer {
RuleManager.loadRules(rulesFile);
}
public final File getContentFolder() {
return contentFolder;
}
public final File getErrorsFolder() {
return errorsFolder;
}
public final String getUniqueSessionString() {
return uniqueSessionString;
}
public final int getSessionExpire() {
return sessionExpire;
}
public final int getMaxUploadSize() {
return maxUploadSize;
}
/**
* Called when the server receives a WebRequestPacket from the client.
*