aboutsummaryrefslogtreecommitdiff
path: root/draft-schanzen-gns.xml
diff options
context:
space:
mode:
Diffstat (limited to 'draft-schanzen-gns.xml')
-rw-r--r--draft-schanzen-gns.xml83
1 files changed, 33 insertions, 50 deletions
diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
index 8aba127..4df89c5 100644
--- a/draft-schanzen-gns.xml
+++ b/draft-schanzen-gns.xml
@@ -779,10 +779,9 @@ zTLD := zkl[126..129].zkl[63..125].zkl[0..62]
779+-----+-----+-----+-----+-----+-----+-----+-----+ 779+-----+-----+-----+-----+-----+-----+-----+-----+
780| EXPIRATION | 780| EXPIRATION |
781+-----+-----+-----+-----+-----+-----+-----+-----+ 781+-----+-----+-----+-----+-----+-----+-----+-----+
782| DATA SIZE | TYPE | 782| SIZE | FLAGS | TYPE |
783+-----+-----+-----+-----+-----+-----+-----+-----+ 783+-----+-----+-----+-----+-----+-----+-----+-----+
784| FLAGS | DATA / 784| DATA /
785+-----+-----+-----+-----+ /
786/ / 785/ /
787/ / 786/ /
788 ]]></artwork> 787 ]]></artwork>
@@ -795,11 +794,15 @@ zTLD := zkl[126..129].zkl[63..125].zkl[0..62]
795 In microseconds since midnight (0 hour), January 1, 1970 in network 794 In microseconds since midnight (0 hour), January 1, 1970 in network
796 byte order. 795 byte order.
797 </dd> 796 </dd>
798 <dt>DATA SIZE</dt> 797 <dt>SIZE</dt>
799 <dd> 798 <dd>
800 denotes the 32-bit size of the DATA field in bytes and in network byte 799 denotes the 16-bit size of the DATA field in bytes and in network byte
801 order. 800 order.
802 </dd> 801 </dd>
802 <dt>FLAGS</dt>
803 <dd>
804 is a 16-bit resource record flags field (see below).
805 </dd>
803 <dt>TYPE</dt> 806 <dt>TYPE</dt>
804 <dd> 807 <dd>
805 is the 32-bit resource record type. This type can be one of the GNS resource 808 is the 32-bit resource record type. This type can be one of the GNS resource
@@ -811,10 +814,6 @@ zTLD := zkl[126..129].zkl[63..125].zkl[0..62]
811 while values above 2^16 are allocated by the 814 while values above 2^16 are allocated by the
812 GNUnet Assigned Numbers Authority <xref target="GANA" />. 815 GNUnet Assigned Numbers Authority <xref target="GANA" />.
813 </dd> 816 </dd>
814 <dt>FLAGS</dt>
815 <dd>
816 is a 32-bit resource record flags field (see below).
817 </dd>
818 <dt>DATA</dt> 817 <dt>DATA</dt>
819 <dd> 818 <dd>
820 the variable-length resource record data payload. The contents are defined 819 the variable-length resource record data payload. The contents are defined
@@ -831,7 +830,7 @@ zTLD := zkl[126..129].zkl[63..125].zkl[0..62]
831 If an application or implementation encounters a flag which it does not 830 If an application or implementation encounters a flag which it does not
832 recognize, it MUST be ignored. 831 recognize, it MUST be ignored.
833 <xref target="figure_flag"/> 832 <xref target="figure_flag"/>
834 illustrates the flag distribution in the 32-bit flag value of a 833 illustrates the flag distribution in the 16-bit flag field of a
835 resource record: 834 resource record:
836 </t> 835 </t>
837 <figure anchor="figure_flag"> 836 <figure anchor="figure_flag">
@@ -1599,10 +1598,10 @@ q := SHA-512 (ZKDF-Public(zk, label))
1599 <artwork name="" type="" align="left" alt=""><![CDATA[ 1598 <artwork name="" type="" align="left" alt=""><![CDATA[
16000 8 16 24 32 40 48 56 15990 8 16 24 32 40 48 56
1601+-----+-----+-----+-----+-----+-----+-----+-----+ 1600+-----+-----+-----+-----+-----+-----+-----+-----+
1602| ZONE TYPE | ZONE KEY | 1601| SIZE | ZONE TYPE |
1603+-----+-----+-----+-----+ (BLINDED) | 1602+-----+-----+-----+-----+-----+-----+-----+-----+
1604/ / 1603/ ZONE KEY /
1605/ / 1604/ (BLINDED) /
1606| | 1605| |
1607+-----+-----+-----+-----+-----+-----+-----+-----+ 1606+-----+-----+-----+-----+-----+-----+-----+-----+
1608| SIGNATURE | 1607| SIGNATURE |
@@ -1610,8 +1609,6 @@ q := SHA-512 (ZKDF-Public(zk, label))
1610/ / 1609/ /
1611| | 1610| |
1612+-----+-----+-----+-----+-----+-----+-----+-----+ 1611+-----+-----+-----+-----+-----+-----+-----+-----+
1613| SIZE | PURPOSE |
1614+-----+-----+-----+-----+-----+-----+-----+-----+
1615| EXPIRATION | 1612| EXPIRATION |
1616+-----+-----+-----+-----+-----+-----+-----+-----+ 1613+-----+-----+-----+-----+-----+-----+-----+-----+
1617| BDATA / 1614| BDATA /
@@ -1621,9 +1618,16 @@ q := SHA-512 (ZKDF-Public(zk, label))
1621 ]]></artwork> 1618 ]]></artwork>
1622 </figure> 1619 </figure>
1623 <t>The RRBLOCK Wire Format.</t> 1620 <t>The RRBLOCK Wire Format.</t>
1624 <!-- FIXME: Should we remove size and purpose from the wire format? They are entirely redundant, right?
1625 I (CG) also think we should then move the expiration first (before ztype), so that it is aligned. -->
1626 <dl> 1621 <dl>
1622 <dt>SIZE</dt>
1623 <dd>
1624 A 32-bit value containing the length of the signed data following the
1625 PUBLIC KEY field in network byte order. This value always includes the
1626 length of the fields SIZE (4), PURPOSE (4) and EXPIRATION (8) in
1627 addition to the length of the BDATA. While a 32-bit value is used,
1628 implementations MAY refuse to publish blocks beyond a certain
1629 size significantly below 4 GB.
1630 </dd>
1627 <dt>ZONE TYPE</dt> 1631 <dt>ZONE TYPE</dt>
1628 <dd> 1632 <dd>
1629 is the 32-bit ztype. 1633 is the 32-bit ztype.
@@ -1642,22 +1646,13 @@ q := SHA-512 (ZKDF-Public(zk, label))
1642 the cryptosystem of the zone and the derived private key 1646 the cryptosystem of the zone and the derived private key
1643 "ZKDF-Private(d, label)" (see <xref target="zones" />). 1647 "ZKDF-Private(d, label)" (see <xref target="zones" />).
1644 </dd> 1648 </dd>
1645 <dt>SIZE</dt> 1649 <!--<dt>PURPOSE</dt>
1646 <dd>
1647 A 32-bit value containing the length of the signed data following the
1648 PUBLIC KEY field in network byte order. This value always includes the
1649 length of the fields SIZE (4), PURPOSE (4) and EXPIRATION (8) in
1650 addition to the length of the BDATA. While a 32-bit value is used,
1651 implementations MAY refuse to publish blocks beyond a certain
1652 size significantly below 4 GB.
1653 </dd>
1654 <dt>PURPOSE</dt>
1655 <dd> 1650 <dd>
1656 A 32-bit signature purpose flag. For a RRBLOCK the value of this 1651 A 32-bit signature purpose flag. For a RRBLOCK the value of this
1657 field MUST be 15. The value is encoded in network byte order. 1652 field MUST be 15. The value is encoded in network byte order.
1658 The value of this field corresponds to an entry in the 1653 The value of this field corresponds to an entry in the
1659 GANA "GNUnet Signature Purpose" registry. 1654 GANA "GNUnet Signature Purpose" registry.
1660 </dd> 1655 </dd>FIXME: We need the signature wire format -->
1661 <dt>EXPIRATION</dt> 1656 <dt>EXPIRATION</dt>
1662 <dd> 1657 <dd>
1663 Specifies when the RRBLOCK expires and the encrypted block 1658 Specifies when the RRBLOCK expires and the encrypted block
@@ -1696,48 +1691,36 @@ q := SHA-512 (ZKDF-Public(zk, label))
1696 <artwork name="" type="" align="left" alt=""><![CDATA[ 1691 <artwork name="" type="" align="left" alt=""><![CDATA[
16970 8 16 24 32 40 48 56 16920 8 16 24 32 40 48 56
1698+-----+-----+-----+-----+-----+-----+-----+-----+ 1693+-----+-----+-----+-----+-----+-----+-----+-----+
1699| RR COUNT | EXPIRA- / 1694| EXPIRATION |
1700+-----+-----+-----+-----+-----+-----+-----+-----+
1701/ -TION | DATA SIZE |
1702+-----+-----+-----+-----+-----+-----+-----+-----+ 1695+-----+-----+-----+-----+-----+-----+-----+-----+
1703| TYPE | FLAGS | 1696| SIZE | FLAGS | TYPE |
1704+-----+-----+-----+-----+-----+-----+-----+-----+ 1697+-----+-----+-----+-----+-----+-----+-----+-----+
1705| DATA / 1698| DATA /
1706/ / 1699/ /
1707/ | 1700/ /
1708+-----+-----+-----+-----+-----+-----+-----+-----+ 1701+-----+-----+-----+-----+-----+-----+-----+-----+
1709| EXPIRATION | 1702| EXPIRATION |
1710+-----+-----+-----+-----+-----+-----+-----+-----+ 1703+-----+-----+-----+-----+-----+-----+-----+-----+
1711| DATA SIZE | TYPE | 1704| SIZE | FLAGS | TYPE |
1705+-----+-----+-----+-----+-----+-----+-----+-----+
1706| DATA /
1707/ /
1712+-----+-----+-----+-----+-----+-----+-----+-----+ 1708+-----+-----+-----+-----+-----+-----+-----+-----+
1713| FLAGS | DATA /
1714+-----+-----+-----+-----+ /
1715/ +-----------------------/
1716/ | /
1717+-----------------------+ /
1718/ PADDING / 1709/ PADDING /
1719/ / 1710/ /
1720 ]]></artwork> 1711 ]]></artwork>
1721 </figure> 1712 </figure>
1722 <t>The RDATA Wire Format.</t> 1713 <t>The RDATA Wire Format.</t>
1723 <dl> 1714 <dl>
1724 <dt>RR COUNT</dt> 1715 <dt>EXPIRATION, SIZE, TYPE, FLAGS and DATA</dt>
1725 <dd>
1726 A 32-bit value containing the number of variable-length resource
1727 records which are
1728 following after this field in network byte order.
1729 </dd>
1730 <dt>EXPIRATION, DATA SIZE, TYPE, FLAGS and DATA</dt>
1731 <dd> 1716 <dd>
1732 These fields were defined 1717 These fields were defined
1733 in the resource record format in <xref target="rrecords" />. 1718 in the resource record format in <xref target="rrecords" />.
1734 There MUST be a total of RR COUNT of these resource records
1735 present.
1736 </dd> 1719 </dd>
1737 <dt>PADDING</dt> 1720 <dt>PADDING</dt>
1738 <dd> 1721 <dd>
1739 When publishing an RDATA block, the implementation MUST ensure that 1722 When publishing an RDATA block, the implementation MUST ensure that
1740 the size of the RDATA WITHOUT the RR COUNT field is a power of two 1723 the size of the RDATA is a power of two
1741 using the padding field. The field MUST be set to zero and MUST be 1724 using the padding field. The field MUST be set to zero and MUST be
1742 ignored on receipt. 1725 ignored on receipt.
1743 As a special exception, record sets with (only) a zone delegation 1726 As a special exception, record sets with (only) a zone delegation