|
ebpf-blocker 1.0.0
XDP-based packet blocker using eBPF
|
Обёртка SQLite-базы данных и утилиты парсинга CIDR. More...
#include <cstdint>#include <sqlite3.h>#include <string>#include <vector>Go to the source code of this file.
Data Structures | |
| struct | BlockEntry |
| Одна запись (IP/CIDR + комментарий) для whitelist или blacklist. More... | |
| struct | CIDR |
| Распарсенное представление CIDR-подсети. More... | |
| class | BlockerDB |
Functions | |
| CIDR | ParseCIDR (const std::string &str) |
| std::string | IPToString (uint32_t ip) |
Обёртка SQLite-базы данных и утилиты парсинга CIDR.
Предоставляет RAII-обёртку над SQLite3 (BlockerDB), парсер CIDR-нотации и конвертер IP-адресов.
Definition in file db.h.
| std::string IPToString | ( | uint32_t | ip | ) |
Конвертирует 32-битный IP (network byte order) в dotted-decimal строку.
| [in] | ip | IP-адрес в network byte order. |
Definition at line 45 of file db.cpp.
Referenced by TEST(), and BlockerDB::UpdateLastBlockedAt().
| CIDR ParseCIDR | ( | const std::string & | str | ) |
Парсит CIDR-строку (например "192.168.1.0/24") в структуру CIDR.
| [in] | str | Входная строка в формате "IP" или "IP/длина_префикса". |
| std::invalid_argument | при некорректном IP или длине префикса. |
Definition at line 18 of file db.cpp.
References CIDR::prefixlen.
Referenced by TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and XdpBlocker::UpdateMap().