Skip to content

Commit

Permalink
Merge pull request #409 from NLnetLabs/devel/parsing-but-no-printing
Browse files Browse the repository at this point in the history
Writing of NSAP-PTR, GPOS and HIP RR types
  • Loading branch information
wtoorop authored Nov 19, 2024
2 parents b9da224 + 2ba9db6 commit 6359234
Show file tree
Hide file tree
Showing 8 changed files with 234 additions and 45 deletions.
108 changes: 72 additions & 36 deletions dns.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,8 @@ static rrtype_descriptor_type rrtype_descriptors[(RRTYPE_DESCRIPTORS_LENGTH+2)]
{ RDATA_WF_BINARY },
{ RDATA_ZF_NSAP } },
/* 23 */
{ 23, NULL, 1, 1, { RDATA_WF_BINARY }, { RDATA_ZF_UNKNOWN } },
{ TYPE_NSAP_PTR, "NSAP-PTR", 1, 1,
{ RDATA_WF_UNCOMPRESSED_DNAME }, { RDATA_ZF_DNAME } },
/* 24 */
{ TYPE_SIG, "SIG", 9, 9,
{ RDATA_WF_SHORT, RDATA_WF_BYTE, RDATA_WF_BYTE, RDATA_WF_LONG,
Expand All @@ -135,7 +136,9 @@ static rrtype_descriptor_type rrtype_descriptors[(RRTYPE_DESCRIPTORS_LENGTH+2)]
RDATA_WF_UNCOMPRESSED_DNAME },
{ RDATA_ZF_SHORT, RDATA_ZF_DNAME, RDATA_ZF_DNAME } },
/* 27 */
{ 27, NULL, 1, 1, { RDATA_WF_BINARY }, { RDATA_ZF_UNKNOWN } },
{ TYPE_GPOS, "GPOS", 3, 3,
{ RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT },
{ RDATA_ZF_UNQUOTED, RDATA_ZF_UNQUOTED, RDATA_ZF_UNQUOTED} },
/* 28 */
{ TYPE_AAAA, "AAAA", 1, 1,
{ RDATA_WF_AAAA },
Expand Down Expand Up @@ -285,7 +288,71 @@ static rrtype_descriptor_type rrtype_descriptors[(RRTYPE_DESCRIPTORS_LENGTH+2)]
/* 54 */
{ 54, NULL, 1, 1, { RDATA_WF_BINARY }, { RDATA_ZF_UNKNOWN } },
/* 55 - HIP [RFC 5205] */
{ 55, NULL, 1, 1, { RDATA_WF_BINARY }, { RDATA_ZF_UNKNOWN } },
{ TYPE_HIP, "HIP", 1, MAXRDATALEN,
{ RDATA_WF_HIP, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME, RDATA_WF_LITERAL_DNAME
, RDATA_WF_LITERAL_DNAME },
{ RDATA_ZF_HIP, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME, RDATA_ZF_LITERAL_DNAME
, RDATA_ZF_LITERAL_DNAME } },
/* 56 - NINFO */
{ TYPE_NINFO, "NINFO", 1, 1,
{ RDATA_WF_TEXTS },
Expand Down Expand Up @@ -485,38 +552,7 @@ static rrtype_descriptor_type rrtype_descriptors[(RRTYPE_DESCRIPTORS_LENGTH+2)]
{ 98, NULL, 1, 1, { RDATA_WF_BINARY }, { RDATA_ZF_UNKNOWN } },
/* 99 */
{ TYPE_SPF, "SPF", 1, MAXRDATALEN,
{ RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT,
RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT, RDATA_WF_TEXT },
{ RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT,
RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT, RDATA_ZF_TEXT } },
{ RDATA_WF_TEXTS }, { RDATA_ZF_TEXTS } },
/* 100 - UINFO */
{ 100, NULL, 1, 1, { RDATA_WF_BINARY }, { RDATA_ZF_UNKNOWN } },
/* 101 - UID */
Expand Down Expand Up @@ -856,7 +892,7 @@ static rrtype_descriptor_type rrtype_descriptors[(RRTYPE_DESCRIPTORS_LENGTH+2)]
/* 260 - AMTRELAY */
{ 260, NULL, 1, 1, { RDATA_WF_BINARY }, { RDATA_ZF_UNKNOWN } },
/* 261 - RESINFO */
{ TYPE_RESINFO, "RESINFO", 1, 1, { RDATA_WF_TEXTS }, { RDATA_ZF_TEXTS } },
{ TYPE_RESINFO, "RESINFO", 1, 1, { RDATA_WF_TEXTS }, { RDATA_ZF_UNQUOTEDS } },
/* 262 - WALLET */
{ TYPE_WALLET, "WALLET", 1, 1, { RDATA_WF_TEXTS }, { RDATA_ZF_TEXTS } },
/* 263 - CLA */
Expand Down
18 changes: 11 additions & 7 deletions dns.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,12 +103,12 @@ typedef enum nsd_rc nsd_rc_type;
#define TYPE_X25 19 /* RFC1183 */
#define TYPE_ISDN 20 /* RFC1183 */
#define TYPE_RT 21 /* RFC1183 */
#define TYPE_NSAP 22 /* RFC1706 */

#define TYPE_NSAP 22 /* RFC1706 (deprecated by RFC9121) */
#define TYPE_NSAP_PTR 23 /* RFC1348 (deprecated by RFC9121)*/
#define TYPE_SIG 24 /* 2535typecode */
#define TYPE_KEY 25 /* 2535typecode */
#define TYPE_PX 26 /* RFC2163 */

#define TYPE_GPOS 27 /* RFC1712 */
#define TYPE_AAAA 28 /* ipv6 address */
#define TYPE_LOC 29 /* LOC record RFC1876 */
#define TYPE_NXT 30 /* 2535typecode */
Expand All @@ -134,7 +134,7 @@ typedef enum nsd_rc nsd_rc_type;
#define TYPE_NSEC3PARAM 51 /* NSEC3PARAM at zone apex nsec3 parameters */
#define TYPE_TLSA 52 /* RFC 6698 */
#define TYPE_SMIMEA 53 /* RFC 8162 */

#define TYPE_HIP 55 /* RFC 8005 */
#define TYPE_NINFO 56 /* NINFO/ninfo-completed-template */
#define TYPE_RKEY 57 /* RKEY/rkey-completed-template */

Expand Down Expand Up @@ -223,10 +223,11 @@ enum rdata_wireformat
RDATA_WF_APL, /* APL data. */
RDATA_WF_IPSECGATEWAY, /* IPSECKEY gateway ip4, ip6 or dname. */
RDATA_WF_ILNP64, /* 64-bit uncompressed IPv6 address. */
RDATA_WF_EUI48, /* 48-bit address. */
RDATA_WF_EUI48, /* 48-bit address. */
RDATA_WF_EUI64, /* 64-bit address. */
RDATA_WF_LONG_TEXT, /* Long (>255) text string. */
RDATA_WF_SVCPARAM /* SvcParam <key>[=<value>] */
RDATA_WF_SVCPARAM, /* SvcParam <key>[=<value>] */
RDATA_WF_HIP /* HIP rdata up to the Rendezvous Servers */
};
typedef enum rdata_wireformat rdata_wireformat_type;

Expand Down Expand Up @@ -264,8 +265,11 @@ enum rdata_zoneformat
RDATA_ZF_EUI48, /* EUI48 address. */
RDATA_ZF_EUI64, /* EUI64 address. */
RDATA_ZF_LONG_TEXT, /* Long (>255) text string. */
RDATA_ZF_TAG, /* Text string without quotes. */
RDATA_ZF_UNQUOTED, /* Unquoted text string. */
RDATA_ZF_UNQUOTEDS, /* A sequence of unquoted text strings. */
RDATA_ZF_TAG, /* A sequence of letters and numbers. */
RDATA_ZF_SVCPARAM, /* SvcParam <key>[=<value>] */
RDATA_ZF_HIP, /* HIP rdata up to the Rendezvous Servers */
RDATA_ZF_UNKNOWN /* Unknown data. */
};
typedef enum rdata_zoneformat rdata_zoneformat_type;
Expand Down
3 changes: 3 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
19 November 2024: Willem
- Merge #409: Writing of NSAP-PTR, GPOS and HIP RR types

16 November 2024: Willem
- Merge #408: NINFO, RKEY, RESINFO, WALLET, CLA and TA RR types

Expand Down
92 changes: 91 additions & 1 deletion rdata.c
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,57 @@ rdata_long_text_to_string(buffer_type *output, rdata_atom_type rdata,
return 1;
}

static int
rdata_unquoted_to_string(buffer_type *output, rdata_atom_type rdata,
rr_type* ATTR_UNUSED(rr))
{
const uint8_t *data = rdata_atom_data(rdata);
uint8_t length = data[0];
size_t i;

for (i = 1; i <= length; ++i) {
char ch = (char) data[i];
if (isprint((unsigned char)ch)) {
if (ch == '"' || ch == '\\'
|| isspace((unsigned char)ch)) {
buffer_printf(output, "\\");
}
buffer_printf(output, "%c", ch);
} else {
buffer_printf(output, "\\%03u", (unsigned) data[i]);
}
}
return 1;
}

static int
rdata_unquoteds_to_string(buffer_type *output, rdata_atom_type rdata,
rr_type* ATTR_UNUSED(rr))
{
uint16_t pos = 0;
const uint8_t *data = rdata_atom_data(rdata);
uint16_t length = rdata_atom_size(rdata);
size_t i;

while (pos < length && pos + data[pos] < length) {
for (i = 1; i <= data[pos]; ++i) {
char ch = (char) data[pos + i];
if (isprint((unsigned char)ch)) {
if (ch == '"' || ch == '\\'
|| isspace((unsigned char)ch)) {
buffer_printf(output, "\\");
}
buffer_printf(output, "%c", ch);
} else {
buffer_printf(output, "\\%03u", (unsigned) data[pos+i]);
}
}
pos += data[pos]+1;
buffer_printf(output, pos < length?" ":"");
}
return 1;
}

static int
rdata_tag_to_string(buffer_type *output, rdata_atom_type rdata,
rr_type* ATTR_UNUSED(rr))
Expand Down Expand Up @@ -895,6 +946,34 @@ rdata_svcparam_to_string(buffer_type *output, rdata_atom_type rdata,
return 1;
}

static int
rdata_hip_to_string(buffer_type *output, rdata_atom_type rdata,
rr_type* ATTR_UNUSED(rr))
{
uint16_t size = rdata_atom_size(rdata);
uint8_t hit_length;
uint16_t pk_length;
int length = 0;

if(size < 4)
return 0;
hit_length = rdata_atom_data(rdata)[0];
pk_length = read_uint16(rdata_atom_data(rdata) + 2);
length = 4 + hit_length + pk_length;
if(hit_length == 0 || pk_length == 0 || size < length)
return 0;
buffer_printf(output, "%u ", (unsigned)rdata_atom_data(rdata)[1]);
hex_to_string(output, rdata_atom_data(rdata) + 4, hit_length);
buffer_printf(output, " ");
buffer_reserve(output, pk_length * 2 + 1);
length = b64_ntop(rdata_atom_data(rdata) + 4 + hit_length, pk_length,
(char *) buffer_current(output), pk_length * 2);
if (length > 0) {
buffer_skip(output, length);
}
return length != -1;
}

static int
rdata_unknown_to_string(buffer_type *output, rdata_atom_type rdata,
rr_type* ATTR_UNUSED(rr))
Expand Down Expand Up @@ -935,8 +1014,11 @@ static rdata_to_string_type rdata_to_string_table[RDATA_ZF_UNKNOWN + 1] = {
rdata_eui48_to_string,
rdata_eui64_to_string,
rdata_long_text_to_string,
rdata_unquoted_to_string,
rdata_unquoteds_to_string,
rdata_tag_to_string,
rdata_svcparam_to_string,
rdata_hip_to_string,
rdata_unknown_to_string
};

Expand Down Expand Up @@ -1063,8 +1145,16 @@ rdata_wireformat_to_rdata_atoms(region_type *region,
read_uint16(buffer_current(packet) + 2);
}
break;
case RDATA_WF_HIP:
/* Length is stored in the first byte (HIT length)
* plus the third and fourth byte (PK length) */
length = 4;
if (buffer_position(packet) + length <= end) {
length += buffer_current(packet)[0];
length += read_uint16(buffer_current(packet) + 2);
}
break;
}

if (is_domain) {
const dname_type *dname;

Expand Down
11 changes: 10 additions & 1 deletion tpkg/rr-test.tdir/rr-test.cmp_zone

Large diffs are not rendered by default.

22 changes: 22 additions & 0 deletions tpkg/rr-test.tdir/rr-test.nsap.int.zone
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
$ORIGIN 3.3.1.e.1.0.0.0.0.0.0.0.0.0.a.5.0.0.0.8.5.0.0.0.7.4.NSAP.INT.

@ IN SOA emu.ncsl.nist.gov. root.emu.ncsl.nist.gov. (
1994041800 ; Serial - date
1800 ; Refresh - 30 minutes
300 ; Retry - 5 minutes
604800 ; Expire - 7 days
3600 ) ; Minimum - 1 hour
IN NS emu.ncsl.nist.gov.
IN NS tuba.nsap.lanl.gov.
0.0.1.6.1.0.0.0.f.f.f.f.f.f IN PTR bsdi1.nsap.nist.gov.
;
0.0.2.6.1.0.0.0.f.f.f.f.f.f IN PTR bsdi2.nsap.nist.gov.
;
0.0.1.7.1.0.0.0.f.f.f.f.f.f IN PTR cursive.nsap.nist.gov.
;
0.0.4.6.1.0.0.0.f.f.f.f.f.f IN PTR infidel.nsap.nist.gov.
;
0.0.1.5.1.0.0.0.a.a.a.a.a.a IN PTR cisco1.nsap.nist.gov.
;
0.0.1.1.1.0.0.0.a.a.a.a.a.a IN PTR 3com1.nsap.nist.gov.

7 changes: 7 additions & 0 deletions tpkg/rr-test.tdir/rr-test.test
Original file line number Diff line number Diff line change
Expand Up @@ -125,4 +125,11 @@ else
fi
echo ""

## simdzone allow NSAP-PTR only in the nsap.int. domain
if ! ../../nsd-checkzone 3.3.1.e.1.0.0.0.0.0.0.0.0.0.a.5.0.0.0.8.5.0.0.0.7.4.nsap.int. rr-test.nsap.int.zone
then
echo "Could not parse NSAP-PTR provisioned zone"
exit 1
fi

exit 0
18 changes: 18 additions & 0 deletions tpkg/rr-test.tdir/rr-test.zone
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,21 @@ wallet IN WALLET BTC 1H6WkSHdqVahBKczJrs9bBfFYhUHrP5R2F
cla IN CLA CP-V4-V6 TCP-V6-V7
ta IN TA 56039 13 2 4104805B43928FC573F0704A2C1B5A10BAA2878DE26B8535DDE77517 C154CE9F
dlv IN DLV 56039 13 2 4104805B43928FC573F0704A2C1B5A10BAA2878DE26B8535DDE77517C154CE9F

; GPOS examples from RFC1712
marsh.gpos IN GPOS -32.6882 116.8652 10.0
lillee.gpos IN GPOS -32.6882 116.8652 10.0
hinault.gpos IN GPOS -22.6882 116.8652 250.0
ambrose.gpos IN GPOS -32.6882 116.8652 10.0

hip1 IN HIP ( 2 200100107B1A74DF365639CC39F1D578
AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D )
hip2 IN HIP ( 2 200100107B1A74DF365639CC39F1D578
AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D
rvs.example.com. )

hip3 IN HIP ( 2 200100107B1A74DF365639CC39F1D578
AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D
rvs1.example.com.
rvs2.example.com. )

0 comments on commit 6359234

Please sign in to comment.