diff --git a/bosh-release/src/sslip.io-dns-server/integration_test.go b/bosh-release/src/sslip.io-dns-server/integration_test.go index 437f537..a8f515b 100644 --- a/bosh-release/src/sslip.io-dns-server/integration_test.go +++ b/bosh-release/src/sslip.io-dns-server/integration_test.go @@ -179,25 +179,18 @@ var _ = Describe("sslip.io-dns-server", func() { digCmd = exec.Command("dig", strings.Split(digArgs, " ")...) digSession, err = Start(digCmd, GinkgoWriter, GinkgoWriter) Expect(err).ToNot(HaveOccurred()) - Eventually(digSession).Should(Say(`flags: qr aa rd; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 8`)) + Eventually(digSession).Should(Say(`flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 4`)) Eventually(digSession).Should(Say(`;; ANSWER SECTION:`)) - Eventually(digSession).Should(Say(`ns-aws.nono.io.\n`)) - Eventually(digSession).Should(Say(`ns-azure.nono.io.\n`)) - Eventually(digSession).Should(Say(`ns-gce.nono.io.\n`)) Eventually(digSession).Should(Say(`ns-aws.sslip.io.\n`)) Eventually(digSession).Should(Say(`ns-azure.sslip.io.\n`)) Eventually(digSession).Should(Say(`ns-gce.sslip.io.\n`)) Eventually(digSession).Should(Say(`;; ADDITIONAL SECTION:`)) - Eventually(digSession).Should(Say(`ns-aws.nono.io..*52.0.56.137\n`)) - Eventually(digSession).Should(Say(`ns-aws.nono.io..*2600:1f18:aaf:6900::a\n`)) - Eventually(digSession).Should(Say(`ns-azure.nono.io..*52.187.42.158\n`)) - Eventually(digSession).Should(Say(`ns-gce.nono.io..*104.155.144.4\n`)) Eventually(digSession).Should(Say(`ns-aws.sslip.io..*52.0.56.137\n`)) Eventually(digSession).Should(Say(`ns-aws.sslip.io..*2600:1f18:aaf:6900::a\n`)) Eventually(digSession).Should(Say(`ns-azure.sslip.io..*52.187.42.158\n`)) Eventually(digSession).Should(Say(`ns-gce.sslip.io..*104.155.144.4\n`)) Eventually(digSession, 1).Should(Exit(0)) - Eventually(string(serverSession.Err.Contents())).Should(MatchRegexp(`TypeNS example.com. \? ns-aws.nono.io., ns-azure.nono.io., ns-gce.nono.io., ns-aws.sslip.io., ns-azure.sslip.io., ns-gce.sslip.io.\n`)) + Eventually(string(serverSession.Err.Contents())).Should(MatchRegexp(`TypeNS example.com. \? ns-aws.sslip.io., ns-azure.sslip.io., ns-gce.sslip.io.\n`)) }) }) When(`there are multiple TXT records returned (e.g. SPF for sslip.io)`, func() { diff --git a/bosh-release/src/sslip.io-dns-server/xip/xip.go b/bosh-release/src/sslip.io-dns-server/xip/xip.go index c7c81c0..d5fc13b 100644 --- a/bosh-release/src/sslip.io-dns-server/xip/xip.go +++ b/bosh-release/src/sslip.io-dns-server/xip/xip.go @@ -43,16 +43,10 @@ var ( // https://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses ipv6RE = regexp.MustCompile(`(^|[.-])(([0-9a-fA-F]{1,4}-){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}-){1,7}-|([0-9a-fA-F]{1,4}-){1,6}-[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}-){1,5}(-[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}-){1,4}(-[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}-){1,3}(-[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}-){1,2}(-[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}-((-[0-9a-fA-F]{1,4}){1,6})|-((-[0-9a-fA-F]{1,4}){1,7}|-)|fe80-(-[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]+|--(ffff(-0{1,4})?-)?((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9])|([0-9a-fA-F]{1,4}-){1,4}-((25[0-5]|(2[0-4]|1?[0-9])?[0-9])\.){3}(25[0-5]|(2[0-4]|1?[0-9])?[0-9]))($|[.-])`) dns01ChallengeRE = regexp.MustCompile(`(?i)_acme-challenge\.`) - nsAws, _ = dnsmessage.NewName("ns-aws.nono.io.") - nsAzure, _ = dnsmessage.NewName("ns-azure.nono.io.") - nsGce, _ = dnsmessage.NewName("ns-gce.nono.io.") nsAwsSslip, _ = dnsmessage.NewName("ns-aws.sslip.io.") nsAzureSslip, _ = dnsmessage.NewName("ns-azure.sslip.io.") nsGceSslip, _ = dnsmessage.NewName("ns-gce.sslip.io.") NameServers = []dnsmessage.NSResource{ - {NS: nsAws}, - {NS: nsAzure}, - {NS: nsGce}, {NS: nsAwsSslip}, {NS: nsAzureSslip}, {NS: nsGceSslip}, @@ -97,7 +91,7 @@ var ( }, nil // Sender Policy Framework }, }, - // a global nameserver for sslip.io, a conglomeration of ns-{aws,azure,gce}.nono.io + // a global nameserver for sslip.io, a conglomeration of ns-{aws,azure,gce}.sslip.io "ns.sslip.io.": { A: []dnsmessage.AResource{ {A: [4]byte{52, 0, 56, 137}}, @@ -107,12 +101,6 @@ var ( AAAA: []dnsmessage.AAAAResource{{AAAA: [16]byte{0x26, 0, 0x1f, 0x18, 0x0a, 0xaf, 0x69, 0, 0, 0, 0, 0, 0, 0, 0, 0xa}}}, }, // nameserver addresses; we get queries for those every once in a while - "ns-aws.nono.io.": { - A: []dnsmessage.AResource{{A: [4]byte{52, 0, 56, 137}}}, - AAAA: []dnsmessage.AAAAResource{{AAAA: [16]byte{0x26, 0, 0x1f, 0x18, 0x0a, 0xaf, 0x69, 0, 0, 0, 0, 0, 0, 0, 0, 0xa}}}, - }, - "ns-azure.nono.io.": {A: []dnsmessage.AResource{{A: [4]byte{52, 187, 42, 158}}}}, - "ns-gce.nono.io.": {A: []dnsmessage.AResource{{A: [4]byte{104, 155, 144, 4}}}}, "ns-aws.sslip.io.": { A: []dnsmessage.AResource{{A: [4]byte{52, 0, 56, 137}}}, AAAA: []dnsmessage.AAAAResource{{AAAA: [16]byte{0x26, 0, 0x1f, 0x18, 0x0a, 0xaf, 0x69, 0, 0, 0, 0, 0, 0, 0, 0, 0xa}}}, diff --git a/bosh-release/src/sslip.io-dns-server/xip/xip_test.go b/bosh-release/src/sslip.io-dns-server/xip/xip_test.go index 0bdee33..e3cc973 100644 --- a/bosh-release/src/sslip.io-dns-server/xip/xip_test.go +++ b/bosh-release/src/sslip.io-dns-server/xip/xip_test.go @@ -111,13 +111,10 @@ var _ = Describe("Xip", func() { It("returns an array of hard-coded name servers", func() { randomDomain := random8ByteString() + ".com." ns := xip.NSResources(randomDomain) - Expect(len(ns)).To(Equal(6)) - Expect(string(ns[0].NS.String())).To(Equal("ns-aws.nono.io.")) - Expect(string(ns[1].NS.String())).To(Equal("ns-azure.nono.io.")) - Expect(string(ns[2].NS.String())).To(Equal("ns-gce.nono.io.")) - Expect(string(ns[3].NS.String())).To(Equal("ns-aws.sslip.io.")) - Expect(string(ns[4].NS.String())).To(Equal("ns-azure.sslip.io.")) - Expect(string(ns[5].NS.String())).To(Equal("ns-gce.sslip.io.")) + Expect(len(ns)).To(Equal(3)) + Expect(string(ns[0].NS.String())).To(Equal("ns-aws.sslip.io.")) + Expect(string(ns[1].NS.String())).To(Equal("ns-azure.sslip.io.")) + Expect(string(ns[2].NS.String())).To(Equal("ns-gce.sslip.io.")) }) When(`the domain name contains "_acme-challenge."`, func() { When("the domain name has an embedded IP", func() { @@ -136,7 +133,7 @@ var _ = Describe("Xip", func() { It("returns the default trinity of nameservers", func() { randomDomain := "_acme-challenge." + random8ByteString() + ".com." ns := xip.NSResources(randomDomain) - Expect(len(ns)).To(Equal(6)) + Expect(len(ns)).To(Equal(3)) }) }) }) @@ -198,9 +195,6 @@ var _ = Describe("Xip", func() { // sslip.io website Entry("sslip.io", "ssLIP.io.", dnsmessage.AResource{A: [4]byte{78, 46, 204, 247}}), // nameservers - Entry("ns-aws.nono.io.", "ns-aws.nono.io.", dnsmessage.AResource{A: [4]byte{52, 0, 56, 137}}), - Entry("ns-azure.nono.io.", "ns-azure.nono.io.", dnsmessage.AResource{A: [4]byte{52, 187, 42, 158}}), - Entry("ns-gce.nono.io.", "ns-gce.nono.io.", dnsmessage.AResource{A: [4]byte{104, 155, 144, 4}}), Entry("ns-aws.sslip.io.", "ns-aws.sslip.io.", dnsmessage.AResource{A: [4]byte{52, 0, 56, 137}}), Entry("ns-azure.sslip.io.", "ns-azure.sslip.io.", dnsmessage.AResource{A: [4]byte{52, 187, 42, 158}}), Entry("ns-gce.sslip.io.", "ns-gce.sslip.io.", dnsmessage.AResource{A: [4]byte{104, 155, 144, 4}}), @@ -227,8 +221,8 @@ var _ = Describe("Xip", func() { Entry("www", "www.sslip.io"), Entry("a lone number", "538.sslip.io"), Entry("too big", "256.254.253.252"), - Entry("NS but no dot", "ns-aws.nono.io"), - Entry("NS + cruft at beginning", "p-ns-aws.nono.io"), + Entry("NS but no dot", "ns-aws.sslip.io"), + Entry("NS + cruft at beginning", "p-ns-aws.sslip.io"), Entry("test-net address with dots-and-dashes mixed", "www-192.0-2.3.example-me.com"), ) When("There is more than one A record", func() { @@ -313,7 +307,6 @@ var _ = Describe("Xip", func() { // sslip.io website Entry("sslip.io", "SSLip.io.", xip.Customizations["sslip.io."].AAAA[0]), // nameservers - Entry("ns-aws.nono.io.", "ns-aws.nono.io.", xip.Customizations["ns-aws.nono.io."].AAAA[0]), Entry("ns-aws.sslip.io.", "ns-aws.sslip.io.", xip.Customizations["ns-aws.sslip.io."].AAAA[0]), // dashes only Entry("loopback", "--1", dnsmessage.AAAAResource{AAAA: [16]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}}),