ASSEMBLY LISTING OF SEGMENT >spec>install>1112>access_audit_check_ep_.alm ASSEMBLED ON: 11/11/89 0927.6 mst Sat OPTIONS USED: -target l68 list symbols ASSEMBLED BY: ALM Version 8.14 March 1989 ASSEMBLER CREATED: 06/09/89 1002.3 mst Fri 1 2 3 " HISTORY COMMENTS: 4 " 1) change(88-05-17,Fawcett), approve(88-05-02,MCR7881), 5 " audit(88-06-21,Farley), install(88-08-02,MR12.2-1074): 6 " This change implements the always audit entry changes. As soon as we see 7 " that we have an entry (entry pointer non-null), the entry.audit_flag 8 " switch is checked. If on, return true. This is valid for directories, 9 " segments and links (if the switch could be set for links). 10 " 2) change(88-08-08,Farley), approve(88-08-08,PBF7881), 11 " audit(88-08-09,Martinson), install(88-08-09,MR12.2-1084): 12 " Changed always audit to exclude links and ring-1 objects. The 13 " entry.audit_flag is not valid for links and ring-1 objects will be 14 " selectively audited by the ring-1 controlling programs.. 15 " END HISTORY COMMENTS 16 17 000000 18 name access_audit_check_ep_ 000011 19 entry self 000000 20 entry user 21 22 " Hand coded version of access_audit_$check_entry_(ptr ptr_user). 23 " Keith Loepere, March 1985, from access_audit_, Ed Sharpe. 24 " Removed extra auditing for ring 1 ops by same, April 1985. 25 " 26 " call access_audit_check_ep_$self (event_flags, oper_code, entry_ptr) 27 " returns (bit (1) aligned); 28 " 29 " call access_audit_check_ep_$user (event_flags, oper_code, entry_ptr, 30 " process_auth, process_audit_flags) returns (bit (1) aligned); 31 " 32 " dcl entry_ptr ptr parameter; 33 " dcl event_flags bit (36) aligned parameter; 34 " dcl oper_code bit (36) aligned parameter; 35 " dcl process_audit_flags bit (36) aligned parameter; 36 " dcl process_auth bit (72) aligned parameter; 37 " 38 include access_audit_encoded_op 1-1 " BEGIN INCLUDE FILE access_audit_encoded_op.incl.alm 1-2 " 1-3 " Munged from cif version, 1-4 " Keith Loepere, March 1985. 1-5 1-6 " Structure encoded_access_op 1-7 000036 1-8 equ access_op.audit_type_shift,30 000077 1-9 bool access_op.audit_type_mask,000077 000040 1-10 equ access_op.object_type_shift,32 000017 1-11 bool access_op.object_type_mask,000017 000036 1-12 equ access_op.access_type_shift,30 000003 1-13 bool access_op.access_type_mask,000003 000022 1-14 equ access_op.operation_index_shift,18 007777 1-15 bool access_op.operation_index_mask,007777 000000 1-16 equ access_op.detailed_operation,0 " LOWER 1-17 1-18 " END INCLUDE FILE access_audit_encoded_op.incl.alm 39 " 40 include access_audit_eventflags 2-1 2-2 2-3 "BEGIN INCLUDE FILE access_audit_eventflags.incl.alm 2-4 2-5 2-6 "Created 01/14/85 1527.1 est Mon by convert_include_file, 2-7 " Version of 01/09/85 0954.4 est Wed. 2-8 2-9 "Made from >Pool>m>loe>incl>access_audit_eventflags.incl.pl1, 2-10 " modified 01/09/85 1217.7 est Wed 2-11 2-12 " 2-13 " Structure audit_event_flags 2-14 " 400000 2-15 bool audit_event_flags.special_op,400000 " DU 200000 2-16 bool audit_event_flags.grant,200000 " DU 100000 2-17 bool audit_event_flags.admin_op,100000 " DU 040000 2-18 bool audit_event_flags.priv_op,040000 " DU 020000 2-19 bool audit_event_flags.cc_1_10,020000 " DU 010000 2-20 bool audit_event_flags.cc_10_100,010000 " DU 004000 2-21 bool audit_event_flags.receiver,004000 " DU 2-22 2-23 "END INCLUDE FILE access_audit_eventflags.incl.alm 41 " 42 include access_audit_flags 3-1 " BEGIN INCLUDE FILE access_audit_flags.incl.alm 3-2 " 3-3 " NOTE: All changes must also be done to access_audit_flags.incl.alm 3-4 " 3-5 " Masks for extracting elements of the per-process security 3-6 " auditing flags (pds$audit_flags). 3-7 " 3-8 " History: 3-9 " 85-01-07 EJ Sharpe - cleanup 3-10 " 84-12-03 EJ Sharpe - created 3-11 " 85-04-05 KP Loepere - added shift flag 3-12 " 3-13 3-14 " Upper 18 bit definitions 3-15 000002 3-16 equ audit_flags.grant_or_deny_shift,2 000040 3-17 equ audit_flags.grant_deny_shift,32 3-18 600000 3-19 bool audit_flags.fsobj_grant_mask,600000 140000 3-20 bool audit_flags.fsobj_deny_mask,140000 030000 3-21 bool audit_flags.fsattr_grant_mask,030000 006000 3-22 bool audit_flags.fsattr_deny_mask,006000 001400 3-23 bool audit_flags.rcp_grant_mask,001400 000300 3-24 bool audit_flags.rcp_deny_mask,000300 000060 3-25 bool audit_flags.admin_grant_mask,000060 000014 3-26 bool audit_flags.admin_deny_mask,000014 000003 3-27 bool audit_flags.special_grant_mask,000003 3-28 3-29 " Lower 18 bit definitions 3-30 600000 3-31 bool audit_flags.special_deny_mask,600000 140000 3-32 bool audit_flags.other_grant_mask,140000 030000 3-33 bool audit_flags.other_deny_mask,030000 3-34 007740 3-35 bool audit_flags.pad,007740 3-36 000020 3-37 bool audit_flags.admin_ops,000020 000010 3-38 bool audit_flags.priv_ops,000010 000004 3-39 bool audit_flags.faults,000004 000002 3-40 bool audit_flags.cc_1_10,000002 000001 3-41 bool audit_flags.cc_10_100,000001 3-42 3-43 " END INCLUDE FILE access_audit_flags.incl.alm 43 " 44 include aim_template 4-1 4-2 4-3 "BEGIN INCLUDE FILE aim_template.incl.alm 4-4 4-5 4-6 "Created 03/26/84 1515.2 est Mon by convert_include_file, 4-7 " Version of 11/07/82 1445.1 est Sun. 4-8 4-9 "Made from >ldd>include_1>aim_template.incl.pl1, 4-10 " modified 09/07/83 1810.6 est Wed 4-11 4-12 " 4-13 " Structure aim_template 4-14 " 000002 4-15 equ aim_template_size,2 4-16 4-17 000000 4-18 equ aim_template.categories,0 4-19 000001 4-20 equ aim_template.level,1 " UPPER 000001 4-21 equ aim_template.privileges,1 " LOWER 000001 4-22 equ aim_template.ipc_word,1 400000 4-23 bool aim_template.ipc,400000 " DL 000001 4-24 equ aim_template.dir_word,1 200000 4-25 bool aim_template.dir,200000 " DL 000001 4-26 equ aim_template.seg_word,1 100000 4-27 bool aim_template.seg,100000 " DL 000001 4-28 equ aim_template.soos_word,1 040000 4-29 bool aim_template.soos,040000 " DL 000001 4-30 equ aim_template.ring1_word,1 020000 4-31 bool aim_template.ring1,020000 " DL 000001 4-32 equ aim_template.rcp_word,1 010000 4-33 bool aim_template.rcp,010000 " DL 000001 4-34 equ aim_template.comm_word,1 004000 4-35 bool aim_template.comm,004000 " DL 4-36 4-37 "END INCLUDE FILE aim_template.incl.alm 45 " 46 include dir_entry 5-1 5-2 5-3 "BEGIN INCLUDE FILE dir_entry.incl.alm 5-4 5-5 5-6 "Created 03/29/85 1619.9 est Fri by convert_include_file, 5-7 " Version of 01/09/85 0954.4 est Wed. 5-8 5-9 "Made from >pool>m>loe>h>source>dir_entry.incl.pl1, 5-10 " modified 03/29/85 1619.8 est Fri 5-11 5-12 " 5-13 " Structure entry 5-14 " 000045 5-15 equ entry_size,37 5-16 000000 5-17 equ entry.efrp,0 " UPPER 000000 5-18 equ entry.ebrp,0 " LOWER 5-19 000001 5-20 equ entry.type,1 " UPPER 000001 5-21 equ entry.size,1 " LOWER 5-22 000002 5-23 equ entry.uid,2 000003 5-24 equ entry.dtem,3 5-25 000004 5-26 equ entry.bs_word,4 400000 5-27 bool entry.bs,400000 " DU 000004 5-28 equ entry.pad0_word,4 000022 5-29 equ entry.pad0_shift,18 377777 5-30 bool entry.pad0_mask,377777 000004 5-31 equ entry.nnames,4 " LOWER 5-32 000005 5-33 equ entry.name_frp,5 " UPPER 000005 5-34 equ entry.name_brp,5 " LOWER 5-35 000006 5-36 equ entry.author_word,6 000112 5-37 equ entry.author_shift,74 5-38 000007 5-39 equ entry.pad1,7 000010 5-40 equ entry.primary_name,8 " DOUBLE 000026 5-41 equ entry.dtd,22 000027 5-42 equ entry.pad2,23 000030 5-43 equ entry.pvid,24 5-44 000031 5-45 equ entry.vtocx,25 " UPPER 000031 5-46 equ entry.pad3,25 " LOWER 5-47 000032 5-48 equ entry.dirsw_word,26 400000 5-49 bool entry.dirsw,400000 " DU 000032 5-50 equ entry.oosw_word,26 200000 5-51 bool entry.oosw,200000 " DU 000032 5-52 equ entry.per_process_sw_word,26 100000 5-53 bool entry.per_process_sw,100000 " DU 000032 5-54 equ entry.copysw_word,26 040000 5-55 bool entry.copysw,040000 " DU 000032 5-56 equ entry.safety_sw_word,26 020000 5-57 bool entry.safety_sw,020000 " DU 000032 5-58 equ entry.multiple_class_word,26 010000 5-59 bool entry.multiple_class,010000 " DU 000032 5-60 equ entry.audit_flag_word,26 004000 5-61 bool entry.audit_flag,004000 " DU 000032 5-62 equ entry.security_oosw_word,26 002000 5-63 bool entry.security_oosw,002000 " DU 000032 5-64 equ entry.entrypt_sw_word,26 001000 5-65 bool entry.entrypt_sw,001000 " DU 000032 5-66 equ entry.master_dir_word,26 000400 5-67 bool entry.master_dir,000400 " DU 000032 5-68 equ entry.tpd_word,26 000200 5-69 bool entry.tpd,000200 " DU 000032 5-70 equ entry.pad4_word,26 000016 5-71 equ entry.pad4_shift,14 003777 5-72 bool entry.pad4_mask,003777 000032 5-73 equ entry.entrypt_bound_word,26 000000 5-74 equ entry.entrypt_bound_shift,0 037777 5-75 bool entry.entrypt_bound_mask,037777 5-76 000033 5-77 equ entry.access_class,27 " DOUBLE 5-78 000035 5-79 equ entry.ring_brackets_word,29 000041 5-80 equ entry.ring_brackets_shift,33 000007 5-81 bool entry.ring_brackets_mask,000007 000035 5-82 equ entry.ex_ring_brackets_word,29 000030 5-83 equ entry.ex_ring_brackets_shift,24 000007 5-84 bool entry.ex_ring_brackets_mask,000007 000035 5-85 equ entry.acle_count,29 " LOWER 5-86 000036 5-87 equ entry.acl_frp,30 " UPPER 000036 5-88 equ entry.acl_brp,30 " LOWER 5-89 000037 5-90 equ entry.bc_author_word,31 000143 5-91 equ entry.bc_author_shift,99 5-92 000040 5-93 equ entry.pad5_word,32 000031 5-94 equ entry.pad5_shift,25 000003 5-95 bool entry.pad5_mask,000003 000040 5-96 equ entry.bc_word,32 000000 5-97 equ entry.bc_shift,0 5-98 000041 5-99 equ entry.sons_lvid,33 000042 5-100 equ entry.pad6,34 000043 5-101 equ entry.checksum,35 000044 5-102 equ entry.owner,36 5-103 5-104 "END INCLUDE FILE dir_entry.incl.alm 47 " 48 include dir_header 6-1 6-2 6-3 "BEGIN INCLUDE FILE dir_header.incl.alm 6-4 6-5 6-6 "Created 03/29/85 1237.5 est Fri by convert_include_file, 6-7 " Version of 01/09/85 0954.4 est Wed. 6-8 6-9 "Made from >pool>m>loe>h>s>dir_header.incl.pl1, 6-10 " modified 03/29/85 1237.5 est Fri 6-11 6-12 " 6-13 " Structure dir 6-14 " 000100 6-15 equ dir_size,64 6-16 6-17 000000 6-18 equ dir.modify,0 6-19 000001 6-20 equ dir.type,1 " UPPER 000001 6-21 equ dir.size,1 " LOWER 6-22 000002 6-23 equ dir.dtc,2 " LEVEL 2 6-24 000002 6-25 equ dir.date,2 000003 6-26 equ dir.error,3 000010 6-27 equ dir.uid,8 000011 6-28 equ dir.pvid,9 000012 6-29 equ dir.sons_lvid,10 000013 6-30 equ dir.access_class,11 " DOUBLE 6-31 000015 6-32 equ dir.vtocx,13 " UPPER 000015 6-33 equ dir.version_number,13 " LOWER 6-34 000016 6-35 equ dir.entryfrp,14 " UPPER 6-36 000017 6-37 equ dir.entrybrp,15 " UPPER 6-38 000020 6-39 equ dir.pers_frp,16 " UPPER 000020 6-40 equ dir.proj_frp,16 " LOWER 6-41 000021 6-42 equ dir.pers_brp,17 " UPPER 000021 6-43 equ dir.proj_brp,17 " LOWER 6-44 000022 6-45 equ dir.seg_count,18 " UPPER 000022 6-46 equ dir.dir_count,18 " LOWER 6-47 000023 6-48 equ dir.lcount,19 " UPPER 000023 6-49 equ dir.acle_total,19 " LOWER 6-50 000024 6-51 equ dir.arearp,20 " UPPER 000024 6-52 equ dir.per_process_sw_word,20 400000 6-53 bool dir.per_process_sw,400000 " DL 000024 6-54 equ dir.master_dir_word,20 200000 6-55 bool dir.master_dir,200000 " DL 000024 6-56 equ dir.force_rpv_word,20 100000 6-57 bool dir.force_rpv,100000 " DL 000024 6-58 equ dir.rehashing_word,20 040000 6-59 bool dir.rehashing,040000 " DL 6-60 000025 6-61 equ dir.iacl_count_word,21 001532 6-62 equ dir.iacl_count_shift,858 000025 6-63 equ dir.seg,21 " UPPER 000025 6-64 equ dir.dir,21 " LOWER 6-65 000035 6-66 equ dir.iacl_word,29 001060 6-67 equ dir.iacl_shift,560 000035 6-68 equ dir.seg_frp,29 " UPPER 000035 6-69 equ dir.seg_brp,29 " LOWER 6-70 000036 6-71 equ dir.dir_frp,30 " UPPER 000036 6-72 equ dir.dir_brp,30 " LOWER 6-73 000055 6-74 equ dir.htsize,45 " UPPER 000055 6-75 equ dir.hash_table_rp,45 " LOWER 6-76 000056 6-77 equ dir.htused,46 " UPPER 6-78 000057 6-79 equ dir.tree_depth,47 " UPPER 6-80 000060 6-81 equ dir.dts,48 000061 6-82 equ dir.master_dir_uid,49 000062 6-83 equ dir.change_pclock,50 000076 6-84 equ dir.checksum,62 000077 6-85 equ dir.owner,63 6-86 000002 6-87 equ version_number_2,2 " MANIFEST 6-88 6-89 "END INCLUDE FILE dir_header.incl.alm 49 " 000002 50 equ a_event_flags,2 000004 51 equ a_oper_code,4 000006 52 equ a_entry_ptr,6 000010 53 equ a_process_auth,8 000012 54 equ a_process_audit_flags,10 55 000001 56 equ entry_ptr,1 " pr1 -> entry 000002 57 equ dir_ptr,2 " pr2 -> dir (for link only) 000001 58 equ event_flags,1 " x1 = event_flags 000003 59 equ work,3 " x3 - work reg 000004 60 equ tcb_obj,4 " x4 ^= 0 => tcb object 000005 61 equ process_audit_flags_dl,5 " x5 = special audit flags 62 " x7 = return arg offset 63 tempd obj_class 64 tempd process_auth 65 temp oper_code 66 temp process_audit_flags 67 68 macro within_threshold 1 69 lda &1+aim_template.categories 2 70 ana &2+aim_template.categories 3 71 tnz 4,ic " categories in common 4 72 ldx work,&2+aim_template.level 5 73 sbx work,&1+aim_template.level 6 74 tmi &3 " >= level 7 75 &end 76 " 000000 aa 000060 6270 00 77 user: push 000001 aa 7 00040 2721 20 000002 aa 000014 6270 00 78 eax7 a_process_audit_flags+2 " place for return arg 79 000003 aa 0 00010 3515 20 80 epp1 ap|a_process_auth,* " process_auth 000004 aa 1 00000 2351 00 81 lda pr1|0 000005 aa 1 00001 2361 00 82 ldq pr1|1 000006 aa 6 00052 7571 00 83 staq process_auth 84 000007 aa 0 00012 2351 20 85 lda ap|a_process_audit_flags,* " process_audit_flags 86 000010 0a 000017 7100 00 87 tra join 88 000011 aa 000060 6270 00 89 self: push 000012 aa 7 00040 2721 20 000013 aa 000010 6270 00 90 eax7 a_entry_ptr+2 " place for return arg 91 000014 4a 4 00010 2371 20 92 ldaq pds$access_authorization " process_auth 000015 aa 6 00052 7571 00 93 staq process_auth 94 000016 4a 4 00012 2351 20 95 lda pds$audit_flags " process_audit_flags 96 000017 aa 6 00055 7551 00 97 join: sta process_audit_flags 000020 aa 000000 6250 05 98 eax process_audit_flags_dl,0,al 99 000021 aa 0 00002 2211 20 100 ldx event_flags,ap|a_event_flags,* " event_flags 101 000022 aa 0 00004 2351 20 102 lda ap|a_oper_code,* " oper_code 000023 aa 6 00054 7551 00 103 sta oper_code 104 000024 aa 0 00006 3515 20 105 epp entry_ptr,ap|a_entry_ptr,* " entry_ptr 000025 aa 1 00000 3515 20 106 epp entry_ptr,entry_ptr|0,* 107 000026 aa 000000 6240 00 108 eax tcb_obj,0 " assume not TCB object 000027 aa 1 00000 2131 00 109 epaq entry_ptr|0 " find obj_class 000030 aa 000022 7710 00 110 arl 18 000031 aa 077777 1150 07 111 cmpa =o77777,dl " null ptr? 000032 0a 000035 6010 00 112 tnz have_entry 000033 4a 4 00014 2371 20 113 ldaq sys_info$access_class_floor " root 000034 0a 000057 7100 00 114 tra have_class 000035 115 have_entry: 000035 aa 1 00004 2341 00 116 szn entry_ptr|entry.bs_word " else need to look deeper 000036 0a 000043 6040 00 117 tmi have_branch 000037 aa 1 00000 3525 00 118 epbp dir_ptr,entry_ptr|0 " link, get class from dir 000040 aa 2 00013 2351 00 119 lda dir_ptr|dir.access_class 000041 aa 2 00014 2361 00 120 ldq dir_ptr|dir.access_class+1 000042 0a 000057 7100 00 121 tra have_class 000043 122 have_branch: 000043 4a 4 00016 2341 20 123 szn pds$no_audit_ring1_fs_object_ops " ring 1 - get ring brackets 000044 0a 000055 6000 00 124 tze get_class 125 000045 aa 1 00032 2341 00 126 szn entry_ptr|entry.dirsw_word 000046 0a 000055 6040 00 127 tmi get_class " dirs aren't ring 1 objects 128 000047 aa 1 00035 2351 00 129 lda entry_ptr|entry.ring_brackets_word 000050 aa 000033 7710 00 130 arl entry.ring_brackets_shift-6 " rb (3) 000051 aa 000007 3750 07 131 ana entry.ring_brackets_mask,dl 000052 aa 000001 1150 07 132 cmpa 1,dl " all rbs <= 1 000053 0a 000055 6054 00 133 tpnz get_class 000054 aa 000001 6240 00 134 eax tcb_obj,1 " object is being audited by ring 1 135 000055 136 get_class: 000055 aa 1 00033 2351 00 137 lda entry_ptr|entry.access_class " get class from entry 000056 aa 1 00034 2361 00 138 ldq entry_ptr|entry.access_class+1 139 000057 140 have_class: 000057 aa 6 00050 7571 00 141 staq obj_class 142 " 143 " With setup done, start considering the special cases. 144 000060 aa 400000 3010 03 145 canx event_flags,audit_event_flags.special_op,du 000061 0a 000210 6010 00 146 tnz return_true 147 148 " covert channel? 149 000062 aa 030000 3010 03 150 canx event_flags,audit_event_flags.cc_1_10+audit_event_flags.cc_10_100,du 000063 0a 000105 6000 00 151 tze not_covert 000064 4a 4 00020 2341 20 152 szn sys_info$audit_covert_channel 000065 0a 000105 6000 00 153 tze not_covert 154 000066 aa 004000 3010 03 155 canx event_flags,audit_event_flags.receiver,du 000067 0a 000076 6010 00 156 tnz covert " always audit receivers 157 within_threshold sys_info$covert_channel_threshold,process_auth,not_covert 000070 4a 4 00022 2351 20 lda sys_info$covert_channel_threshold+aim_template.categories 000071 aa 6 00052 3751 00 ana process_auth+aim_template.categories 000072 aa 000004 6010 04 tnz 4,ic " categories in common 000073 aa 6 00053 2231 00 ldx work,process_auth+aim_template.level 000074 4a 4 00024 1631 20 sbx work,sys_info$covert_channel_threshold+aim_template.level 000075 0a 000105 6040 00 tmi not_covert " >= level 158 000076 aa 020000 3010 03 159 covert: canx event_flags,audit_event_flags.cc_1_10,du 000077 0a 000103 6000 00 160 tze large_cc 000100 aa 000002 3050 03 161 canx process_audit_flags_dl,audit_flags.cc_1_10,du 000101 0a 000210 6010 00 162 tnz return_true 000102 0a 000105 7100 00 163 tra not_covert 000103 164 large_cc: 000103 aa 000001 3050 03 165 canx process_audit_flags_dl,audit_flags.cc_10_100,du 000104 0a 000210 6010 00 166 tnz return_true 167 168 " admin, priv? 169 000105 170 not_covert: 000105 aa 100000 3010 03 171 canx event_flags,audit_event_flags.admin_op,du 000106 0a 000111 6000 00 172 tze not_admin 000107 aa 000020 3050 03 173 canx process_audit_flags_dl,audit_flags.admin_ops,du 000110 0a 000210 6010 00 174 tnz return_true 175 000111 176 not_admin: 000111 aa 040000 3010 03 177 canx event_flags,audit_event_flags.priv_op,du 000112 0a 000115 6000 00 178 tze not_priv 000113 aa 000010 3050 03 179 canx process_audit_flags_dl,audit_flags.priv_ops,du 000114 0a 000210 6010 00 180 tnz return_true 181 182 " now we check to see if this is a ring 1 operation that needs no audit 183 " by virtue of the in TCB flag 184 000115 185 not_priv: 000115 aa 000000 6240 14 186 eax tcb_obj,0,tcb_obj " set indicators 000116 0a 000122 6000 00 187 tze not_ring_1 000117 aa 140000 3010 03 188 canx event_flags,audit_event_flags.priv_op+audit_event_flags.admin_op,du 000120 0a 000122 6010 00 189 tnz not_ring_1 " must see admin/priv ops 000121 0a 000206 7100 00 190 tra return_false " else will be audited by ring 1 191 192 " now we check to see if this is an entry whose always audit flag is on, 193 " this does not include links.. 194 000122 195 not_ring_1: 000122 aa 1 00000 2131 00 196 epaq entry_ptr|0 " check for valid entry_ptr 000123 aa 000022 7710 00 197 arl 18 000124 aa 077777 1150 07 198 cmpa =o77777,dl 000125 0a 000137 6000 00 199 tze not_always_audit " skip check if null 000126 aa 1 00004 2341 00 200 szn entry_ptr|entry.bs_word " check branch switch 000127 0a 000137 6050 00 201 tpl not_always_audit " exclude links from check 000130 aa 1 00032 2351 00 202 lda entry_ptr|entry.audit_flag_word " check audit by entry flag 000131 aa 004000 3150 03 203 cana entry.audit_flag,du 000132 0a 000137 6000 00 204 tze not_always_audit " skip if flag is off 000133 aa 1 00035 2351 00 205 lda entry_ptr|entry.ring_brackets_word 000134 aa 000033 7710 00 206 arl entry.ring_brackets_shift-6 " rb (3) 000135 aa 000111 1150 07 207 cmpa =o000111,dl " all rbs = 1 000136 0a 000210 6010 00 208 tnz return_true " audit if not ring-1 object 209 210 " now for the real successful/unsuccessful access type checks 211 000137 212 not_always_audit: 000137 aa 200000 3010 03 213 canx event_flags,audit_event_flags.grant,du 000140 0a 000152 6000 00 214 tze check_system_deny 215 000141 4a 4 00026 2341 20 216 szn sys_info$audit_successful_access 000142 0a 000206 6000 00 217 tze return_false 218 within_threshold sys_info$successful_access_threshold,obj_class,return_false 000143 4a 4 00030 2351 20 lda sys_info$successful_access_threshold+aim_template.categories 000144 aa 6 00050 3751 00 ana obj_class+aim_template.categories 000145 aa 000004 6010 04 tnz 4,ic " categories in common 000146 aa 6 00051 2231 00 ldx work,obj_class+aim_template.level 000147 4a 4 00032 1631 20 sbx work,sys_info$successful_access_threshold+aim_template.level 000150 0a 000206 6040 00 tmi return_false " >= level 000151 0a 000162 7100 00 219 tra check_op_code " within threshold 220 000152 221 check_system_deny: 000152 4a 4 00034 2341 20 222 szn sys_info$audit_unsuccessful_access 000153 0a 000206 6000 00 223 tze return_false 224 within_threshold sys_info$unsuccessful_access_threshold,obj_class,return_false 000154 4a 4 00036 2351 20 lda sys_info$unsuccessful_access_threshold+aim_template.categories 000155 aa 6 00050 3751 00 ana obj_class+aim_template.categories 000156 aa 000004 6010 04 tnz 4,ic " categories in common 000157 aa 6 00051 2231 00 ldx work,obj_class+aim_template.level 000160 4a 4 00040 1631 20 sbx work,sys_info$unsuccessful_access_threshold+aim_template.level 000161 0a 000206 6040 00 tmi return_false " >= level 225 226 " finally check the user's audit flags */ 227 000162 228 check_op_code: 000162 aa 6 00054 2351 00 229 lda oper_code 000163 aa 000040 7730 00 230 lrl access_op.object_type_shift 000164 aa 000042 7720 00 231 qrl 36-(access_op.object_type_shift-access_op.access_type_shift) 000165 aa 000044 7770 00 232 llr 36 " swap a/q 000166 aa 000003 3750 07 233 ana access_op.access_type_mask,dl " oper_level in al 000167 aa 6 00054 7551 00 234 sta oper_code " save it 000170 aa 000017 3760 07 235 anq access_op.object_type_mask,dl " object_index in ql 000171 0a 000174 6054 00 236 tpnz check_audit " some cases allow no object 237 000172 aa 170000 3010 03 238 canx event_flags,audit_event_flags.cc_1_10+audit_event_flags.cc_10_100+audit_event_flags.priv_op+audit_event_flags.admin_op,du 000173 0a 000206 6010 00 239 tnz return_false 240 000174 241 check_audit: 000174 aa 000004 4020 07 242 mpy 2*audit_flags.grant_or_deny_shift,dl " size (grant_level) + size (deny_level) times 000175 aa 777774 6230 06 243 eax work,-2*audit_flags.grant_or_deny_shift,ql " (object_type - 1) 000176 aa 200000 3010 03 244 canx event_flags,audit_event_flags.grant,du 000177 aa 000002 6010 04 245 tnz 2,ic 000200 aa 000002 6230 13 246 eax work,audit_flags.grant_or_deny_shift,work " extra shift to get deny level 247 000201 aa 6 00055 2351 00 248 lda process_audit_flags 000202 aa 000000 7350 13 249 als 36-(audit_flags.grant_deny_shift+2*audit_flags.grant_or_deny_shift),work 000203 aa 000042 7710 00 250 arl 36-audit_flags.grant_or_deny_shift " grant/deny level into al 000204 aa 6 00054 1151 00 251 cmpa oper_code " process grant/deny level 000205 0a 000210 6050 00 252 tpl return_true " >= oper_code.oper_level 253 000206 254 return_false: 000206 aa 0 00000 4501 37 255 stz ap|0,x7* 000207 aa 7 00042 7101 20 256 return 257 000210 258 return_true: 000210 aa 400000 2350 03 259 lda =o400000,du 000211 aa 0 00000 7551 37 260 sta ap|0,x7* 000212 aa 7 00042 7101 20 261 return 262 end ENTRY SEQUENCES 000213 5a 000021 0000 00 000214 aa 7 00046 2721 20 000215 0a 000011 7100 00 000216 5a 000014 0000 00 000217 aa 7 00046 2721 20 000220 0a 000000 7100 00 NO LITERALS NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000222 5a 000003 000000 000223 5a 000035 600000 000224 aa 000000 000000 000225 55 000014 000002 000226 5a 000002 400003 000227 55 000006 000014 000230 aa 026 141 143 143 000231 aa 145 163 163 137 000232 aa 141 165 144 151 000233 aa 164 137 143 150 000234 aa 145 143 153 137 000235 aa 145 160 137 000 000236 55 000021 000003 000237 0a 000217 500000 000240 55 000017 000003 000241 aa 004 165 163 145 user 000242 aa 162 000 000 000 000243 55 000026 000014 000244 0a 000214 500000 000245 55 000024 000003 000246 aa 004 163 145 154 self 000247 aa 146 000 000 000 000250 55 000002 000021 000251 6a 000000 400002 000252 55 000031 000003 000253 aa 014 163 171 155 symbol_table 000254 aa 142 157 154 137 000255 aa 164 141 142 154 000256 aa 145 000 000 000 DEFINITIONS HASH TABLE 000257 aa 000000 000015 000260 aa 000000 000000 000261 aa 000000 000000 000262 aa 000000 000000 000263 aa 000000 000000 000264 aa 000000 000000 000265 aa 000000 000000 000266 5a 000014 000000 000267 5a 000026 000000 000270 aa 000000 000000 000271 aa 000000 000000 000272 5a 000021 000000 000273 aa 000000 000000 000274 aa 000000 000000 EXTERNAL NAMES 000275 aa 035 165 156 163 unsuccessful_access_threshold 000276 aa 165 143 143 145 000277 aa 163 163 146 165 000300 aa 154 137 141 143 000301 aa 143 145 163 163 000302 aa 137 164 150 162 000303 aa 145 163 150 157 000304 aa 154 144 000 000 000305 aa 031 141 165 144 audit_unsuccessful_access 000306 aa 151 164 137 165 000307 aa 156 163 165 143 000310 aa 143 145 163 163 000311 aa 146 165 154 137 000312 aa 141 143 143 145 000313 aa 163 163 000 000 000314 aa 033 163 165 143 successful_access_threshold 000315 aa 143 145 163 163 000316 aa 146 165 154 137 000317 aa 141 143 143 145 000320 aa 163 163 137 164 000321 aa 150 162 145 163 000322 aa 150 157 154 144 000323 aa 027 141 165 144 audit_successful_access 000324 aa 151 164 137 163 000325 aa 165 143 143 145 000326 aa 163 163 146 165 000327 aa 154 137 141 143 000330 aa 143 145 163 163 000331 aa 030 143 157 166 covert_channel_threshold 000332 aa 145 162 164 137 000333 aa 143 150 141 156 000334 aa 156 145 154 137 000335 aa 164 150 162 145 000336 aa 163 150 157 154 000337 aa 144 000 000 000 000340 aa 024 141 165 144 audit_covert_channel 000341 aa 151 164 137 143 000342 aa 157 166 145 162 000343 aa 164 137 143 150 000344 aa 141 156 156 145 000345 aa 154 000 000 000 000346 aa 034 156 157 137 no_audit_ring1_fs_object_ops 000347 aa 141 165 144 151 000350 aa 164 137 162 151 000351 aa 156 147 061 137 000352 aa 146 163 137 157 000353 aa 142 152 145 143 000354 aa 164 137 157 160 000355 aa 163 000 000 000 000356 aa 022 141 143 143 access_class_floor 000357 aa 145 163 163 137 000360 aa 143 154 141 163 000361 aa 163 137 146 154 000362 aa 157 157 162 000 000363 aa 010 163 171 163 sys_info 000364 aa 137 151 156 146 000365 aa 157 000 000 000 000366 aa 013 141 165 144 audit_flags 000367 aa 151 164 137 146 000370 aa 154 141 147 163 000371 aa 024 141 143 143 access_authorization 000372 aa 145 163 163 137 000373 aa 141 165 164 150 000374 aa 157 162 151 172 000375 aa 141 164 151 157 000376 aa 156 000 000 000 000377 aa 003 160 144 163 pds NO TRAP POINTER WORDS TYPE PAIR BLOCKS 000400 aa 000004 000000 000401 55 000141 000053 000402 aa 000004 000000 000403 55 000141 000063 000404 aa 000004 000000 000405 55 000141 000072 000406 aa 000004 000000 000407 55 000141 000101 000410 aa 000004 000000 000411 55 000141 000107 000412 aa 000004 000000 000413 55 000141 000116 000414 aa 000004 000000 000415 55 000155 000124 000416 aa 000004 000000 000417 55 000141 000134 000420 aa 000004 000000 000421 55 000155 000144 000422 aa 000004 000000 000423 55 000155 000147 000424 aa 000001 000000 000425 aa 000000 000000 INTERNAL EXPRESSION WORDS 000426 5a 000156 000001 000427 5a 000156 000000 000430 5a 000160 000000 000431 5a 000162 000001 000432 5a 000162 000000 000433 5a 000164 000000 000434 5a 000166 000001 000435 5a 000166 000000 000436 5a 000170 000000 000437 5a 000172 000000 000440 5a 000174 000000 000441 5a 000176 000000 000442 5a 000200 000000 000443 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000222 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000042 000007 a2 000000 000000 000010 9a 777770 0000 46 pds|access_authorization 000011 5a 000220 0000 00 000012 9a 777766 0000 46 pds|audit_flags 000013 5a 000217 0000 00 000014 9a 777764 0000 46 sys_info|access_class_floor 000015 5a 000216 0000 00 000016 9a 777762 0000 46 pds|no_audit_ring1_fs_object_ops 000017 5a 000215 0000 00 000020 9a 777760 0000 46 sys_info|audit_covert_channel 000021 5a 000214 0000 00 000022 9a 777756 0000 46 sys_info|covert_channel_threshold 000023 5a 000213 0000 00 000024 9a 777754 0000 46 sys_info|covert_channel_threshold 000025 5a 000212 0000 00 000026 9a 777752 0000 46 sys_info|audit_successful_access 000027 5a 000211 0000 00 000030 9a 777750 0000 46 sys_info|successful_access_threshold 000031 5a 000210 0000 00 000032 9a 777746 0000 46 sys_info|successful_access_threshold 000033 5a 000207 0000 00 000034 9a 777744 0000 46 sys_info|audit_unsuccessful_access 000035 5a 000206 0000 00 000036 9a 777742 0000 46 sys_info|unsuccessful_access_threshold 000037 5a 000205 0000 00 000040 9a 777740 0000 46 sys_info|unsuccessful_access_threshold 000041 5a 000204 0000 00 SYMBOL INFORMATION SYMBOL TABLE HEADER 000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000010 000004 aa 000000 117244 000005 aa 361023 525721 000006 aa 000000 117547 000007 aa 243562 665735 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000002 000002 000016 aa 000064 000000 000017 aa 000000 000316 000020 aa 000000 000231 000021 aa 000262 000252 000022 aa 000303 000231 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 070056 061064 000030 aa 040115 141162 000031 aa 143150 040061 000032 aa 071070 071040 000033 aa 040040 040040 000034 aa 110151 162156 000035 aa 145151 163145 000036 aa 156056 123171 000037 aa 163115 141151 000040 aa 156164 056141 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 055164 141162 000045 aa 147145 164040 000046 aa 154066 070040 000047 aa 040040 040040 000050 aa 040040 040040 000051 aa 040040 040040 000052 aa 040040 040040 000053 aa 040040 040040 000054 aa 040040 040040 000055 aa 040040 040040 000056 aa 040154 151163 000057 aa 164040 163171 000060 aa 155142 157154 000061 aa 163040 040040 000062 aa 040040 040040 000063 aa 040040 040040 000064 aa 000000 000001 000065 aa 000000 000007 000066 aa 000122 000055 000067 aa 175453 020355 000070 aa 000000 117547 000071 aa 177444 400000 000072 aa 000136 000055 000073 aa 134571 651563 000074 aa 000000 113462 000075 aa 317525 400000 000076 aa 000152 000055 000077 aa 133234 136245 000100 aa 000000 113324 000101 aa 322065 000000 000102 aa 000166 000050 000103 aa 134571 651504 000104 aa 000000 113462 000105 aa 317531 600000 000106 aa 000200 000042 000107 aa 130037 657474 000110 aa 000000 113006 000111 aa 135163 000000 000112 aa 000211 000037 000113 aa 134571 651534 000114 aa 000000 113462 000115 aa 317523 600000 000116 aa 000221 000040 000117 aa 134571 651567 000120 aa 000000 113462 000121 aa 317525 000000 000122 aa 076163 160145 >spec>install>1112>access_audit_check_ep_.alm 000123 aa 143076 151156 000124 aa 163164 141154 000125 aa 154076 061061 000126 aa 061062 076141 000127 aa 143143 145163 000130 aa 163137 141165 000131 aa 144151 164137 000132 aa 143150 145143 000133 aa 153137 145160 000134 aa 137056 141154 000135 aa 155040 040040 000136 aa 076154 144144 >ldd>include>access_audit_encoded_op.incl.alm 000137 aa 076151 156143 000140 aa 154165 144145 000141 aa 076141 143143 000142 aa 145163 163137 000143 aa 141165 144151 000144 aa 164137 145156 000145 aa 143157 144145 000146 aa 144137 157160 000147 aa 056151 156143 000150 aa 154056 141154 000151 aa 155040 040040 000152 aa 076154 144144 >ldd>include>access_audit_eventflags.incl.alm 000153 aa 076151 156143 000154 aa 154165 144145 000155 aa 076141 143143 000156 aa 145163 163137 000157 aa 141165 144151 000160 aa 164137 145166 000161 aa 145156 164146 000162 aa 154141 147163 000163 aa 056151 156143 000164 aa 154056 141154 000165 aa 155040 040040 000166 aa 076154 144144 >ldd>include>access_audit_flags.incl.alm 000167 aa 076151 156143 000170 aa 154165 144145 000171 aa 076141 143143 000172 aa 145163 163137 000173 aa 141165 144151 000174 aa 164137 146154 000175 aa 141147 163056 000176 aa 151156 143154 000177 aa 056141 154155 000200 aa 076154 144144 >ldd>include>aim_template.incl.alm 000201 aa 076151 156143 000202 aa 154165 144145 000203 aa 076141 151155 000204 aa 137164 145155 000205 aa 160154 141164 000206 aa 145056 151156 000207 aa 143154 056141 000210 aa 154155 040040 000211 aa 076154 144144 >ldd>include>dir_entry.incl.alm 000212 aa 076151 156143 000213 aa 154165 144145 000214 aa 076144 151162 000215 aa 137145 156164 000216 aa 162171 056151 000217 aa 156143 154056 000220 aa 141154 155040 000221 aa 076154 144144 >ldd>include>dir_header.incl.alm 000222 aa 076151 156143 000223 aa 154165 144145 000224 aa 076144 151162 000225 aa 137150 145141 000226 aa 144145 162056 000227 aa 151156 143154 000230 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number access_authorization access_audit_check_ep_: 92. access_class_floor access_audit_check_ep_: 113. 3 access_op.access_type_mask access_audit_check_ep_: 233, access_audit_encoded_op: 13. 36 access_op.access_type_shift access_audit_check_ep_: 231, access_audit_encoded_op: 12. 77 access_op.audit_type_mask access_audit_encoded_op: 9. 36 access_op.audit_type_shift access_audit_encoded_op: 8. 0 access_op.detailed_operation access_audit_encoded_op: 16. 17 access_op.object_type_mask access_audit_check_ep_: 235, access_audit_encoded_op: 11. 40 access_op.object_type_shift access_audit_check_ep_: 230, 231, access_audit_encoded_op: 10. 7777 access_op.operation_index_mask access_audit_encoded_op: 15. 22 access_op.operation_index_shift access_audit_encoded_op: 14. 0 aim_template.categories access_audit_check_ep_: 157, 218, 224, aim_template: 18. 4000 aim_template.comm aim_template: 35. 1 aim_template.comm_word aim_template: 34. 200000 aim_template.dir aim_template: 25. 1 aim_template.dir_word aim_template: 24. 400000 aim_template.ipc aim_template: 23. 1 aim_template.ipc_word aim_template: 22. 1 aim_template.level access_audit_check_ep_: 157, 218, 224, aim_template: 20. 1 aim_template.privileges aim_template: 21. 10000 aim_template.rcp aim_template: 33. 1 aim_template.rcp_word aim_template: 32. 20000 aim_template.ring1 aim_template: 31. 1 aim_template.ring1_word aim_template: 30. 100000 aim_template.seg aim_template: 27. 1 aim_template.seg_word aim_template: 26. 40000 aim_template.soos aim_template: 29. 1 aim_template.soos_word aim_template: 28. 2 aim_template_size aim_template: 15. audit_covert_channel access_audit_check_ep_: 152. 100000 audit_event_flags.admin_op access_audit_check_ep_: 171, 188, 238, access_audit_eventflags: 17. 10000 audit_event_flags.cc_10_100 access_audit_check_ep_: 150, 238, access_audit_eventflags: 20. 20000 audit_event_flags.cc_1_10 access_audit_check_ep_: 150, 159, 238, access_audit_eventflags: 19. 200000 audit_event_flags.grant access_audit_check_ep_: 213, 244, access_audit_eventflags: 16. 40000 audit_event_flags.priv_op access_audit_check_ep_: 177, 188, 238, access_audit_eventflags: 18. 4000 audit_event_flags.receiver access_audit_check_ep_: 155, access_audit_eventflags: 21. 400000 audit_event_flags.special_op access_audit_check_ep_: 145, access_audit_eventflags: 15. audit_flags access_audit_check_ep_: 95. 14 audit_flags.admin_deny_mask access_audit_flags: 26. 60 audit_flags.admin_grant_mask access_audit_flags: 25. 20 audit_flags.admin_ops access_audit_check_ep_: 173, access_audit_flags: 37. 1 audit_flags.cc_10_100 access_audit_check_ep_: 165, access_audit_flags: 41. 2 audit_flags.cc_1_10 access_audit_check_ep_: 161, access_audit_flags: 40. 4 audit_flags.faults access_audit_flags: 39. 6000 audit_flags.fsattr_deny_mask access_audit_flags: 22. 30000 audit_flags.fsattr_grant_mask access_audit_flags: 21. 140000 audit_flags.fsobj_deny_mask access_audit_flags: 20. 600000 audit_flags.fsobj_grant_mask access_audit_flags: 19. 40 audit_flags.grant_deny_shift access_audit_check_ep_: 249, access_audit_flags: 17. 2 audit_flags.grant_or_deny_shift access_audit_check_ep_: 242, 243, 246, 249, 250, access_audit_flags: 16. 30000 audit_flags.other_deny_mask access_audit_flags: 33. 140000 audit_flags.other_grant_mask access_audit_flags: 32. 7740 audit_flags.pad access_audit_flags: 35. 10 audit_flags.priv_ops access_audit_check_ep_: 179, access_audit_flags: 38. 300 audit_flags.rcp_deny_mask access_audit_flags: 24. 1400 audit_flags.rcp_grant_mask access_audit_flags: 23. 600000 audit_flags.special_deny_mask access_audit_flags: 31. 3 audit_flags.special_grant_mask access_audit_flags: 27. audit_successful_access access_audit_check_ep_: 216. audit_unsuccessful_access access_audit_check_ep_: 222. 6 a_entry_ptr access_audit_check_ep_: 52, 90, 105. 2 a_event_flags access_audit_check_ep_: 50, 100. 4 a_oper_code access_audit_check_ep_: 51, 102. 12 a_process_audit_flags access_audit_check_ep_: 54, 78, 85. 10 a_process_auth access_audit_check_ep_: 53, 80. 174 check_audit access_audit_check_ep_: 236, 241. 162 check_op_code access_audit_check_ep_: 219, 228. 152 check_system_deny access_audit_check_ep_: 214, 221. 76 covert access_audit_check_ep_: 156, 159. covert_channel_threshold access_audit_check_ep_: 157. 13 dir.access_class access_audit_check_ep_: 119, 120, dir_header: 30. 23 dir.acle_total dir_header: 49. 24 dir.arearp dir_header: 51. 62 dir.change_pclock dir_header: 83. 76 dir.checksum dir_header: 84. 2 dir.date dir_header: 25. 25 dir.dir dir_header: 64. 36 dir.dir_brp dir_header: 72. 22 dir.dir_count dir_header: 46. 36 dir.dir_frp dir_header: 71. 2 dir.dtc dir_header: 23. 60 dir.dts dir_header: 81. 17 dir.entrybrp dir_header: 37. 16 dir.entryfrp dir_header: 35. 3 dir.error dir_header: 26. 100000 dir.force_rpv dir_header: 57. 24 dir.force_rpv_word dir_header: 56. 55 dir.hash_table_rp dir_header: 75. 55 dir.htsize dir_header: 74. 56 dir.htused dir_header: 77. 1532 dir.iacl_count_shift dir_header: 62. 25 dir.iacl_count_word dir_header: 61. 1060 dir.iacl_shift dir_header: 67. 35 dir.iacl_word dir_header: 66. 23 dir.lcount dir_header: 48. 200000 dir.master_dir dir_header: 55. 61 dir.master_dir_uid dir_header: 82. 24 dir.master_dir_word dir_header: 54. 0 dir.modify dir_header: 18. 77 dir.owner dir_header: 85. 21 dir.pers_brp dir_header: 42. 20 dir.pers_frp dir_header: 39. 400000 dir.per_process_sw dir_header: 53. 24 dir.per_process_sw_word dir_header: 52. 21 dir.proj_brp dir_header: 43. 20 dir.proj_frp dir_header: 40. 11 dir.pvid dir_header: 28. 40000 dir.rehashing dir_header: 59. 24 dir.rehashing_word dir_header: 58. 25 dir.seg dir_header: 63. 35 dir.seg_brp dir_header: 69. 22 dir.seg_count dir_header: 45. 35 dir.seg_frp dir_header: 68. 1 dir.size dir_header: 21. 12 dir.sons_lvid dir_header: 29. 57 dir.tree_depth dir_header: 79. 1 dir.type dir_header: 20. 10 dir.uid dir_header: 27. 15 dir.version_number dir_header: 33. 15 dir.vtocx dir_header: 32. 2 dir_ptr access_audit_check_ep_: 57, 118, 119, 120. 100 dir_size dir_header: 15. 33 entry.access_class access_audit_check_ep_: 137, 138, dir_entry: 77. 35 entry.acle_count dir_entry: 85. 36 entry.acl_brp dir_entry: 88. 36 entry.acl_frp dir_entry: 87. 4000 entry.audit_flag access_audit_check_ep_: 203, dir_entry: 61. 32 entry.audit_flag_word access_audit_check_ep_: 202, dir_entry: 60. 112 entry.author_shift dir_entry: 37. 6 entry.author_word dir_entry: 36. 143 entry.bc_author_shift dir_entry: 91. 37 entry.bc_author_word dir_entry: 90. 0 entry.bc_shift dir_entry: 97. 40 entry.bc_word dir_entry: 96. 400000 entry.bs dir_entry: 27. 4 entry.bs_word access_audit_check_ep_: 116, 200, dir_entry: 26. 43 entry.checksum dir_entry: 101. 40000 entry.copysw dir_entry: 55. 32 entry.copysw_word dir_entry: 54. 400000 entry.dirsw dir_entry: 49. 32 entry.dirsw_word access_audit_check_ep_: 126, dir_entry: 48. 26 entry.dtd dir_entry: 41. 3 entry.dtem dir_entry: 24. 0 entry.ebrp dir_entry: 18. 0 entry.efrp dir_entry: 17. 37777 entry.entrypt_bound_mask dir_entry: 75. 0 entry.entrypt_bound_shift dir_entry: 74. 32 entry.entrypt_bound_word dir_entry: 73. 1000 entry.entrypt_sw dir_entry: 65. 32 entry.entrypt_sw_word dir_entry: 64. 7 entry.ex_ring_brackets_mask dir_entry: 84. 30 entry.ex_ring_brackets_shift dir_entry: 83. 35 entry.ex_ring_brackets_word dir_entry: 82. 400 entry.master_dir dir_entry: 67. 32 entry.master_dir_word dir_entry: 66. 10000 entry.multiple_class dir_entry: 59. 32 entry.multiple_class_word dir_entry: 58. 5 entry.name_brp dir_entry: 34. 5 entry.name_frp dir_entry: 33. 4 entry.nnames dir_entry: 31. 200000 entry.oosw dir_entry: 51. 32 entry.oosw_word dir_entry: 50. 44 entry.owner dir_entry: 102. 377777 entry.pad0_mask dir_entry: 30. 22 entry.pad0_shift dir_entry: 29. 4 entry.pad0_word dir_entry: 28. 7 entry.pad1 dir_entry: 39. 27 entry.pad2 dir_entry: 42. 31 entry.pad3 dir_entry: 46. 3777 entry.pad4_mask dir_entry: 72. 16 entry.pad4_shift dir_entry: 71. 32 entry.pad4_word dir_entry: 70. 3 entry.pad5_mask dir_entry: 95. 31 entry.pad5_shift dir_entry: 94. 40 entry.pad5_word dir_entry: 93. 42 entry.pad6 dir_entry: 100. 100000 entry.per_process_sw dir_entry: 53. 32 entry.per_process_sw_word dir_entry: 52. 10 entry.primary_name dir_entry: 40. 30 entry.pvid dir_entry: 43. 7 entry.ring_brackets_mask access_audit_check_ep_: 131, dir_entry: 81. 41 entry.ring_brackets_shift access_audit_check_ep_: 130, 206, dir_entry: 80. 35 entry.ring_brackets_word access_audit_check_ep_: 129, 205, dir_entry: 79. 20000 entry.safety_sw dir_entry: 57. 32 entry.safety_sw_word dir_entry: 56. 2000 entry.security_oosw dir_entry: 63. 32 entry.security_oosw_word dir_entry: 62. 1 entry.size dir_entry: 21. 41 entry.sons_lvid dir_entry: 99. 200 entry.tpd dir_entry: 69. 32 entry.tpd_word dir_entry: 68. 1 entry.type dir_entry: 20. 2 entry.uid dir_entry: 23. 31 entry.vtocx dir_entry: 45. 1 entry_ptr access_audit_check_ep_: 56, 105, 106, 109, 116, 118, 126, 129, 137, 138, 196, 200, 202, 205. 45 entry_size dir_entry: 15. 1 event_flags access_audit_check_ep_: 58, 100, 145, 150, 155, 159, 171, 177, 188, 213, 238, 244. 55 get_class access_audit_check_ep_: 124, 127, 133, 136. 43 have_branch access_audit_check_ep_: 117, 122. 57 have_class access_audit_check_ep_: 114, 121, 140. 35 have_entry access_audit_check_ep_: 112, 115. 17 join access_audit_check_ep_: 87, 97. 103 large_cc access_audit_check_ep_: 160, 164. 111 not_admin access_audit_check_ep_: 172, 176. 137 not_always_audit access_audit_check_ep_: 199, 201, 204, 212. 105 not_covert access_audit_check_ep_: 151, 153, 157, 163, 170. 115 not_priv access_audit_check_ep_: 178, 185. 122 not_ring_1 access_audit_check_ep_: 187, 189, 195. no_audit_ring1_fs_object_ops access_audit_check_ep_: 123. 50 obj_class access_audit_check_ep_: 63, 141, 218, 224. 54 oper_code access_audit_check_ep_: 65, 103, 229, 234, 251. pds access_audit_check_ep_: 92, 95, 123. 55 process_audit_flags access_audit_check_ep_: 66, 97, 248. 5 process_audit_flags_dl access_audit_check_ep_: 61, 98, 161, 165, 173, 179. 52 process_auth access_audit_check_ep_: 64, 83, 93, 157. 206 return_false access_audit_check_ep_: 190, 217, 218, 223, 224, 239, 254. 210 return_true access_audit_check_ep_: 146, 162, 166, 174, 180, 208, 252, 258. 11 self access_audit_check_ep_: 19, 89. successful_access_threshold access_audit_check_ep_: 218. sys_info access_audit_check_ep_: 113, 152, 157, 216, 218, 222, 224. 4 tcb_obj access_audit_check_ep_: 60, 108, 134, 186. unsuccessful_access_threshold access_audit_check_ep_: 224. 0 user access_audit_check_ep_: 20, 77. 2 version_number_2 dir_header: 87. 3 work access_audit_check_ep_: 59, 157, 218, 224, 243, 246, 249. NO FATAL ERRORS ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved