From 2c8ed7641ea94f9aa1c2f1cb20a6784bbf0451db Mon Sep 17 00:00:00 2001 From: tschmidtb51 <65305130+tschmidtb51@users.noreply.github.com> Date: Fri, 25 Oct 2024 22:07:43 +0200 Subject: [PATCH 1/8] Date-time - addresses parts of oasis-tcs/csaf#469 - add section on Date and Time to explain the rules --- ...esign-considerations-01-construction-principles.md | 2 +- .../edit/src/design-considerations-02-date-time.md | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 csaf_2.1/prose/edit/src/design-considerations-02-date-time.md diff --git a/csaf_2.1/prose/edit/src/design-considerations-01-construction-principles.md b/csaf_2.1/prose/edit/src/design-considerations-01-construction-principles.md index 71edbb65..b4a7fa4d 100644 --- a/csaf_2.1/prose/edit/src/design-considerations-01-construction-principles.md +++ b/csaf_2.1/prose/edit/src/design-considerations-01-construction-principles.md @@ -66,4 +66,4 @@ Section [sec](#distributing-csaf-documents) states how to distribute and where t Safety, Security and Data Protection are considered in section [sec](#safety-security-and-data-protection-considerations). Finally, a set of conformance targets describes tools in the ecosystem. -------- + diff --git a/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md b/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md new file mode 100644 index 00000000..dc5fc6fb --- /dev/null +++ b/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md @@ -0,0 +1,11 @@ +## Date and Time + +This standard uses the `date-time` format as defined in JSON Schema Draft 2020-12 Section 7.3.1. +In accordance with RFC 3339 and ISO 8601, the following rules apply: + +- The letter `T` separating the date and time SHALL be upper case. +- The letter `Z` indicating the timezone UTC SHALL be upper case. +- Fractions of seconds are allow as specified in the standards mention above. +- Leap seconds are supported. However, they SHOULD be avoided if possible. + +------- From ebf8f2807afbc613119edcbd9fd8803f75dd1459 Mon Sep 17 00:00:00 2001 From: tschmidtb51 <65305130+tschmidtb51@users.noreply.github.com> Date: Fri, 25 Oct 2024 22:18:34 +0200 Subject: [PATCH 2/8] Date-time - addresses parts of oasis-tcs/csaf#469 - specify . as frac-sec separator - explicitly state no empty timezones - add reference to ABNF of RFC 3339 section 5.6 --- csaf_2.1/prose/edit/src/design-considerations-02-date-time.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md b/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md index dc5fc6fb..d258e3b4 100644 --- a/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md +++ b/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md @@ -5,7 +5,9 @@ In accordance with RFC 3339 and ISO 8601, the following rules apply: - The letter `T` separating the date and time SHALL be upper case. - The letter `Z` indicating the timezone UTC SHALL be upper case. -- Fractions of seconds are allow as specified in the standards mention above. +- Fractions of seconds are allow as specified in the standards mention above with the full stop (`.`) as separator. - Leap seconds are supported. However, they SHOULD be avoided if possible. +- Empty timezones are prohibited. +- The ABNF of RFC 3339, section 5.6 applies. ------- From 08255a4e6958a3fa8e7bcdae38e07584bbc6b127 Mon Sep 17 00:00:00 2001 From: Stefan Hagen Date: Fri, 25 Oct 2024 23:39:39 +0200 Subject: [PATCH 3/8] Nit: changed allow to allowed --- csaf_2.1/prose/edit/src/design-considerations-02-date-time.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md b/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md index d258e3b4..1f638dea 100644 --- a/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md +++ b/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md @@ -5,7 +5,7 @@ In accordance with RFC 3339 and ISO 8601, the following rules apply: - The letter `T` separating the date and time SHALL be upper case. - The letter `Z` indicating the timezone UTC SHALL be upper case. -- Fractions of seconds are allow as specified in the standards mention above with the full stop (`.`) as separator. +- Fractions of seconds are allowed as specified in the standards mention above with the full stop (`.`) as separator. - Leap seconds are supported. However, they SHOULD be avoided if possible. - Empty timezones are prohibited. - The ABNF of RFC 3339, section 5.6 applies. From bf9393be30c7276f589f03b604489d3c44b7271d Mon Sep 17 00:00:00 2001 From: tschmidtb51 <65305130+tschmidtb51@users.noreply.github.com> Date: Fri, 25 Oct 2024 23:54:34 +0200 Subject: [PATCH 4/8] Date-time - addresses parts of oasis-tcs/csaf#469 - move RFC 3339 and ISO 8601 to normative references --- .../prose/edit/src/introduction-03-normative-references.md | 6 ++++++ .../edit/src/introduction-04-informative-references.md | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/csaf_2.1/prose/edit/src/introduction-03-normative-references.md b/csaf_2.1/prose/edit/src/introduction-03-normative-references.md index ebfcbbc0..ea6e9114 100644 --- a/csaf_2.1/prose/edit/src/introduction-03-normative-references.md +++ b/csaf_2.1/prose/edit/src/introduction-03-normative-references.md @@ -1,5 +1,8 @@ ## Normative References +ISO8601 +: _Data elements and interchange formats — Information interchange — Representation of dates and times_, International Standard, ISO 8601:2004(E), December 1, 2004, https://www.iso.org/standard/40874.html. + JSON-Schema-Core : _JSON Schema: A Media Type for Describing JSON Documents_, draft-bhutton-json-schema-00, December 2020, . @@ -15,6 +18,9 @@ Relative-JSON-Pointers RFC2119 : Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . +RFC3339 +: Klyne, G. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002, . + RFC7464 : Williams, N., "JavaScript Object Notation (JSON) Text Sequences", RFC 7464, DOI 10.17487/RFC7464, February 2015, . diff --git a/csaf_2.1/prose/edit/src/introduction-04-informative-references.md b/csaf_2.1/prose/edit/src/introduction-04-informative-references.md index d8c79710..7794ee2f 100644 --- a/csaf_2.1/prose/edit/src/introduction-04-informative-references.md +++ b/csaf_2.1/prose/edit/src/introduction-04-informative-references.md @@ -51,9 +51,6 @@ GFMCMARK GFMENG : _GitHub Engineering: A formal spec for GitHub Flavored Markdown_, https://githubengineering.com/a-formal-spec-for-github-markdown/. -ISO8601 -: _Data elements and interchange formats — Information interchange — Representation of dates and times_, International Standard, ISO 8601:2004(E), December 1, 2004, https://www.iso.org/standard/40874.html. - ISO19770-2 : _Information technology — IT asset management — Part 2: Software identification tag_, International Standard, ISO 19770-2:2015, September 30, 2015, . @@ -66,9 +63,6 @@ OPENSSL PURL : _Package URL (purl)_, GitHub Project, https://github.com/package-url/purl-spec. -RFC3339 -: Klyne, G. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002, . - RFC3552 : Rescorla, E. and B. Korver, "Guidelines for Writing RFC Text on Security Considerations", BCP 72, RFC 3552, DOI 10.17487/RFC3552, July 2003, . From ec4017629ce66c3a32bec90d5bc4ed8c4ffa6192 Mon Sep 17 00:00:00 2001 From: tschmidtb51 <65305130+tschmidtb51@users.noreply.github.com> Date: Sat, 26 Oct 2024 00:10:05 +0200 Subject: [PATCH 5/8] Date-time - addresses parts of oasis-tcs/csaf#469 - correct format - add filename to etc/bind.txt --- csaf_2.1/prose/edit/etc/bind.txt | 1 + .../edit/src/design-considerations-02-date-time.md | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/csaf_2.1/prose/edit/etc/bind.txt b/csaf_2.1/prose/edit/etc/bind.txt index 7179ce2b..a59bf5fa 100644 --- a/csaf_2.1/prose/edit/etc/bind.txt +++ b/csaf_2.1/prose/edit/etc/bind.txt @@ -8,6 +8,7 @@ introduction-04-informative-references.md introduction-05-typographical-conventions.md design-considerations-00.md design-considerations-01-construction-principles.md +design-considerations-02-date-time.md schema-elements-00.md schema-elements-01-definitions.md schema-elements-01-defs-01-acknowledgements.md diff --git a/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md b/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md index 1f638dea..422b0657 100644 --- a/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md +++ b/csaf_2.1/prose/edit/src/design-considerations-02-date-time.md @@ -3,11 +3,11 @@ This standard uses the `date-time` format as defined in JSON Schema Draft 2020-12 Section 7.3.1. In accordance with RFC 3339 and ISO 8601, the following rules apply: -- The letter `T` separating the date and time SHALL be upper case. -- The letter `Z` indicating the timezone UTC SHALL be upper case. -- Fractions of seconds are allowed as specified in the standards mention above with the full stop (`.`) as separator. -- Leap seconds are supported. However, they SHOULD be avoided if possible. -- Empty timezones are prohibited. -- The ABNF of RFC 3339, section 5.6 applies. +* The letter `T` separating the date and time SHALL be upper case. +* The letter `Z` indicating the timezone UTC SHALL be upper case. +* Fractions of seconds are allowed as specified in the standards mention above with the full stop (`.`) as separator. +* Leap seconds are supported. However, they SHOULD be avoided if possible. +* Empty timezones are prohibited. +* The ABNF of RFC 3339, section 5.6 applies. ------- From 2b508b1d80843e6ff257a2071581b58e981bfe3b Mon Sep 17 00:00:00 2001 From: tschmidtb51 <65305130+tschmidtb51@users.noreply.github.com> Date: Sat, 26 Oct 2024 00:06:40 +0200 Subject: [PATCH 6/8] Date-time - addresses parts of oasis-tcs/csaf#469 - link section in conformance targets --- csaf_2.1/prose/edit/src/conformance.md | 1 + 1 file changed, 1 insertion(+) diff --git a/csaf_2.1/prose/edit/src/conformance.md b/csaf_2.1/prose/edit/src/conformance.md index e619fdf4..f197757e 100644 --- a/csaf_2.1/prose/edit/src/conformance.md +++ b/csaf_2.1/prose/edit/src/conformance.md @@ -60,6 +60,7 @@ The entities ("conformance targets") for which this document defines requirement A text file or data stream satisfies the "CSAF document" conformance profile if it: +* satisfies to the syntax and semantics defined in section [sec](#date-time) * conforms to the syntax and semantics defined in section [sec](#schema-elements). * satisfies at least one profile defined in section [sec](#profiles). * does not fail any mandatory test defined in section [sec](#mandatory-tests). From ebf0e9da2c1e61218ef32ef2609b7fadd1fe6c06 Mon Sep 17 00:00:00 2001 From: Stefan Hagen Date: Tue, 29 Oct 2024 17:46:51 +0100 Subject: [PATCH 7/8] Not convinced, but grammatically correct ;-) --- csaf_2.1/prose/edit/src/conformance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csaf_2.1/prose/edit/src/conformance.md b/csaf_2.1/prose/edit/src/conformance.md index f197757e..e8d0ae00 100644 --- a/csaf_2.1/prose/edit/src/conformance.md +++ b/csaf_2.1/prose/edit/src/conformance.md @@ -60,7 +60,7 @@ The entities ("conformance targets") for which this document defines requirement A text file or data stream satisfies the "CSAF document" conformance profile if it: -* satisfies to the syntax and semantics defined in section [sec](#date-time) +* satisfies the syntax and semantics defined in section [sec](#date-time) * conforms to the syntax and semantics defined in section [sec](#schema-elements). * satisfies at least one profile defined in section [sec](#profiles). * does not fail any mandatory test defined in section [sec](#mandatory-tests). From a3b72ba8caa92922d3d556d7fd14c5eca843e52a Mon Sep 17 00:00:00 2001 From: Stefan Hagen Date: Wed, 30 Oct 2024 17:04:58 +0100 Subject: [PATCH 8/8] review adjustments Co-authored-by: tschmidtb51 <65305130+tschmidtb51@users.noreply.github.com> --- csaf_2.1/prose/edit/src/conformance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csaf_2.1/prose/edit/src/conformance.md b/csaf_2.1/prose/edit/src/conformance.md index e8d0ae00..64f8d9ab 100644 --- a/csaf_2.1/prose/edit/src/conformance.md +++ b/csaf_2.1/prose/edit/src/conformance.md @@ -60,7 +60,7 @@ The entities ("conformance targets") for which this document defines requirement A text file or data stream satisfies the "CSAF document" conformance profile if it: -* satisfies the syntax and semantics defined in section [sec](#date-time) +* conforms to the syntax and semantics defined in section [sec](#date-time) * conforms to the syntax and semantics defined in section [sec](#schema-elements). * satisfies at least one profile defined in section [sec](#profiles). * does not fail any mandatory test defined in section [sec](#mandatory-tests).