Renamed DNS to INS
This commit is contained in:
@@ -10,12 +10,12 @@ import org.openautonomousconnection.protocol.annotations.ProtocolInfo;
|
||||
import org.openautonomousconnection.protocol.exceptions.UnsupportedProtocolException;
|
||||
import org.openautonomousconnection.protocol.packets.OACPacket;
|
||||
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.GetDestinationPacket;
|
||||
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.ValidateDomainPacket;
|
||||
import org.openautonomousconnection.protocol.packets.v1_0_0.beta.ValidateInfoNamePacket;
|
||||
import org.openautonomousconnection.protocol.packets.v1_0_0.classic.Classic_DomainPacket;
|
||||
import org.openautonomousconnection.protocol.packets.v1_0_0.classic.Classic_PingPacket;
|
||||
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.DNSResponseCode;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.Domain;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSResponseCode;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.InfoName;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.classic.objects.Classic_RequestDomain;
|
||||
|
||||
import java.io.File;
|
||||
@@ -24,14 +24,14 @@ import java.io.IOException;
|
||||
import java.security.cert.CertificateException;
|
||||
|
||||
/**
|
||||
* Abstract class defining the client-side protocol operations and interactions with DNS and web servers.
|
||||
* Abstract class defining the client-side protocol operations and interactions with INS and web servers.
|
||||
*/
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.DNS)
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.INS)
|
||||
public abstract class ProtocolClient extends DefaultMethodsOverrider {
|
||||
/**
|
||||
* Handles everything with DNS-Connection.
|
||||
* Handles everything with INS-Connection.
|
||||
*/
|
||||
private final NetworkClient clientToDNS;
|
||||
private final NetworkClient clientToINS;
|
||||
|
||||
/**
|
||||
* Manages the folder structure for client certificates.
|
||||
@@ -57,7 +57,7 @@ public abstract class ProtocolClient extends DefaultMethodsOverrider {
|
||||
private ProtocolBridge protocolBridge;
|
||||
|
||||
/**
|
||||
* Initializes the ProtocolClient, setting up certificate folders and the DNS client connection.
|
||||
* Initializes the ProtocolClient, setting up certificate folders and the INS client connection.
|
||||
*
|
||||
* @throws CertificateException if there are issues with the certificates.
|
||||
* @throws IOException if there are I/O issues during initialization.
|
||||
@@ -66,8 +66,8 @@ public abstract class ProtocolClient extends DefaultMethodsOverrider {
|
||||
// Initialize and verify certificate folders and files
|
||||
folderStructure = new ClientCertificateFolderStructure();
|
||||
|
||||
// Initialize connection to DNS server
|
||||
clientToDNS = new NetworkClient.ClientBuilder().setLogger(protocolBridge.getLogger()).setProxy(protocolBridge.getProxy()).
|
||||
// Initialize connection to INS server
|
||||
clientToINS = new NetworkClient.ClientBuilder().setLogger(protocolBridge.getLogger()).setProxy(protocolBridge.getProxy()).
|
||||
setHost(protocolBridge.getProtocolSettings().host).setPort(protocolBridge.getProtocolSettings().port).
|
||||
setPacketHandler(protocolBridge.getProtocolSettings().packetHandler).setEventManager(protocolBridge.getProtocolSettings().eventManager).
|
||||
setRootCAFolder(folderStructure.publicCAFolder).setClientCertificatesFolder(folderStructure.publicClientFolder, folderStructure.privateClientFolder).
|
||||
@@ -75,23 +75,23 @@ public abstract class ProtocolClient extends DefaultMethodsOverrider {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the DNS connection client.
|
||||
* Gets the INS connection client.
|
||||
*
|
||||
* @return the NetworkClient handling the DNS connection.
|
||||
* @return the NetworkClient handling the INS connection.
|
||||
*/
|
||||
public final NetworkClient getClientDNSConnection() {
|
||||
return clientToDNS;
|
||||
public final NetworkClient getClientINSConnection() {
|
||||
return clientToINS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a web connection to the specified domain and ports.
|
||||
* Creates a web connection to the specified InfoName and ports.
|
||||
*
|
||||
* @param domain the target domain for the web connection.
|
||||
* @param infoName the target InfoName for the web connection.
|
||||
* @param pipelinePort the port used for the pipeline connection.
|
||||
* @param webPort the port used for the web connection.
|
||||
* @throws Exception if there are issues creating the web connection or if the protocol is unsupported.
|
||||
*/
|
||||
public final void createWebConnection(Domain domain, int pipelinePort, int webPort) throws Exception {
|
||||
public final void createWebConnection(InfoName infoName, int pipelinePort, int webPort) throws Exception {
|
||||
// Ensure the protocol supports web connections
|
||||
if (!protocolBridge.isProtocolSupported(ProtocolVersion.Protocol.OAC))
|
||||
throw new UnsupportedProtocolException();
|
||||
@@ -107,7 +107,7 @@ public abstract class ProtocolClient extends DefaultMethodsOverrider {
|
||||
}
|
||||
|
||||
// Verify necessary certificate files exist
|
||||
webClient = new WebClient(domain, pipelinePort, webPort, this);
|
||||
webClient = new WebClient(infoName, pipelinePort, webPort, this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -162,12 +162,12 @@ public abstract class ProtocolClient extends DefaultMethodsOverrider {
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles DNS disconnection events, resetting the server version and closing the web client connection if necessary.
|
||||
* Handles INS disconnection events, resetting the server version and closing the web client connection if necessary.
|
||||
*
|
||||
* @param event the ClientDisconnectedEvent triggered on DNS disconnection.
|
||||
* @param event the ClientDisconnectedEvent triggered on INS disconnection.
|
||||
*/
|
||||
public final void onDNSDisconnect(ClientDisconnectedEvent event) {
|
||||
// Reset server version on DNS disconnect
|
||||
public final void onINSDisconnect(ClientDisconnectedEvent event) {
|
||||
// Reset server version on INS disconnect
|
||||
serverVersion = null;
|
||||
|
||||
// Close web client connection if it exists
|
||||
@@ -302,36 +302,36 @@ public abstract class ProtocolClient extends DefaultMethodsOverrider {
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates the specified domain by sending a validation request to the DNS server.
|
||||
* Validates the specified InfoName by sending a validation request to the INS server.
|
||||
*
|
||||
* @param domain the Domain to validate.
|
||||
* @param infoName the InfoName to validate.
|
||||
* @throws IOException if there are I/O issues during the validation process.
|
||||
* @throws ClassNotFoundException if there are issues with class loading during packet handling.
|
||||
*/
|
||||
public final void validateDomain(Domain domain) throws IOException, ClassNotFoundException {
|
||||
public final void validateInfoName(InfoName infoName) throws IOException, ClassNotFoundException {
|
||||
// Send Classic_PingPacket if classic protocol is supported
|
||||
Classic_PingPacket cPingPacket = new Classic_PingPacket(new Classic_RequestDomain(domain.getName(), domain.getTopLevelName(), domain.getPath()), null, false);
|
||||
if (protocolBridge.isClassicSupported()) clientToDNS.sendPacket(cPingPacket);
|
||||
Classic_PingPacket cPingPacket = new Classic_PingPacket(new Classic_RequestDomain(infoName.getName(), infoName.getTopLevelName(), infoName.getPath()), null, false);
|
||||
if (protocolBridge.isClassicSupported()) clientToINS.sendPacket(cPingPacket);
|
||||
|
||||
// Send ValidateDomainPacket
|
||||
clientToDNS.sendPacket(new ValidateDomainPacket(domain, protocolBridge));
|
||||
// Send ValidateInfoNamePacket
|
||||
clientToINS.sendPacket(new ValidateInfoNamePacket(infoName, protocolBridge));
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests the destination for the specified domain from the DNS server.
|
||||
* Requests the destination for the specified InfoName from the INS server.
|
||||
*
|
||||
* @param domain the Domain for which to request the destination.
|
||||
* @param responseCode the expected DNSResponseCode for the request.
|
||||
* @param infoName the InfoName for which to request the destination.
|
||||
* @param responseCode the expected INSResponseCode for the request.
|
||||
* @throws IOException if there are I/O issues during the request process.
|
||||
* @throws ClassNotFoundException if there are issues with class loading during packet handling.
|
||||
*/
|
||||
public final void requestDestination(Domain domain, DNSResponseCode responseCode) throws IOException, ClassNotFoundException {
|
||||
public final void requestInfoName(InfoName infoName, INSResponseCode responseCode) throws IOException, ClassNotFoundException {
|
||||
// Send Classic_DomainPacket if classic protocol is supported
|
||||
Classic_DomainPacket cDomainPacket = new Classic_DomainPacket(0, new Classic_RequestDomain(domain.getName(), domain.getTopLevelName(), domain.getPath()), null);
|
||||
if (protocolBridge.isClassicSupported()) clientToDNS.sendPacket(cDomainPacket);
|
||||
Classic_DomainPacket cDomainPacket = new Classic_DomainPacket(0, new Classic_RequestDomain(infoName.getName(), infoName.getTopLevelName(), infoName.getPath()), null);
|
||||
if (protocolBridge.isClassicSupported()) clientToINS.sendPacket(cDomainPacket);
|
||||
|
||||
// Send GetDestinationPacket
|
||||
clientToDNS.sendPacket(new GetDestinationPacket(domain, responseCode));
|
||||
clientToINS.sendPacket(new GetDestinationPacket(infoName, responseCode));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -343,21 +343,21 @@ public abstract class ProtocolClient extends DefaultMethodsOverrider {
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback method invoked when domain validation is completed.
|
||||
* Callback method invoked when InfoName validation is completed.
|
||||
*
|
||||
* @param domain the Domain that was validated.
|
||||
* @param responseCode the DNSResponseCode resulting from the validation.
|
||||
* @param infoName the InfoName that was validated.
|
||||
* @param responseCode the INSResponseCode resulting from the validation.
|
||||
*/
|
||||
public abstract void validationCompleted(Domain domain, DNSResponseCode responseCode);
|
||||
public abstract void validationCompleted(InfoName infoName, INSResponseCode responseCode);
|
||||
|
||||
/**
|
||||
* Callback method invoked when the destination retrieval is completed.
|
||||
*
|
||||
* @param domain the Domain for which the destination was requested.
|
||||
* @param infoName the InfoName for which the destination was requested.
|
||||
* @param destination the retrieved destination as a string.
|
||||
* @param validationResponse the DNSResponseCode resulting from the destination retrieval.
|
||||
* @param validationResponse the INSResponseCode resulting from the destination retrieval.
|
||||
*/
|
||||
public abstract void getDestinationCompleted(Domain domain, String destination, DNSResponseCode validationResponse);
|
||||
public abstract void getDestinationCompleted(InfoName infoName, String destination, INSResponseCode validationResponse);
|
||||
|
||||
/**
|
||||
* Manages the folder structure for client certificates.
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package org.openautonomousconnection.protocol.side.client;
|
||||
|
||||
import dev.unlegitdqrk.unlegitlibrary.network.system.client.NetworkClient;
|
||||
import dev.unlegitdqrk.unlegitlibrary.network.system.server.ConnectionHandler;
|
||||
import lombok.Getter;
|
||||
import org.openautonomousconnection.protocol.ProtocolBridge;
|
||||
import org.openautonomousconnection.protocol.annotations.ProtocolInfo;
|
||||
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.Domain;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.InfoName;
|
||||
|
||||
import javax.net.ssl.SSLParameters;
|
||||
import javax.net.ssl.SSLSocket;
|
||||
@@ -23,7 +21,7 @@ import java.net.Socket;
|
||||
* WebClient handles secure connections to web servers through a pipeline connection.
|
||||
* It manages SSL/TLS handshakes and data transmission over the established connection.
|
||||
*/
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.DNS)
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.INS)
|
||||
public final class WebClient {
|
||||
/**
|
||||
* NetworkClient instance for managing the pipeline connection to the web server.
|
||||
@@ -53,13 +51,13 @@ public final class WebClient {
|
||||
/**
|
||||
* Constructs a WebClient instance and establishes a secure connection to the web server.
|
||||
*
|
||||
* @param domain The domain information for the web server.
|
||||
* @param infoName The InfoName information for the web server.
|
||||
* @param pipelinePort The port for the pipeline connection.
|
||||
* @param webPort The port for the web server connection.
|
||||
* @param protocolClient The Protocol Client associated with this protocol client.
|
||||
* @throws Exception If an error occurs during connection setup.
|
||||
*/
|
||||
public WebClient(Domain domain, int pipelinePort, int webPort, ProtocolClient protocolClient) throws Exception {
|
||||
public WebClient(InfoName infoName, int pipelinePort, int webPort, ProtocolClient protocolClient) throws Exception {
|
||||
this.protocolClient = protocolClient;
|
||||
|
||||
// Initialize and connect the pipeline client
|
||||
@@ -67,15 +65,15 @@ public final class WebClient {
|
||||
// Set logger from ProtocolBridge
|
||||
setLogger(protocolClient.getProtocolBridge().getLogger()).
|
||||
// Set the destination and port for the pipeline connection
|
||||
setHost(domain.getDestination()).setPort(pipelinePort).
|
||||
setHost(infoName.getDestination()).setPort(pipelinePort).
|
||||
|
||||
// Configure packet handler and event manager
|
||||
setPacketHandler(protocolClient.getProtocolBridge().getProtocolSettings().packetHandler).
|
||||
setEventManager(protocolClient.getProtocolBridge().getProtocolSettings().eventManager).
|
||||
|
||||
// Set proxy and ssl parameters from DNS connection settings
|
||||
setProxy(protocolClient.getProtocolBridge().getProtocolClient().getClientDNSConnection().getProxy()).
|
||||
setSSLParameters(protocolClient.getProtocolBridge().getProtocolClient().getClientDNSConnection().getSocket().getSSLParameters()).
|
||||
// Set proxy and ssl parameters from INS connection settings
|
||||
setProxy(protocolClient.getProtocolBridge().getProtocolClient().getClientINSConnection().getProxy()).
|
||||
setSSLParameters(protocolClient.getProtocolBridge().getProtocolClient().getClientINSConnection().getSocket().getSSLParameters()).
|
||||
|
||||
// Set certificates and folders for SSL
|
||||
setRootCAFolder(protocolClient.getProtocolBridge().getProtocolClient().getFolderStructure().publicCAFolder).
|
||||
@@ -109,10 +107,10 @@ public final class WebClient {
|
||||
// Create raw socket and wrap it in SSL socket
|
||||
if (proxy != null) {
|
||||
Socket rawSocket = new Socket(proxy);
|
||||
rawSocket.connect(new InetSocketAddress(domain.getDestination(), webPort), 0);
|
||||
tempSocket = (SSLSocket) sslSocketFactory.createSocket(rawSocket, domain.getDestination(), webPort, true);
|
||||
rawSocket.connect(new InetSocketAddress(infoName.getDestination(), webPort), 0);
|
||||
tempSocket = (SSLSocket) sslSocketFactory.createSocket(rawSocket, infoName.getDestination(), webPort, true);
|
||||
} else {
|
||||
tempSocket = (SSLSocket) sslSocketFactory.createSocket(domain.getDestination(), webPort);
|
||||
tempSocket = (SSLSocket) sslSocketFactory.createSocket(infoName.getDestination(), webPort);
|
||||
}
|
||||
|
||||
clientToWebServer = tempSocket;
|
||||
@@ -177,7 +175,7 @@ public final class WebClient {
|
||||
public boolean isConnected() {
|
||||
return this.clientToWebServer != null && this.clientToWebServer.isConnected() && !this.clientToWebServer.isClosed()
|
||||
&& this.receiveThread.isAlive() && !this.receiveThread.isInterrupted() &&
|
||||
protocolClient.getProtocolBridge().getProtocolClient().getClientDNSConnection().isConnected() && clientToWebPipeline.isConnected();
|
||||
protocolClient.getProtocolBridge().getProtocolClient().getClientINSConnection().isConnected() && clientToWebPipeline.isConnected();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,8 +5,8 @@ import org.openautonomousconnection.protocol.annotations.ProtocolInfo;
|
||||
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
|
||||
|
||||
/**
|
||||
* Event triggered when a client successfully connects to a DNS protocol server.
|
||||
* Event triggered when a client successfully connects to a INS protocol server.
|
||||
*/
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.DNS)
|
||||
public final class ConnectedToProtocolDNSServerEvent extends Event {
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.INS)
|
||||
public final class ConnectedToProtocolINSServerEvent extends Event {
|
||||
}
|
||||
@@ -1,16 +1,15 @@
|
||||
package org.openautonomousconnection.protocol.side.dns;
|
||||
package org.openautonomousconnection.protocol.side.ins;
|
||||
|
||||
import dev.unlegitdqrk.unlegitlibrary.network.system.server.ConnectionHandler;
|
||||
import lombok.Getter;
|
||||
import org.openautonomousconnection.protocol.annotations.ProtocolInfo;
|
||||
import org.openautonomousconnection.protocol.packets.OACPacket;
|
||||
import org.openautonomousconnection.protocol.side.web.ProtocolWebServer;
|
||||
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
|
||||
|
||||
/**
|
||||
* Represents a connected protocol client on the DNS server side.
|
||||
* Represents a connected protocol client on the INS server side.
|
||||
*/
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.DNS)
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.INS)
|
||||
public final class ConnectedProtocolClient {
|
||||
|
||||
/**
|
||||
@@ -23,16 +22,16 @@ public final class ConnectedProtocolClient {
|
||||
* The Protocol Server associated with this protocol client.
|
||||
*/
|
||||
@Getter
|
||||
private final ProtocolDNSServer protocolDNSServer;
|
||||
private final ProtocolINSServer protocolINSServer;
|
||||
|
||||
/**
|
||||
* The protocol version of the connected client.
|
||||
*/
|
||||
private ProtocolVersion clientVersion = null;
|
||||
|
||||
public ConnectedProtocolClient(ConnectionHandler connectionHandler, ProtocolDNSServer protocolDNSServer) {
|
||||
public ConnectedProtocolClient(ConnectionHandler connectionHandler, ProtocolINSServer protocolINSServer) {
|
||||
this.connectionHandler = connectionHandler;
|
||||
this.protocolDNSServer = protocolDNSServer;
|
||||
this.protocolINSServer = protocolINSServer;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.openautonomousconnection.protocol.side.dns;
|
||||
package org.openautonomousconnection.protocol.side.ins;
|
||||
|
||||
import dev.unlegitdqrk.unlegitlibrary.file.ConfigurationManager;
|
||||
import dev.unlegitdqrk.unlegitlibrary.network.system.server.NetworkServer;
|
||||
@@ -8,8 +8,8 @@ import lombok.Getter;
|
||||
import org.openautonomousconnection.protocol.ProtocolBridge;
|
||||
import org.openautonomousconnection.protocol.annotations.ProtocolInfo;
|
||||
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.DNSResponseCode;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.Domain;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.INSResponseCode;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.InfoName;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
@@ -19,10 +19,10 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Abstract class representing a DNS server in the protocol.
|
||||
* Abstract class representing a INS server in the protocol.
|
||||
*/
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.DNS)
|
||||
public abstract class ProtocolDNSServer extends DefaultMethodsOverrider {
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.INS)
|
||||
public abstract class ProtocolINSServer extends DefaultMethodsOverrider {
|
||||
/**
|
||||
* The network server instance.
|
||||
*/
|
||||
@@ -53,13 +53,13 @@ public abstract class ProtocolDNSServer extends DefaultMethodsOverrider {
|
||||
private ProtocolBridge protocolBridge;
|
||||
|
||||
/**
|
||||
* Constructs a ProtocolDNSServer with the specified configuration file.
|
||||
* Constructs a ProtocolINSServer with the specified configuration file.
|
||||
*
|
||||
* @param configFile The configuration file for the DNS server.
|
||||
* @param configFile The configuration file for the INS server.
|
||||
* @throws IOException If an I/O error occurs.
|
||||
* @throws CertificateException If a certificate error occurs.
|
||||
*/
|
||||
public ProtocolDNSServer(File configFile) throws IOException, CertificateException {
|
||||
public ProtocolINSServer(File configFile) throws IOException, CertificateException {
|
||||
// Ensure the configuration file exists
|
||||
if (!configFile.exists()) configFile.createNewFile();
|
||||
|
||||
@@ -69,12 +69,12 @@ public abstract class ProtocolDNSServer extends DefaultMethodsOverrider {
|
||||
|
||||
// Set default values for configuration properties if not already set
|
||||
if (!configurationManager.isSet("server.site.info")) {
|
||||
configurationManager.set("server.site.info", "DNS-SERVER INFO SITE IP");
|
||||
configurationManager.set("server.site.info", "INS-SERVER INFO SITE IP");
|
||||
configurationManager.saveProperties();
|
||||
}
|
||||
|
||||
if (!configurationManager.isSet("server.site.register")) {
|
||||
configurationManager.set("server.site.register", "SERVER IP TO DNS-FRONTENT WEBSITE");
|
||||
configurationManager.set("server.site.register", "SERVER IP TO INS-FRONTEND WEBSITE");
|
||||
configurationManager.saveProperties();
|
||||
}
|
||||
|
||||
@@ -162,79 +162,79 @@ public abstract class ProtocolDNSServer extends DefaultMethodsOverrider {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the DNS information site URL from the configuration.
|
||||
* Gets the INS information site URL from the configuration.
|
||||
*
|
||||
* @return The DNS information site URL.
|
||||
* @return The INS information site URL.
|
||||
*/
|
||||
public final String getDNSInfoSite() {
|
||||
public final String getINSInfoSite() {
|
||||
return configurationManager.getString("server.site.info");
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the DNS registration site URL from the configuration.
|
||||
* Gets the INS registration site URL from the configuration.
|
||||
*
|
||||
* @return The DNS registration site URL.
|
||||
* @return The INS registration site URL.
|
||||
*/
|
||||
public final String getDNSRegisterSite() {
|
||||
public final String getINSRegisterSite() {
|
||||
return configurationManager.getString("server.site.register");
|
||||
}
|
||||
|
||||
/**
|
||||
* Abstract method to retrieve the list of domains managed by the DNS server.
|
||||
* Abstract method to retrieve the list of InfoNames managed by the INS server.
|
||||
*
|
||||
* @return A list of Domain objects.
|
||||
* @return A list of InfoName objects.
|
||||
*/
|
||||
public abstract List<Domain> getDomains();
|
||||
public abstract List<InfoName> getInfoNames();
|
||||
|
||||
/**
|
||||
* @param domain The domain to look up.
|
||||
* @return The destination associated with the domain.
|
||||
* @see Domain#getDestination()
|
||||
* Abstract method to get the destination for a given domain.
|
||||
* @param infoName The InfoName to look up.
|
||||
* @return The destination associated with the InfoName.
|
||||
* @see InfoName#getDestination()
|
||||
* Abstract method to get the destination for a given InfoName.
|
||||
*/
|
||||
public abstract String getDomainDestination(Domain domain);
|
||||
public abstract String getInfoNameDestination(InfoName infoName);
|
||||
|
||||
/**
|
||||
* @param domain The parent domain.
|
||||
* @param infoName The parent InfoName.
|
||||
* @param subname The subname to look up.
|
||||
* @return The destination associated with the subname.
|
||||
* @see Domain#getDestination()
|
||||
* Abstract method to get the destination for a given subname under a specific domain.
|
||||
* @see InfoName#getDestination()
|
||||
* Abstract method to get the destination for a given subname under a specific InfoName.
|
||||
*/
|
||||
public abstract String getSubnameDestination(Domain domain, String subname);
|
||||
public abstract String getSubnameDestination(InfoName infoName, String subname);
|
||||
|
||||
/**
|
||||
* @param topLevelName The top-level domain name.
|
||||
* @return The information site URL for the specified top-level domain.
|
||||
* @see Domain#getDestination()
|
||||
* Abstract method to get the top-level domain information site URL.
|
||||
* @param topLevelName The top-level name.
|
||||
* @return The information site URL for the specified top-level name.
|
||||
* @see InfoName#getDestination()
|
||||
* Abstract method to get the top-level name information site URL.
|
||||
*/
|
||||
public abstract String getTLNInfoSite(String topLevelName);
|
||||
|
||||
/**
|
||||
* Abstract method to validate a requested domain.
|
||||
* Abstract method to validate a requested InfoName.
|
||||
*
|
||||
* @param requestedDomain The domain to validate.
|
||||
* @return A DNSResponseCode indicating the result of the validation.
|
||||
* @param requestedInfoName The InfoName to validate.
|
||||
* @return A INSResponseCode indicating the result of the validation.
|
||||
*/
|
||||
public abstract DNSResponseCode validateDomain(Domain requestedDomain);
|
||||
public abstract INSResponseCode validateInfoName(InfoName requestedInfoName);
|
||||
|
||||
/**
|
||||
* Abstract method called when a validation packet fails to send.
|
||||
* @param domain The domain associated with the validation.
|
||||
* @param infoName The InfoName associated with the validation.
|
||||
* @param client The connected protocol client.
|
||||
* @param exception The exception that occurred during sending.
|
||||
*/
|
||||
public abstract void validationPacketSendFailed(Domain domain, ConnectedProtocolClient client, Exception exception);
|
||||
public abstract void validationPacketSendFailed(InfoName infoName, ConnectedProtocolClient client, Exception exception);
|
||||
|
||||
/**
|
||||
* Abstract method called when a domain destination packet fails to send.
|
||||
* Abstract method called when a InfoName destination packet fails to send.
|
||||
* @param client The connected protocol client.
|
||||
* @param domain The domain associated with the packet.
|
||||
* @param validationResponse The DNS response code from validation.
|
||||
* @param infoName The InfoName associated with the packet.
|
||||
* @param validationResponse The INS response code from validation.
|
||||
* @param exception The exception that occurred during sending.
|
||||
*/
|
||||
public abstract void domainDestinationPacketFailedSend(ConnectedProtocolClient client, Domain domain, DNSResponseCode validationResponse, Exception exception);
|
||||
public abstract void infoNameDestinationPacketFailedSend(ConnectedProtocolClient client, InfoName infoName, INSResponseCode validationResponse, Exception exception);
|
||||
|
||||
/**
|
||||
* Class representing the folder structure for server certificates.
|
||||
@@ -250,8 +250,8 @@ public abstract class ProtocolDNSServer extends DefaultMethodsOverrider {
|
||||
|
||||
public final File publicCAFolder;
|
||||
public final File publicServerFolder;
|
||||
public final String caPrefix = "ca_dns_";
|
||||
public final String certPrefix = "cert_dns_";
|
||||
public final String caPrefix = "ca_ins_";
|
||||
public final String certPrefix = "cert_ins_";
|
||||
|
||||
public ServerCertificateFolderStructure() {
|
||||
certificatesFolder = new File("certificates");
|
||||
@@ -1,15 +1,15 @@
|
||||
package org.openautonomousconnection.protocol.side.dns.events;
|
||||
package org.openautonomousconnection.protocol.side.ins.events;
|
||||
|
||||
import dev.unlegitdqrk.unlegitlibrary.event.impl.Event;
|
||||
import lombok.Getter;
|
||||
import org.openautonomousconnection.protocol.annotations.ProtocolInfo;
|
||||
import org.openautonomousconnection.protocol.side.dns.ConnectedProtocolClient;
|
||||
import org.openautonomousconnection.protocol.side.ins.ConnectedProtocolClient;
|
||||
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
|
||||
|
||||
/**
|
||||
* Event triggered when a protocol client connects to the DNS server.
|
||||
* Event triggered when a protocol client connects to the INS server.
|
||||
*/
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.DNS)
|
||||
@ProtocolInfo(protocolSide = ProtocolVersion.ProtocolSide.INS)
|
||||
public final class ConnectedProtocolClientEvent extends Event {
|
||||
|
||||
@Getter
|
||||
Reference in New Issue
Block a user