Skip to content
API Documentation
BastionGuard™
AppResolver.hpp
Go to the documentation of this file.
1/*
2 * BastionGuard™ Secure Connection
3 * GPL-3.0
4 *
5 * Risoluzione nome/icona applicazione da process_comm/process_path.
6 */
7
8#pragma once
9
10#include <string>
11#include <vector>
12
13namespace bsc::ui_util {
14
16 std::string display_name;
17 std::string icon_name;
18};
19
20AppMetadata resolve_app_metadata(const std::string& app_comm,
21 const std::string& app_path,
22 const std::vector<std::string>& app_args = {});
23
24std::string best_app_display_name(const std::string& app_comm,
25 const std::string& app_path,
26 const std::vector<std::string>& app_args = {});
27
28std::string best_app_icon_name(const std::string& app_comm,
29 const std::string& app_path,
30 const std::vector<std::string>& app_args = {});
31
32// Connessioni realmente locali/loopback: 127.0.0.0/8, localhost, ::1,
33// IPv4-mapped ::ffff:127.x e indirizzi unspecified usati da socket locali.
34// Non marca come “sicure” le reti LAN private 10/8, 172.16/12 o 192.168/16:
35// sono reti locali, ma non necessariamente loopback dello stesso host.
36bool is_safe_local_address(const std::string& address);
37bool is_safe_local_connection(const std::string& dst_ip,
38 const std::string& src_ip = {});
39
40std::string safe_local_process_label();
42
43std::string best_connection_display_name(const std::string& app_comm,
44 const std::string& app_path,
45 const std::vector<std::string>& app_args,
46 const std::string& dst_ip,
47 const std::string& src_ip = {});
48
49std::string best_connection_icon_name(const std::string& app_comm,
50 const std::string& app_path,
51 const std::vector<std::string>& app_args,
52 const std::string& dst_ip,
53 const std::string& src_ip = {});
54
55} // namespace bsc::ui_util
std::string safe_local_process_icon_name()
std::string best_connection_icon_name(const std::string &app_comm, const std::string &app_path, const std::vector< std::string > &app_args, const std::string &dst_ip, const std::string &src_ip)
std::string safe_local_process_label()
std::string best_connection_display_name(const std::string &app_comm, const std::string &app_path, const std::vector< std::string > &app_args, const std::string &dst_ip, const std::string &src_ip)
std::string best_app_display_name(const std::string &app_comm, const std::string &app_path, const std::vector< std::string > &app_args)
bool is_safe_local_connection(const std::string &dst_ip, const std::string &src_ip)
AppMetadata resolve_app_metadata(const std::string &app_comm, const std::string &app_path, const std::vector< std::string > &app_args)
std::string best_app_icon_name(const std::string &app_comm, const std::string &app_path, const std::vector< std::string > &app_args)
bool is_safe_local_address(const std::string &address)