diff --git a/docs/security.html b/docs/security.html index 41bf55f340319c9dcf245cb012eb97c4c4706886..d0d9674947f0d56a2938d13c7ba2b8e562a0346c 100644 --- a/docs/security.html +++ b/docs/security.html @@ -19,14 +19,14 @@ <p><a name="top"></a><a href="sysop.html#TOC">Back to Table of Contents</a></p> -<h2><u>[7.1] - </u><a name="Introduction"><u>Introduction</u></a><u> to ARS -Security</u></h2> +<h2><a name="Introduction">[7.1] - Introduction to ARS +Security</a></h2> <pre>ARS stands for Access Requirement Strings. Access requirement strings are used -to specify the requirents of a user to have access to features/sections of a -Synchronet BBS. The string can consist entirely of english key words and +to specify the requirements of a user to have access to features/sections of a +Synchronet BBS. The string can consist entirely of English key words and numbers or use short-hand symbols to fit a large number of security requirements into the 40 character space allowed for access requirement -strings. Short-hand symbols and key words may be used interchangably and +strings. Short-hand symbols and key words may be used interchangeably and combined in the same string. For clarity, it is suggested you use the key words whenever possible. The string syntax is as follows: @@ -43,7 +43,7 @@ whenever possible. The string syntax is as follows: <b>and</b> the word "AND" or the symbol '&' may be used for clarity in reading when specifying that two or more parameter values MUST be met to match the requirement</pre> -<h2><u>[7.2] - </u><a name="Key words and Symbols"><u>Key words and Symbols</u></a></h2> +<h2><a name="Keywords/Symbols">[7.2] - Key words and Symbols</a></h2> <pre><b>Key word Symbol Description </b>------------------------------------------------------------------------------ AND & More than one requirement (optional) @@ -85,8 +85,8 @@ UDR $K User's upload/download ratio (0-100) UDFR $D User's upload/download file ratio (0-100) USER $U User's number (1-xxxx) WIP User has WIP compatible terminal (no value argument)</pre> -<h2><u>[7.3] - ARS General Usage Examples</u></h2> -<pre><a name="General Example #1"><b><u>General Example #1</u></b></a> +<h2><a name="GeneralUsageExamples">[7.3] - ARS General Usage Examples</a></h2> +<pre><b>General Example #1</b> LEVEL 60 @@ -108,7 +108,7 @@ the requirement is assumed to be LEVEL. So the following string: is also valid and evaluates the same as the above strings. -<b><u>General Example #2</u></b> +<b>General Example #2</b> NOT LEVEL 60 @@ -117,7 +117,7 @@ requirement. The "NOT" key word can be include before or after the par LEVEL NOT 60 -evaluates indentically to the first string in this example. +evaluates identically to the first string in this example. Short-hand symbols may be used to abbreviate the string: @@ -129,7 +129,7 @@ $L!60 have exactly the same meaning as the first string in this example. -<b><u>General Example #3</u></b> +<b>General Example #3</b> LEVEL EQUAL 60 @@ -148,7 +148,7 @@ short-hand symbols may be used to make the string shorter: LEVEL = 60 -evalutes indentically to the above example strings and the space on either side +evaluates identically to the above example strings and the space on either side of the '=' symbol are also optional: LEVEL=60 @@ -158,7 +158,7 @@ parameter type, the following string is also valid: =60 -<b><u>General Example #4</u></b> +<b>General Example #4</b> LEVEL 60 AND FLAG 1A @@ -202,9 +202,9 @@ $L60$FA 60$FA -but for reasons of clarity, the first string is prefered if space allows. +but for reasons of clarity, the first string is preferred if space allows. -<b><u>General Example #5</u></b> +<b>General Example #5</b> SEX F OR LEVEL 90 @@ -220,7 +220,7 @@ $SF | $L90 $SF|$L90 -<b><u>General Example #6</u></b> +<b>General Example #6</b> USER NOT EQUAL TO 20 @@ -230,12 +230,12 @@ Shortened using symbols: $U!=20 -<b><u>General Example #7</u></b> +<b>General Example #7</b> BPS 9600 OR NOT TIME 19:00 This string specifies that the user must be connected at 9600bps or higher, -OR the time of day must be before 7pm. The value for the TIME paramater +OR the time of day must be before 7pm. The value for the TIME parameter is in the format 24 hour format of HH:MM. If the specified time is on an even hour, then ":00" portion may be omitted: @@ -243,7 +243,7 @@ BPS 9600 OR NOT TIME 19 has the same meaning. -You may also ommit the "00" from the BPS value to shorten the string: +You may also omit the "00" from the BPS value to shorten the string: BPS 96 OR NOT TIME 19 @@ -255,7 +255,7 @@ BPS9600|!TIME19 $B96|!$T19 -<b><u>General Example #8</u></b> +<b>General Example #8</b> BPS 9600 OR TIME NOT 18:00 OR TIME 21:30 @@ -264,7 +264,7 @@ OR the time of day must be before 6pm, OR the time of day must be after 9:30pm. When specifying multiple parameters of the same type consecutively (in this -example, two of the required parameters are "TIME"), the paramter does +example, two of the required parameters are "TIME"), the parameter does not need to be restated. For example, the string: BPS 9600 OR TIME NOT 18:00 OR 21:30 @@ -277,7 +277,7 @@ $B 9600 OR NOT $T 18 OR 21:30 $B96|$T!18|21:30 -<b><u>General Example #9</u></b> +<b>General Example #9</b> FLAG A OR FLAG B OR FLAG C OR LEVEL 90 @@ -295,7 +295,7 @@ Taking it to extremes: $FA|B|C|$L90 -<b><u>General Example #10</u></b> +<b>General Example #10</b> USER EQUALS 145 OR LEVEL 90 @@ -310,8 +310,8 @@ For ultimate compression: $U=145|$L90 -<b><u>General Example #11 -</u></b> +<b>General Example #11 +</b> LEVEL 60 AND FLAG X AND FLAG Y AND FLAG Z Compressed examples: @@ -328,12 +328,12 @@ $L60 $FXYZ 60$FXYZ -<b><u>General Example #12 -</u></b> +<b>General Example #12 +</b> FLAG 2A OR FLAG 2B OR FLAG 4Z This string specifies that the user must have either flag 'A or 'B' from flag -set #2, or flag 'Z' from flag set #4. Using the "sticky" paramenter type +set #2, or flag 'Z' from flag set #4. Using the "sticky" parameter type feature, this could be shortened to: FLAG 2A OR B OR FLAG 4Z @@ -361,7 +361,7 @@ Note: Multiple flag sets were developed for advanced sysops who found that use more than 26 flags, and therefore have no need for flag sets 2 through 4. -<b><u>General Example #13</u></b> +<b>General Example #13</b> NOT FLAG 2G @@ -380,7 +380,7 @@ Condensed versions: $F!2G $F2!G</pre> -<h2><u>[7.4] - </u><a name="Nesting Expressions"><u>Nesting Expressions</u></a></h2> +<h2><a name="NestingExpressions">[7.4] - Nesting Expressions</a></h2> <pre>All of the above string examples have been single expressions that evaluate to either true of false. Sometimes, you may wish to require access to an area using "nested" logic. @@ -402,7 +402,7 @@ separate the two true/false expressions. 2: (LEVEL 90 OR FLAG A) AND AGE 21 Strings 1 and 2 are interpreted differently and correlate to the above two -english logic statements. +English logic statements. Whenever using a combination of AND and OR logic, nested expressions are required. The following string: @@ -411,7 +411,7 @@ LEVEL 90 OR FLAG A AND AGE 21 is INVALID and would most likely NOT produce the desired results. -Expressions may be nested, using paranethesis, as deep as is required. +Expressions may be nested, using parenthesis, as deep as is required. Example: @@ -424,9 +424,9 @@ User with level of 80, flag S and age 17 would not qualify User with level of 80 and age 18 would qualify User with flag S and age 18 would qualify Any user with level 90+ would qualify regardless of age or flags</pre> -<h2><u>[7.5] - ARS Nested Logic Examples</u></h2> -<pre><b><u><a name="Nested Example #1">Nested Example #1</a> -</u></b> +<h2><a name="NestedLogicExamples">[7.5] - ARS Nested Logic Examples</a></h2> +<pre><b>Nested Example #1 +</b> BPS 9600 OR (BPS 2400 AND TIME NOT 15:00) User must be connected at 9600bps or higher, OR be connected at 2400bps or @@ -449,7 +449,7 @@ using symbols (and eliminating the AND key word): $B9600|($B2400$T!15) -<b><u>Nested Example #2</u></b> +<b>Nested Example #2</b> (SEX M AND AGE 21) OR (SEX F AND AGE 18) @@ -467,7 +467,7 @@ AGE 21 OR (SEX F AND AGE 18) producing the same results. -<b><u>Nested Example #3 +<b>Nested Example #3<u> </u></b> (BPS 2400 AND PCR 20) OR LEVEL 90 @@ -491,7 +491,7 @@ Eliminating the spaces creates an even more compact string: ($B2400$P20)|$L90 -<b><u>Nested Example #4 +<b>Nested Example #4<u> </u></b> NOT (USER=1 OR USER=20) @@ -505,10 +505,10 @@ NOT USER=1 AND NOT USER=20 though the meaning is not quite as clear, they are functionally the same. Note: The second method requires 2 bytes less in raw logic storage because it - is not nested and will be intrepreted slightly faster (by a matter of + is not nested and will be interpreted slightly faster (by a matter of microseconds). Just in case you were wondering... -<b><u>Nested Example #5 +<b>Nested Example #5<u> </u></b> LEVEL 90 OR (TIME 12:00 AND TIME NOT 18:00) @@ -519,7 +519,7 @@ Re-arranged: (TIME 12:00 AND TIME NOT 18:00) OR LEVEL 90 -the string has exactly the same meaning. Eliminating the unnecessary occurance +the string has exactly the same meaning. Eliminating the unnecessary occurrence of the second "TIME" parameter shortens the string while keeping it easily readable: