127 const auto event_name = json_string(line,
"event");
128 const auto verdict = json_string(line,
"verdict");
129 if (!event_name || !verdict)
132 event.received_at = json_string(line,
"received_at").value_or(
"");
133 event.event = *event_name;
134 event.verdict = *verdict;
135 event.pid = as_u32(json_u64(line,
"pid"));
136 event.tgid = as_u32(json_u64(line,
"tgid"));
137 event.ppid = as_u32(json_u64(line,
"ppid"));
138 event.old_euid = as_u32(json_u64(line,
"old_euid"));
139 event.new_euid = as_u32(json_u64(line,
"new_euid"));
140 event.rule_id = as_u32(json_u64(line,
"rule_id"));
141 event.reason_flags = as_u32(json_u64(line,
"reason_flags"));
142 event.lsm_flags = as_i32(json_i64(line,
"lsm_flags"));
143 event.auxiliary = as_u32(json_u64(line,
"auxiliary"));
144 event.device = json_u64(line,
"device").value_or(0);
145 event.inode = json_u64(line,
"inode").value_or(0);
146 event.actor_device = json_u64(line,
"actor_device").value_or(0);
147 event.actor_inode = json_u64(line,
"actor_inode").value_or(0);
148 event.parent_device = json_u64(line,
"parent_device").value_or(0);
149 event.parent_inode = json_u64(line,
"parent_inode").value_or(0);
150 event.actor_start_boottime_ns =
151 json_u64(line,
"actor_start_boottime_ns").value_or(0);
152 event.old_mode = as_u32(json_u64(line,
"old_mode"));
153 event.new_mode = as_u32(json_u64(line,
"new_mode"));
154 event.old_uid = as_u32(json_u64(line,
"old_uid"));
155 event.new_uid = as_u32(json_u64(line,
"new_uid"));
156 event.old_gid = as_u32(json_u64(line,
"old_gid"));
157 event.new_gid = as_u32(json_u64(line,
"new_gid"));
158 event.comm = json_string(line,
"comm").value_or(
"unknown");
159 event.parent_comm = json_string(line,
"parent_comm").value_or(
"");
160 event.actor_executable = json_string(line,
"actor_executable").value_or(
"");
161 event.parent_executable = json_string(line,
"parent_executable").value_or(
"");
162 event.filename = json_string(line,
"filename").value_or(
"");
163 event.path_resolution = json_string(line,
"path_resolution").value_or(
"basename-only");