From 17c92b154a4f8708be6b8def0aa7efad8fb0a66a Mon Sep 17 00:00:00 2001 From: aleigh Date: Tue, 19 Apr 2022 08:24:56 -0700 Subject: [PATCH] leigh-stack-dnsd: Added some reverse IP records for the GDN --- leigh-stack-dnsd/build.gradle | 2 +- .../src/main/java/leigh/stack/dnsd/DNSService.java | 1 - .../src/main/java/leigh/stack/dnsd/DNSUtil.java | 11 +++++++++++ .../java/leigh/stack/dnsd/EmergencyNameStore.java | 3 +++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/leigh-stack-dnsd/build.gradle b/leigh-stack-dnsd/build.gradle index 1cbc52289..defbdb86f 100644 --- a/leigh-stack-dnsd/build.gradle +++ b/leigh-stack-dnsd/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'leigh' -version '1.15' +version '1.16' repositories { mavenCentral() diff --git a/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/DNSService.java b/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/DNSService.java index 6bad145c5..0a040a99c 100644 --- a/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/DNSService.java +++ b/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/DNSService.java @@ -45,7 +45,6 @@ public class DNSService implements Runnable { executorService.submit(() -> { try { - query(socket, in, indp.getAddress(), indp.getPort()); } catch (Exception e) { // e.printStackTrace(); diff --git a/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/DNSUtil.java b/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/DNSUtil.java index baf2584bb..913fd4710 100644 --- a/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/DNSUtil.java +++ b/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/DNSUtil.java @@ -18,6 +18,17 @@ public class DNSUtil { return reply; } + public static Message buildReply(Message request, String hostname) throws IOException { + Message reply = new Message(request.getHeader().getID()); + reply.getHeader().setFlag(Flags.RD); + reply.getHeader().setFlag(Flags.QR); + reply.getHeader().setFlag(Flags.RA); + reply.addRecord(request.getQuestion(), Section.QUESTION); + + reply.addRecord(new PTRRecord(request.getQuestion().getName(), DClass.IN, 60, new Name(hostname)), Section.ANSWER); + return reply; + } + public static Message buildEmpty(Message request) throws IOException { Message reply = new Message(request.getHeader().getID()); reply.getHeader().setFlag(Flags.RD); diff --git a/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/EmergencyNameStore.java b/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/EmergencyNameStore.java index d138378e1..05c1dabe4 100644 --- a/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/EmergencyNameStore.java +++ b/leigh-stack-dnsd/src/main/java/leigh/stack/dnsd/EmergencyNameStore.java @@ -23,6 +23,7 @@ public class EmergencyNameStore implements NameStore { String name = request.getQuestion().getName().toString(); return switch (name) { + case "b0.leigh-co.com." -> DNSUtil.buildReply(request, InetAddress.getByName("10.52.4.16")); case "bungie.leigh-co.com." -> DNSUtil.buildReply(request, InetAddress.getByName("10.52.4.35")); case "db1.leigh-co.com." -> DNSUtil.buildReply(request, InetAddress.getByName("10.52.4.22")); @@ -49,6 +50,8 @@ public class EmergencyNameStore implements NameStore { case "web0.leigh-co.com." -> DNSUtil.buildReply(request, InetAddress.getByName("10.52.4.20")); case "world.leigh-co.com." -> DNSUtil.buildReply(request, InetAddress.getByName("10.52.4.5")); case "zebra.leigh-co.com." -> DNSUtil.buildReply(request, InetAddress.getByName("10.52.4.17")); + case "24.4.52.10.in-addr.arpa." -> DNSUtil.buildReply(request, "helium.leigh-co.com."); + case "67.4.52.10.in-addr.arpa." -> DNSUtil.buildReply(request, "irc0.leigh-co.com."); default -> null; }; } -- GitLab