SECURITY.H
资源名称:drdossrc.zip [点击查看]
上传用户:xiaogehua
上传日期:2007-01-08
资源大小:1183k
文件大小:7k
源码类别:
操作系统开发
开发平台:
Asm
- /*
- ; File : $Workfile$
- ;
- ; Description : Definitions of common security related structures.
- ;
- ; Original Author : DIGITAL RESEARCH
- ;
- ; Last Edited By : $CALDERA$
- ;
- ;-----------------------------------------------------------------------;
- ; Copyright Work of Caldera, Inc. All Rights Reserved.
- ;
- ; THIS WORK IS A COPYRIGHT WORK AND CONTAINS CONFIDENTIAL,
- ; PROPRIETARY AND TRADE SECRET INFORMATION OF CALDERA, INC.
- ; ACCESS TO THIS WORK IS RESTRICTED TO (I) CALDERA, INC. EMPLOYEES
- ; WHO HAVE A NEED TO KNOW TO PERFORM TASKS WITHIN THE SCOPE OF
- ; THEIR ASSIGNMENTS AND (II) ENTITIES OTHER THAN CALDERA, INC. WHO
- ; HAVE ACCEPTED THE CALDERA OPENDOS SOURCE LICENSE OR OTHER CALDERA LICENSE
- ; AGREEMENTS. EXCEPT UNDER THE EXPRESS TERMS OF THE CALDERA LICENSE
- ; AGREEMENT NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED,
- ; COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED,
- ; CONDENSED, EXPANDED, COLLECTED, COMPILED, LINKED, RECAST,
- ; TRANSFORMED OR ADAPTED WITHOUT THE PRIOR WRITTEN CONSENT OF
- ; CALDERA, INC. ANY USE OR EXPLOITATION OF THIS WORK WITHOUT
- ; AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO CRIMINAL AND
- ; CIVIL LIABILITY.
- ;-----------------------------------------------------------------------;
- ;
- ; *** Current Edit History ***
- ; *** End of Current Edit History ***
- ;
- ; $Log$
- ;
- ; ENDLOG
- */
- /* All security information files have the following header before any
- data entries. */
- typedef struct
- {
- UWORD signature; /* file identifier, see SIG_ */
- BYTE version; /* version No., see SECURE_VERSION */
- BYTE crlf[2];
- } INF_HEADER_ENTRY;
- /* All security info files must be at the following version level
- to be compatible with the definitions in this file. */
- #define SECURE_VERSION '0'
- #define FNAME_LOGIN_TXT "LOGIN.TXT"
- #define FNAME_LOCK_TXT "LOCK.TXT"
- #define FNAME_LOGIN_ERR "LOGIN.ERR"
- #define FNAME_LOCK_ERR "LOCK.ERR"
- /******************************************************************************
- User information file.
- ******************************************************************************/
- /* The following structure defines the contents of a single entry in the
- user information file. This file associates user id numbers, user names,
- group names, etc for all users on a secure Concurrent DOS system.
- The file is in ASCII with one entry per line. Each variable is separated
- by one space character and variables are all left justified space padded.
- The lines are a fixed length, equal to sizeof(USER_INF_ENTRY).
- Entries in the file are sorted on the userid field.
- An example file (where ... indicates absent space padding) -
- UI0
- 0100 RogerGross Stellar rwdr----- C roger ... 08-23-1990 10:30:52 ...
- 0101 Ant Stellar rwdr----- C ant ... 08-22-1990 16:10:08 ...
- 0200 Stan Accounts rwd------ C stan ... 08-10-1990 09:27:00 ...
- 0900 Julie Doc rwdrwdr-- C julie ... 08-22-1990 08:09:11 ...
- */
- #define FNAME_USER_INF "USER.INF" /* user information file name */
- #define SIG_USER_INF 0x4955 /* file signature "UI" in word order */
- #define USERID_LGTH 4
- #define SYS_NAME_LGTH 12
- #define DEFACCESS_LGTH 9
- #define DATE_LGTH 10
- #define TIME_LGTH 8
- #define CMNT_LGTH 32
- typedef struct
- {
- BYTE userid [USERID_LGTH+1];
- BYTE loginname [SYS_NAME_LGTH+1];
- BYTE groupname [SYS_NAME_LGTH+1];
- BYTE defaccess [DEFACCESS_LGTH+1];
- BYTE homedrv [2];
- BYTE homedir [PATH_LEN];
- BYTE date [DATE_LGTH+1]; /* mm-dd-yyyy */
- BYTE time [TIME_LGTH+1]; /* hh:mm:ss */
- BYTE comment [CMNT_LGTH+1];
- BYTE crlf [2];
- } USER_INF_ENTRY;
- #define DEFLT_SU_NAME "Superuser"
- #define DEFLT_SU_GROUP "Supergroup"
- /******************************************************************************
- User password file.
- ******************************************************************************/
- /* The following structure defines the contents of a single entry in the
- user password file. This file associates user id numbers with passwords
- for all users on a secure Concurrent DOS system.
- The file is in a binary format.
- Entries in the file are sorted on the userid field.
- */
- #define FNAME_USER_SYS "USER.SYS" /* user password file name */
- #define SIG_USER_SYS 0x5355 /* file signature "US" in word order */
- typedef struct
- {
- UWORD userid;
- ULONG pword;
- } USER_SYS_ENTRY;
- /******************************************************************************
- Login history file.
- ******************************************************************************/
- /* The following structure defines the contents of a single entry in the
- login.log history file. This file is a history of events on the system
- such as login/out lock and errors.
- The file is in a binary format.
- New Entries are appended to the file.
- */
- #define FNAME_LOGIN_LOG "LOGIN.LOG"
- #define SIG_LOGIN_LOG 0x4C4C /* file signature "LL" in word order */
- typedef struct
- {
- UWORD year; /* 1980 - 2099 */
- UBYTE month;
- UBYTE day;
- UBYTE day_of_week; /* Ignored by ms_setdate */
- } SYSDAT;
- typedef struct
- {
- UBYTE hour; /* (0 - 23) */
- UBYTE minute; /* (0 - 59) */
- UBYTE second; /* (0 - 59) */
- UBYTE hundredth; /* (0 - 99) */
- } SYSTIM;
- typedef struct
- {
- UWORD userid;
- UWORD station;
- WORD event;
- SYSTIM time;
- SYSDAT date;
- } LOGIN_LOG_ENTRY;
- #define LOG_LOGIN 0
- #define LOG_LOGOUT 1
- #define LOG_LOCK 2
- #define LOG_UNLOCK 3
- #define LOG_REBOOT 4
- #define LOG_POWERON 5
- #define ERR_BASE 0
- #define ERR_USERPWORD ERR_BASE-1
- #define ERR_NOFILE ERR_BASE-2
- #define ERR_OPENFILE ERR_BASE-3
- #define ERR_BADFILE ERR_BASE-4
- #define ERR_READFILE ERR_BASE-5
- #define ERR_WRITEFILE ERR_BASE-6
- #define ERR_BADID ERR_BASE-7
- #define ERR_FATALSYSTEM ERR_BASE-8
- #define ERR_LOGIN ERR_BASE-9
- #define ERR_LOGOUT ERR_BASE-10
- #define ERR_LOCK ERR_BASE-11
- #define ERR_UNLOCK ERR_BASE-12
- /******************************************************************************
- Miscellaneous definitions.
- ******************************************************************************/
- #define SYS_PWORD_MINLEN 3 /* minimum password length */
- #define SYS_PWORD_MIN 6 /* minimum pw len (INSTALL only) */
- #define SYS_PWORD_MAX SYS_NAME_LGTH
- #define ID_NUM(n) ((n)&0x00FF) /* extract user No. from 16 bit id */
- #define ID_GROUP(n) ((n)>>8) /* extract group No. from 16 bit id */
- #define ID_GRP_USR(g,u) (((g)<<8)+(u)) /* convert group/user to 16 bit id */
- /* The following definition is used when accessing USER.SYS, USER.INF, etc.
- Because these files may be open by other processes in a mode which denies
- access to any other several attempts must be made to open them before
- giving up. This definition governs the number of attempts to be made.
- Note that a utility should perform a P_DISPATCH after each unsuccessful
- attempt. */
- #define ACCESS_ATTEMPTS 1000
- /******************* E N D O F S E C U R I T Y . H *******************/