]> Kevux Git Server - kevux.org-website/commitdiff
Update: Specifications and add FSS-0010 Encrypted Simple Packet specification.
authorKevin Day <thekevinday@gmail.com>
Mon, 1 Jan 2024 16:59:43 +0000 (10:59 -0600)
committerKevin Day <thekevinday@gmail.com>
Mon, 1 Jan 2024 16:59:43 +0000 (10:59 -0600)
Add "version date" paragraph to each specification to make it clearer when this specification was last updated.

I happened to notice that there is a mistake in the FSS-000E specification.
I fixed this in the proper FLL source code but this is after the formal 0.6.8 release was made, unfortunately.
This documentation will be more up to date that the current release.

Update the FSS-000E and FSS-000F specifications to reflect the changes formally introduced as of the 0.6.8 release on 2023/12/31.

The FSS-0010 Encrypted Simple Packet specification has been present for a while now but I failed to update the website.
This specification is now present.

22 files changed:
fll/specifications.html
fll/specifications/fss/fss-0000.html
fll/specifications/fss/fss-0001.html
fll/specifications/fss/fss-0002.html
fll/specifications/fss/fss-0003.html
fll/specifications/fss/fss-0004.html
fll/specifications/fss/fss-0005.html
fll/specifications/fss/fss-0006.html
fll/specifications/fss/fss-0007.html
fll/specifications/fss/fss-0008.html
fll/specifications/fss/fss-0009.html
fll/specifications/fss/fss-000a.html
fll/specifications/fss/fss-000b.html
fll/specifications/fss/fss-000c.html
fll/specifications/fss/fss-000d.html
fll/specifications/fss/fss-000e.html
fll/specifications/fss/fss-000f.html
fll/specifications/fss/fss-0010.html [new file with mode: 0644]
fll/specifications/iki/iki-0000.html
fll/specifications/iki/iki-0001.html
fll/specifications/iki/iki-0002.html
fll/specifications/other/time.html

index 3cf2644b6d85a7e27755ed75be52d37db383a135..1f5cdb8c975f0ac31ffc598c70d90c08f9debecc 100644 (file)
             <a href="fll/specifications/fss/fss-000f.html" class="nav-text link"><div>FSS-000F</div><div>(Simple Packet)</div></a>
           </div>
           <div class="nav-item block">
+            <a href="fll/specifications/fss/fss-0010.html" class="nav-text link"><div>FSS-0010</div><div>(Encrypted Simple Packet)</div></a>
+          </div>
+          <div class="nav-item block">
             <a href="fll/specifications.html#iki" class="nav-text link">IKI</a>
           </div>
           <div class="nav-item block">
@@ -357,6 +360,7 @@ Object_2 This is multiple\" Contents and the trailing quote does not need to be
                 <li><a href="fll/specifications/fss/fss-000d.html" class="link">FSS-000D: Basic Rule</a></li>
                 <li><a href="fll/specifications/fss/fss-000e.html" class="link">FSS-000E: Payload</a></li>
                 <li><a href="fll/specifications/fss/fss-000f.html" class="link">FSS-000F: Simple Packet</a></li>
+                <li><a href="fll/specifications/fss/fss-0010.html" class="link">FSS-0010: Encrypted Simple Packet</a></li>
               </ul>
             </div>
           </section>
index 8c94deef28b1f5ec7fad6378f6d9da1cf05e50b9..63658fe2e5d0160d33d728945ad60806ca0c8cc6 100644 (file)
@@ -80,6 +80,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 Each Object starts at the beginning of a line and white space to the left of the Object is not treated as part of the object.
                 White space separates an Object from the Content.
                 An Object may be preceded by a newline, in which case means that the Object has no Content.
index bcf58c7df87e3f799ea99ba0383c15afe71d1626..18cb3a24876562f162473b152425e631886893e3 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 Each Object starts at the beginning of a line and white space to the left of the Object is not treated as an object.
                 White space separates an Object from the Content.
                 An Object may be followed by a newline, in which case means that the Object has no Content.
index 71b760341bac05ef5f5717da64de1cf357a95af4..2624438d5e6018562a00910b36d7d436a5600b67 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 Each Object starts at the beginning of a line and white space to the left of the Object is not treated as an object.
                 A colon <code class="code">:</code> (<code class="code">U+003A</code>) followed by any white space until a newline terminates a valid Object.
                 Non-white space printable characters may not follow the colon of a valid Object.
index c5e8b54d2bc5962664b6f31b62a9d1c12dca7c51..35730f838b328bece8776e4aad787c6beecc0c10 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 Each Object starts at the beginning of a line and white space to the left of the Object is not treated as an object.
                 An open-brace <code class="code">{</code> (<code class="code">U+007B</code>) followed by any white space until a newline terminates a possible valid Object.
                 An Object is not considered fully valid until a valid close-brace <code class="code">}</code> (<code class="code">U+007D</code>) is found, designating the end of the Content.
index bcaf47b332657947361222819e5ce7259220dc30..25dd210be88557de6c137d929642db4debb56ad5 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This is a <code class="code">fss-0002 (Basic List)</code> whose Content is then processed as <code class="code">fss-0000 (Basic)</code>.
               </p>
               <p class="p">
index 96eb54c56a3ca5bb403305111c8497dac0f277d8..0d4ce30a63331f6adfcc30f7789ff9cdc6fb3e53 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This is a code"fss-0002 (Basic List)" whose Content is then processed as <code class="code">fss-0001 (Extended)</code>.
               </p>
               <p class="p">
index c67c01a7a1e335c53ed0528ac0bb678bf5a83b4c..6ae1e8a019bea2c43ed3174e9451460c5c156c78 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This is a <code class="code">fss-0003 (Extended List)</code> whose Content is then processed as <code class="code">fss-0000 (Basic)</code>.
               </p>
               <p class="p">
index 895a500c990cd8c8f2b6087a687899f5fdbb64cb..b707230a24e9a54d15704edbfdfd8e5a51478c1e 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This is a <code class="code">fss-0003 (Extended List)</code> whose Content is then processed as <code class="code">fss-0001 (Extended)</code>.
               </p>
               <p class="p">
index 2f804254b86e0a246ca16c007bda9546075a5ecf..c486f0a001b5b002263a87f4a82091c5c976abe5 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This is a <code class="code">fss-0003 (Extended List)</code> whose Content is then recursively processed as <code class="code">fss-0003 (Extended List)</code>.
               </p>
               <p class="p">
index 1502d343ab4d78b784e60370ce61bb7ccd17ca05..e6f0e702d7c5d9c51681551fe0d40da28e530a9b 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This is based off of <code class="code">fss-0000 (Basic)</code>, except the Object is at the end of the line.
               </p>
               <p class="p">
index 14ff8e96da8aa137b873ebbff76fad58a02400b9..fc6bbede8fa74b27e4110e842e5b6775c0f24134 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This is based off of <code class="code">fss-0001 (Extended)</code>, except the Object is at the end of the line.
               </p>
               <p class="p">
index d5528d485f44cb8dd3ba5edfea0d700aa2003c99..d3c966e731e404d7a0462d9bd0454ac4157b9963 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This is similar to <code class="code">fss-0008 (Embedded List)</code>, except it is an <code class="code">fss-0003 (Extended List)</code> with a (non-recursive) <code class="code">fss-0002 (Basic List)</code> inside the Content.
               </p>
               <p class="p">
index 95a600053ef4ec0d91c307c7481491efdcea541c..607db9958af41f9fd49c7fcf1d3218c2753698b1 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 The IKI specifications are separate specifications from the <abbr title="Featureless Settings Specifications">FSS</abbr>.
                 This is simply a more formal way to designate that this format utilizes IKI syntax.
               </p>
index 977941a59b59d87987fb02b40e1cf203c0aad2d6..659e78a2cfcd695636c3e24ecbe9a25de422db90 100644 (file)
@@ -81,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This is a special case that follows <code class="code">fss-0002 (Basic List)</code>, and different <abbr title="Featureless Settings Specifications">FSS</abbr> formats inside this <code class="code">fss-0002 (Basic List)</code>.
                 This <code class="code">fss-0002 (Basic List)</code> is considered the "Outer List" and the Content of this Outer List is considered the "Inner Content".
               </p>
index 7c43cb87c747956fe1ccd061a4a1919e23cd158e..2a4e7ee1f05dfc9497b86127fe94d51727bbbaee 100644 (file)
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2024/01/01</code>.
+              </p>
+              <p class="p">
                 This is a <code class="code">fss-0002 (Basic List)</code> with two required objects:
               </p>
               <ol>
                 <li><em class="em">header</em>.</li>
-                <li><em class="em">payload</em>.</li>
+                <li><em class="em">signature</em> (optional).</li>
+                <li><em class="em">payload</em> (optional).</li>
               </ol>
               <p class="p">
                 The <em class="em">header</em>:
               </p>
               <ul>
-                <li>The <em class="em">header</em>'s Content is of type <code class="code">fss-0001 (Extended)</code>.</li>
-                <li>The <em class="em">header</em> is recommended to have the Objects <em class="em">length</em>, <em class="em">status</em>, <em class="em">part</em>, and <em class="em">total</em>.</li>
+                <li>The <em class="em">header</em>'s Content is of type <code class="code">FSS-0001 (Extended)</code>.</li>
+                <li>The <em class="em">header</em> is recommended to have the Objects <em class="em">length</em>, <em class="em">status</em>, <em class="em">part</em>, <em class="em">total</em>, and <em class="em">type</em>.</li>
                 <li>The recommended <em class="em">length</em> represents the size of the <em class="em">payload</em>.</li>
                 <li>The recommended <em class="em">part</em> represents a single part of a set of packets for when the data being transmitted is split across multiple payloads.</li>
-                <li>The recommended <em class="em">total</em> represents the total number of parts representing a complete data transmitted across multiple payloads.</li>
                 <li>The recommended <em class="em">status</em> represents status codes (such as success or failure) and multiple.</li>
+                <li>The recommended <em class="em">total</em> represents the total number of parts representing a complete data transmitted across multiple payloads.</li>
+                <li>The recommended <em class="em">type</em> represents the type of information being transmitted.</li>
                 <li>The Content for the recommended <em class="em">length</em> and <em class="em">status</em> are positive whole numbers (including zero) that may be in <em class="em">binary</em>, <em class="em">octal</em>, <em class="em">decimal</em>, <em class="em">duodecimal</em>, or <em class="em">hexidecimal</em> numerical format.</li>
+                <li>There may be multiple <em class="em">header</em> Object and associated Content but the behavior is not defined by this standard.</li>
+                <li>For guaranteed safe and compatible behavior, only a single <em class="em">header</em> Object and associated Content should be defined.</li>
+              </ul>
+              <p class="p">
+                The <em class="em">signature</em>:
+              </p>
+              <ul>
+                <li>The <em class="em">signature</em>'s Content is of type <code class="code">FSS-0001 (Extended)</code>.</li>
+                <li>This is an optional Object and Content set.</li>
+                <li>This is intended to be used to specify signatures and checksums, such as GPG signatures or SHA256 checksums.</li>
+                <li>This can be used to sign or provide checksums on <em class="em">header</em> and the <em class="em">payload</em>.</li>
+                <li>There may be multiple <em class="em">signature</em> Object and associated Content but the behavior is not defined by this standard.</li>
+                <li>For guaranteed safe and compatible behavior, only a single <em class="em">signature</em> Object and associated Content should be defined.</li>
               </ul>
               <p class="p">
                 The <em class="em">payload</em>:
               </p>
               <ul>
                 <li>The <em class="em">payload</em>'s Content may contain anything, including raw binary data.</li>
-                <li>The <em class="em">payload</em> is <em class="em">required</em> to be the last list Object in the file.</li>
+                <li>The <em class="em">payload</em> is <em class="em">required</em> to be the last list Object in the file, if present.</li>
                 <li>The <em class="em">payload</em> is recommended to have its size designated in some manner in the <em class="em">header</em> (such as with the recommended <em class="em">length</em>).</li>
                 <li>The <em class="em">payload</em> is terminated by the <abbr title="End of File">EOF</abbr> character or by the recommended <em class="em">length</em> header.</li>
-                <li>The <em class="em">payload</em> may be empty (length may be zero), but the list Object <em class="em">payload</em> must still exist.</li>
-                <li>Nothing in the <em class="em">payload</em> may be considered a valid list Object by the outer <code class="code">fss-0002 (Basic List)</code> and therefore escaping is unnecessary (No further processing by the outer <code class="code">fss-0002 (Basic List)</code> is allowed at this point).</li>
+                <li>The <em class="em">payload</em> may be empty (length may be zero).</li>
+                <li>Nothing in the <em class="em">payload</em> may be considered a valid list Object by the outer <code class="code">FSS-0002 (Basic List)</code> and therefore escaping is unnecessary (No further processing by the outer <code class="code">FSS-0002 (Basic List)</code> is allowed at this point).</li>
                 <li>Comments in the <em class="em">payload</em> are not considered comments and are instead considered part of the payload, as-is.</li>
                 <li>Essentially, the <em class="em">payload</em> should be treated as binary data embedded in a text file.</li>
+                <li>There may only be a single <em class="em">payload</em> Object and associated Content.</li>
+                <li>Any <em class="em">payload</em> Object and associated Content that is not the last must not have its Content data treated as binary in the same way as the last <em class="em">payload"</em> Object and associated Content.</li>
               </ul>
               <p class="p">
                 The recommended <em class="em">length</em> <em class="em">header</em> Object used to designate the <em class="em">payload</em> size does not necessarily have to be defined in the <em class="em">header</em>.
                 That is to say, if the <em class="em">payload</em> is expected to be of some pre-defined or static length then a length does not need to be provided in the <em class="em">header</em>.
               </p>
               <p class="p">
-                The recommended <em class="em">status</em> <em class="em">header</em> Object may be a string, such as <code class="code">F_none</code>, or a positive whole number.
+                The recommended <em class="em">length</em> <em class="em">header</em> Object used to designate the <em class="em">payload</em> size does not necessarily have to be defined in the <em class="em">header</em>.
+                That is to say, if the <em class="em">payload</em> is expected to be of some pre-defined or static length then a length does not need to be provided in the <em class="em">header</em>.
+              </p>
+              <p class="p">
+                The recommended <em class="em">status</em> <em class="em">header</em> Object may be a string, such as <code class="code">F_okay</code>, or a positive whole number.
                 What the status code represents is application specific (or specific to a sub-standard) but may often be used to represent <abbr title="Featureless Linux Library">FLL</abbr> status code.
               </p>
               <ul>
-                <li>The <abbr title="Featureless Linux Library">FLL</abbr> status code is a 16-bit digit whose first two high-order bits represent <em class="em">error</em> and <em class="em">warning</em> ( representing <em class="em">signal</em>).</li>
+                <li>The <abbr title="Featureless Linux Library">FLL</abbr> status code is a 16-bit digit whose first two high-order bits represent <em class="em">error</em> and <em class="em">warning</em> (representing <em class="em">signal</em>).</li>
                 <li>The <abbr title="Featureless Linux Library">FLL</abbr> status code as a number is binary sensitive and may not be portable across binaries or systems.</li>
                 <li>For best portability, consider using status as a name string to ensure cross-system or cross-binary compatibility.</li>
               </ul>
@@ -135,6 +159,11 @@ header:
   status 296
   length 30
 
+signature:
+  header sha1 e31b562d6ceba5e59dfaefbd7a37df6a20cad970
+  header type md5 cb5e100e5a9a3e7f6d1fd97512215282
+  payload sha256 fa4e17188867095856b8c5b7ff8f79e6f96c7a36621309473d09acc3fa0fe4d9
+
 payload:
 The program is out of memory.
 </pre>
@@ -143,7 +172,8 @@ The program is out of memory.
               </p><pre class="preserve">
 Outer Objects would be:
   1) header
-  2) payload
+  2) signature
+  3) payload
 
 "header" Objects would be:
   1.1) type
@@ -155,8 +185,18 @@ Outer Objects would be:
   1.2.1) 296
   1.3.1) 30
 
+"signature" Objects would be:
+  2.1) header
+  2.2) header
+  2.3) payload
+
+"signature" Contents would be:
+  2.1.1) sha1 e31b562d6ceba5e59dfaefbd7a37df6a20cad970
+  2.2.1) type md5 cb5e100e5a9a3e7f6d1fd97512215282
+  2.3.1) sha256 fa4e17188867095856b8c5b7ff8f79e6f96c7a36621309473d09acc3fa0fe4d9
+
 The payload would be:
-  2) The program is out of memory.
+  3) The program is out of memory.
 </pre>
             </div>
           </section>
index 8c44b279eeb8758d2be2c1df4d22af9cce39624d..647161bfb88afdb2a25f172718e6e2961157330c 100644 (file)
@@ -28,6 +28,7 @@
     <link type="image/x-icon" rel="shortcut" href="images/kevux.ico">
     <link type="text/html" rel="license" href="licenses.html">
     <link type="text/html" rel="prev" href="fll/specifications/fss/fss-000e.html">
+    <link type="text/html" rel="next" href="fll/specifications/fss/fss-0010.html">
   </head>
 
   <body id="kevux" class="kevux no-js fll specifications">
@@ -80,6 +81,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/11/14</code>.
+              </p>
+              <p class="p">
                 This is a network packet format that contains <code class="code">fss-000e (Payload)</code> within it.
               </p>
               <p class="p">
                 <li>Payload Block.</li>
               </ol>
               <p class="p">
-                The Control Block is the first block in the packet and is considered endianless.
-                There exists only a single byte within the Control Block.
-                Regardless of the endianness of the packet, the leftmost bit is always the <em class="em">string</em> or <em class="em">binary</em> bit.
-                The second bit following that bit represents the endianness bit.
+                The <strong class="strong">Control Block</strong> is the first block in the packet and is considered endianless.
+                There exists only a single byte within the <strong class="strong">Control Block</strong> (8-bits).
+                Regardless of the endianness of the packet, leftmost bit is always the endianness bit.
+                The second bit following that endianness bit represents the <em class="em">string</em> or <em class="em">binary</em> bit.
               </p>
               <p class="p">
-                The <em class="em">string</em> or <em class="em">binary</em> bit, a value of 0 designates that the packet is in string format and a value of 1 designates that the packet is in binary format.
-                While the packet might be considered to be in string format, it is technically always in binary format due to the Control Block and Size Block.
-                This means that the bit designating the packet as a <em class="em">string</em> packet or a <em class="em">binary</em> packet is referring to whether or not the Payload Block is in <em class="em">string</em> format or is in <em class="em">binary</em> format.
-              </p>
+                Control Block Structure:
+              </p><pre class="preserve">
+[ Endianness Bit ] [ String / Binary Bit ] [ Remaining 6 Bits (unused) ]
+[ size: 1 bit    ] [ size: 1 bit         ] [ size: 6 bits              ]
+</pre>
               <p class="p">
                 The endianness bit designates whether or not the packet is in big endian or little endian format.
                 A bit value of 0 designates that this packet is in little endian and a value of 1 designates that this packet is in big endian format.
-                All binary data within this packet, following the Control Block, must respect this endianness bit (including the Size Block).
+                All <em class="em">binary</em> data within this packet, following the Control Block, must respect this endianness bit (including the <strong class="strong">Size Block</strong>).
+              </p>
+              <p class="p">
+                The <em class="em">string</em> or <em class="em">binary</em> bit, a value of 0 designates that the packet is in string format and a value of 1 designates that the packet is in <em class="em">binary</em> format.
+                While the packet might be considered to be in string format, it is technically always in <em class="em">binary</em> format due to the <strong class="strong">Control Block</strong> and <strong class="strong">Size Block</strong>.
+                This means that the <em class="em">binary</em> bit designating the packet as either a <em class="em">string</em> packet or a <em class="em">binary</em> packet is referring to whether or not the <strong class="strong">Payload Block</strong> is in <em class="em">string</em> or <em class="em">binary</em> format.
+                The <strong class="strong">Payload Block</strong> itself can contain <em class="em">binary</em> data even when in <em class="em">string</em> format as per <code class="code">FSS-000e (Payload)</code>.
               </p>
               <p class="p">
                 The remaining bits are not defined by this standard and are expected to be 0.
                 Non-formal or local uses may utilize these remaining 6 bits as desired.
-                However, there may be additional standards that expand upon this and utilize these remaining Control bits.
-                Anything that utilizes these unused Control bits may add or remove additional Blocks after the Control Block as they see fit.
+                However, there may be additional standards that expand upon this and utilize these remaining <strong class="strong">Control</strong> bits.
+                Anything that utilizes these unused <strong class="strong">Control</strong> bits may add or remove additional <strong class="strong">Blocks</strong> after the <strong class="strong">Control Block</strong> as they see fit.
+                One possible use of the remaining bits is to designate a different variation of this <strong class="strong">Simple Packet</strong> standard.
               </p>
               <p class="p">
-                The Size Block is an unsigned 32-bit integer representing the size of the entire packet, including the Control Block and Size Block.
+                Size Block Structure:
+              </p><pre class="preserve">
+[ Size Block    ]
+[ size: 32 bits ]
+</pre>
+              <p class="p">
+                The <strong class="strong">Size Block</strong> is an unsigned 32-bit integer representing the size of the entire packet in bytes, including the <strong class="strong">Control Block</strong> and <strong class="strong">Size Block</strong>.
                 This size must exactly match the packet to be a valid packet.
                 The size represents number of bytes in the file.
-                The Control Block is 1 byte long and the Size Block is 4 bytes long and so the maximum available size is (2^32)-6.
+                The <strong class="strong">Control Block</strong> is 1 byte long and the <strong class="strong">Size Block</strong> is 4 bytes long, therefore the maximum available size of the entire <strong class="strong">Simple Packet</strong> structure is <code class="code">(2^32)-6</code>.
+              </p>
+              <p class="p">
+
               </p>
               <p class="p">
-                The Payload Block is not defined by this standard of that that it exists and should be in <code class="code">fss-000e (Payload)</code> format.
-                The <code class="code">fss-000e (Payload)</code> may be represented in either string format or binary format.
-                The <code class="code">fss-000e (Payload)</code> may contain multiple <em class="em">header</em>(s) but may only contain a single <em class="em">payload</em>.
-                With this in mind, it is recommended that only a single <em class="em">header</em> be supported in the Payload Block.
+                Payload Block Structure:
+              </p><pre class="preserve">
+[ Payload Block        ]
+[ size: (2^32)-6 bytes ]
+</pre>
+              <p class="p">
+                The <strong class="strong">Payload Block</strong> is not defined by this standard other than that it exists and should be in <code class="code">FSS-000e (Payload)</code> format.
+                The <code class="code">FSS-000e (Payload)</code> may be represented in either <em class="em">string</em> format or <em class="em">binary</em> format.
+                The <code class="code">FSS-000e (Payload)</code> may contain multiple <em class="em">header</em>(s) but may only contain a single <em class="em">payload</em>.
+                With this in mind, it is recommended that only a single <em class="em">header</em> be supported in the <strong class="strong">Payload Block</strong>.
+                The <em class="em">payload</em> <strong class="strong">Content</strong> may be in either a <em class="em">binary</em> or <em class="em">string</em> format regardless of the <em class="em">binary</em> bit in the <strong class="strong">Simple Packet</strong> <strong class="strong">Header Block</strong>.
               </p>
               <p class="p">
-                See the <a href="fll/specifications/fss/fss-000e.html" class="link">fss-000e (Payload)</a> specification for details on the syntax rules for the Payload Block.
+                See the <a href="fll/specifications/fss/fss-000e.html" class="link">fss-000e (Payload)</a> specification file for details on the syntax rules for the <strong class="strong">Payload Block</strong>.
               </p>
               <p class="p">
                 Example Packet Structure:
diff --git a/fll/specifications/fss/fss-0010.html b/fll/specifications/fss/fss-0010.html
new file mode 100644 (file)
index 0000000..795d13d
--- /dev/null
@@ -0,0 +1,133 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>FLL - Specifications - FSS-000F (Simple Packet)</title>
+
+    <base href="../../../">
+
+    <meta charset="UTF-8">
+    <meta name="author" content="Kevin Day">
+    <meta name="description" content="Featurless Linux Library Specifications">
+    <meta name="keywords" content="Kevin Day, Kevux, FLL, Featureless, Linux, Library, Distribution, Open-Source, specification, standard, fss-0010, encrypted simple packet">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <link type="text/css" rel="stylesheet" media="all" href="css/kevux.css">
+    <link type="text/css" rel="stylesheet" media="only screen" href="css/kevux-screen.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (min-device-width:501px)" href="css/kevux-screen-desktop.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (max-device-width:500px)" href="css/kevux-screen-mobile.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (min-device-width:1201px)" href="css/kevux-screen-large.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (min-device-width:501px) and (max-device-width:1200px)" href="css/kevux-screen-normal.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (min-device-width:251px) and (max-device-width:500px)" href="css/kevux-screen-small.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (max-device-width:250px)" href="css/kevux-screen-tiny.css">
+    <link type="text/css" rel="stylesheet" media="only print" href="css/kevux-print.css">
+    <link type="text/css" rel="stylesheet" media="only print and (orientation:landscape)" href="css/kevux-print-landscape.css">
+    <link type="text/css" rel="stylesheet" media="only print and (orientation:portrait)" href="css/kevux-print-portrait.css">
+
+    <link rel="canonical" href="fll/specifications/fss/fss-0010.html">
+    <link type="image/x-icon" rel="icon" href="images/kevux.ico">
+    <link type="image/x-icon" rel="shortcut" href="images/kevux.ico">
+    <link type="text/html" rel="license" href="licenses.html">
+    <link type="text/html" rel="prev" href="fll/specifications/fss/fss-000f.html">
+  </head>
+
+  <body id="kevux" class="kevux no-js fll specifications">
+    <div role="banner" class="header-block">
+      <header class="header-section header">
+        <div class="header-site">Kevux Systems and Software</div>
+      </header>
+
+      <div class="nav-block">
+        <nav id="kevux-site-nav" class="nav-menu">
+          <div class="nav-item"><a href="news.html" class="nav-text link">News</a></div>
+          <div class="nav-item"><a href="distributions.html" class="nav-text link">Distributions</a></div>
+          <div class="nav-item active"><a href="fll.html" class="nav-text link">FLL</a></div>
+          <div class="nav-item"><a href="projects.html" class="nav-text link">Projects</a></div>
+          <div class="nav-item"><a href="documentation.html" class="nav-text link">Documentation</a></div>
+        </nav>
+      </div>
+    </div>
+
+    <div class="content-block">
+      <div id="nav-expanded" class="nav-block">
+        <nav id="kevux-document-nav" class="nav-menu">
+          <div class="nav-item block back">
+            <a href="fll/specifications.html" class="nav-text link back">Back</a>
+          </div>
+          <div class="nav-item block highlight unlink">
+            <div class="nav-text notice">FLL Specification</div>
+            <div class="nav-text unlink">FSS</div>
+          </div>
+          <div class="nav-item block">
+            <a href="fll/specifications/fss/fss-0010.html#fss-0010" class="nav-text link"><div>FSS-0010</div><div>(Encrypted Simple Packet)</div></a>
+          </div>
+          <div class="nav-item block ellipses">
+            <a href="fll/specifications/fss/fss-0010.html#nav-expanded" class="nav-text link open" title="Expand Menu">…</a>
+            <a href="fll/specifications/fss/fss-0010.html" class="nav-text link close">Collapse Menu</a>
+          </div>
+        </nav>
+      </div>
+
+      <div role="document" class="main-block">
+        <main class="main">
+          <header class="section-header header">
+            <h1 class="section-title h h1">Featureless Linux Library Specification</h1>
+          </header>
+
+          <section id="fss-0010" class="section">
+            <header class="section-header header">
+              <h2 class="section-title h h2">FSS-0010 (Encrypted Simple Packet)</h2>
+            </header>
+
+            <div class="section-content">
+              <p class="p">
+                The version date of this specification is <code class="code">2023/07/16</code>.
+              </p>
+              <p class="p">
+                This is an encrypted form of the network packet format of <code class="code">FSS-000f (Simple Packet)</code>.
+              </p>
+              <p class="p">
+                The entire <strong class="strong">Payload Block</strong> is undefined by this standard and is instead defined by the encryption algorithm or standard in use.
+                There is no rule, restriction, requirement, or definition on what encryption can be used.
+                The only rule is that the <strong class="strong">Payload Block</strong> must be of a valid length as defined by the <strong class="strong">Size Block</strong>.
+              </p>
+              <p class="p">
+                The general rule is that it can be assumed that the encrypted data in the <strong class="strong">Payload Block</strong> would be of the <code class="code">FSS-000e (Payload)</code> format. Being that the data is supposed to be encrypted, the actual contents of the <strong class="strong">Payload Block</strong> is left undefined.
+              </p>
+              <p class="p">
+                The <code class="code">FSS-000f (Simple Packet)</code> that this standard modifies does not require the <strong class="strong">Payload Block</strong> to be in <code class="code">FSS-000e (Payload)</code> format.
+                This standard is even more lax than <code class="code">FSS-000f (Simple Packet)</code> and drops replaces the words <em class="em">should be in</em> from the <code class="code">FSS-000f (Simple Packet)</code> standard and replaces them with <em class="em">could be in</em>.
+              </p>
+              <p class="p">
+                This allows for the encrypted data to be anything the user wants, such as but not limited to HTTP:"Hypertext Transfer Protocol".
+              </p>
+              <p class="p">
+                When it comes to security, any and all data can be useful. For best encryption, one may want to consider not using this format because of the <strong class="strong">Control Block</strong> and the <strong class="strong">Size Block</strong> are not encrypted.
+              </p>
+              <p class="p">
+                The endianness bit should only be used to represent the <strong class="strong">Size Block</strong> to avoid any security concerns. The endianness of the encrypted needs to be determined through some other means for any kind of reasonable security.
+              </p>
+              <p class="p">
+                This standard uses the third bit from the left in the <strong class="strong">Control Block</strong> to designate that this is an encrypted packet.
+              </p>
+              <p class="p">
+                The 5 remaining control bits are left undefined.
+              </p>
+              <p class="p">
+                See the <a href="fll/specifications/fss/fss-000f.html" class="link">fss-000f (Simple Packet)</a> specification file for details regarding the <code class="code">FSS-000f (Simple Packet)</code> standard.
+              </p>
+              <p class="p">
+                Example Packet Structure:
+              </p><pre class="preserve">
+[ Control Block ] [ Size Block                                  ] [ Payload Block         ]
+[ 0b10100000    ] [ 0b00000000 0b00000000 0b00000100 0b11010010 ] [ size: 1229 (1234 - 5) ]
+</pre>
+              <p class="p">
+                In the above example, take note that the third bit in the <strong class="strong">Control Block</strong> is a 1.
+              </p>
+            </div>
+          </section>
+        </main>
+      </div>
+    </div>
+  </body>
+</html>
index 198ed0e632816852e00b4b54bf771c837c9af1f7..efe3acfbd9989bd503914ba26aecc48f925432ae 100644 (file)
@@ -95,6 +95,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 IKI is a minimally structured WIKI-like syntax meant to be simpler than WIKI syntax.
               </p>
               <p class="p">
index 08ad1a63390d08d1d0b27adc0404d889ae314e33..98c5c28daee86b512011829fb0c44b1046708d0e 100644 (file)
@@ -84,6 +84,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This specification provides a small set of vocabulary names meant to be associated with common uses, such as e-mail addresses and <abbr title="Uniform Resource Locator">URL</abbr>s.
               </p>
               <p class="p">
index 6f4cd1d4c6d932f5baa68d3220a6bbfea2d73b47..6c7e72d45f285427a41d1c0de7a9b94cc0c7235b 100644 (file)
@@ -83,6 +83,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/07/14</code>.
+              </p>
+              <p class="p">
                 This specification provides a small set of vocabulary names meant to be used for substitution in simple scripts.
               </p>
               <p class="p">
index 46b8b99f2986996eb0809ffe32201de2bf743934..50c16ffb151790befdb36c45d7752234fb062a86 100644 (file)
@@ -82,6 +82,9 @@
 
             <div class="section-content">
               <p class="p">
+                The version date of this specification is <code class="code">2023/12/16</code>.
+              </p>
+              <p class="p">
                 There are two units of <strong class="strong">Time</strong>, the first is simply called <strong class="strong">Time</strong> and the second is called <strong class="strong">EpochTime</strong>.
               </p>
               <p class="p">
                 The systems should expect 64-bit and larger bits would have to become common before something larger than 64-bit is the expected or assumed default.
                 Negative signs can be allowed but they must not prevent the full use of the 64-bit.
                 The implementation of how this is done is left to the implementer except that the signs are immediately to the left of the digit.
-                For example <code class="code">2022:-5</code> would be 5 units after the start of the year 2022.
+                For example <code class="code">2022:-5</code> would be 5 units before the start of the year 2022.
                 Because the negative is allowed, so must the positive character (such as <code class="code">2022:+5</code>).
                 A positive value is the default interpretation when no sign is valid.
               </p>
               <p class="p">
                 The unit of time called <strong class="strong">Time</strong> is counted increments of a nanosecond, or 10^-9 seconds.
                 A unit of <strong class="strong">Time</strong> is, therefore, equivalent to a nanosecond.
-                The default year for <strong class="strong">Time</strong> is the current year.
+                When the year is not specified, then the behavior of the year is not defined.
+                The year can be inferred, directly designated through some other means, understood, asserted, or simply unknown or otherwise unspecified.
+                The general recommendation is that the default year for bold:"Time" is the current year.
               </p>
               <p class="p">
                 The unit <strong class="strong">Time</strong> has two technical forms and one common form, with the year and without the year.
               <p class="p">
                 The unit of time called <strong class="strong">EpochTime</strong> is counted increments of a second, or 10^-9 seconds.
                 A unit of <strong class="strong">EpochTime</strong> is, therefore, equivalent to a second.
-                The default year for <strong class="strong">EpochTime</strong> is the <strong class="strong">UNIX Epoch</strong>, sometimes called <strong class="strong">Unix time</strong>.
+                The behavior when the year is not specified is the same as described for the bold:"Time".
+                The general recommendation is that the default year for <strong class="strong">EpochTime</strong> is the <strong class="strong">UNIX Epoch</strong>, sometimes called <strong class="strong">Unix time</strong>.
               </p>
               <p class="p">
                 The unit <strong class="strong">EpochTime</strong> has two technical forms and one common form, with the year and without the year.