Initial commit
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package org.openautonomousconnection.dns;
|
||||
|
||||
import org.openautonomousconnection.protocol.side.dns.ConnectedProtocolClient;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.classic.handlers.ClassicHandlerDNSServer;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.classic.objects.Classic_Domain;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.classic.objects.Classic_RequestDomain;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.classic.utils.Classic_ProtocolVersion;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
public class ClassicHandler extends ClassicHandlerDNSServer {
|
||||
@Override
|
||||
public void handleMessage(ConnectedProtocolClient client, String message, Classic_ProtocolVersion protocolVersion) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Classic_Domain getDomain(Classic_RequestDomain requestDomain) throws SQLException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Classic_Domain ping(Classic_RequestDomain requestDomain) throws SQLException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unsupportedClassicPacket(String className, Object[] content, ConnectedProtocolClient client) {
|
||||
|
||||
}
|
||||
}
|
||||
21
src/main/java/org/openautonomousconnection/dns/Listener.java
Normal file
21
src/main/java/org/openautonomousconnection/dns/Listener.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package org.openautonomousconnection.dns;
|
||||
|
||||
import dev.unlegitdqrk.unlegitlibrary.command.events.CommandExecutorMissingPermissionEvent;
|
||||
import dev.unlegitdqrk.unlegitlibrary.command.events.CommandNotFoundEvent;
|
||||
import dev.unlegitdqrk.unlegitlibrary.event.EventListener;
|
||||
import org.openautonomousconnection.protocol.ProtocolBridge;
|
||||
|
||||
public class Listener extends EventListener {
|
||||
|
||||
@dev.unlegitdqrk.unlegitlibrary.event.Listener
|
||||
public void onCommandNotFound(CommandNotFoundEvent event) {
|
||||
StringBuilder argsBuilder = new StringBuilder();
|
||||
for (String arg : event.getArgs()) argsBuilder.append(arg).append(" ");
|
||||
ProtocolBridge.getInstance().getLogger().error("Command '" + event.getName() + argsBuilder.toString() + "' not found!");
|
||||
}
|
||||
|
||||
@dev.unlegitdqrk.unlegitlibrary.event.Listener
|
||||
public void onMissingCommandPermission(CommandExecutorMissingPermissionEvent event) {
|
||||
ProtocolBridge.getInstance().getLogger().error("You do not have enough permissions to execute this command!");
|
||||
}
|
||||
}
|
||||
35
src/main/java/org/openautonomousconnection/dns/Main.java
Normal file
35
src/main/java/org/openautonomousconnection/dns/Main.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package org.openautonomousconnection.dns;
|
||||
|
||||
import dev.unlegitdqrk.unlegitlibrary.command.CommandExecutor;
|
||||
import dev.unlegitdqrk.unlegitlibrary.command.CommandManager;
|
||||
import dev.unlegitdqrk.unlegitlibrary.command.CommandPermission;
|
||||
import dev.unlegitdqrk.unlegitlibrary.utils.Logger;
|
||||
import org.openautonomousconnection.protocol.ProtocolBridge;
|
||||
import org.openautonomousconnection.protocol.ProtocolSettings;
|
||||
import org.openautonomousconnection.protocol.versions.ProtocolVersion;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Main {
|
||||
private static final CommandPermission PERMISSION_ALL = new CommandPermission("all", 1);
|
||||
private static final CommandExecutor commandExecutor = new CommandExecutor("DNS", PERMISSION_ALL) {};
|
||||
private static CommandManager commandManager;
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
ProtocolSettings settings = new ProtocolSettings();
|
||||
new ProtocolBridge(new Server(), settings, ProtocolVersion.PV_1_0_0_BETA, new File("logs"));
|
||||
ProtocolBridge.getInstance().setClassicHandlerDNSServer(new ClassicHandler());
|
||||
commandManager = new CommandManager(ProtocolBridge.getInstance().getProtocolSettings().eventManager);
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
|
||||
while (true) {
|
||||
System.out.println(commandExecutor.getName() + "> ");
|
||||
String line = scanner.nextLine();
|
||||
commandManager.execute(commandExecutor, line);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
64
src/main/java/org/openautonomousconnection/dns/Server.java
Normal file
64
src/main/java/org/openautonomousconnection/dns/Server.java
Normal file
@@ -0,0 +1,64 @@
|
||||
package org.openautonomousconnection.dns;
|
||||
|
||||
import org.openautonomousconnection.protocol.ProtocolBridge;
|
||||
import org.openautonomousconnection.protocol.side.dns.ConnectedProtocolClient;
|
||||
import org.openautonomousconnection.protocol.side.dns.ProtocolDNSServer;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.DNSResponseCode;
|
||||
import org.openautonomousconnection.protocol.versions.v1_0_0.beta.Domain;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.util.List;
|
||||
|
||||
public class Server extends ProtocolDNSServer {
|
||||
/**
|
||||
* Constructs a ProtocolDNSServer with the specified configuration file.
|
||||
*
|
||||
* @throws IOException If an I/O error occurs.
|
||||
* @throws CertificateException If a certificate error occurs.
|
||||
*/
|
||||
public Server() throws IOException, CertificateException {
|
||||
super(new File("config.properties"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Domain> getDomains() {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDomainDestination(Domain domain) {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSubnameDestination(Domain domain, String subname) {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTLNInfoSite(String topLevelName) {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public DNSResponseCode validateDomain(Domain requestedDomain) {
|
||||
if (!requestedDomain.getProtocol().equalsIgnoreCase("oac")) return DNSResponseCode.RESPONSE_INVALID_REQUEST;
|
||||
return DNSResponseCode.RESPONSE_DOMAIN_FULLY_NOT_EXIST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void validationPacketSendFailed(Domain domain, ConnectedProtocolClient client, Exception exception) {
|
||||
ProtocolBridge.getInstance().getLogger().exception("Failed to send ValidationPacket. (" +
|
||||
"Domain: " + domain.getProtocol() + "." + (domain.hasSubname() ? domain.getSubname() : "") + "." + domain.getTopLevelName() + "/" + domain.getPath() + "?" + domain.getQuery() + "#" + domain.getFragment() + ";" +
|
||||
";Client: " + client.getConnectionHandler().getClientID() + ")", exception);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void domainDestinationPacketFailedSend(ConnectedProtocolClient client, Domain domain, DNSResponseCode validationResponse, Exception exception) {
|
||||
ProtocolBridge.getInstance().getLogger().exception("Failed to send DomainDestinationPacket. (" +
|
||||
"Domain: " + domain.getProtocol() + "." + (domain.hasSubname() ? domain.getSubname() : "") + "." + domain.getTopLevelName() + "/" + domain.getPath() + "?" + domain.getQuery() + "#" + domain.getFragment() + ";" +
|
||||
"Validation response: " + validationResponse + ";Client: " + client.getConnectionHandler().getClientID() + ")", exception);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user