c c uafdef.for - user authorization file format c c misc constants parameter uaf$c_fixed = 644 ! length of fixed portion parameter uaf$k_fixed = 644 parameter uaf$c_length = 1412 ! total length parameter uaf$k_length = 1412 c values for uaf$b_encrypt parameter uaf$c_ad_ii = 0 ! autodin-ii 32 bit crc code parameter uaf$c_purdy = 1 ! purdy polyomial over salted input parameter uaf$c_purdy_v = 2 ! purdy polyomial? c bits in uaf$b_flags parameter uaf$v_disctly = 0 ! don't allow user control-y parameter uaf$v_defcli = 1 ! only allow user default cli parameter uaf$v_lockpwd = 2 ! disable set password command parameter uaf$v_captive = 3 ! no overides allowed on login parameter uaf$v_disacnt = 4 ! don't allow interactive login parameter uaf$v_diswelcom = 5 ! allow login to skip welcome message parameter uaf$v_dismail = 6 ! allow login to skip new mail message parameter uaf$v_nomail = 7 ! parameter uaf$v_genpwd = 8 ! parameter uaf$v_pwd_expired = 9 ! parameter uaf$v_pwd2_expired = 10 ! parameter uaf$v_audit = 11 ! parameter uaf$v_disreport = 12 ! parameter uaf$v_disreconnect = 12 ! c bits in uaf$b_pdayflags ! parameter uaf$v_disdialup = 0 ! disallows dial-in use of account ! parameter uaf$v_disnetwork = 1 ! disallows network use of account c bits in uaf$b_primedays parameter uaf$v_monday = 0 ! bit 0 means this is a primary day parameter uaf$v_tuesday = 1 ! bit 1 means this is an off day parameter uaf$v_wednesday = 2 parameter uaf$v_thursday = 3 parameter uaf$v_friday = 4 parameter uaf$v_saturday = 5 parameter uaf$v_sunday = 6 c character fields character - uaf$t_username * 32, ! username - uaf$t_account * 32, ! account name - uaf$t_defdir * 63, ! default directory (string) - uaf$t_defdev * 31, ! default device (string) - uaf$t_defcli * 31, ! default command interpreter - uaf$t_clitables * 31, ! CLI parse tables - uaf$t_owner * 31, ! owner's name - uaf$t_lgicmd * 64 ! login command file (string) c byte fields byte - uaf$c_defdir , ! default directory length - uaf$c_defdev , ! default device length - uaf$c_defcli , ! default CLI length - uaf$c_clitables , ! default CLI parse table length - uaf$c_owner , ! owner's name length - uaf$c_lgicmd , ! login command file length - uaf$b_rtype , ! record type - uaf$b_version , ! - uaf$b_encrypt , ! encryption algorithm - uaf$b_encrypt2 , ! encryption algorithm for secondary password - uaf$b_pwd_length , ! password length - uaf$b_pwd2_length , ! secondary password length - uaf$b_pri , ! base process priority - uaf$b_quepri , ! - uaf$b_primedays , ! bits representing primary days - uaf$b_network_access_p( 3 ) , ! - uaf$b_network_access_s( 3 ) , ! - uaf$b_batch_access_p( 3 ) , ! - uaf$b_batch_access_s( 3 ) , ! - uaf$b_local_access_p( 3 ) , ! - uaf$b_local_access_s( 3 ) , ! - uaf$b_dialup_access_p( 3 ) , ! - uaf$b_dialup_access_s( 3 ) , ! - uaf$b_remote_access_p( 3 ) , ! - uaf$b_remote_access_s( 3 ) , ! - uaf$r_min_class( 20 ), ! - uaf$r_max_class( 20 ) ! c word fields integer*2 - uaf$w_mem , ! member subfield - uaf$w_grp , ! group subfield - uaf$w_biolm , ! buffered i/o limit - uaf$w_bytlm , ! buffered i/o byte count limit - uaf$w_diolm , ! direct i/o limit - uaf$w_fillm , ! open file limit - uaf$w_tqcnt , ! timer queue entry limit - uaf$w_prccnt , ! subprocess creation limit - uaf$w_astlm , ! ast queue limit - uaf$w_enqlm , ! enqueue limit - uaf$w_shrfillm , ! shared file limit - uaf$w_maxjobs , ! - uaf$w_maxacctjobs, ! - uaf$w_maxdetach , ! - uaf$w_logfails , ! number of recent login failures - uaf$w_salt , ! random password salt - uaf$w_usrdatoff ! offset of counted string of user data c longword fields integer*4 - uaf$l_pwd , ! 32 bit subfield of password - uaf$l_uic , ! user id code - uaf$l_flags , ! user flags - uaf$l_cputim , ! cpu time quota - uaf$l_pgflquota , ! page file quota - uaf$l_bytlm , ! buffer i/o byte count limit - uaf$l_pbytlm , ! paged buffer i/o byte count - uaf$l_jtquota , ! - uaf$l_wsquota , ! working set size quota - uaf$l_dfwscnt , ! default working set size - uaf$l_wsextent ! working set size limit c quadword fields integer*4 - uaf$q_pwd (2), ! hashed password - uaf$q_pwd2 (2), ! hashed secondary password - uaf$q_expiration (2), ! - uaf$q_pwd_lifetime (2), ! - uaf$q_pwd_date (2), ! - uaf$q_pwd2_date (2), ! - uaf$q_last_login_i (2), ! - uaf$q_last_login_n (2), ! - uaf$q_priv (2), ! process privilege vector - uaf$q_def_priv (2) ! c set up the record byte uaf$_record( 0:643 ) equivalence ( uaf$_record( 0 ), uaf$b_rtype ) equivalence ( uaf$_record( 1 ), uaf$b_version ) equivalence ( uaf$_record( 2 ), uaf$w_usrdatoff ) equivalence ( uaf$_record( 4 ), uaf$t_username ) equivalence ( uaf$_record( 36 ), uaf$l_uic ) equivalence ( uaf$_record( 36 ), uaf$w_mem ) equivalence ( uaf$_record( 38 ), uaf$w_grp ) equivalence ( uaf$_record( 52 ), uaf$t_account ) equivalence ( uaf$_record( 84 ), uaf$c_owner ) equivalence ( uaf$_record( 85 ), uaf$t_owner ) equivalence ( uaf$_record( 116 ), uaf$c_defdev ) equivalence ( uaf$_record( 117 ), uaf$t_defdev ) equivalence ( uaf$_record( 148 ), uaf$c_defdir ) equivalence ( uaf$_record( 149 ), uaf$t_defdir ) equivalence ( uaf$_record( 212 ), uaf$c_lgicmd ) equivalence ( uaf$_record( 213 ), uaf$t_lgicmd ) equivalence ( uaf$_record( 276 ), uaf$c_defcli ) equivalence ( uaf$_record( 277 ), uaf$t_defcli ) equivalence ( uaf$_record( 308 ), uaf$c_clitables ) equivalence ( uaf$_record( 309 ), uaf$t_clitables ) equivalence ( uaf$_record( 340 ), uaf$l_pwd ) equivalence ( uaf$_record( 340 ), uaf$q_pwd ) equivalence ( uaf$_record( 348 ), uaf$q_pwd2 ) equivalence ( uaf$_record( 356 ), uaf$w_logfails ) equivalence ( uaf$_record( 358 ), uaf$w_salt ) equivalence ( uaf$_record( 360 ), uaf$b_encrypt ) equivalence ( uaf$_record( 361 ), uaf$b_encrypt2 ) equivalence ( uaf$_record( 362 ), uaf$b_pwd_length ) equivalence ( uaf$_record( 363 ), uaf$b_pwd2_length ) equivalence ( uaf$_record( 364 ), uaf$q_expiration ) equivalence ( uaf$_record( 372 ), uaf$q_pwd_lifetime ) equivalence ( uaf$_record( 380 ), uaf$q_pwd_date ) equivalence ( uaf$_record( 388 ), uaf$q_pwd2_date ) equivalence ( uaf$_record( 396 ), uaf$q_last_login_i ) equivalence ( uaf$_record( 404 ), uaf$q_last_login_n ) equivalence ( uaf$_record( 412 ), uaf$q_priv ) equivalence ( uaf$_record( 420 ), uaf$q_def_priv ) equivalence ( uaf$_record( 428 ), uaf$r_min_class ) equivalence ( uaf$_record( 448 ), uaf$r_max_class ) equivalence ( uaf$_record( 468 ), uaf$l_flags ) equivalence ( uaf$_record( 472 ), uaf$b_network_access_p ) equivalence ( uaf$_record( 475 ), uaf$b_network_access_s ) equivalence ( uaf$_record( 478 ), uaf$b_batch_access_p ) equivalence ( uaf$_record( 481 ), uaf$b_batch_access_s ) equivalence ( uaf$_record( 484 ), uaf$b_local_access_p ) equivalence ( uaf$_record( 487 ), uaf$b_local_access_s ) equivalence ( uaf$_record( 490 ), uaf$b_dialup_access_p ) equivalence ( uaf$_record( 493 ), uaf$b_dialup_access_s ) equivalence ( uaf$_record( 496 ), uaf$b_remote_access_p ) equivalence ( uaf$_record( 499 ), uaf$b_remote_access_s ) equivalence ( uaf$_record( 514 ), uaf$b_primedays ) equivalence ( uaf$_record( 516 ), uaf$b_pri ) equivalence ( uaf$_record( 517 ), uaf$b_quepri ) equivalence ( uaf$_record( 518 ), uaf$w_maxjobs ) equivalence ( uaf$_record( 520 ), uaf$w_maxacctjobs ) equivalence ( uaf$_record( 522 ), uaf$w_maxdetach ) equivalence ( uaf$_record( 524 ), uaf$w_prccnt ) equivalence ( uaf$_record( 526 ), uaf$w_biolm ) equivalence ( uaf$_record( 528 ), uaf$w_diolm ) equivalence ( uaf$_record( 530 ), uaf$w_tqcnt ) equivalence ( uaf$_record( 532 ), uaf$w_astlm ) equivalence ( uaf$_record( 534 ), uaf$w_enqlm ) equivalence ( uaf$_record( 536 ), uaf$w_fillm ) equivalence ( uaf$_record( 538 ), uaf$w_shrfillm ) equivalence ( uaf$_record( 540 ), uaf$l_wsquota ) equivalence ( uaf$_record( 544 ), uaf$l_dfwscnt ) equivalence ( uaf$_record( 548 ), uaf$l_wsextent ) equivalence ( uaf$_record( 552 ), uaf$l_pgflquota ) equivalence ( uaf$_record( 556 ), uaf$l_cputim ) equivalence ( uaf$_record( 560 ), uaf$l_bytlm ) equivalence ( uaf$_record( 564 ), uaf$l_pbytlm ) equivalence ( uaf$_record( 568 ), uaf$l_jtquota )