Skip to content
Snippets Groups Projects
Commit 48a09ee1 authored by dspeelman's avatar dspeelman
Browse files

Spell-Checked

Changed Bookmarks and removed spaces to ease the referencing of sections
Removed UnderLines from headers and other items
parent 76b265c1
No related branches found
No related tags found
No related merge requests found
......@@ -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 &quot;AND&quot; or the symbol '&amp;' 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 &amp; 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 &quot;NOT&quot; 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 &quot;:00&quot; portion may be omitted:
......@@ -243,7 +243,7 @@ BPS 9600 OR NOT TIME 19
has the same meaning.
You may also ommit the &quot;00&quot; from the BPS value to shorten the string:
You may also omit the &quot;00&quot; 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 &quot;TIME&quot;), the paramter does
example, two of the required parameters are &quot;TIME&quot;), 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 &quot;sticky&quot; paramenter type
set #2, or flag 'Z' from flag set #4. Using the &quot;sticky&quot; 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 &quot;nested&quot; 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 &quot;TIME&quot; parameter shortens the string while keeping it easily
readable:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment