2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
10 #ifndef AFS_AUDIT_AUDIT_H
11 #define AFS_AUDIT_AUDIT_H
15 #define AUD_END 0 /* End of variable list */
16 #define AUD_STR 1 /* String in variable list */
17 #define AUD_INT 2 /* int in variable list */
18 #define AUD_LST 3 /* Variable list in a variable list */
19 #define AUD_HOST 4 /* A host # to be changed to string */
20 #define AUD_LONG 5 /* long in variable list */
21 #define AUD_DATE 6 /* date (unsigned long) */
22 #define AUD_FID 7 /* File ID */
23 #define AUD_FIDS 8 /* array of Fids */
24 #define AUD_NAME 9 /* Name */
25 #define AUD_ID 10 /* Id (Vice, PTS, ...) */
26 #define AUD_ACL 11 /* ACL */
27 /* next 3 lines on behalf of MR-AFS */
28 #define AUD_RESID 20 /* resid in variable list */
29 #define AUD_RSSIZERANGE 21 /* rssizerange in variable list */
30 #define AUD_LOOKUPINFO 22 /* LookupInfo in variable list */
31 /* next 5 lines for butc */
32 #define AUD_TLBL 30 /* Tape Controller label */
33 #define AUD_TDI 31 /* Tape Controller dump interface */
34 #define AUD_TDA 32 /* Tape Controller dump array */
35 #define AUD_TRA 33 /* Tape Controller restore array */
36 #define AUD_TSTT 34 /* Tape Controller status struct */
39 * Note: the master definitions of these error codes come from *.et
40 * files in other parts of the tree. They are hardcoded here as a
41 * simple way to avoid circular dependence problems in the build.
44 #define KANOAUTH (180488L) /* kauth/kaerrors.et */
45 #define RXKADNOAUTH (19270405L) /* rxkad/rxkad_errs.et */
46 #define PRPERM (267269L) /* ptserver/pterror.et */
47 #define VL_PERM (363546L) /* vlserver/vl_errors.et */
48 #define BUDB_NOTPERMITTED (156303880L) /* budb/budb_errs.et */
49 #define BZACCESS (39430L) /* bozo/boserr.et */
50 #define VOLSERBAD_ACCESS (1492325127L) /* volser/volerr.et */
53 #define VS_StartEvent "AFS_VS_Start"
54 #define VS_FinishEvent "AFS_VS_Finish"
55 #define VS_ExitEvent "AFS_VS_Exit"
56 #define VS_ParInfEvent "AFS_VS_ParInf"
57 #define VS_NukVolEvent "AFS_VS_NukVol"
58 #define VS_CrVolEvent "AFS_VS_CrVol"
59 #define VS_DelVolEvent "AFS_VS_DelVol"
60 #define VS_CloneEvent "AFS_VS_Clone"
61 #define VS_ReCloneEvent "AFS_VS_ReClone"
62 #define VS_TransCrEvent "AFS_VS_TransCr"
63 #define VS_GetNVolEvent "AFS_VS_GetNVol"
64 #define VS_GetFlgsEvent "AFS_VS_GetFlgs"
65 #define VS_SetFlgsEvent "AFS_VS_SetFlgs"
66 #define VS_ForwardEvent "AFS_VS_Forward"
67 #define VS_DumpEvent "AFS_VS_Dump"
68 #define VS_RestoreEvent "AFS_VS_Restore"
69 #define VS_EndTrnEvent "AFS_VS_EndTrn"
70 #define VS_SetForwEvent "AFS_VS_SetForw"
71 #define VS_GetStatEvent "AFS_VS_GetStat"
72 #define VS_SetInfoEvent "AFS_VS_SetInfo"
73 #define VS_GetNameEvent "AFS_VS_GetName"
74 #define VS_SigRstEvent "AFS_VS_SigRst"
75 #define VS_ListParEvent "AFS_VS_ListPar"
76 #define VS_Lst1VolEvent "AFS_VS_Lst1Vol"
77 #define VS_XLst1VlEvent "AFS_VS_XLst1Vl"
78 #define VS_ListVolEvent "AFS_VS_ListVol"
79 #define VS_XLstVolEvent "AFS_VS_XLstVol"
80 #define VS_MonitorEvent "AFS_VS_Monitor"
81 #define VS_SetIdTyEvent "AFS_VS_SetIdTy"
82 #define VS_SetDateEvent "AFS_VS_SetDate"
83 /* Next 2 lines on behalf of MR-AFS */
84 #define VS_SelectiveDumpEvent "AFS_VS_DmpSelct"
85 #define VS_ListVolumeResidencyInfoEvent "AFS_VS_LstVInfo"
87 #define PTS_StartEvent "AFS_PTS_Start"
88 #define PTS_FinishEvent "AFS_PTS_Finish"
89 #define PTS_ExitEvent "AFS_PTS_Exit"
90 #define PTS_INewEntEvent "AFS_PTS_INewEnt"
91 #define PTS_NewEntEvent "AFS_PTS_NewEnt"
92 #define PTS_WheIsItEvent "AFS_PTS_WheIsIt"
93 #define PTS_DmpEntEvent "AFS_PTS_DmpEnt"
94 #define PTS_AdToGrpEvent "AFS_PTS_AdToGrp"
95 #define PTS_NmToIdEvent "AFS_PTS_NmToId"
96 #define PTS_IdToNmEvent "AFS_PTS_IdToNm"
97 #define PTS_DelEvent "AFS_PTS_Del"
98 #define PTS_RmFmGrpEvent "AFS_PTS_RmFmGrp"
99 #define PTS_GetCPSEvent "AFS_PTS_GetCPS"
100 #define PTS_GetCPS2Event "AFS_PTS_GetCPS2"
101 #define PTS_GetHCPSEvent "AFS_PTS_GetHCPS"
102 #define PTS_LstMaxEvent "AFS_PTS_LstMax"
103 #define PTS_SetMaxEvent "AFS_PTS_SetMax"
104 #define PTS_LstEntEvent "AFS_PTS_LstEnt"
105 #define PTS_LstEntsEvent "AFS_PTS_LstEnts"
106 #define PTS_ChgEntEvent "AFS_PTS_ChgEnt"
107 #define PTS_SetFldEntEvent "AFS_PTS_SetFEnt"
108 #define PTS_LstEleEvent "AFS_PTS_LstEle"
109 #define PTS_LstOwnEvent "AFS_PTS_LstOwn"
110 #define PTS_IsMemOfEvent "AFS_PTS_IsMemOf"
111 #define PTS_UpdEntEvent "AFS_PTS_UpdEnt"
112 #define PTS_LstSGrps "AFS_PTS_LstSGrps"
114 #define BUDB_StartEvent "AFS_BUDB_Start"
115 #define BUDB_FinishEvent "AFS_BUDB_Finish"
116 #define BUDB_ExitEvent "AFS_BUDB_Exit"
117 #define BUDB_AddVolEvent "AFS_BUDB_AddVol"
118 #define BUDB_CrDmpEvent "AFS_BUDB_CrDmp"
119 #define BUDB_DelDmpEvent "AFS_BUDB_DelDmp"
120 #define BUDB_LstDmpEvent "AFS_BUDB_LstDmp"
121 #define BUDB_DelTpeEvent "AFS_BUDB_DelTpe"
122 #define BUDB_DelVDPEvent "AFS_BUDB_DelVDP"
123 #define BUDB_FndClnEvent "AFS_BUDB_FndCln"
124 #define BUDB_FndDmpEvent "AFS_BUDB_FndDmp"
125 #define BUDB_FndLaDEvent "AFS_BUDB_FndLaD"
126 #define BUDB_FinDmpEvent "AFS_BUDB_FinDmp"
127 #define BUDB_FinTpeEvent "AFS_BUDB_FinTpe"
128 #define BUDB_GetDmpEvent "AFS_BUDB_GetDmp"
129 #define BUDB_GetTpeEvent "AFS_BUDB_GetTpe"
130 #define BUDB_GetVolEvent "AFS_BUDB_GetVol"
131 #define BUDB_UseTpeEvent "AFS_BUDB_UseTpe"
132 #define BUDB_TDmpHaEvent "AFS_BUDB_TDmpHa"
133 #define BUDB_TGetVrEvent "AFS_BUDB_TGetVr"
134 #define BUDB_TDmpDBEvent "AFS_BUDB_TDmpDB"
135 #define BUDB_DBVfyEvent "AFS_BUDB_DBVfy"
136 #define BUDB_FrALckEvent "AFS_BUDB_FrALck"
137 #define BUDB_FreLckEvent "AFS_BUDB_FreLck"
138 #define BUDB_GetIIdEvent "AFS_BUDB_GetIId"
139 #define BUDB_GetLckEvent "AFS_BUDB_GetLck"
140 #define BUDB_GetTxtEvent "AFS_BUDB_GetTxt"
141 #define BUDB_GetTxVEvent "AFS_BUDB_GetTxV"
142 #define BUDB_SavTxtEvent "AFS_BUDB_SavTxt"
143 #define BUDB_DmpDBEvent "AFS_BUDB_DmpDB"
144 #define BUDB_RstDBHEvent "AFS_BUDB_RstDBH"
145 #define BUDB_AppDmpEvent "AFS_BUDB_AppDmp"
146 #define BUDB_FndLTpeEvent "AFS_BUDB_FnLTpe"
148 #define AFS_KAA_ChPswdEvent "AFS_KAA_ChPswd"
149 #define AFS_KAA_AuthOEvent "AFS_KAA_AuthO"
150 #define AFS_KAA_AuthEvent "AFS_KAA_Auth"
152 #define AFS_KAT_GetTicketOEvent "AFS_KAT_GetTktO"
153 #define AFS_KAT_GetTicketEvent "AFS_KAT_GetTkt"
155 #define AFS_KAM_CrUserEvent "AFS_KAM_CrUser"
156 #define AFS_KAM_DelUserEvent "AFS_KAM_DelUser"
157 #define AFS_KAM_SetPswdEvent "AFS_KAM_SetPswd"
158 #define AFS_KAM_LstEntEvent "AFS_KAM_LstEnt"
159 #define AFS_KAM_GetPswdEvent "AFS_KAM_GetPswd"
160 #define AFS_KAM_DbgEvent "AFS_KAM_Dbg"
161 #define AFS_KAM_SetFldEvent "AFS_KAM_SetFld"
162 #define AFS_KAM_GetStatEvent "AFS_KAM_GetStat"
163 #define AFS_KAM_GetEntEvent "AFS_KAM_GetEnt"
164 #define AFS_KAM_GetRndKeyEvent "AFS_KAM_GRnKey"
165 #define UnlockEvent "AFS_UnlockUser"
166 #define LockStatusEvent "AFS_LockStatus"
168 #define UnAuthEvent "AFS_UnAth"
169 #define UseOfPrivilegeEvent "AFS_UseOfPriv"
170 #define UDPAuthenticateEvent "AFS_UDPAuth"
171 #define UDPGetTicketEvent "AFS_UDPGetTckt"
173 #define FetchDataEvent "AFS_SRX_FchData"
174 #define FetchACLEvent "AFS_SRX_FchACL"
175 #define BulkFetchStatusEvent "AFS_SRX_BFchSta"
176 #define FetchStatusEvent "AFS_SRX_FchStat"
177 #define StoreDataEvent "AFS_SRX_StData"
178 #define StoreACLEvent "AFS_SRX_StACL"
179 #define StoreStatusEvent "AFS_SRX_StStat"
180 #define RemoveFileEvent "AFS_SRX_RmFile"
181 #define CreateFileEvent "AFS_SRX_CrFile"
182 #define RenameFileEvent "AFS_SRX_RNmFile"
183 #define SymlinkEvent "AFS_SRX_SymLink"
184 #define LinkEvent "AFS_SRX_Link"
185 #define MakeDirEvent "AFS_SRX_MakeDir"
186 #define RemoveDirEvent "AFS_SRX_RmDir"
187 #define SetLockEvent "AFS_SRX_SetLock"
188 #define ExtendLockEvent "AFS_SRX_ExtLock"
189 #define ReleaseLockEvent "AFS_SRX_RelLock"
190 #define GetVolumeStatusEvent "AFS_SRX_GetVolS"
191 #define SetVolumeStatusEvent "AFS_SRX_SetVolS"
192 #define FlushCPSEvent "AFS_SRX_FlusCPS"
193 #define InlineBulkFetchStatusEvent "AFS_SRX_BIFchSt"
194 #define PrivilegeEvent "AFS_Priv"
195 #define PrivSetID "AFS_PrivSet"
196 /* Next 5 lines on behalf of MR-AFS */
197 #define GetResidenciesEvent "AFS_SRX_GetR"
198 #define ChangeResidenciesEvent "AFS_SRX_ChgR"
199 #define ImportResidenciesEvent "AFS_SRX_Import"
200 #define GetExtendedVolumeAttributesEvent "AFS_SRX_GetVA"
201 #define SetExtendedVolumeAttributesEvent "AFS_SRX_SetVA"
202 #define GetStatisticsEvent "AFS_SRX_GetStats"
203 #define XStatsVersionEvent "AFS_SRX_XStatsVer"
204 #define GetXStatsEvent "AFS_SRX_GetXStats"
206 #define NoAuthEvent "AFS_RunNoAuth"
207 #define NoAuthDisableEvent "AFS_NoAuthDsbl"
208 #define NoAuthEnableEvent "AFS_NoAuthEnbl"
210 #define BOS_SetRestartEvent "AFS_BOS_SetReSt"
211 #define BOS_ExecEvent "AFS_BOS_Exec"
212 #define BOS_UnInstallEvent "AFS_BOS_UnInst"
213 #define BOS_InstallEvent "AFS_BOS_Inst"
214 #define BOS_SetCellEvent "AFS_BOS_SetCell"
215 #define BOS_AddHostEvent "AFS_BOS_AddHst"
216 #define BOS_DeleteHostEvent "AFS_BOS_DelHst"
217 #define BOS_AddKeyEvent "AFS_BOS_AddKey"
218 #define BOS_ListKeysEvent "AFS_BOS_LstKey"
219 #define BOS_UnAuthListKeysEvent "AFS_BOS_LstKeyU"
220 #define BOS_DeleteKeyEvent "AFS_BOS_DelKey"
221 #define BOS_SetNoAuthEvent "AFS_BOS_SetNoAu"
222 #define BOS_AddSUserEvent "AFS_BOS_AddSUsr"
223 #define BOS_ListSUserEvent "AFS_BOS_LstSUsr"
224 #define BOS_DeleteSUserEvent "AFS_BOS_DelSUsr"
225 #define BOS_CreateBnodeEvent "AFS_BOS_CreBnod"
226 #define BOS_DeleteBnodeEvent "AFS_BOS_DelBnod"
227 #define BOS_StartupAllEvent "AFS_BOS_StartAl"
228 #define BOS_RestartAllEvent "AFS_BOS_ReStAll"
229 #define BOS_ShutdownAllEvent "AFS_BOS_ShtdAll"
230 #define BOS_WaitAllEvent "AFS_BOS_WaitAll"
231 #define BOS_RestartEvent "AFS_BOS_ReStart"
232 #define BOS_RebozoEvent "AFS_BOS_ReBos"
233 #define BOS_RebozoIntEvent "AFS_BOS_ReBosIn"
234 #define BOS_SetTempStatusEvent "AFS_BOS_SetTSta"
235 #define BOS_SetStatusEvent "AFS_BOS_SetStat"
236 #define BOS_PruneLogs "AFS_BOS_PrnLog"
237 #define BOS_GetLogsEvent "AFS_BOS_GetLog"
238 #define BOSDoExecEvent "AFS_BOS_DoExec"
239 #define BOSStopProcEvent "AFS_BOS_StpProc"
240 #define BOSSpawnProcEvent "AFS_BOS_SpawnProc"
242 #define VLCreateEntryEvent "AFS_VL_CreEnt"
243 #define VLDeleteEntryEvent "AFS_VL_DelEnt"
244 #define VLGetNewVolumeIdEvent "AFS_VL_GetNVlID"
245 #define VLReplaceVLEntryEvent "AFS_VL_RepEnt"
246 #define VLUpdateEntryEvent "AFS_VL_UpdEnt"
247 #define VLSetLockEvent "AFS_VL_SetLck"
248 #define VLReleaseLockEvent "AFS_VL_RelLck"
249 #define VLChangeAddrEvent "AFS_VL_ChgAdd"
250 #define VLListEntryEvent "AFS_VL_ListEnt"
251 #define VLListEntryEventN "AFS_VL_ListEntN"
252 #define VLListAttributesEvent "AFS_VL_ListAttr"
253 #define VLListAttributesNEvent "AFS_VL_ListAttrN"
254 #define VLListAttributesN2Event "AFS_VL_ListAttrN2"
255 #define VLLinkedListEvent "AFS_VL_LinkList"
256 #define VLLinkedListNEvent "AFS_VL_LinkListN"
257 #define VLGetStatsEvent "AFS_VL_GetStats"
259 /* Next 2 block of lines on behalf of MR-AFS */
260 #define RSStartEvent "AFS_RS_StartEnt"
261 #define RSFinishEvent "AFS_RS_FnshEnt"
262 #define RSExitEvent "AFS_RS_ExitEnt"
263 #define RSChangeAddr "AFS_RS_ChgAddr"
264 #define RSChangeName "AFS_RS_ChgName"
265 #define RSNewEntry "AFS_RS_NewEntry"
266 #define RSAddResidencyToServer "AFS_RS_AddRToS"
267 #define RSRemoveResidencyFromServer "AFS_RS_RemRFS"
268 #define RSNameToResId "AFS_RS_NameToId"
269 #define RSResIdToName "AFS_RS_IdToName"
270 #define RSDelete "AFS_RS_Delete"
271 #define RSListMax "AFS_RS_ListMax"
272 #define RSSetMax "AFS_RS_SetMax"
273 #define RSListEntry "AFS_RS_ListEnt"
274 #define RSSetFieldsEntry "AFS_RS_SetEnt"
275 #define RSListElements "AFS_RS_ListElm"
276 #define RSIsAHolderOf "AFS_RS_IsAHold"
277 #define RSChooseResidency "AFS_RS_ChooseR"
278 #define RSSwapAllocatedSpace "AFS_RS_SwapSpc"
279 #define RSQuickCheck "AFS_RS_QuickChk"
280 #define RSResidencyWipeableInfo "AFS_RS_WipeInfo"
281 #define RSGetResidencySummary "AFS_RS_GetRSum"
282 #define RSGetWiperFreeSpaceFraction "AFS_RS_GetFSpc"
283 #define RSRegisterAddrs "AFS_RS_Regist"
284 #define RSGetAddrsU "AFS_RS_GetAddrU"
285 #define RSSetWeights "AFS_RS_SetWght"
286 #define RSGetWeights "AFS_RS_GetWght"
287 #define RSSetThresholds "AFS_RS_SetThrsh"
288 #define RSGetThresholds "AFS_RS_GetThrsh"
289 #define RSListResidencies "AFS_RS_ListRes"
290 #define RSListServers "AFS_RS_ListServ"
291 #define RSGetRandom "AFS_RS_GetRandm"
293 #define REMIOExitEvent "AFS_RE_ExitEnt"
294 #define SREMIOGetConnection "AFS_RE_GetConn"
295 #define SREMIORemoteIncDec "AFS_RE_IncDec"
296 #define SREMIOBulkIncDec "AFS_RE_BlkIDec"
297 #define SREMIORemoteStat "AFS_RE_Stat"
298 #define SREMIORemoteCloseIfOpen "AFS_RE_Close"
299 #define SREMIORemoteOpen "AFS_RE_Open"
300 #define SREMIORemoteSeek "AFS_RE_Seek"
301 #define SREMIORemoteRead "AFS_RE_Read"
302 #define SREMIORemoteWrite "AFS_RE_Write"
303 #define SREMIORemoteListFiles "AFS_RE_LstFiles"
304 #define SREMIORemoteTruncate "AFS_RE_Truncate"
305 #define SREMIORemoteFsyncFile "AFS_RE_Fsync"
306 #define SREMIORemoteImportFile "AFS_RE_Import"
307 #define SREMIORemoteGetHSMdata "AFS_RE_HSMdata"
308 #define SREMIOPrefetch "AFS_RE_Prefetch"
310 #define TC_StartEvent "AFS_TC_Start"
311 #define TC_LabelTapeEvent "AFS_TC_LabelTape"
312 #define TC_PerformDumpEvent "AFS_TC_PerformDump"
313 #define TC_PerformRestoreEvent "AFS_TC_PerformRestore"
314 #define TC_ReadLabelEvent "AFS_TC_ReadLabel"
315 #define TC_RestoreDbEvent "AFS_TC_RestoreDb"
316 #define TC_SaveDbEvent "AFS_TC_SaveDb"
317 #define TC_ScanDumpsEvent "AFS_TC_ScanDumps"
318 #define TC_TCInfoEvent "AFS_TC_TCInfo"
319 #define TC_DeleteDumpEvent "AFS_TC_DeleteDump"
320 #define TC_GetStatusEvent "AFS_TC_GetStatus"
321 #define TC_EndStatusEvent "AFS_TC_EndStatus"
322 #define TC_RequestAbortEvent "AFS_TC_RequestAbort"
323 #define TC_ScanStatusEvent "AFS_TC_ScanStatus"
325 /* prototypes for audit functions */
326 int osi_audit(char *audEvent, afs_int32 errCode, ...);
327 int osi_auditU(struct rx_call *call, char *audEvent, int errCode, ...);
328 int osi_audit_cmd_Options(char *default_iface, struct cmd_item *audit_loglist);
329 int osi_audit_file(const char *fileplusoptions);
330 void osi_audit_init(void);
331 int osi_audit_interface(const char *interface);
332 void osi_audit_set_user_check(void *rock, int (*islocal)(void *rock, char *name, char *inst, char *cell));
333 void audit_PrintStats(FILE *out);
334 void osi_audit_open(void);
335 void osi_audit_close(void);
337 #endif /* AFS_AUDIT_AUDIT_H */