OPENAFS-SA-2018-001 Add auditing to butc server RPC implementations
[openafs.git] / src / audit / audit.h
index 664b628..6188cf6 100644 (file)
@@ -1,13 +1,13 @@
 /*
  * Copyright 2000, International Business Machines Corporation and others.
  * All Rights Reserved.
- * 
+ *
  * This software has been released under the terms of the IBM Public
  * License.  For details, see the LICENSE file in the top-level source
  * directory or online at http://www.openafs.org/dl/license10.html
  */
 
-#define AUD_END  0             /* End           of veriable list */
+#define AUD_END  0             /* End           of variable list */
 #define AUD_STR  1             /* String        in variable list */
 #define AUD_INT  2             /* int           in variable list */
 #define AUD_LST  3             /* Variable list in a variable list */
 #define AUD_DATE 6             /* date (unsigned long)           */
 #define AUD_FID  7             /* File ID                        */
 #define AUD_FIDS 8             /* array of Fids                  */
+#define AUD_NAME 9              /* Name */
+#define AUD_ID   10             /* Id (Vice, PTS, ...) */
+#define AUD_ACL  11             /* ACL */
 /* next 3 lines on behalf of MR-AFS */
 #define AUD_RESID 20           /* resid         in variable list */
 #define AUD_RSSIZERANGE 21     /* rssizerange   in variable list */
 #define AUD_LOOKUPINFO 22      /* LookupInfo    in variable list */
+/* next 5 lines for butc */
+#define AUD_TLBL 30             /* Tape Controller label */
+#define AUD_TDI  31             /* Tape Controller dump interface */
+#define AUD_TDA  32             /* Tape Controller dump array */
+#define AUD_TRA  33             /* Tape Controller restore array */
+#define AUD_TSTT 34             /* Tape Controller status struct */
 
 /*
  * Note: the master definitions of these error codes come from *.et
 #define PTS_LstEleEvent    "AFS_PTS_LstEle"
 #define PTS_LstOwnEvent    "AFS_PTS_LstOwn"
 #define PTS_IsMemOfEvent   "AFS_PTS_IsMemOf"
+#define PTS_UpdEntEvent    "AFS_PTS_UpdEnt"
+#define PTS_LstSGrps       "AFS_PTS_LstSGrps"
 
 #define BUDB_StartEvent    "AFS_BUDB_Start"
 #define BUDB_FinishEvent   "AFS_BUDB_Finish"
 #define SetLockEvent           "AFS_SRX_SetLock"
 #define ExtendLockEvent                "AFS_SRX_ExtLock"
 #define ReleaseLockEvent       "AFS_SRX_RelLock"
+#define GetVolumeStatusEvent    "AFS_SRX_GetVolS"
 #define SetVolumeStatusEvent    "AFS_SRX_SetVolS"
 #define FlushCPSEvent           "AFS_SRX_FlusCPS"
 #define InlineBulkFetchStatusEvent     "AFS_SRX_BIFchSt"
 #define ImportResidenciesEvent  "AFS_SRX_Import"
 #define GetExtendedVolumeAttributesEvent "AFS_SRX_GetVA"
 #define SetExtendedVolumeAttributesEvent "AFS_SRX_SetVA"
+#define GetStatisticsEvent      "AFS_SRX_GetStats"
+#define XStatsVersionEvent      "AFS_SRX_XStatsVer"
+#define GetXStatsEvent          "AFS_SRX_GetXStats"
 
 #define NoAuthEvent             "AFS_RunNoAuth"
 #define NoAuthDisableEvent      "AFS_NoAuthDsbl"
 #define VLSetLockEvent         "AFS_VL_SetLck"
 #define VLReleaseLockEvent     "AFS_VL_RelLck"
 #define VLChangeAddrEvent      "AFS_VL_ChgAdd"
+#define VLListEntryEvent        "AFS_VL_ListEnt"
+#define VLListEntryEventN       "AFS_VL_ListEntN"
+#define VLListAttributesEvent   "AFS_VL_ListAttr"
+#define VLListAttributesNEvent  "AFS_VL_ListAttrN"
+#define VLListAttributesN2Event "AFS_VL_ListAttrN2"
+#define VLLinkedListEvent       "AFS_VL_LinkList"
+#define VLLinkedListNEvent      "AFS_VL_LinkListN"
+#define VLGetStatsEvent         "AFS_VL_GetStats"
 
 /* Next 2 block of lines on behalf of MR-AFS */
 #define RSStartEvent            "AFS_RS_StartEnt"
 #define SREMIORemoteGetHSMdata  "AFS_RE_HSMdata"
 #define SREMIOPrefetch          "AFS_RE_Prefetch"
 
+#define TC_StartEvent           "AFS_TC_Start"
+#define TC_LabelTapeEvent       "AFS_TC_LabelTape"
+#define TC_PerformDumpEvent     "AFS_TC_PerformDump"
+#define TC_PerformRestoreEvent  "AFS_TC_PerformRestore"
+#define TC_ReadLabelEvent       "AFS_TC_ReadLabel"
+#define TC_RestoreDbEvent       "AFS_TC_RestoreDb"
+#define TC_SaveDbEvent          "AFS_TC_SaveDb"
+#define TC_ScanDumpsEvent       "AFS_TC_ScanDumps"
+#define TC_TCInfoEvent          "AFS_TC_TCInfo"
+#define TC_DeleteDumpEvent      "AFS_TC_DeleteDump"
+#define TC_GetStatusEvent       "AFS_TC_GetStatus"
+#define TC_EndStatusEvent       "AFS_TC_EndStatus"
+#define TC_RequestAbortEvent    "AFS_TC_RequestAbort"
+#define TC_ScanStatusEvent      "AFS_TC_ScanStatus"
+
 
 /* prototypes for audit functions */
 int osi_audit(char *audEvent, afs_int32 errCode, ...);
 int osi_auditU(struct rx_call *call, char *audEvent, int errCode, ...);
+int osi_audit_file(const char *filename);
+void osi_audit_init(void);
+int osi_audit_interface(const char *interface);
+void osi_audit_set_user_check(void *rock, int (*islocal)(void *rock, char *name, char *inst, char *cell));
+void audit_PrintStats(FILE *out);