DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦1b5a15beb⟧ TextFile

    Length: 4915 (0x1333)
    Types: TextFile
    Notes: R1k Text-file segment

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦af7f36808⟧ 
            └─⟦this⟧ 
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦bb756a692⟧ 
            └─⟦this⟧ 
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦e567da9cd⟧ 
            └─⟦this⟧ 

TextFile

For the Delta 3.0 release, calls to user provided procedures for determining
login policy have been added to the login manager.  The user supplied 
procedures must be placed in !Machine.Login_Policy and have the following
specs:

    Failed_Login (Username : String;
                  Session : String;
                  Time : String;
                  Port : Natural;
                  Network_Name : Transport_Defs.Network_Name;
                  Host_Id : Transport_Defs.Host_Id;
                  Socket_Id : Transport_Defs.Socket_Id;
                  Error_Status : Natural);
                  
    Successful_Login (Username : String;
                      Session : String;
                      Time : String;
                      Port : Natural;
                      Network_Name : Transport_Defs.Network_Name;
                      Host_Id : Transport_Defs.Host_Id;
                      Socket_Id :Transport_Defs.Socket_Id;
                      Error_Status : Natural);
                  
Username is the name used in the attempted login, or the null string if this
    information has not yet been entered.

Session is the session used in the attempted login, or the null string if this
    information has not yet been entered.

Time is the time at which the login attempt occurred.  The format for this
    string is the date, one blank space, and then the time.  The Date is of
    the form month/day/year, and the time is expressed in military format.
    Procedures from the Time_Utilities package, located in !Tools, can be
    used to parse this information.

Port is the R1000 port number upon which the login attempt is being made.
                                        

   For the next three parameters, check the package Transport_Defs and
    the subsystem Tenet_Tools in !Tools.Networking for procedures to process
    these variables and more information.

Network_Name identifies one of several available protocol stacks for the
    current connection.  For example, the value "Tcp/Ip" is passed for
    a telnet connection, and the null string is passed for a direct connection
    to the R1000.  

Host_Id identifies the machine within a network making the connection.

Socket_Id identifies a program within a machine.

Error_Status is a status code which indicates either success, or the reason 
    that the login attempt failed.  The status codes are:

        0  - Successful
        1  - Bad_Username_Or_Password
        2  - Expired_Password
        3  - Abandoned_Login
        4  - Read_Timed_Out
        5  - Read_Error
        6  - Input_Unreadable
        7  - Terminal_Type_Unreadable
        8  - Resource_Restriction
        9  - Product_Not_Authorized
        10 - Internal_Error
    

The calls to the above procedures are made using Program.Run_Job.  This method
is used to minimize the time added to the login process and to ensure that the
user supplied procedures do not hang the login process.  The use of a separate
job also prevents the user from interrupting this job. 

If the procedures exist, and an unsuccessful attempt to run them is made, then
this will be noted in the system error log.  If the procedures do not exist,
then the login process will run as usual, and nothing will be recorded in the
system log.

The Successful_Login procedure is called each time a successful login occurs.
The Failed_Login procedure is called each time an unsuccessful login attempt
occurs.  An unsuccessful login attempt is defined as one of the reasons
expressed in the error codes, one through ten, above. 

These procedures will be run under the identity of SYSTEM in order to allow
privileged operations to be performed.  This implies that the system manager
will need to use existing access control mechanisms for these procedures to
ensure system security. 

A Login_Policy world is provided in which to place the new procedures. Upon
delivery, this world has no procedures, so that customers not wishing to take 
advantage of this feature will notice no change in the system behavior.
This world will have only operator and system access so that security is 
maintained even if this new facility is not used.

This change will not affect the other configuration variables associated with a
port, such as Log_Failed_Login and Disconnect_On_Failed_Login.  These will
have to be set separately as part of the entire login policy.


Also, it is now possible to alter the message which is displayed when a user
first connects to the R1000.  This is done by creating a text file named
Login_Text in the Login_Policy world.  If this file exists, then its contents
will be displayed when a user connects to the machine rather than the standard
information.  Placing the string "<Standard_Message>" on its own line in this
file will cause the standard login message (Environment Rev, Machine Name,
Port Number) to be displayed along with the other text in the file.