diff options
Diffstat (limited to 'draft-schanzen-gns.xml')
-rw-r--r-- | draft-schanzen-gns.xml | 83 |
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[ |
1600 | 0 8 16 24 32 40 48 56 | 1599 | 0 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[ |
1697 | 0 8 16 24 32 40 48 56 | 1692 | 0 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 |