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