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 */