COMPILATION LISTING OF SEGMENT convert_v2_pnt_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/04/87 1624.3 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* CONVERT_V2_PNT_: This subroutine is the target of the gate entry 7* pnt_admin_gate_$convert_v2_pnt. It converts the specified PNT from 8* a version 2 (or 1) MSTB to a version 3 MSTB and converts all pre-MR11 9* PNT entries to the new MR11 format. PNT entries were changed to 10* accomodate 32 character-long passwords, support AIM ranges, and 11* include a version number. */ 12 13 /* format: style2 */ 14 15 convert_v2_pnt_: 16 procedure (P_dirname, P_entryname, P_code); 17 18 /**** Modified 84-12-14 by EJ Sharpe to call convert_MR10_2_audit_flags_ */ 19 /**** Written 1984-08-08 by E. Swenson */ 20 21 /* Parameters */ 22 23 dcl P_code fixed bin (35) parameter; 24 dcl P_dirname char (*) parameter; 25 dcl P_entryname char (*) parameter; 26 dcl P_table_ptr ptr parameter; 27 dcl P_septr ptr parameter; 28 dcl P_teptr ptr parameter; 29 dcl P_ec fixed bin (35) parameter; 30 31 /* Automatic */ 32 33 dcl code fixed bin (35); 34 dcl dirname char (168); 35 dcl entryname char (32); 36 dcl entryname_with_suffix char (32); 37 dcl new_entryname char (32); 38 dcl old_entryname char (32); 39 dcl old_newname char (32); 40 dcl saved_level fixed bin (3); 41 dcl table_ptr ptr; 42 43 /* External Entries */ 44 45 dcl convert_MR10_2_audit_flags_ entry (bit (36) aligned); 46 dcl convert_v2_mstb_ entry (char (*), char (*), char (*), char (*), entry, fixed bin (18) unsigned, 47 fixed bin (35)); 48 dcl hcs_$chname_file entry (char (*), char (*), char (*), char (*), fixed bin (35)); 49 dcl hcs_$level_get entry (fixed bin (3)); 50 dcl hcs_$level_set entry (fixed bin (3)); 51 dcl get_ring_ entry () returns (fixed bin (3)); 52 dcl ms_table_mgr_v2_$close entry (ptr, fixed bin (35)); 53 dcl ms_table_mgr_$delete entry (char (*), char (*), fixed bin (35)); 54 dcl ms_table_mgr_v2_$open entry (char (*), char (*), char (*) aligned, ptr, ptr, fixed bin (35)); 55 dcl suffixed_name_$make entry (char (*), char (*), char (32), fixed bin (35)); 56 dcl unique_chars_ entry (bit (*)) returns (char (15)); 57 58 /* Conditions */ 59 60 dcl cleanup condition; 61 62 /* Program */ 63 64 dirname = P_dirname; /* Copy arguments -- we're a gate */ 65 entryname = P_entryname; 66 67 saved_level = -1; /* For cleanup handler */ 68 on condition (cleanup) 69 begin; 70 if saved_level ^= -1 71 then do; 72 call hcs_$level_set (saved_level); 73 saved_level = -1; 74 end; 75 end; 76 77 call hcs_$level_get (saved_level); 78 call hcs_$level_set (get_ring_ ()); 79 80 /**** First check to see if the PNT exists and is a valid PNT */ 81 82 call suffixed_name_$make (entryname, "pnt", entryname_with_suffix, code); 83 if code ^= 0 84 then goto RETURN_TO_CALLER; 85 86 call ms_table_mgr_v2_$open (dirname, entryname, "PNT", table_ptr, (null ()), code); 87 if code ^= 0 88 then goto RETURN_TO_CALLER; 89 90 /**** That was all we needed, close it now. */ 91 92 call ms_table_mgr_v2_$close (table_ptr, (0)); 93 94 new_entryname = rtrim (substr (entryname, 1, 16)) || "." || unique_chars_ (""b); 95 96 call convert_v2_mstb_ (dirname, entryname, dirname, new_entryname, convert_v2_pnte_, size (pnt_entry), code); 97 if code ^= 0 98 then goto RETURN_TO_CALLER; 99 100 old_newname = rtrim (substr (entryname, 1, 16)) || "." || unique_chars_ (""b); 101 102 /* Add shriekname to old PNT */ 103 104 call hcs_$chname_file (dirname, entryname, "", old_newname, code); 105 if code ^= 0 106 then goto RETURN_TO_CALLER; 107 108 /* Delete real name from old PNT */ 109 110 call hcs_$chname_file (dirname, entryname, entryname, "", code); 111 if code ^= 0 112 then goto RETURN_TO_CALLER; 113 114 /* Rename the new one to the real name. Enforce the new suffix convention. */ 115 116 call hcs_$chname_file (dirname, new_entryname, new_entryname, entryname_with_suffix, code); 117 118 RETURN_TO_CALLER: 119 call hcs_$level_set (saved_level); 120 saved_level = -1; 121 P_code = code; 122 return; 123 124 convert_v2_pnte_: 125 entry (P_table_ptr, P_septr, P_teptr, P_ec); 126 127 dcl 1 pnte_v0 aligned like pnt_entry_v0 based (P_septr); 128 dcl 1 pnte_v2 aligned like pnt_entry based (P_teptr); 129 130 /**** This is the declaration of the old pnt entry format. It is 131* here only to be used in the conversion of the old format to 132* Version 2 pnt entries. */ 133 134 declare 1 pnt_entry_v0 aligned, /* declaration of a single PNT entry */ 135 2 password character (8), /* person's password */ 136 2 card_password character (8), 137 2 public, 138 3 user_id character (32), /* user ID (for alias entries */ 139 3 alias character (8), 140 3 default_project character (16), /* user's default project */ 141 3 flags, /* one-bit flags */ 142 4 has_password bit (1) unaligned, 143 4 has_card_password 144 bit (1) unaligned, 145 4 trap bit (1) unal, /* If this password is used, holler */ 146 4 lock bit (1) unal, /* prevent login if on. */ 147 4 nochange bit (1) unal, /* user cannot change password */ 148 4 must_change bit unal, /* user must change password at next login */ 149 4 pw_time_lock bit (1) unal, /* if password has a time lock */ 150 4 generate_pw bit (1) unal, /* ON if we give new pw, OFF lets user select new pw */ 151 4 last_bad_pw_reported 152 bit (1) unal, /* ON if user has NOT been told about last bad password */ 153 4 pads bit (27) unal, 154 3 n_good_pw fixed bin, /* Number of good passwords */ 155 3 n_bad_pw fixed bin, /* Number of wrong passwords */ 156 3 n_bad_pw_since_good 157 fixed bin, /* Number of wrong passwords since good */ 158 3 time_last_good_pw 159 fixed bin (71), 160 3 time_last_bad_pw fixed bin (71), /* When pw was last given wrong */ 161 3 bad_pw_term_id character (4), /* where bad password from */ 162 3 bad_pw_line_type fixed bin (17), /* ... */ 163 3 bad_pw_term_type character (32), 164 3 time_pw_changed fixed bin (71), /* When password was modified by user */ 165 3 password_timelock 166 fixed bin (71), /* Password is locked up until here */ 167 3 person_authorization 168 bit (72), /* authorization of this person */ 169 3 default_person_authorization 170 bit (72), /* default authorization of this person */ 171 3 audit bit (36); /* audit flags for person */ 172 173 dcl 1 pnte_v0_auto aligned like pnt_entry_v0 automatic; 174 175 /* The following copy is necessary because the entries in Version 1 176* and Version 2 MSTBs are not necessarily on an even word boundary. 177* Thus, the fixed bin (71) values in the pnt_entry structure would 178* not always copy correctly. */ 179 180 pnte_v0_auto = pnte_v0; 181 182 /* copy the version 0 entry to our version 2 entry. */ 183 184 pnte_v2.version = PNT_ENTRY_VERSION_2; 185 pnte_v2.private.pw_flags.short_pw = "1"b; /* There weren't long ones */ 186 pnte_v2.private.pw_flags.short_network_pw = "1"b; /* ditto */ 187 pnte_v2.private.password = pnte_v0_auto.password; 188 pnte_v2.private.network_password = pnte_v0_auto.card_password; 189 pnte_v2.public.user_id = pnte_v0_auto.public.user_id; 190 pnte_v2.public.alias = pnte_v0_auto.public.alias; 191 pnte_v2.public.default_project = pnte_v0_auto.public.default_project; 192 string (pnte_v2.public.flags) = string (pnte_v0_auto.public.flags); 193 pnte_v2.public.n_good_pw = pnte_v0_auto.public.n_good_pw; 194 pnte_v2.public.n_bad_pw = pnte_v0_auto.public.n_bad_pw; 195 pnte_v2.public.n_bad_pw_since_good = pnte_v0_auto.public.n_bad_pw_since_good; 196 pnte_v2.public.time_pw_changed = pnte_v0_auto.public.time_pw_changed; 197 pnte_v2.public.time_last_good_pw = pnte_v0_auto.public.time_last_good_pw; 198 pnte_v2.public.time_last_bad_pw = pnte_v0_auto.public.time_last_bad_pw; 199 pnte_v2.public.bad_pw_term_id = pnte_v0_auto.public.bad_pw_term_id; 200 201 /**** The following code will prevent new PNTs from having an invalid 202* value in the bad_pw_line_type field. Evidently, something didn't 203* check this before and there are invalid numbers in these fields 204* in existing V0 PNTs. */ 205 206 if pnte_v0_auto.public.bad_pw_line_type > max_line_type 207 then pnte_v2.public.bad_pw_line_type = LINE_UNKNOWN; 208 else pnte_v2.public.bad_pw_line_type = pnte_v0_auto.public.bad_pw_line_type; 209 210 pnte_v2.public.bad_pw_term_type = pnte_v0_auto.public.bad_pw_term_type; 211 pnte_v2.public.password_timelock = pnte_v0_auto.public.password_timelock; 212 pnte_v2.public.default_person_authorization = pnte_v0_auto.public.default_person_authorization; 213 pnte_v2.public.audit = pnte_v0_auto.public.audit; 214 call convert_MR10_2_audit_flags_ (pnte_v2.public.audit); 215 pnte_v2.pad (*) = ""b; /* Zero out the pad area */ 216 217 218 /* The authorization has become a range. We set the minimum authorization 219* to system_low for compatibility. Note that we are assuming that 220* system_low is represented by ""b. If at some future time we support 221* an access_class_floor, then this code should be changed to get the 222* "real" system_low. */ 223 224 pnte_v2.public.person_authorization (1) = ""b; /* system_low */ 225 pnte_v2.public.person_authorization (2) = pnte_v0_auto.public.person_authorization; 226 return; 227 228 /* format: off */ 229 /* BEGIN INCLUDE FILE ... pnt_entry.incl.pl1 */ 1 2 1 3 /* Modified 790702 by C. Hornig for MSF PNT */ 1 4 /* Modified 84-07-18 BIM for V2, aim ranges, long passwords. */ 1 5 /* Modified 84-09-25 for operator attribute... -E. A. Ranzenbach */ 1 6 /* Modified 85-03-05 E. Swenson for user_validated_time */ 1 7 1 8 /**** The ms_table_mgr_ has fixed sized entries, for now. 1 9* The presence of a version field and some pad allow 1 10* us to have incrementally-upgraded PNTE's in a future change. 1 11**/ 1 12 1 13 /**** The conversion to V2 copies the existing encrypted passwords. 1 14* Since the 32 character scrambling algorithm will not give the 1 15* same results, the short_XX flags indicate that the old scrambler 1 16* should be used. The short flags are automatically turned off 1 17* by calls to update the password with the long-scrambled form. */ 1 18 1 19 /* format: style4,insnl,delnl */ 1 20 1 21 declare pntep pointer automatic; 1 22 declare 1 pnt_entry based (pntep) aligned, /* declaration of a single PNT entry */ 1 23 2 version fixed bin, 1 24 2 private aligned, 1 25 3 pw_flags aligned, 1 26 4 short_pw bit (1) unal, /* ON password is eight-character form */ 1 27 4 short_network_pw bit (1) unal, /* ON card password is eight character form. */ 1 28 3 password character (32), /* person's password */ 1 29 3 network_password character (32), 1 30 2 public, 1 31 3 user_id character (32), /* user ID (for alias entries */ 1 32 3 alias character (8), 1 33 3 default_project character (16), /* user's default project */ 1 34 3 flags, /* one-bit flags */ 1 35 4 has_password bit (1) unaligned, 1 36 4 has_network_password bit (1) unaligned, 1 37 4 trap bit (1) unal, /* If this password is used, holler */ 1 38 4 lock bit (1) unal, /* prevent login if on. */ 1 39 4 nochange bit (1) unal, /* user cannot change password */ 1 40 4 must_change bit unal, /* user must change password at next login */ 1 41 4 pw_time_lock bit (1) unal, /* if password has a time lock */ 1 42 4 generate_pw bit (1) unal, /* ON if we give new pw, OFF lets user select new pw */ 1 43 4 last_bad_pw_reported bit (1) unal, /* ON if user has NOT been told about last bad password */ 1 44 4 operator bit (1) unal, /* ON if user can login as an operator... */ 1 45 4 pads bit (26) unal, 1 46 3 n_good_pw fixed bin, /* Number of good passwords */ 1 47 3 n_bad_pw fixed bin, /* Number of wrong passwords */ 1 48 3 n_bad_pw_since_good fixed bin, /* Number of wrong passwords since good */ 1 49 3 time_pw_changed fixed bin (71), /* When password was modified by user */ 1 50 1 51 3 time_last_good_pw fixed bin (71), 1 52 3 time_last_bad_pw fixed bin (71), /* When pw was last given wrong */ 1 53 3 bad_pw_term_id character (4), /* where bad password from */ 1 54 3 bad_pw_line_type fixed bin (17), /* ... */ 1 55 3 bad_pw_term_type character (32), 1 56 3 password_timelock fixed bin (71), /* Password is locked up until here */ 1 57 3 person_authorization (2) bit (72), /* authorization of this person */ 1 58 3 default_person_authorization bit (72), /* default authorization of this person */ 1 59 3 audit bit (36), /* audit flags for person */ 1 60 3 pad1 bit (36), /* pad to even word boundary */ 1 61 3 user_validated_time fixed bin (71), /* time this PNT entry was last validated by an administrator */ 1 62 2 pad (80 - 64) bit (36) aligned; 1 63 1 64 declare PNT_ENTRY_VERSION_2 fixed bin init (2) int static options (constant); 1 65 1 66 /* END INCLUDE FILE ... pnte.incl.pl1 */ 229 230 /* BEGIN INCLUDE FILE ... line_types.incl.pl1 */ 2 2 2 3 /* Written November 10 1975 by Paul Green */ 2 4 /* Modified October 1978 by Larry Johnson to include line_type_names */ 2 5 /* Modified 12/19/78 by J. Stern to add POLLED_VIP line type */ 2 6 /* Modified 9/27/79 by J. Stern to add X25LAP line type */ 2 7 /* Modified Spring 1981 by Charles Hornig to add HDLC line type */ 2 8 /* Modified May 1981 by Robert Coren to add COLTS line type */ 2 9 /* Modified September 1984 by Robert Coren to correctly count VIP as a synchronous line type */ 2 10 2 11 2 12 /****^ HISTORY COMMENTS: 2 13* 1) change(86-02-25,Negaret), approve(87-07-13,MCR7679), 2 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 2 15* Add a DSA line type. 2 16* 2) change(87-03-17,Beattie), approve(87-07-13,MCR7656), 2 17* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 2 18* Add HASP_OPR to identify HASP workstation consoles with login service. 2 19* END HISTORY COMMENTS */ 2 20 2 21 2 22 declare (LINE_MC initial (-2), 2 23 LINE_TELNET initial (-1), 2 24 LINE_UNKNOWN initial (0), 2 25 LINE_ASCII initial (1), 2 26 LINE_1050 initial (2), 2 27 LINE_2741 initial (3), 2 28 LINE_ARDS initial (4), 2 29 LINE_SYNCH initial (5), 2 30 LINE_G115 initial (6), 2 31 LINE_BSC initial (7), 2 32 LINE_ETX initial (8), 2 33 LINE_VIP initial (9), 2 34 LINE_ASYNC1 initial (10), 2 35 LINE_ASYNC2 initial (11), 2 36 LINE_ASYNC3 initial (12), 2 37 LINE_SYNC1 initial (13), 2 38 LINE_SYNC2 initial (14), 2 39 LINE_SYNC3 initial (15), 2 40 LINE_POLLED_VIP initial (16), 2 41 LINE_X25LAP initial (17), 2 42 LINE_HDLC initial (18), 2 43 LINE_COLTS initial (19), 2 44 LINE_DSA initial (20), 2 45 LINE_HASP_OPR initial (21) 2 46 ) fixed bin internal static options (constant); 2 47 2 48 dcl max_line_type fixed bin int static options (constant) init (21); 2 49 2 50 declare n_sync_line_types fixed bin int static options (constant) init (10); 2 51 2 52 declare sync_line_type (10) fixed bin int static options (constant) init (5, 6, 7, 9, 13, 14, 15, 16, 17, 18); 2 53 2 54 dcl line_types (-2:21) char (16) int static options (constant) init ( 2 55 "MC", /* -2 */ 2 56 "TELNET", /* -1 */ 2 57 "none", /* 0 */ 2 58 "ASCII", /* 1 */ 2 59 "1050", /* 2 */ 2 60 "2741", /* 3 */ 2 61 "ARDS", /* 4 */ 2 62 "Sync", /* 5 */ 2 63 "G115", /* 6 */ 2 64 "BSC", /* 7 */ 2 65 "202ETX", /* 8 */ 2 66 "VIP", /* 9 */ 2 67 "ASYNC1", /* 10 */ 2 68 "ASYNC2", /* 11 */ 2 69 "ASYNC3", /* 12 */ 2 70 "SYNC1", /* 13 */ 2 71 "SYNC2", /* 14 */ 2 72 "SYNC3", /* 15 */ 2 73 "POLLED_VIP", /* 16 */ 2 74 "X25LAP", /* 17 */ 2 75 "HDLC", /* 18 */ 2 76 "COLTS", /* 19 */ 2 77 "DSA", /* 20 */ 2 78 "HASP_OPR"); /* 21 */ 2 79 2 80 /* END INCLUDE FILE ... line_types.incl.pl1 */ 230 231 /* format: on */ 232 233 end convert_v2_pnt_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1541.0 convert_v2_pnt_.pl1 >special_ldd>install>MR12.1-1054>convert_v2_pnt_.pl1 229 1 03/15/85 0953.1 pnt_entry.incl.pl1 >ldd>include>pnt_entry.incl.pl1 230 2 08/04/87 1140.0 line_types.incl.pl1 >spec>install>1056>line_types.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. LINE_UNKNOWN constant fixed bin(17,0) initial dcl 2-22 ref 206 PNT_ENTRY_VERSION_2 constant fixed bin(17,0) initial dcl 1-64 ref 184 P_code parameter fixed bin(35,0) dcl 23 set ref 15 121* P_dirname parameter char unaligned dcl 24 ref 15 64 P_ec parameter fixed bin(35,0) dcl 29 ref 124 P_entryname parameter char unaligned dcl 25 ref 15 65 P_septr parameter pointer dcl 27 ref 124 180 P_table_ptr parameter pointer dcl 26 ref 124 P_teptr parameter pointer dcl 28 ref 124 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 206 208 210 211 212 213 214 215 224 225 alias 32 based char(8) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 190* alias 14 000302 automatic char(8) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 190 audit 74 based bit(36) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 213* 214* audit 54 000302 automatic bit(36) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 213 bad_pw_line_type 53 based fixed bin(17,0) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 206* 208* bad_pw_line_type 33 000302 automatic fixed bin(17,0) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 206 208 bad_pw_term_id 52 based char(4) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 199* bad_pw_term_id 32 000302 automatic char(4) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 199 bad_pw_term_type 34 000302 automatic char(32) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 210 bad_pw_term_type 54 based char(32) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 210* card_password 2 000302 automatic char(8) level 2 dcl 173 set ref 188 cleanup 000216 stack reference condition dcl 60 ref 68 code 000100 automatic fixed bin(35,0) dcl 33 set ref 82* 83 86* 87 96* 97 104* 105 110* 111 116* 121 convert_MR10_2_audit_flags_ 000010 constant entry external dcl 45 ref 214 convert_v2_mstb_ 000012 constant entry external dcl 46 ref 96 default_person_authorization 52 000302 automatic bit(72) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 212 default_person_authorization 72 based bit(72) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 212* default_project 34 based char(16) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 191* default_project 16 000302 automatic char(16) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 191 dirname 000101 automatic char(168) unaligned dcl 34 set ref 64* 86* 96* 96* 104* 110* 116* entryname 000153 automatic char(32) unaligned dcl 35 set ref 65* 82* 86* 94 96* 100 104* 110* 110* entryname_with_suffix 000163 automatic char(32) unaligned dcl 36 set ref 82* 116* flags 40 based structure level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 192* flags 22 000302 automatic structure level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 192 get_ring_ 000022 constant entry external dcl 51 ref 78 78 hcs_$chname_file 000014 constant entry external dcl 48 ref 104 110 116 hcs_$level_get 000016 constant entry external dcl 49 ref 77 hcs_$level_set 000020 constant entry external dcl 50 ref 72 78 118 max_line_type constant fixed bin(17,0) initial dcl 2-48 ref 206 ms_table_mgr_v2_$close 000024 constant entry external dcl 52 ref 92 ms_table_mgr_v2_$open 000026 constant entry external dcl 54 ref 86 n_bad_pw 24 000302 automatic fixed bin(17,0) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 194 n_bad_pw 42 based fixed bin(17,0) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 194* n_bad_pw_since_good 43 based fixed bin(17,0) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 195* n_bad_pw_since_good 25 000302 automatic fixed bin(17,0) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 195 n_good_pw 23 000302 automatic fixed bin(17,0) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 193 n_good_pw 41 based fixed bin(17,0) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 193* network_password 12 based char(32) level 3 dcl 128 set ref 188* new_entryname 000173 automatic char(32) unaligned dcl 37 set ref 94* 96* 116* 116* old_newname 000203 automatic char(32) unaligned dcl 39 set ref 100* 104* pad 100 based bit(36) array level 2 dcl 128 set ref 215* password 000302 automatic char(8) level 2 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 187 password 2 based char(32) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 187* password_timelock 46 000302 automatic fixed bin(71,0) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 211 password_timelock 64 based fixed bin(71,0) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 211* person_authorization 50 000302 automatic bit(72) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 225 person_authorization 66 based bit(72) array level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 224* 225* pnt_entry based structure level 1 dcl 1-22 ref 96 96 pnt_entry_v0 000224 automatic structure level 1 dcl 134 pnte_v0 based structure level 1 dcl 127 ref 180 pnte_v0_auto 000302 automatic structure level 1 dcl 173 set ref 180* pnte_v2 based structure level 1 dcl 128 pntep automatic pointer dcl 1-21 ref 96 96 private 1 based structure level 2 dcl 128 public 4 000302 automatic structure level 2 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" public 22 based structure level 2 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" pw_flags 1 based structure level 3 dcl 128 saved_level 000213 automatic fixed bin(3,0) dcl 40 set ref 67* 70 72* 73* 77* 118* 120* short_network_pw 1(01) based bit(1) level 4 packed unaligned dcl 128 set ref 186* short_pw 1 based bit(1) level 4 packed unaligned dcl 128 set ref 185* suffixed_name_$make 000030 constant entry external dcl 55 ref 82 table_ptr 000214 automatic pointer dcl 41 set ref 86* 92* time_last_bad_pw 50 based fixed bin(71,0) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 198* time_last_bad_pw 30 000302 automatic fixed bin(71,0) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 198 time_last_good_pw 46 based fixed bin(71,0) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 197* time_last_good_pw 26 000302 automatic fixed bin(71,0) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 197 time_pw_changed 44 based fixed bin(71,0) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 196* time_pw_changed 44 000302 automatic fixed bin(71,0) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 196 unique_chars_ 000032 constant entry external dcl 56 ref 94 100 user_id 22 based char(32) level 3 in structure "pnte_v2" dcl 128 in procedure "convert_v2_pnt_" set ref 189* user_id 4 000302 automatic char(32) level 3 in structure "pnte_v0_auto" dcl 173 in procedure "convert_v2_pnt_" set ref 189 version based fixed bin(17,0) level 2 dcl 128 set ref 184* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. LINE_1050 internal static fixed bin(17,0) initial dcl 2-22 LINE_2741 internal static fixed bin(17,0) initial dcl 2-22 LINE_ARDS internal static fixed bin(17,0) initial dcl 2-22 LINE_ASCII internal static fixed bin(17,0) initial dcl 2-22 LINE_ASYNC1 internal static fixed bin(17,0) initial dcl 2-22 LINE_ASYNC2 internal static fixed bin(17,0) initial dcl 2-22 LINE_ASYNC3 internal static fixed bin(17,0) initial dcl 2-22 LINE_BSC internal static fixed bin(17,0) initial dcl 2-22 LINE_COLTS internal static fixed bin(17,0) initial dcl 2-22 LINE_DSA internal static fixed bin(17,0) initial dcl 2-22 LINE_ETX internal static fixed bin(17,0) initial dcl 2-22 LINE_G115 internal static fixed bin(17,0) initial dcl 2-22 LINE_HASP_OPR internal static fixed bin(17,0) initial dcl 2-22 LINE_HDLC internal static fixed bin(17,0) initial dcl 2-22 LINE_MC internal static fixed bin(17,0) initial dcl 2-22 LINE_POLLED_VIP internal static fixed bin(17,0) initial dcl 2-22 LINE_SYNC1 internal static fixed bin(17,0) initial dcl 2-22 LINE_SYNC2 internal static fixed bin(17,0) initial dcl 2-22 LINE_SYNC3 internal static fixed bin(17,0) initial dcl 2-22 LINE_SYNCH internal static fixed bin(17,0) initial dcl 2-22 LINE_TELNET internal static fixed bin(17,0) initial dcl 2-22 LINE_VIP internal static fixed bin(17,0) initial dcl 2-22 LINE_X25LAP internal static fixed bin(17,0) initial dcl 2-22 line_types internal static char(16) initial array unaligned dcl 2-54 ms_table_mgr_$delete 000000 constant entry external dcl 53 n_sync_line_types internal static fixed bin(17,0) initial dcl 2-50 old_entryname automatic char(32) unaligned dcl 38 sync_line_type internal static fixed bin(17,0) initial array dcl 2-52 NAMES DECLARED BY EXPLICIT CONTEXT. RETURN_TO_CALLER 000561 constant label dcl 118 ref 83 87 97 105 111 convert_v2_pnt_ 000030 constant entry external dcl 15 convert_v2_pnte_ 000603 constant entry external dcl 124 ref 96 96 NAMES DECLARED BY CONTEXT OR IMPLICATION. null builtin function ref 86 rtrim builtin function ref 94 100 size builtin function ref 96 96 string builtin function ref 192 192 substr builtin function ref 94 100 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1126 1162 750 1136 Length 1410 750 34 211 156 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME convert_v2_pnt_ 324 external procedure is an external procedure. on unit on line 68 68 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME convert_v2_pnt_ 000100 code convert_v2_pnt_ 000101 dirname convert_v2_pnt_ 000153 entryname convert_v2_pnt_ 000163 entryname_with_suffix convert_v2_pnt_ 000173 new_entryname convert_v2_pnt_ 000203 old_newname convert_v2_pnt_ 000213 saved_level convert_v2_pnt_ 000214 table_ptr convert_v2_pnt_ 000224 pnt_entry_v0 convert_v2_pnt_ 000302 pnte_v0_auto convert_v2_pnt_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac enable_op shorten_stack ext_entry ext_entry_desc int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. convert_MR10_2_audit_flags_ convert_v2_mstb_ get_ring_ hcs_$chname_file hcs_$level_get hcs_$level_set ms_table_mgr_v2_$close ms_table_mgr_v2_$open suffixed_name_$make unique_chars_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 15 000024 64 000050 65 000056 67 000062 68 000064 70 000100 72 000104 73 000112 75 000115 77 000116 78 000125 82 000143 83 000171 86 000173 87 000233 92 000235 94 000247 96 000323 97 000371 100 000373 104 000447 105 000500 110 000502 111 000531 116 000533 118 000561 120 000570 121 000572 122 000575 124 000576 180 000610 184 000616 185 000621 186 000624 187 000626 188 000631 189 000634 190 000637 191 000642 192 000650 193 000652 194 000654 195 000656 196 000660 197 000662 198 000664 199 000666 206 000670 208 000676 210 000677 211 000702 212 000704 213 000707 214 000711 215 000720 224 000733 225 000740 226 000743 ----------------------------------------------------------- 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