00001 #ifndef uafdef_h 00002 #define uafdef_h 00003 00004 #define UAF_C_USER_ID 1 00005 #define UAF_C_VERSION1 1 00006 #define UAF_C_KEYED_PART 52 00007 #define UAF_C_MAX_PWD_LENGTH 32 00008 #define UAF_K_MAX_PWD_LENGTH 32 00009 #define UAF_C_AD_II 0 00010 #define UAF_C_PURDY 1 00011 #define UAF_C_PURDY_V 2 00012 #define UAF_C_PURDY_S 3 00013 #define UAF_K_CURRENT_ALGORITHM 3 00014 #define UAF_C_CURRENT_ALGORITHM 3 00015 #define UAF_C_PREFERED_ALGORITHM 127 00016 #define UAF_K_PREFERED_ALGORITHM 127 00017 #define UAF_C_PREFERRED_ALGORITHM 127 00018 #define UAF_K_PREFERRED_ALGORITHM 127 00019 #define UAF_C_CUST_ALGORITHM 128 00020 #define UAF_K_CUST_ALGORITHM 128 00021 #define UAF_K_FIXED 644 00022 #define UAF_C_FIXED 644 00023 #define UAF_K_LENGTH 1412 00024 #define UAF_C_LENGTH 1412 00025 #define UAF_S_UAFDEF 1412 00026 00027 struct _uaf { 00028 unsigned char uaf_b_rtype; 00029 unsigned char uaf_b_version; 00030 unsigned short int uaf_w_usrdatoff; 00031 union { 00032 char uaf_t_username [32]; 00033 struct { 00034 char uaf_t_fill_0 [31]; 00035 char uaf_t_username_tag; 00036 }; 00037 }; 00038 union { 00039 unsigned int uaf_l_uic; 00040 struct { 00041 unsigned short int uaf_w_mem; 00042 unsigned short int uaf_w_grp; 00043 }; 00044 }; 00045 unsigned int uaf_l_sub_id; 00046 unsigned long long uaf_q_parent_id; 00047 char uaf_t_account [32]; 00048 char uaf_t_owner [32]; 00049 char uaf_t_defdev [32]; 00050 char uaf_t_defdir [64]; 00051 char uaf_t_lgicmd [64]; 00052 char uaf_t_defcli [32]; 00053 char uaf_t_clitables [32]; 00054 union { 00055 unsigned long long uaf_q_pwd; 00056 struct { 00057 unsigned int uaf_l_pwd; 00058 }; 00059 }; 00060 unsigned long long uaf_q_pwd2; 00061 unsigned short int uaf_w_logfails; 00062 unsigned short int uaf_w_salt; 00063 unsigned char uaf_b_encrypt; 00064 unsigned char uaf_b_encrypt2; 00065 unsigned char uaf_b_pwd_length; 00066 char uaf_$$_fill_1 [1]; 00067 unsigned long long uaf_q_expiration; 00068 unsigned long long uaf_q_pwd_lifetime; 00069 unsigned long long uaf_q_pwd_date; 00070 unsigned long long uaf_q_pwd2_date; 00071 unsigned long long uaf_q_lastlogin_i; 00072 unsigned long long uaf_q_lastlogin_n; 00073 unsigned long long uaf_q_priv; 00074 unsigned long long uaf_q_def_priv; 00075 struct { 00076 char uaf_b_fill_2 [20]; 00077 }; 00078 struct { 00079 char uaf_b_fill_3 [20]; 00080 }; 00081 union { 00082 unsigned int uaf_l_flags; 00083 struct { 00084 unsigned uaf_v_disctly : 1; 00085 unsigned uaf_v_defcli : 1; 00086 unsigned uaf_v_lockpwd : 1; 00087 unsigned uaf_v_restricted : 1; 00088 unsigned uaf_v_disacnt : 1; 00089 unsigned uaf_v_diswelcom : 1; 00090 unsigned uaf_v_dismail : 1; 00091 unsigned uaf_v_nomail : 1; 00092 unsigned uaf_v_genpwd : 1; 00093 unsigned uaf_v_pwd_expired : 1; 00094 unsigned uaf_v_pwd2_expired : 1; 00095 unsigned uaf_v_audit : 1; 00096 unsigned uaf_v_disreport : 1; 00097 unsigned uaf_v_disreconnect : 1; 00098 unsigned uaf_v_autologin : 1; 00099 unsigned uaf_v_disforce_pwd_change : 1; 00100 unsigned uaf_v_captive : 1; 00101 unsigned uaf_v_disimage : 1; 00102 unsigned uaf_v_dispwddic : 1; 00103 unsigned uaf_v_dispwdhis : 1; 00104 unsigned uaf_v_defclsval : 1; 00105 unsigned uaf_v_extauth : 1; 00106 unsigned uaf_v_migratepwd : 1; 00107 unsigned uaf_v_vmsauth : 1; 00108 unsigned uaf_v_dispwdsynch : 1; 00109 unsigned uaf_v_fill_10_ : 7; 00110 }; 00111 }; 00112 unsigned char uaf_b_network_access_p [3]; 00113 unsigned char uaf_b_network_access_s [3]; 00114 unsigned char uaf_b_batch_access_p [3]; 00115 unsigned char uaf_b_batch_access_s [3]; 00116 unsigned char uaf_b_local_access_p [3]; 00117 unsigned char uaf_b_local_access_s [3]; 00118 unsigned char uaf_b_dialup_access_p [3]; 00119 unsigned char uaf_b_dialup_access_s [3]; 00120 unsigned char uaf_b_remote_access_p [3]; 00121 unsigned char uaf_b_remote_access_s [3]; 00122 char uaf_$$_fill_4 [12]; 00123 union { 00124 unsigned char uaf_b_primedays; 00125 struct { 00126 unsigned uaf_v_monday : 1; 00127 unsigned uaf_v_tuesday : 1; 00128 unsigned uaf_v_wednesday : 1; 00129 unsigned uaf_v_thursday : 1; 00130 unsigned uaf_v_friday : 1; 00131 unsigned uaf_v_saturday : 1; 00132 unsigned uaf_v_sunday : 1; 00133 unsigned uaf_v_fill_11_ : 1; 00134 }; 00135 }; 00136 char uaf_$$_fill_5 [1]; 00137 unsigned char uaf_b_pri; 00138 unsigned char uaf_b_quepri; 00139 unsigned short int uaf_w_maxjobs; 00140 unsigned short int uaf_w_maxacctjobs; 00141 unsigned short int uaf_w_maxdetach; 00142 unsigned short int uaf_w_prccnt; 00143 unsigned short int uaf_w_biolm; 00144 unsigned short int uaf_w_diolm; 00145 unsigned short int uaf_w_tqcnt; 00146 unsigned short int uaf_w_astlm; 00147 unsigned short int uaf_w_enqlm; 00148 unsigned short int uaf_w_fillm; 00149 unsigned short int uaf_w_shrfillm; 00150 unsigned int uaf_l_wsquota; 00151 unsigned int uaf_l_dfwscnt; 00152 unsigned int uaf_l_wsextent; 00153 unsigned int uaf_l_pgflquota; 00154 unsigned int uaf_l_cputim; 00155 unsigned int uaf_l_bytlm; 00156 unsigned int uaf_l_pbytlm; 00157 unsigned int uaf_l_jtquota; 00158 unsigned short int uaf_w_proxy_lim; 00159 unsigned short int uaf_w_proxies; 00160 unsigned short int uaf_w_account_lim; 00161 unsigned short int uaf_w_accounts; 00162 struct { 00163 char uaf_b_fill_6 [20]; 00164 }; 00165 char uaf_$$_fill_99 [44]; 00166 char uaf_$$_fill_100 [768]; 00167 }; 00168 00169 #endif 00170 00171