Skip to content
API Documentation
BastionGuard™
bastionguard::rootguard::anonymous_namespace{JsonEventSink.cpp} Namespace Reference

Functions

const char * eventName (const __u32 type) noexcept
const char * verdictName (const __u32 verdict) noexcept
const char * pathResolutionName (const __u32 value) noexcept
std::string receivedAtUtc ()

Function Documentation

◆ eventName()

const char * bastionguard::rootguard::anonymous_namespace{JsonEventSink.cpp}::eventName ( const __u32 type)
noexcept

Definition at line 12 of file JsonEventSink.cpp.

13{
14 switch (type) {
15 case RG_EVENT_SETUID: return "setuid";
16 case RG_EVENT_EXEC_PRIV: return "exec-priv";
17 case RG_EVENT_CREDENTIAL_ANOMALY: return "credential-anomaly";
18 case RG_EVENT_PERMISSION_CHANGE: return "permission-change";
19 case RG_EVENT_OWNER_CHANGE: return "owner-change";
20 case RG_EVENT_XATTR_CHANGE: return "xattr-change";
21 case RG_EVENT_ACL_CHANGE: return "acl-change";
22 case RG_EVENT_PROTECTED_UNLINK: return "protected-unlink";
23 case RG_EVENT_PROTECTED_RENAME: return "protected-rename";
24 case RG_EVENT_PROTECTED_HARDLINK: return "protected-hardlink";
25 case RG_EVENT_INTEGRITY_DRIFT: return "integrity-drift";
26 case RG_EVENT_INTEGRITY_RESTORED: return "integrity-restored";
27 case RG_EVENT_SERVICE_BLOCKED: return "service-blocked";
28 case RG_EVENT_FILE_RESTORED: return "file-restored";
29 case RG_EVENT_FILE_QUARANTINED: return "file-quarantined";
30 case RG_EVENT_PROTECTION_MODE_CHANGED: return "protection-mode-changed";
31 default: return "unknown";
32 }
33}
@ RG_EVENT_PROTECTED_RENAME
@ RG_EVENT_FILE_QUARANTINED
@ RG_EVENT_EXEC_PRIV
@ RG_EVENT_OWNER_CHANGE
@ RG_EVENT_ACL_CHANGE
@ RG_EVENT_PROTECTED_UNLINK
@ RG_EVENT_SETUID
@ RG_EVENT_SERVICE_BLOCKED
@ RG_EVENT_INTEGRITY_RESTORED
@ RG_EVENT_INTEGRITY_DRIFT
@ RG_EVENT_PROTECTED_HARDLINK
@ RG_EVENT_CREDENTIAL_ANOMALY
@ RG_EVENT_PROTECTION_MODE_CHANGED
@ RG_EVENT_XATTR_CHANGE
@ RG_EVENT_PERMISSION_CHANGE
@ RG_EVENT_FILE_RESTORED

References eventName(), RG_EVENT_ACL_CHANGE, RG_EVENT_CREDENTIAL_ANOMALY, RG_EVENT_EXEC_PRIV, RG_EVENT_FILE_QUARANTINED, RG_EVENT_FILE_RESTORED, RG_EVENT_INTEGRITY_DRIFT, RG_EVENT_INTEGRITY_RESTORED, RG_EVENT_OWNER_CHANGE, RG_EVENT_PERMISSION_CHANGE, RG_EVENT_PROTECTED_HARDLINK, RG_EVENT_PROTECTED_RENAME, RG_EVENT_PROTECTED_UNLINK, RG_EVENT_PROTECTION_MODE_CHANGED, RG_EVENT_SERVICE_BLOCKED, RG_EVENT_SETUID, and RG_EVENT_XATTR_CHANGE.

Referenced by eventName().

◆ pathResolutionName()

const char * bastionguard::rootguard::anonymous_namespace{JsonEventSink.cpp}::pathResolutionName ( const __u32 value)
noexcept

Definition at line 48 of file JsonEventSink.cpp.

49{
50 switch (value) {
51 case RG_PATH_PROTECTED_BASELINE: return "protected-baseline";
52 case RG_PATH_PROC_FD: return "proc-fd";
53 case RG_PATH_PROCESS_CWD: return "process-cwd";
54 case RG_PATH_KERNEL_EXACT: return "kernel-exact";
55 case RG_PATH_LSM_EXACT: return "lsm-exact";
56 default: return "basename-only";
57 }
58}
@ RG_PATH_LSM_EXACT
@ RG_PATH_PROCESS_CWD
@ RG_PATH_PROC_FD
@ RG_PATH_PROTECTED_BASELINE
@ RG_PATH_KERNEL_EXACT

References pathResolutionName(), RG_PATH_KERNEL_EXACT, RG_PATH_LSM_EXACT, RG_PATH_PROC_FD, RG_PATH_PROCESS_CWD, and RG_PATH_PROTECTED_BASELINE.

Referenced by pathResolutionName().

◆ receivedAtUtc()

std::string bastionguard::rootguard::anonymous_namespace{JsonEventSink.cpp}::receivedAtUtc ( )

Definition at line 60 of file JsonEventSink.cpp.

61{
62 const auto now = std::chrono::system_clock::now();
63 const auto time = std::chrono::system_clock::to_time_t(now);
64 std::tm tm {};
65 gmtime_r(&time, &tm);
66 std::ostringstream output;
67 output << std::put_time(&tm, "%Y-%m-%dT%H:%M:%SZ");
68 return output.str();
69}

References receivedAtUtc().

Referenced by receivedAtUtc().

◆ verdictName()

const char * bastionguard::rootguard::anonymous_namespace{JsonEventSink.cpp}::verdictName ( const __u32 verdict)
noexcept

Definition at line 35 of file JsonEventSink.cpp.

36{
37 switch (verdict) {
38 case RG_VERDICT_AUDIT: return "audit";
39 case RG_VERDICT_AUTHORIZED: return "authorized";
40 case RG_VERDICT_BLOCKED: return "blocked";
41 case RG_VERDICT_TRUSTED: return "trusted";
42 case RG_VERDICT_ALERT: return "alert";
43 case RG_VERDICT_RESTORED: return "restored";
44 default: return "unknown";
45 }
46}
@ RG_VERDICT_TRUSTED
@ RG_VERDICT_ALERT
@ RG_VERDICT_AUDIT
@ RG_VERDICT_RESTORED
@ RG_VERDICT_AUTHORIZED
@ RG_VERDICT_BLOCKED

References RG_VERDICT_ALERT, RG_VERDICT_AUDIT, RG_VERDICT_AUTHORIZED, RG_VERDICT_BLOCKED, RG_VERDICT_RESTORED, RG_VERDICT_TRUSTED, and verdictName().

Referenced by verdictName().