TBBS 2.x - Authorization Flags Explained

Contact:   eSoft, Inc. (Makers of TBBS)
           15200 E. Girard Ave., Suite 3000
           Aurora, CO  80014
           (303) 699-6565      Voice
           (303) 699-6872      Fax
           (303) 699-8222      BBS
           support@esoft.com   E-Mail

AUTHORIZATION FLAGS EXPLAINED
-----------------------------

There is a certain amount of confusion about A1, A2, A3 and A4 authorization 
flags in TBBS.  The flags are powerful, but if misunderstood or not used 
correctly they can make things appear to be broken when in reality they are 
not.

In most places in TBBS, flag settings are referred to as SET and RESET.  If 
you understand the concept of binary bits or even an ordinary light switch, 
then you can understand flags.  Keep in mind the following:

        SET   = X = 1 = True  = ON

        RESET = . = 0 = False = OFF

From now on in this document, we will refer to flags as ON or OFF.  Remember, 
when we say ON it's the same as SET in the TBBS manual, and OFF is the same as 
RESET in the manual.

Every user on your system has the flags either ON or OFF.  There is no other 
state (it's like a light switch - the light is either on or off).  

Flags have no inherent meaning.  Any meaning that flags may have are given to 
them by you in designing the system.

The only flags that are "semi-reserved" are the A3 and A4 flags.  These flags 
may be optionally configured in CEDIT PORT/MODEM OPTIONS to dynamically 
reflect the line on which a user calls in and the caller's baud rate.  This 
allows you to configure the system to look and act differently depending on 
the user's line and data speed.  Unless these flags are configured, however, 
they are open to other uses.

Flags are totally independent of priviledge levels, so you may use priviledges 
and flags in combination with one another.

Flags may be used in one of two ways.  

The first way is the most common, and is based on the principle of one flag 
having one meaning.  For example, A1 flag 1 could mean "User Group Member."  
Every use who is a member of the User Group would have A1 flag 1 as "X" in 
their userlog record.  Non-members would have A1 flag 1 as "." in their 
userlog record.  Each menu that is reserved for User Group members would also 
have "X" in A1 flag 1, so that the entry would be shown only to members.  
Menus entries for people who are specifically NOT User Group members would 
have "." in A1 flag 1, so that the entry would be shown only to non-members.  
For menu entries that are to be shown to all users - members and non-members 
alike - would have "-" in A1 flag 1.  A hyphen (-) in a menu entry indicates 
that the menu entry doesn't check for that flag.

Obviously, multiple flags may be used in combination so that certain menu 
entries are only displayed to users who belong to more than one group.  

With this method, 32 possible groups can be established.

The second way that flags can be used is called "true binary."  This means 
that a binary truth table is worked out, and combinations of flags are used to 
indicate a particular group of category.  A truth table with two flags would 
look like this:

        A1,1    A1,2    Group
        ----    ----    -----
          .       .      1
          .       X      2
          X       .      3
          X       X      4

Of course, you could put more flags in the truth table to designate more 
groups.  With this method, over 4,000,000,000 groups can be established.

The advantage of the first method is that it is very easy to implement.  The 
second method is more difficult to plan and implement, and requires 
substantially more thought to the overall goals you have in mind. 

TBBS0018
Rev. 10/90

Copyright (C) 1994 eSoft, Inc., All Rights Reserved.  Permission granted
to distribute this file in its entirety, without modification, to any
interested party.  Any other use requires the written permission of
eSoft, Inc.

IMPORTANT:  The information herein is subject to change without notice.
Please call or write to confirm factual information of importance to you
or your organization.

