From 772fca02cef1898d908b3d643ff91514c113169a Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Mon, 16 Sep 2019 11:36:54 -0500 Subject: req: 3b: Finish optional key verification requirements --- devel/requirements/3b_runner.xml | 104 +++++++++++++++++++++++++++++++++-- devel/requirements/verification-list | 10 ++-- 2 files changed, 105 insertions(+), 9 deletions(-) diff --git a/devel/requirements/3b_runner.xml b/devel/requirements/3b_runner.xml index c41c0c1..4123cdb 100644 --- a/devel/requirements/3b_runner.xml +++ b/devel/requirements/3b_runner.xml @@ -196,7 +196,7 @@ Runner.Verify.language - The system shall verify that the HorizonScript contains at most one language key. + The system shall verify that the HorizonScript contains zero or one language key. Runner.Verify.language.Format @@ -204,7 +204,7 @@ Runner.Verify.keymap - The system shall verify that the HorizonScript contains at most one keymap key. + The system shall verify that the HorizonScript contains zero or one keymap key. Runner.Verify.keymap.Valid @@ -212,7 +212,7 @@ Runner.Verify.firmware - The system shall verify that the HorizonScript contains at most one firmware key. + The system shall verify that the HorizonScript contains zero or one firmware key. Runner.Verify.firmware.Boolean @@ -224,7 +224,7 @@ Runner.Verify.timezone - The system shall verify that the HorizonScript contains at most one timezone key. + The system shall verify that the HorizonScript contains zero or one timezone key. Runner.Verify.timezone.zoneinfo @@ -246,6 +246,102 @@ Runner.Verify.signingkey.ValidPath The system shall verify that the value of each signingkey key is either an absolute local path beginning with an ASCII backslash (/), or a valid URL utilising the HTTPS protocol. + + Runner.Verify.username + The system shall verify that the HorizonScript contains zero to 255 username keys. + + + Runner.Verify.username.Unique + The system shall verify that the value of each username key is unique. + + + Runner.Verify.username.System + The system shall verify that the value of each username key does not match a system-defined account. + + + Runner.Verify.username.Valid + The system shall verify that the value of each username key is a valid Linux user account name. + + + Runner.Verify.useralias + The system shall verify that the HorizonScript contains a number of useralias keys equal or less than the number of username keys. + + + Runner.Verify.useralias.Validity + The system shall verify that each useralias key has a valid form of two values in a space-separated tuple, with the second value reading to the end of the line (optionally containing spaces). + + + Runner.Verify.useralias.Name + The system shall verify that the first value in each useralias key tuple is an account name specified in a username key. + + + Runner.Verify.useralias.Unique + The system shall verify that only one useralias key is specified per account name. + + + Runner.Verify.userpw + The system shall verify that the HorizonScript contains a number of userpw keys equal or less than the number of username keys. + + + Runner.Verify.userpw.Validity + The system shall verify that each userpw key has a valid form of two values in a space-separated tuple. + + + Runner.Verify.userpw.Name + The system shall verify that the first value in each userpw key tuple is an account name specified in a username key. + + + Runner.Verify.userpw.Unique + The system shall verify that only one userpw key is specified per account name. + + + Runner.Verify.userpw.Crypt + The system shall verify that the second value for each userpw key tuple is in the format: $, either 2 for Blowfish or 6 for SHA-512, $, and then variant data. + + + Runner.Verify.usericon + The system shall verify that the HorizonScript contains a number of usericon keys equal or less than the number of username keys. + + + Runner.Verify.usericon.Validity + The system shall verify that each usericon key has a valid form of two values in a space-separated tuple. + + + Runner.Verify.usericon.Name + The system shall verify that the first value in each usericon key tuple is an account name specified in a username key. + + + Runner.Verify.usericon.Unique + The system shall verify that only one usericon key is specified per account name. + + + Runner.Verify.usericon.ValidPath + The system shall verify that the second value of each usericon key tuple is either an absolute local path beginning with an ASCII backslash (/), or a valid URL utilising the HTTP or HTTPS protocols. + + + Runner.Verify.usergroups + The system shall verify any usergroups keys contained in the HorizonScript. + + + Runner.Verify.usergroups.Validity + The system shall verify that each usergroups key has a valid form of two values in a space-separated tuple. + + + Runner.Verify.usergroups.Name + The system shall verify that the first value in each usergroups key tuple is an account name specified in a username key. + + + Runner.Verify.usergroups.Count + The system shall verify that all usergroups key tuples for a specified account name specify a combined total of sixteen or fewer groups. + + + Runner.Verify.usergroups.Unique + The system shall verify that a group is specified only once for each account name. + + + Runner.Verify.usergroups.Group + The system shall verify that each group specified is a valid system-defined group name. +
diff --git a/devel/requirements/verification-list b/devel/requirements/verification-list index 5d3a28e..6a1ed56 100644 --- a/devel/requirements/verification-list +++ b/devel/requirements/verification-list @@ -16,11 +16,11 @@ Optional Keys ✓ timezone ✓ repository ✓ signingkey - username - useralias - userpw - usericon - usergroups +✓ username +✓ useralias +✓ userpw +✓ usericon +✓ usergroups Disk Partitioning Keys -- cgit v1.2.3-70-g09d2