#include <dnsmasq_backend.hpp>
Public Member Functions | |
| DnsmasqBackend (const std::string &blacklist_path="/etc/dnsmasq.d/BastionGuard-blacklist.conf", const std::string &whitelist_path="/etc/dnsmasq.d/BastionGuard-whitelist.conf", const std::string &dnsmasq_user="dnsmasq") | |
| bool | add_to_blacklist (const std::string &domain) |
| bool | remove_from_blacklist (const std::string &domain) |
| bool | add_to_whitelist (const std::string &domain) |
| bool | remove_from_whitelist (const std::string &domain) |
| bool | write_blacklist (const std::vector< std::string > &domains) |
| bool | write_whitelist (const std::vector< std::string > &domains) |
| bool | reload_dnsmasq () |
Private Member Functions | |
| bool | atomic_write (const std::string &path, const std::string &content) |
| std::string | make_dnsmasq_entries (const std::vector< std::string > &domains) |
Private Attributes | |
| std::string | blacklist_path_ |
| std::string | whitelist_path_ |
| std::string | dnsmasq_user_ |
Definition at line 26 of file dnsmasq_backend.hpp.
| BastionGuard::DnsmasqBackend::DnsmasqBackend | ( | const std::string & | blacklist_path = "/etc/dnsmasq.d/BastionGuard-blacklist.conf", |
| const std::string & | whitelist_path = "/etc/dnsmasq.d/BastionGuard-whitelist.conf", | ||
| const std::string & | dnsmasq_user = "dnsmasq" ) |
Definition at line 41 of file dnsmasq_backend.cpp.
References blacklist_path_, dnsmasq_user_, and whitelist_path_.
| bool BastionGuard::DnsmasqBackend::add_to_blacklist | ( | const std::string & | domain | ) |
Definition at line 123 of file dnsmasq_backend.cpp.
References blacklist_path_, BastionGuard::ensure_loaded(), BastionGuard::g_blacklist, BastionGuard::g_mutex, reload_dnsmasq(), whitelist_path_, and write_blacklist().
| bool BastionGuard::DnsmasqBackend::add_to_whitelist | ( | const std::string & | domain | ) |
Definition at line 160 of file dnsmasq_backend.cpp.
References blacklist_path_, BastionGuard::ensure_loaded(), BastionGuard::g_mutex, BastionGuard::g_whitelist, whitelist_path_, and write_whitelist().
|
private |
Definition at line 93 of file dnsmasq_backend.cpp.
Referenced by write_blacklist(), and write_whitelist().
|
private |
Definition at line 113 of file dnsmasq_backend.cpp.
Referenced by write_blacklist().
| bool BastionGuard::DnsmasqBackend::reload_dnsmasq | ( | ) |
Definition at line 212 of file dnsmasq_backend.cpp.
References bg_process::run().
Referenced by add_to_blacklist(), and remove_from_blacklist().
| bool BastionGuard::DnsmasqBackend::remove_from_blacklist | ( | const std::string & | domain | ) |
Definition at line 142 of file dnsmasq_backend.cpp.
References blacklist_path_, BastionGuard::ensure_loaded(), BastionGuard::g_blacklist, BastionGuard::g_mutex, reload_dnsmasq(), whitelist_path_, and write_blacklist().
| bool BastionGuard::DnsmasqBackend::remove_from_whitelist | ( | const std::string & | domain | ) |
Definition at line 178 of file dnsmasq_backend.cpp.
References blacklist_path_, BastionGuard::ensure_loaded(), BastionGuard::g_mutex, BastionGuard::g_whitelist, whitelist_path_, and write_whitelist().
| bool BastionGuard::DnsmasqBackend::write_blacklist | ( | const std::vector< std::string > & | domains | ) |
Definition at line 196 of file dnsmasq_backend.cpp.
References atomic_write(), blacklist_path_, and make_dnsmasq_entries().
Referenced by add_to_blacklist(), and remove_from_blacklist().
| bool BastionGuard::DnsmasqBackend::write_whitelist | ( | const std::vector< std::string > & | domains | ) |
Definition at line 202 of file dnsmasq_backend.cpp.
References atomic_write(), and whitelist_path_.
Referenced by add_to_whitelist(), and remove_from_whitelist().
|
private |
Definition at line 45 of file dnsmasq_backend.hpp.
Referenced by add_to_blacklist(), add_to_whitelist(), DnsmasqBackend(), remove_from_blacklist(), remove_from_whitelist(), and write_blacklist().
|
private |
Definition at line 47 of file dnsmasq_backend.hpp.
Referenced by DnsmasqBackend().
|
private |
Definition at line 46 of file dnsmasq_backend.hpp.
Referenced by add_to_blacklist(), add_to_whitelist(), DnsmasqBackend(), remove_from_blacklist(), remove_from_whitelist(), and write_whitelist().