diff --git a/pom.xml b/pom.xml index 1af21a1..f3ff738 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.openautonomousconnection Protocol - 1.0.0-BETA.7.4 + 1.0.0-BETA.7.5 Open Autonomous Connection https://open-autonomous-connection.org/ diff --git a/src/main/java/org/openautonomousconnection/protocol/listeners/CustomServerListener.java b/src/main/java/org/openautonomousconnection/protocol/listeners/CustomServerListener.java index d618ca6..635573b 100644 --- a/src/main/java/org/openautonomousconnection/protocol/listeners/CustomServerListener.java +++ b/src/main/java/org/openautonomousconnection/protocol/listeners/CustomServerListener.java @@ -93,7 +93,10 @@ public final class CustomServerListener extends EventListener { if (q.getSub() == null && q.getTLN().equalsIgnoreCase("oac")) { if (q.getName().equalsIgnoreCase("info")) { // Return INS server info site - String[] hostPort = insServer.getInsInfoSite().split(":"); + String insInfo = insServer.getInsInfoSite(); + if (!insInfo.contains(":")) insInfo = insInfo + ":1028"; + + String[] hostPort = insInfo.split(":"); resolved = List.of(new INSRecord(q.getType(), hostPort[0], -1, -1, Integer.parseInt(hostPort[1]), 0)); } else if (q.getName().equalsIgnoreCase("register")) { // Return INS frontend site @@ -108,6 +111,7 @@ public final class CustomServerListener extends EventListener { String resolve = insServer.resolveTLNInfoSite(q.getTLN()); if (resolve == null) status = INSResponseStatus.INVALID_REQUEST; else { + if (!resolve.contains(":")) resolve = resolve + ":1028"; String[] hostPort = resolve.split(":"); resolved = List.of(new INSRecord(q.getType(), hostPort[0], -1, -1, Integer.parseInt(hostPort[1]), 0)); } diff --git a/src/main/java/org/openautonomousconnection/protocol/packets/v1_0_0/beta/AuthPacket.java b/src/main/java/org/openautonomousconnection/protocol/packets/v1_0_0/beta/AuthPacket.java index c4c6965..9bef9cc 100644 --- a/src/main/java/org/openautonomousconnection/protocol/packets/v1_0_0/beta/AuthPacket.java +++ b/src/main/java/org/openautonomousconnection/protocol/packets/v1_0_0/beta/AuthPacket.java @@ -169,13 +169,15 @@ public final class AuthPacket extends OACPacket { if (fpFile.exists()) { String existing = FileUtils.readFileLines(fpFile).get(0); - if (!protocolBridge.getProtocolClient().trustNewINSFingerprint(existing, fp)) { - setResponseCode(INSResponseStatus.RESPONSE_AUTH_FAILED); - protocolBridge.getProtocolClient().getClientINSConnection().disconnect(); - return; - } else { - FileUtils.writeFile(fpFile, fp + System.lineSeparator()); - allowWritePem = true; + if (!existing.equalsIgnoreCase(fp)) { + if (!protocolBridge.getProtocolClient().trustNewINSFingerprint(existing, fp)) { + setResponseCode(INSResponseStatus.RESPONSE_AUTH_FAILED); + protocolBridge.getProtocolClient().getClientINSConnection().disconnect(); + return; + } else { + FileUtils.writeFile(fpFile, fp + System.lineSeparator()); + allowWritePem = true; + } } } else { if (!protocolBridge.getProtocolClient().trustINS(fp)) {