1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

Fix D_EXTEND matching bug (#888)

* Use a standard JSON comparison tool

* Fixes https://github.com/StackExchange/dnscontrol/issues/886

* Delete file in wrong place.

* Remove the need for minify
This commit is contained in:
Tom Limoncelli
2020-10-07 16:03:36 -04:00
committed by GitHub
parent a81a2e36ce
commit dba20387bf
8 changed files with 276 additions and 639 deletions

View File

@ -1,82 +1,34 @@
{
"registrars": [
{
"name": "Third-Party",
"type": "NONE"
}
],
"dns_providers": [
{
"name": "Cloudflare",
"type": "CLOUDFLAREAPI"
}
],
"registrars": [ { "name": "Third-Party", "type": "NONE" } ],
"dns_providers": [ { "name": "Cloudflare", "type": "CLOUDFLAREAPI" } ],
"domains": [
{
"name": "foo.com",
"registrar": "Third-Party",
"dnsProviders": {
"Cloudflare": -1
},
"dnsProviders": { "Cloudflare": -1 },
"records": [
{
"type": "A",
"name": "@",
"target": "10.1.1.1"
},
{
"type": "A",
"name": "www",
"target": "10.2.2.2"
}
{ "name": "@", "target": "10.1.1.1", "type": "A" },
{ "name": "www", "target": "10.2.2.2", "type": "A" }
]
},
{
"name": "bar.foo.com",
"registrar": "Third-Party",
"dnsProviders": {
"Cloudflare": -1
},
"dnsProviders": { "Cloudflare": -1 },
"records": [
{
"type": "A",
"name": "@",
"target": "10.3.3.3"
},
{
"type": "A",
"name": "www",
"target": "10.4.4.4"
}
{ "name": "@", "target": "10.3.3.3", "type": "A" },
{ "name": "www", "target": "10.4.4.4", "type": "A" }
]
},
{
"name": "foo.edu",
"registrar": "Third-Party",
"dnsProviders": {
"Cloudflare": -1
},
"dnsProviders": { "Cloudflare": -1 },
"records": [
{
"type": "A",
"name": "@",
"target": "10.5.5.5"
},
{
"type": "A",
"name": "www",
"target": "10.6.6.6"
},
{
"type": "A",
"name": "more1",
"target": "10.7.7.7"
},
{
"type": "A",
"name": "more2",
"target": "10.8.8.8"
}
{ "name": "@", "target": "10.5.5.5", "type": "A" },
{ "name": "www", "target": "10.6.6.6", "type": "A" },
{ "name": "more1", "target": "10.7.7.7", "type": "A" },
{ "name": "more2", "target": "10.8.8.8", "type": "A" }
]
}
]

View File

@ -1,264 +1,94 @@
{
"registrars": [
{
"name": "Third-Party",
"type": "NONE"
}
],
"dns_providers": [
{
"name": "Cloudflare",
"type": "CLOUDFLAREAPI"
}
],
"dns_providers": [ { "name": "Cloudflare", "type": "CLOUDFLAREAPI" } ],
"domains": [
{
"name": "foo.net",
"registrar": "Third-Party",
"dnsProviders": {
"Cloudflare": -1
},
"dnsProviders": { "Cloudflare": -1 },
"records": [
{
"type": "A",
"name": "@",
"target": "10.1.1.1"
},
{
"type": "A",
"name": "www",
"target": "10.2.2.2"
},
{
"type": "A",
"name": "bar",
"subdomain": "bar",
"target": "10.3.3.3"
},
{
"type": "A",
"name": "www.bar",
"subdomain": "bar",
"target": "10.4.4.4"
},
{
"type": "A",
"name": "a.long.path.of.sub.domains",
"subdomain": "a.long.path.of.sub.domains",
"target": "10.25.25.25"
},
{
"type": "A",
"name": "www.a.long.path.of.sub.domains",
"subdomain": "a.long.path.of.sub.domains",
"target": "10.26.26.26"
}
]
{ "name": "@", "target": "10.1.1.1", "type": "A" },
{ "name": "www", "target": "10.2.2.2", "type": "A" },
{ "name": "bar", "subdomain": "bar", "target": "10.3.3.3", "type": "A" },
{ "name": "www.bar", "subdomain": "bar", "target": "10.4.4.4", "type": "A" },
{ "name": "a.long.path.of.sub.domains", "subdomain": "a.long.path.of.sub.domains", "target": "10.25.25.25", "type": "A" },
{ "name": "www.a.long.path.of.sub.domains", "subdomain": "a.long.path.of.sub.domains", "target": "10.26.26.26", "type": "A" }
],
"registrar": "Third-Party"
},
{
"name": "foo.tld",
"registrar": "Third-Party",
"dnsProviders": {
"Cloudflare": -1
},
"dnsProviders": { "Cloudflare": -1 },
"records": [
{
"type": "A",
"name": "@",
"target": "20.5.5.5"
},
{
"type": "A",
"name": "www",
"target": "20.6.6.6"
},
{
"type": "A",
"name": "a",
"target": "20.10.10.10"
}
]
{ "name": "@", "target": "20.5.5.5", "type": "A" },
{ "name": "www", "target": "20.6.6.6", "type": "A" },
{ "name": "a", "target": "20.10.10.10", "type": "A" }
],
"registrar": "Third-Party"
},
{
"name": "bar.foo.tld",
"registrar": "Third-Party",
"dnsProviders": {
"Cloudflare": -1
},
"dnsProviders": { "Cloudflare": -1 },
"records": [
{
"type": "A",
"name": "@",
"target": "30.7.7.7"
},
{
"type": "A",
"name": "www",
"target": "30.8.8.8"
},
{
"type": "A",
"name": "a",
"target": "30.9.9.9"
}
]
{ "name": "@", "target": "30.7.7.7", "type": "A" },
{ "name": "www", "target": "30.8.8.8", "type": "A" },
{ "name": "a", "target": "30.9.9.9", "type": "A" }
],
"registrar": "Third-Party"
},
{
"name": "foo.help",
"registrar": "Third-Party",
"dnsProviders": {
"Cloudflare": -1
},
"dnsProviders": { "Cloudflare": -1 },
"records": [
{
"type": "A",
"name": "@",
"target": "40.12.12.12"
},
{
"type": "A",
"name": "www",
"target": "40.12.12.12"
},
{
"type": "A",
"name": "morty",
"subdomain": "morty",
"target": "40.17.17.17"
},
{
"type": "A",
"name": "www.morty",
"subdomain": "morty",
"target": "40.18.18.18"
}
]
{ "name": "@", "target": "40.12.12.12", "type": "A" },
{ "name": "www", "target": "40.12.12.12", "type": "A" },
{ "name": "morty", "subdomain": "morty", "target": "40.17.17.17", "type": "A" },
{ "name": "www.morty", "subdomain": "morty", "target": "40.18.18.18", "type": "A" }
],
"registrar": "Third-Party"
},
{
"name": "bar.foo.help",
"registrar": "Third-Party",
"dnsProviders": {
"Cloudflare": -1
},
"dnsProviders": { "Cloudflare": -1 },
"records": [
{
"type": "A",
"name": "@",
"target": "50.13.13.13"
},
{
"type": "A",
"name": "www",
"target": "50.14.14.14"
},
{
"type": "A",
"name": "zip",
"subdomain": "zip",
"target": "50.15.15.15"
},
{
"type": "A",
"name": "www.zip",
"subdomain": "zip",
"target": "50.16.16.16"
}
]
{ "name": "@", "target": "50.13.13.13", "type": "A" },
{ "name": "www", "target": "50.14.14.14", "type": "A" },
{ "name": "zip", "subdomain": "zip", "target": "50.15.15.15", "type": "A" },
{ "name": "www.zip", "subdomain": "zip", "target": "50.16.16.16", "type": "A" }
],
"registrar": "Third-Party"
},
{
"name": "foo.here",
"registrar": "Third-Party",
"dnsProviders": {
"Cloudflare": -1
},
"dnsProviders": { "Cloudflare": -1 },
"records": [
{
"type": "A",
"name": "@",
"target": "60.19.19.19"
},
{
"type": "A",
"name": "www",
"target": "60.20.20.20"
},
{
"type": "A",
"name": "bar",
"subdomain": "bar",
"target": "60.21.21.21"
},
{
"type": "A",
"name": "www.bar",
"subdomain": "bar",
"target": "60.22.22.22"
},
{
"type": "A",
"name": "baz.bar",
"subdomain": "baz.bar",
"target": "60.23.23.23"
},
{
"type": "A",
"name": "www.baz.bar",
"subdomain": "baz.bar",
"target": "60.24.24.24"
}
]
{ "name": "@", "target": "60.19.19.19", "type": "A" },
{ "name": "www", "target": "60.20.20.20", "type": "A" },
{ "name": "bar", "subdomain": "bar", "target": "60.21.21.21", "type": "A" },
{ "name": "www.bar", "subdomain": "bar", "target": "60.22.22.22", "type": "A" },
{ "name": "baz.bar", "subdomain": "baz.bar", "target": "60.23.23.23", "type": "A" },
{ "name": "www.baz.bar", "subdomain": "baz.bar", "target": "60.24.24.24", "type": "A" }
],
"registrar": "Third-Party"
},
{
"name": "example.tld",
"registrar": "Third-Party",
"dnsProviders": {
"Cloudflare": -1
},
"dnsProviders": { "Cloudflare": -1 },
"records": [
{
"type": "CNAME",
"name": "a.sub",
"subdomain": "sub",
"target": "b"
},
{
"type": "CNAME",
"name": "b.sub",
"subdomain": "sub",
"target": "@"
},
{
"type": "CNAME",
"name": "c.sub",
"subdomain": "sub",
"target": "sub.example.tld."
},
{
"type": "CNAME",
"name": "e.sub",
"subdomain": "sub",
"target": "otherdomain.tld."
}
]
{ "name": "a.sub", "subdomain": "sub", "target": "b", "type": "CNAME" },
{ "name": "b.sub", "subdomain": "sub", "target": "@", "type": "CNAME" },
{ "name": "c.sub", "subdomain": "sub", "target": "sub.example.tld.", "type": "CNAME" },
{ "name": "e.sub", "subdomain": "sub", "target": "otherdomain.tld.", "type": "CNAME" }
],
"registrar": "Third-Party"
},
{
"name": "foo.com",
"registrar": "Third-Party",
"dnsProviders": {
"Cloudflare": -1
},
"dnsProviders": { "Cloudflare": -1 },
"records": [
{
"type": "CF_REDIRECT",
"name": "@",
"target": "test.foo.com,https://goo.com/$1"
},
{
"type": "CF_TEMP_REDIRECT",
"name": "@",
"target": "test.foo.com,https://goo.com/$1"
}
]
{ "name": "@", "target": "test.foo.com,https://goo.com/$1", "type": "CF_REDIRECT" },
{ "name": "@", "target": "test.foo.com,https://goo.com/$1", "type": "CF_TEMP_REDIRECT" }
],
"registrar": "Third-Party"
}
]
],
"registrars": [ { "name": "Third-Party", "type": "NONE" } ]
}

View File

@ -1,67 +1,25 @@
{
"registrars":
[
{"name":"Third-Party","type":"NONE"}
],
"dns_providers":[{"name":"Cloudflare","type":"CLOUDFLAREAPI"}],
"domains":
[
"dns_providers": [ { "name": "Cloudflare", "type": "CLOUDFLAREAPI" } ],
"domains": [
{
"name":"domain.tld",
"registrar":"Third-Party",
"dnsProviders": {"Cloudflare":-1},
"records":
[
{
"type":"A",
"name":"@",
"target":"127.0.0.1"
},
{
"type":"A",
"name":"www",
"target":"127.0.0.2"
},
{
"type":"CNAME",
"name":"a",
"target":"b"
},
{
"type":"A",
"name":"aaa",
"target":"127.0.0.3"
},
{
"type":"CNAME",
"name":"c",
"target":"d"
},
{
"type":"A",
"name":"bbb.sub",
"subdomain":"sub",
"target":"127.0.0.4"
},
{
"type":"A","name":"ccc.sub","subdomain":"sub","target":"127.0.0.5"
},
{
"type":"CNAME","name":"e.sub","subdomain":"sub","target":"f"
},
{
"type":"A","name":"ddd.sub.sub","subdomain":"sub.sub","target":"127.0.0.6"
},
{
"type":"CNAME","name":"g.sub.sub","subdomain":"sub.sub","target":"h"
},
{
"type":"A","name":"sub","subdomain":"sub","target":"127.0.0.7"
},
{
"type":"CNAME","name":"i.sub","subdomain":"sub","target":"j"
}
]
"name": "domain.tld",
"dnsProviders": { "Cloudflare": -1 },
"records": [
{ "name": "@", "target": "127.0.0.1", "type": "A" },
{ "name": "www", "target": "127.0.0.2", "type": "A" },
{ "name": "a", "target": "b", "type": "CNAME" },
{ "name": "aaa", "target": "127.0.0.3", "type": "A" },
{ "name": "c", "target": "d", "type": "CNAME" },
{ "name": "bbb.sub", "subdomain": "sub", "target": "127.0.0.4", "type": "A" },
{ "name": "ccc.sub", "subdomain": "sub", "target": "127.0.0.5", "type": "A" },
{ "name": "e.sub", "subdomain": "sub", "target": "f", "type": "CNAME" },
{ "name": "ddd.sub.sub", "subdomain": "sub.sub", "target": "127.0.0.6", "type": "A" },
{ "name": "g.sub.sub", "subdomain": "sub.sub", "target": "h", "type": "CNAME" },
{ "name": "sub", "subdomain": "sub", "target": "127.0.0.7", "type": "A" },
{ "name": "i.sub", "subdomain": "sub", "target": "j", "type": "CNAME" }
],
"registrar": "Third-Party"
}
]
],
"registrars": [ { "name": "Third-Party", "type": "NONE" } ]
}

View File

@ -1,46 +1,43 @@
{
"registrars":
[
{"name":"Third-Party","type":"NONE"}
"dns_providers": [
{
"name": "Cloudflare",
"type": "CLOUDFLAREAPI"
}
],
"dns_providers":
[
{"name":"Cloudflare","type":"CLOUDFLAREAPI"}],
"domains":
[
{
"name":"domain.tld",
"registrar":"Third-Party",
"dnsProviders":{"Cloudflare":-1},
"records":
[
{"type":"A","name":"@","target":"127.0.0.1"},
{"type":"A","name":"a","target":"127.0.0.2"},
{"type":"CNAME","name":"b","target":"c"},
{"type":"A","name":"@","target":"127.0.0.3"},
{"type":"A","name":"d","target":"127.0.0.4"},
{"type":"CNAME","name":"e","target":"f"},
{"type":"A","name":"ub","subdomain":"ub","target":"127.0.0.5"},
{"type":"A","name":"g.ub","subdomain":"ub","target":"127.0.0.6"},
{"type":"CNAME","name":"h.ub","subdomain":"ub","target":"i"},
{"type":"A","name":"@","subdomain":"ssub","target":"127.0.0.7"},
{"type":"A","name":"j","subdomain":"ssub","target":"127.0.0.8"},
{"type":"CNAME","name":"k","subdomain":"ssub","target":"l"}
]
},
{
"name":"sub.domain.tld",
"registrar":"Third-Party",
"dnsProviders":{"Cloudflare":-1},
"records":
[
{"type":"A","name":"@","target":"127.0.1.1"},
{"type":"A","name":"aa","target":"127.0.1.2"},
{"type":"CNAME","name":"bb","target":"cc"},
{"type":"A","name":"@","target":"127.0.1.3"},
{"type":"A","name":"dd","target":"127.0.1.4"},
{"type":"CNAME","name":"ee","target":"ff"}
]
}
]
"domains": [
{
"name": "domain.tld",
"dnsProviders": { "Cloudflare": -1 },
"records": [
{ "name": "@", "target": "127.0.0.1", "type": "A" },
{ "name": "a", "target": "127.0.0.2", "type": "A" },
{ "name": "b", "target": "c", "type": "CNAME" },
{ "name": "@", "target": "127.0.0.3", "type": "A" },
{ "name": "d", "target": "127.0.0.4", "type": "A" },
{ "name": "e", "target": "f", "type": "CNAME" },
{ "name": "ub", "subdomain": "ub", "target": "127.0.0.5", "type": "A" },
{ "name": "g.ub", "subdomain": "ub", "target": "127.0.0.6", "type": "A" },
{ "name": "h.ub", "subdomain": "ub", "target": "i", "type": "CNAME" },
{ "name": "ssub", "subdomain": "ssub", "target": "127.0.0.7", "type": "A" },
{ "name": "j.ssub", "subdomain": "ssub", "target": "127.0.0.8", "type": "A" },
{ "name": "k.ssub", "subdomain": "ssub", "target": "l", "type": "CNAME" }
],
"registrar": "Third-Party"
},
{
"name": "sub.domain.tld",
"dnsProviders": { "Cloudflare": -1 },
"records": [
{ "name": "@", "target": "127.0.1.1", "type": "A" },
{ "name": "aa", "target": "127.0.1.2", "type": "A" },
{ "name": "bb", "target": "cc", "type": "CNAME" },
{ "name": "@", "target": "127.0.1.3", "type": "A" },
{ "name": "dd", "target": "127.0.1.4", "type": "A" },
{ "name": "ee", "target": "ff", "type": "CNAME" }
],
"registrar": "Third-Party"
}
],
"registrars": [ { "name": "Third-Party", "type": "NONE" } ]
}