1 /* BEGIN INCLUDE FILE ... pnt_entry.incl.pl1 */ 2 3 /* Modified 790702 by C. Hornig for MSF PNT */ 4 /* Modified 84-07-18 BIM for V2, aim ranges, long passwords. */ 5 /* Modified 84-09-25 for operator attribute... -E. A. Ranzenbach */ 6 /* Modified 85-03-05 E. Swenson for user_validated_time */ 7 8 /**** The ms_table_mgr_ has fixed sized entries, for now. 9 The presence of a version field and some pad allow 10 us to have incrementally-upgraded PNTE's in a future change. 11 */ 12 13 /**** The conversion to V2 copies the existing encrypted passwords. 14 Since the 32 character scrambling algorithm will not give the 15 same results, the short_XX flags indicate that the old scrambler 16 should be used. The short flags are automatically turned off 17 by calls to update the password with the long-scrambled form. */ 18 19 /* format: style4,insnl,delnl */ 20 21 declare pntep pointer automatic; 22 declare 1 pnt_entry based (pntep) aligned, /* declaration of a single PNT entry */ 23 2 version fixed bin, 24 2 private aligned, 25 3 pw_flags aligned, 26 4 short_pw bit (1) unal, /* ON password is eight-character form */ 27 4 short_network_pw bit (1) unal, /* ON card password is eight character form. */ 28 3 password character (32), /* person's password */ 29 3 network_password character (32), 30 2 public, 31 3 user_id character (32), /* user ID (for alias entries */ 32 3 alias character (8), 33 3 default_project character (16), /* user's default project */ 34 3 flags, /* one-bit flags */ 35 4 has_password bit (1) unaligned, 36 4 has_network_password bit (1) unaligned, 37 4 trap bit (1) unal, /* If this password is used, holler */ 38 4 lock bit (1) unal, /* prevent login if on. */ 39 4 nochange bit (1) unal, /* user cannot change password */ 40 4 must_change bit unal, /* user must change password at next login */ 41 4 pw_time_lock bit (1) unal, /* if password has a time lock */ 42 4 generate_pw bit (1) unal, /* ON if we give new pw, OFF lets user select new pw */ 43 4 last_bad_pw_reported bit (1) unal, /* ON if user has NOT been told about last bad password */ 44 4 operator bit (1) unal, /* ON if user can login as an operator... */ 45 4 pads bit (26) unal, 46 3 n_good_pw fixed bin, /* Number of good passwords */ 47 3 n_bad_pw fixed bin, /* Number of wrong passwords */ 48 3 n_bad_pw_since_good fixed bin, /* Number of wrong passwords since good */ 49 3 time_pw_changed fixed bin (71), /* When password was modified by user */ 50 51 3 time_last_good_pw fixed bin (71), 52 3 time_last_bad_pw fixed bin (71), /* When pw was last given wrong */ 53 3 bad_pw_term_id character (4), /* where bad password from */ 54 3 bad_pw_line_type fixed bin (17), /* ... */ 55 3 bad_pw_term_type character (32), 56 3 password_timelock fixed bin (71), /* Password is locked up until here */ 57 3 person_authorization (2) bit (72), /* authorization of this person */ 58 3 default_person_authorization bit (72), /* default authorization of this person */ 59 3 audit bit (36), /* audit flags for person */ 60 3 pad1 bit (36), /* pad to even word boundary */ 61 3 user_validated_time fixed bin (71), /* time this PNT entry was last validated by an administrator */ 62 2 pad (80 - 64) bit (36) aligned; 63 64 declare PNT_ENTRY_VERSION_2 fixed bin init (2) int static options (constant); 65 66 /* END INCLUDE FILE ... pnte.incl.pl1 */