BastionGuard/thirdparty/bastionguard-secure-connection/daemon/include/bsc/model/Connection.hpp
specialworld83 f0f913a209 Release 2.0
2026-07-15 10:52:22 +02:00

30 lines
992 B
C++

#pragma once
#include "bsc/model/ProcessInfo.hpp"
#include <chrono>
#include <cstdint>
#include <string>
namespace bsc::model {
struct Connection {
std::string protocol;
std::string src_ip;
std::uint32_t src_port{0};
std::string dst_ip;
std::string dst_host;
std::uint32_t dst_port{0};
std::uint32_t user_id{0xffffffffu}; // 0 e' un UID valido (root), usiamo -1 come &quot;non impostato&quot;
std::uint32_t process_id{0};
std::string process_path;
std::string process_comm; // nome kernel (/proc/<pid>/comm) - sorgente primaria del nome
std::string process_cwd;
std::vector<std::string> process_args;
std::map<std::string, std::string> process_env;
std::map<std::string, std::string> process_checksums;
std::vector<std::pair<std::string, std::uint32_t>> process_tree;
std::chrono::system_clock::time_point seen_at{std::chrono::system_clock::now()};
[[nodiscard]] std::string key() const;
};
} // namespace bsc::model