/** * === general === */ export const optionalTTLAndClass = ` $ORIGIN igloo.com. $TTL 4242 igloo.com. 42s SOA ns.igloo.com. username.igloo.com. 1 2 3 4 5 neither A 1.2.3.4 ttl 42s A 1.2.3.4 class IN A 1.2.3.4 ttl.class 42s IN A 1.2.3.4 class.ttl IN 42s A 1.2.3.4 `; export const comments1 = ` $ORIGIN igloo.com. ;comments should be ignored ;every comment, even ascii ©¿ eh 42s A 2.3.4.5 ;comment www 42s IN A 1.2.3.4 `; export const nameNotTooLong = ` $ORIGIN igloo.com. 1234567890.1234567890.1234567890.1234567890.1234567890.1234567890.1234567890.1234567890.1234567890.1234567890.1234567890.1234567890.1234567890.1234567890.1234567890.igloo.com. 60 IN A 1.2.3.4 `; export const utfCharacters = ` $ORIGIN igloo.com. ©.igloo.com. 42s IN A 1.2.3.4 ¿.igloo.com. 42s IN A 1.2.3.4 `; export const escapeInTXT = ` $ORIGIN igloo.com. www 42s IN TXT "\\101\\" `; export const escapeInCNAMEValue = ` $ORIGIN igloo.com. www 42s IN CNAME \\008\\99.igloo.com. `; export const defaultOrigin = ` $ORIGIN igloo.com. @ 42s IN A 1.2.3.4 www 42s IN A 1.2.3.4 `; export const specialTTL = ` $ORIGIN igloo.com. $TTL 42s eh A 2.3.4.5 `; export const backwardsTTL = ` $ORIGIN igloo.com. 42s eh IN A 2.3.4.5 `; export const ttlWithNameSimilarToTTL = ` $ORIGIN igloo.com. 100.canada. 42s IN A 2.3.4.5 `; /** * === ptr === */ export const ptrExampleOneEntryTopLevelTTL = ` $ORIGIN 11.igloo.com. $TTL 42s 99 PTR HOST1.igloo.com. `; export const ptrExampleInlineTTL = ` $ORIGIN 0.168.192.igloo.com. 1 42s PTR HOST1.igloo.com. 2 42s PTR HOST2.igloo.com. `; export const ptrExampleTopLevelTTL = ` $ORIGIN 0.168.192.igloo.com. $TTL 42s 1 PTR HOST1.igloo.com. 2 PTR HOST2.igloo.com. `; export const ptrExampleNestedTopLevelTTL = ` $ORIGIN 30.168.192.igloo.com $TTL 42s 3 PTR HOST3.igloo.com. 4 PTR HOST4.igloo.com. PTR HOST5.igloo.com. IN PTR HOST6.igloo.com. `; export const ptrExampleDecimals = ` $ORIGIN 168.192.igloo.com $TTL 42s 10.3 PTR HOST3.igloo.com. 10.4 PTR HOST4.igloo.com. `; export const ptrMultipleOrigins = ` $TTL 40s $ORIGIN 30.168.192.igloo.com 3 41s PTR HOST3.igloo.com. 4 42s PTR HOST4.igloo.com. 43s PTR HOST5.igloo.com. 44s IN PTR HOST6.igloo.com. $ORIGIN 168.192.igloo.com 10.3 45s PTR HOST3.igloo.com. 10.4 46s PTR HOST4.igloo.com. `; export const ptrMultipleOriginsAndMultipleTTL = ` $ORIGIN 30.168.192.igloo.com $TTL 42s 3 PTR HOST3.igloo.com. 4 PTR HOST4.igloo.com. PTR HOST5.igloo.com. IN PTR HOST6.igloo.com. $ORIGIN 168.192.igloo.com $TTL 60s 10.3 PTR HOST3.igloo.com. 10.4 PTR HOST4.igloo.com. `; /** * === a-aaaa === * @note without $origin, it uses `0:0:0:0:0:0:0:1` */ export const aaaaWithNameAndTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s example AAAA ::1 `; export const aaaaWithAtNameAndInlineTTL = ` $ORIGIN igloo.com. @ 42s AAAA ::1 `; export const aWithNameAndTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s example A 127.0.0.1 `; export const aWithAtNameAndInlineTTL = ` $ORIGIN igloo.com. @ 42s A 127.0.0.1 `; /** * === txt === */ export const txtExampleTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s treefrog.igloo.com. IN TXT "v=spf1 a mx a:mail.treefrog.ca a:webmail.treefrog.ca ip4:76.75.250.33 ?all" treemonkey.igloo.com. IN TXT "v=DKIM1\; k=rsa\; p=MIGf..." treemonkey1.igloo.com. IN TXT "v=DKIM1\; k=rsa\; p=MIGf..." `; export const parensInTXT = ` $ORIGIN igloo.com. eh 42s IN TXT "Some text (Moose)" TXT "spaced ( spaces1 spaces2 )" `; export const txtExampleInlineTTL = ` $ORIGIN igloo.com. treefrog.igloo.com. 42s IN TXT "v=spf1 a mx a:mail.treefrog.ca a:webmail.treefrog.ca ip4:76.75.250.33 ?all" treemonkey.igloo.com. 42s IN TXT "v=DKIM1\; k=rsa\; p=MIGf..." treemonkey1.igloo.com. 42s IN TXT "v=DKIM1\; k=rsa\; p=MIGf..." `; export const txtExampleNested = ` $ORIGIN igloo.com. $TTL 42s treefrog.igloo.com. TXT "eh=true" TXT "moose=DKIM1\; beaver=canada\;" `; /** * === spf === */ export const spfExampleOneEntryInlineTTL = ` $ORIGIN igloo.com. test 42s IN SPF "v=spf1" "mx:gcloud-node.com." "-all" `; export const spfExampleNestedTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s test IN SPF "v=spf1" "mx:gcloud-node.com." "-all" test1 SPF "v=spf2" "mx:gcloud-node.com." "-all" IN SPF "v=spf3" "mx:gcloud-node.com." "-all " SPF "v=spf4" "mx:gcloud-node.com." "-all" `; export const spfExampleNestedInlineTTL = ` $ORIGIN igloo.com. test 42s IN SPF "v=spf1" "mx:gcloud-node.com." "-all" test1 42s SPF "v=spf2" "mx:gcloud-node.com." "-all" IN SPF "v=spf3" "mx:gcloud-node.com." "-all " SPF "v=spf4" "mx:gcloud-node.com." "-all" `; export const spfExampleAtNameInlineTTL = ` $ORIGIN igloo.com. @ 42s IN TXT "v=spf1 a mx ~all" `; export const spfMaxValues = ` eh 42s SPF v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.123 a -all `; export const spfMinValues = ` eh 42s SPF v=spf1 ip:4:192.168.0.1/16-all `; export const spfExampleOfOneParam = ` eh 42s SPF "v=spf1 ip:4:192.168.0.1/16" `; /** * === caa === */ export const caaExampleIssueAndIoDefAndTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s @ CAA 0 issue "ca.igloo.com" @ CAA 0 iodef "mailto:security@igloo.com" @ CAA 0 iodef "http://iodef.igloo.com/" `; export const caaExampleIssueAndIoDefAndTopLevelTTLNoQuotes = ` $ORIGIN igloo.com. $TTL 42s @ CAA 0 issue ca.igloo.com @ CAA 0 iodef mailto:security@igloo.com @ CAA 0 iodef http://iodef.igloo.com/ `; /** * `0 iodef "mailto:security@igloo.com"` */ export const caaExampleJustIoDef = ` igloo.com 42s CAA 0 iodef "mailto:security@igloo.com" `; export const caaExampleInlineTTL = ` @ 42s CAA 0 issue "ca.igloo.com" @ 42s CAA 0 iodef "mailto:security@igloo.com" `; export const caaExampleJustIssue = ` $ORIGIN igloo.com. @ 42s CAA 0 issue "ca.igloo.com" `; // not valid... // export const caaExampleJustIssueNoNameInlineTTL = ` // $ORIGIN igloo.com. // 42s CAA 0 issue "ca.igloo.com" // `; export const caaExampleJustIssueNoNameTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s CAA 0 issue "ca.igloo.com" `; export const caaExampleJustIssueWithInNoNameTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s IN CAA 0 issue "ca.igloo.com" `; /** * === naptr === */ export const naptrExampleTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s IN NAPTR 100 10 "U" "E2U+sip" "!^.*$!sip:customer-service@example.com!" . IN NAPTR 102 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" . `; /** * 100 10 "u" "sip+E2U" "!^.*$!sip:information@foo.se!i" . * 100 50 "a" "z3950+N2L+N2C" "" cidserver.igloo.com. * * @example * 10 10 "S" "SIP+D2U" "" igloo.com * 100 50 "a" "z3950+N2L+N2C" "" cidserver.igloo.com. * @format `[order][preference][flags][services][regexp][replacement]` */ export const naptrExample1 = ` $ORIGIN igloo.com. rfc3403-1 42s IN NAPTR 100 10 "u" "sip+E2U" "!^.*$!sip:information@foo.se!i" . rfc3403-2 42s IN NAPTR 100 50 "a" "z3950+N2L+N2C" "" cidserver.igloo.com. `; export const naptrExampleInlineTTLAndNested = ` $ORIGIN igloo.com. rfc3403-1 42s IN NAPTR 100 10 "u" "sip+E2U" "!^.*$!sip:information@foo.se!i" . rfc3403-2 42s IN NAPTR 100 50 "a" "z3950+N2L+N2C" "" cidserver.igloo.com. @ 42s IN NAPTR 99 98 "B" "E2U+siz" "" . IN NAPTR 100 10 "U" "E2U+sip" "!^.*$!sip:customer-service@example.com!" . IN NAPTR 102 10 "U" "E2U+email" "!^.*$!mailto:information@example.com!" . `; /** * === svr === */ export const srvExampleWithNameAndTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s ; foobar - use old-slow-box or new-fast-box if either is ; available, make three quarters of the logins go to ; new-fast-box. _foobar._tcp SRV 0 1 9 old-slow-box.igloo.com. SRV 0 3 9 new-fast-box.igloo.com. ; if neither old-slow-box or new-fast-box is up, switch to ; using the sysdmin's box and the server SRV 1 0 9 sysadmins-box.igloo.com. SRV 1 0 9 server.igloo.com. server A 172.30.79.10 old-slow-box A 172.30.79.11 sysadmins-box A 172.30.79.12 new-fast-box A 172.30.79.13 ; NO other services are supported *._tcp SRV 0 0 0 . *._udp SRV 0 0 0 . `; /** * @note this is not really valid, but we are handling it */ export const srvExampleWithNameAndInlineTTL = ` $ORIGIN igloo.com. _foobar._tcp 42s SRV 0 1 9 old-slow-box.igloo.com. 42s SRV 0 3 9 new-fast-box.igloo.com. 42s SRV 1 0 9 sysadmins-box.igloo.com. 42s SRV 1 0 9 server.igloo.com. *._tcp 42s SRV 0 0 0 . *._udp 42s SRV 0 0 0 . `; export const srvExampleWithNameAndInlineTTLMoreValid = ` $ORIGIN igloo.com. _foobar._tcp 42s SRV 0 1 9 old-slow-box.igloo.com. IN SRV 0 3 9 new-fast-box.igloo.com. SRV 1 0 9 sysadmins-box.igloo.com. SRV 1 0 9 server.igloo.com. *._tcp 42s SRV 0 0 0 . *._udp 42s SRV 0 0 0 . `; /** * === ns === */ export const nsExampleWithAtAndTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s @ NS NS1.NAMESERVER.NET. @ NS NS2.NAMESERVER.NET. `; export const nsExampleWithNoNameAndTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s NS NS1.NAMESERVER.NET. NS NS2.NAMESERVER.NET. `; export const nsExampleWithNamesAndTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s syrup NS NS1.NAMESERVER.NET. beaver NS NS2.NAMESERVER.NET. `; export const nsExampleInlineTTL = ` $ORIGIN igloo.com. eh 42s NS NS1.NAMESERVER.NET. canada 42s NS NS2.NAMESERVER.NET. `; export const nsExampleNestedWithTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s moose NS NS1.NAMESERVER.NET. NS NS2.NAMESERVER.NET. `; /** * === general === */ /** * if missing in ui, it uses hz.name */ export const nameMissing = ` $ORIGIN igloo.com. $TTL 100 100 NS ns.igloo.com. `; /** * === mx === */ export const mxExampleAt = ` $ORIGIN igloo.com. $TTL 42s @ MX 0 mail1 @ MX 10 mail2 `; /** * === cname === */ export const cnameWithTopLevelTTL = ` $ORIGIN igloo.com. $TTL 42s mail1 CNAME mail mail2 CNAME mail `; export const cnameWithInlineAndSpacesTTL = ` $ORIGIN igloo.com. mail1 42s CNAME mail mail2 60s CNAME mail `; /** * === soa === */ export const soaIsIgnored1 = ` $ORIGIN igloo.com. @ SOA server.igloo.com. hostprimary.igloo.com. ( 1995032001 3600 3600 604800 42s ) NS server.igloo.com. `; export const soaIsIgnored2 = ` $ORIGIN igloo.com. @ IN SOA NS1.NAMESERVER.NET. HOSTPRIMARY.igloo.com. ( 1406291485 ;serial 3600 ;refresh 600 ;retry 604800 ;expire 42s ;minimum ttl ) example A 127.0.0.1 `; export const soaIsIgnored3 = ` @ IN SOA NS1.NAMESERVER.NET. HOSTPRIMARY.igloo.com. ( 1406291485 ;serial 3600 ;refresh 600 ;retry 604800 ;expire 42s ;minimum ttl ) @ IN SOA server.igloo.com igloo.com ( 1406291485 ;serial 3600 ;refresh 600 ;retry 604800 ;expire 42s ;minimum ttl ) @ IN SOA ns.igloo.com. username.igloo.com. ( 2007120710 ; serial number of this zone file 1d ; secondary refresh (1 day) 2h ; secondary retry time in case of a problem (2 hours) 4w ; secondary expiration time (4 weeks) 1h ; maximum caching time in case of failed lookups (1 hour) ) igloo.com. 100 SOA ns.igloo.com. username.igloo.com. 1 2 3 4 5 mail1 CNAME mail `; export const simpleSoa = ` @ IN SOA eh( 11 2 33 4 55 ) `;