Skip to content

Commit

Permalink
Script updating gh-pages from fe0bbb9. [ci skip]
Browse files Browse the repository at this point in the history
  • Loading branch information
ID Bot committed Nov 3, 2024
1 parent fe78886 commit 20d0080
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 50 deletions.
143 changes: 99 additions & 44 deletions draft-venhoek-nts-pool.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,24 @@
<meta content="
The aim of this document is to describe a proof of concept system for NTS pools that are able to be used by clients without any knowledge beyond plain NTS. The work here focuses purely on creating an intermediate NTS Key Exchange server that can be configured with the addresses of multiple downstream servers and distribute load between them. The parts of pool operation dealing with managing the list of servers are left out of scope for this work.
" name="description">
<meta content="xml2rfc 3.19.0" name="generator">
<meta content="xml2rfc 3.24.0" name="generator">
<meta content="NTP" name="keyword">
<meta content="NTS" name="keyword">
<meta content="draft-venhoek-nts-pool-latest" name="ietf.draft">
<!-- Generator version information:
xml2rfc 3.19.0
Python 3.11.6
xml2rfc 3.24.0
Python 3.12.7
ConfigArgParse 1.7
google-i18n-address 3.1.0
google-i18n-address 3.1.1
intervaltree 3.1.0
Jinja2 3.1.2
lxml 4.9.3
platformdirs 4.1.0
Jinja2 3.1.4
lxml 5.3.0
platformdirs 4.3.6
pycountry 22.3.5
PyYAML 6.0.1
requests 2.31.0
setuptools 68.2.2
six 1.16.0
wcwidth 0.2.12
requests 2.32.3
setuptools 70.3.0
wcwidth 0.2.13
-->
<link href="draft-venhoek-nts-pool.xml" rel="alternate" type="application/rfc+xml">
<link href="#copyright" rel="license">
Expand Down Expand Up @@ -165,45 +164,91 @@
}

@font-face {
font-family: 'Cabin Condensed';
font-style: normal;
font-weight: 600;
font-display: swap;
src: local('Cabin Condensed SemiBold'), local('CabinCondensed-SemiBold'), url('https://martinthomson.github.io/rfc-css/fonts/cabincondensed-semibold-vietnamese.woff2') format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
@font-face {
font-family: 'Cabin Condensed';
font-family: 'Oxygen Mono';
font-style: normal;
font-weight: 600;
font-weight: 400;
font-display: swap;
src: local('Cabin Condensed SemiBold'), local('CabinCondensed-SemiBold'), url('https://martinthomson.github.io/rfc-css/fonts/cabincondensed-semibold-latin-ext.woff2') format('woff2');
src: local('Oxygen Mono'), local('OxygenMono-Regular'), url('https://martinthomson.github.io/rfc-css/fonts/oxygenmono-regular-latin-ext.woff2') format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Cabin Condensed';
font-family: 'Oxygen Mono';
font-style: normal;
font-weight: 600;
font-weight: 400;
font-display: swap;
src: local('Cabin Condensed SemiBold'), local('CabinCondensed-SemiBold'), url('https://martinthomson.github.io/rfc-css/fonts/cabincondensed-semibold-latin.woff2') format('woff2');
src: local('Oxygen Mono'), local('OxygenMono-Regular'), url('https://martinthomson.github.io/rfc-css/fonts/oxygenmono-regular-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
font-family: 'Oxygen Mono';
font-family: 'Sofia Sans Semi Condensed';
font-style: italic;
font-weight: 1 1000;
src: url('https://martinthomson.github.io/rfc-css/fonts/sofiasanssemicondensed-italic-cyrillic-ext.woff2') format('woff2');
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
font-family: 'Sofia Sans Semi Condensed';
font-style: italic;
font-weight: 1 1000;
src: url('https://martinthomson.github.io/rfc-css/fonts/sofiasanssemicondensed-italic-cyrillic.woff2') format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
font-family: 'Sofia Sans Semi Condensed';
font-style: italic;
font-weight: 1 1000;
src: url('https://martinthomson.github.io/rfc-css/fonts/sofiasanssemicondensed-italic-greek.woff2') format('woff2');
unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
font-family: 'Sofia Sans Semi Condensed';
font-style: italic;
font-weight: 1 1000;
src: url('https://martinthomson.github.io/rfc-css/fonts/sofiasanssemicondensed-italic-latin-ext.woff2') format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Sofia Sans Semi Condensed';
font-style: italic;
font-weight: 1 1000;
src: url('https://martinthomson.github.io/rfc-css/fonts/sofiasanssemicondensed-italic-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Sofia Sans Semi Condensed';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Oxygen Mono'), local('OxygenMono-Regular'), url('https://martinthomson.github.io/rfc-css/fonts/oxygenmono-regular-latin-ext.woff2') format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
font-weight: 1 1000;
src: url('https://martinthomson.github.io/rfc-css/fonts/sofiasanssemicondensed-regular-cyrillic-ext.woff2') format('woff2');
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
font-family: 'Oxygen Mono';
font-family: 'Sofia Sans Semi Condensed';
font-style: normal;
font-weight: 400;
font-display: swap;
src: local('Oxygen Mono'), local('OxygenMono-Regular'), url('https://martinthomson.github.io/rfc-css/fonts/oxygenmono-regular-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
font-weight: 1 1000;
src: url('https://martinthomson.github.io/rfc-css/fonts/sofiasanssemicondensed-regular-cyrillic.woff2') format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
font-family: 'Sofia Sans Semi Condensed';
font-style: normal;
font-weight: 1 1000;
src: url('https://martinthomson.github.io/rfc-css/fonts/sofiasanssemicondensed-regular-greek.woff2') format('woff2');
unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
font-family: 'Sofia Sans Semi Condensed';
font-style: normal;
font-weight: 1 1000;
src: url('https://martinthomson.github.io/rfc-css/fonts/sofiasanssemicondensed-regular-latin-ext.woff2') format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Sofia Sans Semi Condensed';
font-style: normal;
font-weight: 1 1000;
src: url('https://martinthomson.github.io/rfc-css/fonts/sofiasanssemicondensed-regular-latin.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
Expand All @@ -218,6 +263,7 @@
--pilcrow-strong: #bbb;
--small-font-size: 14.5px;
--font-mono: 'Oxygen Mono', monospace;
--font-title: "Sofia Sans Semi Condensed", sans-serif;
scrollbar-color: #bbb #eee;
}
body {
Expand All @@ -236,8 +282,8 @@

/* headings */
h1, h2, h3, h4, h5, h6 {
font-family: "Cabin Condensed", sans-serif;
font-weight: 600;
font-family: var(--font-title);
font-weight: 680;
margin: 0.8em 0 0.3em;
font-size-adjust: 0.5;
color: var(--title-color);
Expand Down Expand Up @@ -645,6 +691,12 @@
padding: 0.75em 0 2em 0;
margin-bottom: 1em;
}
@media screen {
#toc nav {
font-family: var(--font-title);
font-weight: 360;
}
}
#toc nav ul {
margin: 0 0.5em 0 0;
padding: 0;
Expand Down Expand Up @@ -1028,11 +1080,11 @@
<thead><tr>
<td class="left">Internet-Draft</td>
<td class="center">NTS pools</td>
<td class="right">December 2023</td>
<td class="right">November 2024</td>
</tr></thead>
<tfoot><tr>
<td class="left">Venhoek, et al.</td>
<td class="center">Expires 23 June 2024</td>
<td class="center">Expires 7 May 2025</td>
<td class="right">[Page]</td>
</tr></tfoot>
</table>
Expand All @@ -1045,12 +1097,12 @@
<dd class="internet-draft">draft-venhoek-nts-pool-latest</dd>
<dt class="label-published">Published:</dt>
<dd class="published">
<time datetime="2023-12-21" class="published">21 December 2023</time>
<time datetime="2024-11-03" class="published">3 November 2024</time>
</dd>
<dt class="label-intended-status">Intended Status:</dt>
<dd class="intended-status">Standards Track</dd>
<dt class="label-expires">Expires:</dt>
<dd class="expires"><time datetime="2024-06-23">23 June 2024</time></dd>
<dd class="expires"><time datetime="2025-05-07">7 May 2025</time></dd>
<dt class="label-authors">Authors:</dt>
<dd class="authors">
<div class="author">
Expand Down Expand Up @@ -1103,7 +1155,7 @@ <h2 id="name-status-of-this-memo">
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."<a href="#section-boilerplate.1-3" class="pilcrow"></a></p>
<p id="section-boilerplate.1-4">
This Internet-Draft will expire on 23 June 2024.<a href="#section-boilerplate.1-4" class="pilcrow"></a></p>
This Internet-Draft will expire on 7 May 2025.<a href="#section-boilerplate.1-4" class="pilcrow"></a></p>
</section>
</div>
<div id="copyright">
Expand All @@ -1112,7 +1164,7 @@ <h2 id="name-copyright-notice">
<a href="#name-copyright-notice" class="section-name selfRef">Copyright Notice</a>
</h2>
<p id="section-boilerplate.2-1">
Copyright (c) 2023 IETF Trust and the persons identified as the
Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved.<a href="#section-boilerplate.2-1" class="pilcrow"></a></p>
<p id="section-boilerplate.2-2">
This document is subject to BCP 78 and the IETF Trust's Legal
Expand Down Expand Up @@ -1242,6 +1294,7 @@ <h2 id="name-general-pool-architecture">
</h2>
<p id="section-3-1">We propose a pool model where the pool provides an NTS Key Exchange service to the outside world. A major advantage of this model is that it avoids having to distribute certificates to all downstream time servers. Contrary to <span>[<a href="#RFC8915" class="cite xref">RFC8915</a>]</span>, there is no direct TLS connection between the client and the selected downstream time service.<a href="#section-3-1" class="pilcrow"></a></p>
<p id="section-3-2">In <span>[<a href="#RFC8915" class="cite xref">RFC8915</a>]</span>, cookies are generated based on key material that is extracted from this TLS connection. Our proposed model instead establishes two TLS connections: between the client and the pool, and between the pool and the downstream time server. Because cookies need to be generated using key material from the client, the pool extracts this key material and sends it to the server. The server uses this key material (rather than key material extracted from its connection with the pool) to generate cookies. This way, the pool can remain oblivious to the cookie format of the downstream time server.<a href="#section-3-2" class="pilcrow"></a></p>
<p id="section-3-3">The pool <span class="bcp14">MUST</span> ensure that the response sent to the client includes an NTPv4 Server Negotiation record as specified in <span><a href="https://rfc-editor.org/rfc/rfc8915#section-4.1.7" class="relref">Section 4.1.7</a> of [<a href="#RFC8915" class="cite xref">RFC8915</a>]</span>.<a href="#section-3-3" class="pilcrow"></a></p>
</section>
</div>
<div id="client-facilities-for-pools">
Expand Down Expand Up @@ -1327,7 +1380,7 @@ <h3 id="name-ntp-server-deny">
<p id="section-6.5-1">Record Type Number: To be assigned by IANA (draft implementations: 0x4003)
Critical Bit: 0<a href="#section-6.5-1" class="pilcrow"></a></p>
<p id="section-6.5-2">When provided by a client, indicates a desire to connect to a server other than the server specified in the record. This can be used to ensure a client receives independent NTP servers from one NTS Key Exchange server without having to potentially try multiple times to get a new server.<a href="#section-6.5-2" class="pilcrow"></a></p>
<p id="section-6.5-3">A client <span class="bcp14">MAY</span> send multiple of these records if desired. The data in the record <span class="bcp14">SHOULD</span> match that given through an NTPv4 Server Negotiation received in an earlier request from the same NTS Key Exchange server.<a href="#section-6.5-3" class="pilcrow"></a></p>
<p id="section-6.5-3">A client <span class="bcp14">MAY</span> send multiple of these records if desired. The data in the record <span class="bcp14">SHOULD</span> match that given through an NTPv4 Server Negotiation received in an earlier response from the same NTS Key Exchange server.<a href="#section-6.5-3" class="pilcrow"></a></p>
<p id="section-6.5-4"><span class="bcp14">MUST NOT</span> be sent by a server. Server <span class="bcp14">MAY</span> at its discretion ignore the request from the client and still provide the given server in an NTPv4 Server Negotiation record.<a href="#section-6.5-4" class="pilcrow"></a></p>
</section>
</div>
Expand Down Expand Up @@ -1408,6 +1461,7 @@ <h2 id="name-iana-considerations">
</table>
</section>
</div>
<div id="sec-combined-references">
<section id="section-9">
<h2 id="name-references">
<a href="#section-9" class="section-number selfRef">9. </a><a href="#name-references" class="section-name selfRef">References</a>
Expand Down Expand Up @@ -1451,6 +1505,7 @@ <h3 id="name-informative-references">
</section>
</div>
</section>
</div>
<div id="acknowledgments">
<section id="appendix-A">
<h2 id="name-acknowledgments">
Expand Down
14 changes: 9 additions & 5 deletions draft-venhoek-nts-pool.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
ntp D. Venhoek
Internet-Draft F. D. Vries
Intended status: Standards Track M. Schoolderman
Expires: 23 June 2024 Tweede golf B.V.
21 December 2023
Expires: 7 May 2025 Tweede golf B.V.
3 November 2024


NTS extensions for enabling pools
Expand Down Expand Up @@ -49,11 +49,11 @@ Status of This Memo
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."

This Internet-Draft will expire on 23 June 2024.
This Internet-Draft will expire on 7 May 2025.

Copyright Notice

Copyright (c) 2023 IETF Trust and the persons identified as the
Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal
Expand Down Expand Up @@ -145,6 +145,10 @@ Table of Contents
can remain oblivious to the cookie format of the downstream time
server.

The pool MUST ensure that the response sent to the client includes an
NTPv4 Server Negotiation record as specified in Section 4.1.7 of
[RFC8915].

4. Client facilities for pools

One challenge with getting multiple time sources from a single NTS
Expand Down Expand Up @@ -289,7 +293,7 @@ Table of Contents

A client MAY send multiple of these records if desired. The data in
the record SHOULD match that given through an NTPv4 Server
Negotiation received in an earlier request from the same NTS Key
Negotiation received in an earlier response from the same NTS Key
Exchange server.

MUST NOT be sent by a server. Server MAY at its discretion ignore
Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ <h2>Preview for branch <a href="rnijveld-patch-1">rnijveld-patch-1</a></h2>
<tr>
<td><a href="rnijveld-patch-1/draft-venhoek-nts-pool.html" class="html draft-venhoek-nts-pool" title="NTS extensions for enabling pools (HTML)">NTS pools</a></td>
<td><a href="rnijveld-patch-1/draft-venhoek-nts-pool.txt" class="txt draft-venhoek-nts-pool" title="NTS extensions for enabling pools (Text)">plain text</a></td>
<td><a href="https://author-tools.ietf.org/api/iddiff?url_1=https://pendulum-project.github.io/nts-pool-draft/draft-venhoek-nts-pool.txt&amp;url_2=https://pendulum-project.github.io/nts-pool-draft/rnijveld-patch-1/draft-venhoek-nts-pool.txt" class="diff draft-venhoek-nts-pool">diff with main</a></td>
<td>same as main</td>
</tr>
</table>
<script>
Expand Down

0 comments on commit 20d0080

Please sign in to comment.