SYMBOL INDEX (3220 symbols across 273 files) FILE: package/luci-lite/files/root/www/luci-static/resources/view/smartdns-lite/smartdns-lite.js function getServiceStatus (line 38) | function getServiceStatus() { function smartdnsServiceStatus (line 51) | function smartdnsServiceStatus() { function smartdnsRenderStatus (line 57) | function smartdnsRenderStatus(res) { FILE: package/luci/files/root/www/luci-static/resources/view/smartdns/smartdns.js function getServiceStatus (line 38) | function getServiceStatus() { function smartdnsServiceStatus (line 49) | function smartdnsServiceStatus() { function smartdnsRenderStatus (line 55) | function smartdnsRenderStatus(res) { FILE: package/tool/po2lmo/src/po2lmo.c function die (line 21) | static void die(const char *msg) function usage (line 27) | static void usage(const char *name) function print (line 33) | static void print(const void *ptr, size_t size, size_t nmemb, FILE *stream) function extract_string (line 39) | static int extract_string(const char *src, char *dest, int len) function cmp_index (line 85) | static int cmp_index(const void *a, const void *b) function print_uint32 (line 98) | static void print_uint32(uint32_t x, FILE *out) function print_index (line 104) | static void print_index(void *array, int n, FILE *out) function main (line 119) | int main(int argc, char *argv[]) FILE: package/tool/po2lmo/src/template_lmo.c function sfh_hash (line 26) | uint32_t sfh_hash(const char *data, int len) function lmo_canon_hash (line 72) | uint32_t lmo_canon_hash(const char *str, int len) function lmo_archive_t (line 100) | lmo_archive_t * lmo_open(const char *file) function lmo_close (line 154) | void lmo_close(lmo_archive_t *ar) function lmo_load_catalog (line 172) | int lmo_load_catalog(const char *lang, const char *dir) function lmo_change_catalog (line 228) | int lmo_change_catalog(const char *lang) function lmo_entry_t (line 244) | static lmo_entry_t * lmo_find_entry(lmo_archive_t *ar, uint32_t hash) function lmo_translate (line 280) | int lmo_translate(const char *key, int keylen, char **out, int *outlen) function lmo_close_catalog (line 304) | void lmo_close_catalog(const char *lang) FILE: package/tool/po2lmo/src/template_lmo.h type lmo_entry (line 45) | struct lmo_entry { type lmo_entry_t (line 52) | typedef struct lmo_entry lmo_entry_t; type lmo_archive (line 55) | struct lmo_archive { type lmo_archive_t (line 65) | typedef struct lmo_archive lmo_archive_t; type lmo_catalog (line 68) | struct lmo_catalog { type lmo_catalog_t (line 74) | typedef struct lmo_catalog lmo_catalog_t; FILE: plugin/demo/demo.c function demo_server_recv (line 10) | static int demo_server_recv(struct dns_packet *packet, unsigned char *in... function demo_server_request_complete (line 19) | static void demo_server_request_complete(struct dns_request *request) type smartdns_operations (line 24) | struct smartdns_operations function dns_plugin_init (line 29) | int dns_plugin_init(struct dns_plugin *plugin) function dns_plugin_exit (line 44) | int dns_plugin_exit(struct dns_plugin *plugin) function dns_plugin_api_version (line 51) | int dns_plugin_api_version(void) FILE: plugin/smartdns-ui/build.rs type IgnoreMacros (line 6) | struct IgnoreMacros(HashSet); method will_parse_macro (line 9) | fn will_parse_macro(&self, name: &str) -> bindgen::callbacks::MacroPar... function get_git_commit_version (line 18) | fn get_git_commit_version() { function link_rename_lib (line 32) | fn link_rename_lib() { function link_smartdns_lib (line 52) | fn link_smartdns_lib() { function main (line 102) | fn main() { FILE: plugin/smartdns-ui/src/data_server.rs constant DEFAULT_MAX_LOG_AGE (line 44) | pub const DEFAULT_MAX_LOG_AGE: u64 = 30 * 24 * 60 * 60; constant DEFAULT_MAX_LOG_AGE_MS (line 45) | pub const DEFAULT_MAX_LOG_AGE_MS: u64 = DEFAULT_MAX_LOG_AGE * 1000; constant MAX_LOG_AGE_VALUE_MIN (line 46) | pub const MAX_LOG_AGE_VALUE_MIN: u64 = 600; constant MAX_LOG_AGE_VALUE_MAX (line 47) | pub const MAX_LOG_AGE_VALUE_MAX: u64 = 365 * 24 * 60 * 60 * 10; constant MIN_FREE_DISK_SPACE (line 48) | pub const MIN_FREE_DISK_SPACE: u64 = 1024 * 1024 * 8; constant DB_FILE_NAME (line 49) | pub const DB_FILE_NAME: &str = "smartdns.db"; type OverviewData (line 52) | pub struct OverviewData { type MetricsData (line 61) | pub struct MetricsData { type DataServerConfig (line 76) | pub struct DataServerConfig { method new (line 83) | pub fn new() -> Self { method load_config (line 91) | pub fn load_config(&mut self, data_server: Arc) -> Result<... type DataServerControl (line 116) | pub struct DataServerControl { method new (line 125) | pub fn new() -> Self { method get_data_server (line 135) | pub fn get_data_server(&self) -> Arc { method set_plugin (line 139) | pub fn set_plugin(&self, plugin: Arc) { method get_plugin (line 143) | pub fn get_plugin(&self) -> Result, Box> { method init_db (line 155) | pub fn init_db(&self, conf: &DataServerConfig) -> Result<(), Box Result<(), Box> { method stop_data_server (line 192) | pub fn stop_data_server(&self) { method send_request (line 221) | pub fn send_request(&self, request: Box) -> Result<(),... method server_log (line 242) | pub fn server_log(&self, level: LogLevel, msg: &str, msg_len: i32) { method server_audit_log (line 246) | pub fn server_audit_log(&self, msg: &str, msg_len: i32) { method drop (line 252) | fn drop(&mut self) { type DataServer (line 257) | pub struct DataServer { method new (line 277) | pub fn new() -> Self { method get_recv_in_batch (line 310) | pub fn get_recv_in_batch(&self) -> bool { method set_recv_in_batch (line 314) | pub fn set_recv_in_batch(&self, recv_in_batch: bool) { method init_server (line 318) | fn init_server(&self, conf: &DataServerConfig) -> Result<(), Box) { method get_plugin (line 351) | pub fn get_plugin(&self) -> Result, Box> { method get_data_server_config (line 363) | pub fn get_data_server_config(&self) -> DataServerConfig { method get_config (line 368) | pub fn get_config(&self, key: &str) -> Option { method get_server_config_from_file (line 377) | pub fn get_server_config_from_file(&self, key: &str) -> Option { method get_server_config (line 386) | pub fn get_server_config(&self, key: &str) -> Option { method whois (line 400) | pub async fn whois(&self, domain: &str) -> Result Result, Box Result<(), Box Result u64 { method delete_domain_by_id (line 428) | pub fn delete_domain_by_id(&self, id: u64) -> Result Result... method delete_client_by_id (line 436) | pub fn delete_client_by_id(&self, id: u64) -> Result Arc { method get_metrics (line 479) | pub fn get_metrics(&self) -> Result> { method is_handle_request_disabled (line 497) | pub fn is_handle_request_disabled(&self) -> bool { method get_free_disk_space (line 502) | pub fn get_free_disk_space(&self) -> u64 { method get_overview (line 506) | pub fn get_overview(&self) -> Result) -> Result<... method insert_domain_by_list (line 522) | pub fn insert_domain_by_list(&self, data: &Vec) -> Result<... method insert_domain (line 526) | pub fn insert_domain(&self, data: &DomainData) -> Result<(), Box mpsc::Receiver { method server_log (line 697) | pub fn server_log(&self, level: LogLevel, msg: &str, msg_len: i32) { method get_audit_log_stream (line 701) | pub async fn get_audit_log_stream(&self) -> mpsc::Receiver) -> Result<(), Box( FILE: plugin/smartdns-ui/src/data_stats.rs type DataStatsItem (line 39) | struct DataStatsItem { method new (line 59) | pub fn new() -> Self { method get_qps (line 82) | pub fn get_qps(&self) -> u32 { method add_qps_count (line 86) | pub fn add_qps_count(&self, count: u32) { method update_qps (line 90) | pub fn update_qps(&self) { method add_request_drop (line 95) | pub fn add_request_drop(&self, count: u64) { method get_request_drop (line 108) | pub fn get_request_drop(&self) -> u64 { method get_total_request (line 121) | pub fn get_total_request(&self) -> u64 { method add_total_request (line 134) | pub fn add_total_request(&self, total: u64) { method get_total_blocked_request (line 147) | pub fn get_total_blocked_request(&self) -> u64 { method add_total_blocked_request (line 160) | pub fn add_total_blocked_request(&self, total: u64) { method add_total_failed_request (line 174) | pub fn add_total_failed_request(&self, total: u64) { method get_total_failed_request (line 188) | pub fn get_total_failed_request(&self) -> u64 { method get_current_hour_total (line 202) | pub fn get_current_hour_total(&self) -> u64 { type DataStatsItem (line 49) | struct DataStatsItem { method new (line 59) | pub fn new() -> Self { method get_qps (line 82) | pub fn get_qps(&self) -> u32 { method add_qps_count (line 86) | pub fn add_qps_count(&self, count: u32) { method update_qps (line 90) | pub fn update_qps(&self) { method add_request_drop (line 95) | pub fn add_request_drop(&self, count: u64) { method get_request_drop (line 108) | pub fn get_request_drop(&self) -> u64 { method get_total_request (line 121) | pub fn get_total_request(&self) -> u64 { method add_total_request (line 134) | pub fn add_total_request(&self, total: u64) { method get_total_blocked_request (line 147) | pub fn get_total_blocked_request(&self) -> u64 { method add_total_blocked_request (line 160) | pub fn add_total_blocked_request(&self, total: u64) { method add_total_failed_request (line 174) | pub fn add_total_failed_request(&self, total: u64) { method get_total_failed_request (line 188) | pub fn get_total_failed_request(&self) -> u64 { method get_current_hour_total (line 202) | pub fn get_current_hour_total(&self) -> u64 { type DataStats (line 207) | pub struct DataStats { method new (line 219) | pub fn new(db: Arc, conf: Arc>... method get_qps (line 234) | pub fn get_qps(&self) -> u32 { method add_qps_count (line 238) | pub fn add_qps_count(&self, count: u32) { method update_qps (line 242) | pub fn update_qps(&self) { method add_request_drop (line 246) | pub fn add_request_drop(&self, count: u64) { method get_request_drop (line 250) | pub fn get_request_drop(&self) -> u64 { method get_total_blocked_request (line 254) | pub fn get_total_blocked_request(&self) -> u64 { method add_total_blocked_request (line 258) | pub fn add_total_blocked_request(&self, total: u64) { method get_total_failed_request (line 262) | pub fn get_total_failed_request(&self) -> u64 { method add_total_failed_request (line 266) | pub fn add_total_failed_request(&self, total: u64) { method get_total_request (line 270) | pub fn get_total_request(&self) -> u64 { method get_current_hour_total (line 274) | pub fn get_current_hour_total(&self) -> u64 { method add_total_request (line 278) | pub fn add_total_request(&self, total: u64) { method get_memory_usage (line 282) | pub fn get_memory_usage(&self) -> u64 { method init (line 305) | pub fn init(self: &Arc) -> Result<(), Box> { method load_status_data (line 311) | pub fn load_status_data(self: &Arc) -> Result<(), Box> { method save_status_data (line 385) | pub fn save_status_data(self: &Arc) -> Result<(), Box> { method start_worker (line 406) | pub fn start_worker(self: &Arc) -> Result<(), Box> { method refresh (line 417) | pub fn refresh(self: &Arc) { method update_stats (line 452) | async fn update_stats(self: &Arc) { method worker_loop (line 467) | async fn worker_loop(this: &Arc) { method stop_worker (line 501) | pub fn stop_worker(&self) { method drop (line 522) | fn drop(&mut self) { FILE: plugin/smartdns-ui/src/data_upstream_server.rs type UpstreamServerInfo (line 22) | pub struct UpstreamServerInfo { method get_all (line 37) | pub fn get_all() -> Result, Box Self { method create_table (line 212) | fn create_table(&self, conn: &Connection) -> Result<()> { method migrate_db (line 318) | fn migrate_db(&self, _conn: &Connection) -> Result<(), Box> { method init_db (line 325) | fn init_db(&self, conn: &Connection) -> Result<(), Box> { method open (line 350) | pub fn open(&self, path: &str) -> Result<(), Box> { method run_vacuum (line 411) | pub fn run_vacuum(&self, pages: Option) -> Result<(), Box Result<(), Box Result, Box Result<(), Bo... method get_status_data_list (line 502) | pub fn get_status_data_list(&self) -> Result, ... method debug_query_plan (line 533) | pub fn debug_query_plan(&self, conn: &Connection, sql: String, sql_par... method get_config (line 564) | pub fn get_config(&self, key: &str) -> Result, Box) -> Result<(), Box<... method get_db_file_path (line 694) | pub fn get_db_file_path(&self) -> Option { method get_readonly_conn (line 704) | pub fn get_readonly_conn(&self) -> Option { method get_domain_sql_where (line 730) | pub fn get_domain_sql_where( method get_domain_list_count (line 935) | pub fn get_domain_list_count(&self, param: Option<&DomainListGetParam>... method delete_domain_by_id (line 965) | pub fn delete_domain_by_id(&self, id: u64) -> Result Result... method refresh_client_top_list (line 1005) | pub fn refresh_client_top_list(&self, timestamp: u64) -> Result<(), Bo... method get_client_top_list (line 1068) | pub fn get_client_top_list(&self, count: u32) -> Result Result Result<(), Bo... method get_domain_top_list (line 1293) | pub fn get_domain_top_list(&self, count: u32) -> Result) -> Result<(... method get_client_list_count (line 1469) | pub fn get_client_list_count(&self, param: Option<&ClientListGetParam>... method get_client_sql_where (line 1499) | fn get_client_sql_where( method get_client_list (line 1645) | pub fn get_client_list( method delete_client_by_id (line 1746) | pub fn delete_client_by_id(&self, id: u64) -> Result u64 { method close (line 1788) | pub fn close(&self) { type ClientData (line 40) | pub struct ClientData { type ClientQueryCount (line 49) | pub struct ClientQueryCount { type DomainQueryCount (line 57) | pub struct DomainQueryCount { type HourlyQueryCountItem (line 65) | pub struct HourlyQueryCountItem { type HourlyQueryCount (line 71) | pub struct HourlyQueryCount { type DailyQueryCountItem (line 77) | pub struct DailyQueryCountItem { type DailyQueryCount (line 83) | pub struct DailyQueryCount { type DomainData (line 89) | pub struct DomainData { type QueryDomainListResult (line 104) | pub struct QueryDomainListResult { type DomainListGetParamCursor (line 111) | pub struct DomainListGetParamCursor { type QueryClientListResult (line 118) | pub struct QueryClientListResult { type ClientListGetParamCursor (line 125) | pub struct ClientListGetParamCursor { type ClientListGetParam (line 132) | pub struct ClientListGetParam { method new (line 146) | pub fn new() -> Self { type DomainListGetParam (line 163) | pub struct DomainListGetParam { method new (line 182) | pub fn new() -> Self { method drop (line 1801) | fn drop(&mut self) { FILE: plugin/smartdns-ui/src/http_api_msg.rs type AuthUser (line 29) | pub struct AuthUser { type TokenResponse (line 35) | pub struct TokenResponse { function api_msg_parse_auth (line 40) | pub fn api_msg_parse_auth(data: &str) -> Result> { function api_msg_parse_auth_password_change (line 57) | pub fn api_msg_parse_auth_password_change(data: &str) -> Result<(String,... function api_msg_gen_auth_password_change (line 74) | pub fn api_msg_gen_auth_password_change(old_password: &str, password: &s... function api_msg_gen_auth_login (line 83) | pub fn api_msg_gen_auth_login(auth: &AuthUser) -> String { function api_msg_parse_count (line 92) | pub fn api_msg_parse_count(data: &str) -> Result> { function api_msg_gen_count (line 102) | pub fn api_msg_gen_count(count: i64) -> String { function api_msg_parse_json_object_domain_value (line 110) | pub fn api_msg_parse_json_object_domain_value( function api_msg_parse_domain (line 183) | pub fn api_msg_parse_domain(data: &str) -> Result serde_json... function api_msg_gen_domain (line 204) | pub fn api_msg_gen_domain(domain: &DomainData) -> String { function api_msg_parse_domain_list (line 209) | pub fn api_msg_parse_domain_list(data: &str) -> Result, ... function api_msg_gen_domain_list (line 226) | pub fn api_msg_gen_domain_list( function api_msg_parse_client_list (line 249) | pub fn api_msg_parse_client_list(data: &str) -> Result, ... function api_msg_gen_json_object_client (line 297) | pub fn api_msg_gen_json_object_client(client: &ClientData) -> serde_json... function api_msg_gen_client_list (line 307) | pub fn api_msg_gen_client_list( function api_msg_auth_token (line 330) | pub fn api_msg_auth_token(token: &str, expired: &str) -> String { function api_msg_parse_auth_token (line 340) | pub fn api_msg_parse_auth_token(data: &str) -> Result String { function api_msg_parse_cache_number (line 365) | pub fn api_msg_parse_cache_number(data: &str) -> Result String { function api_msg_parse_error (line 383) | pub fn api_msg_parse_error(data: &str) -> Result> { function api_msg_parse_loglevel (line 393) | pub fn api_msg_parse_loglevel(data: &str) -> Result String { function api_msg_gen_version (line 417) | pub fn api_msg_gen_version(smartdns_version: &str, ui_version: &str) -> ... function api_msg_gen_upstream_server_list (line 426) | pub fn api_msg_gen_upstream_server_list(upstream_server_list: &Vec Result<(String, String), Box... function api_msg_gen_key_value (line 551) | pub fn api_msg_gen_key_value(data: &HashMap) -> String { function api_msg_parse_key_value (line 561) | pub fn api_msg_parse_key_value(data: &str) -> Result) ... function api_msg_parse_top_client_list (line 596) | pub fn api_msg_parse_top_client_list(data: &str) -> Result) ... function api_msg_parse_top_domain_list (line 656) | pub fn api_msg_parse_top_domain_list(data: &str) -> Result String { function api_msg_parse_metrics_data (line 714) | pub fn api_msg_parse_metrics_data(data: &str) -> Result String { function api_msg_parse_stats_overview (line 795) | pub fn api_msg_parse_stats_overview(data: &str) -> Result Result String { function api_msg_gen_daily_query_count (line 894) | pub fn api_msg_gen_daily_query_count(daily_count: &DailyQueryCount) -> S... function api_msg_parse_daily_query_count (line 912) | pub fn api_msg_parse_daily_query_count(data: &str) -> Result String { function api_msg_parse_whois_info (line 961) | pub fn api_msg_parse_whois_info(data: &str) -> Result Self { method to_response (line 40) | pub fn to_response(&self) -> Response> { method from (line 52) | fn from(err: hyper::Error) -> HttpError { method from (line 61) | fn from(err: FromUtf8Error) -> HttpError { method from (line 70) | fn from(err: std::io::Error) -> HttpError { method from (line 79) | fn from(err: Box) -> HttpError { method from (line 88) | fn from(err: Box) -> HttpError { FILE: plugin/smartdns-ui/src/http_jwt.rs type JwtClaims (line 23) | pub struct JwtClaims { type Jwt (line 29) | pub struct Jwt { method new (line 42) | pub fn new(user: &str, secret: &str, ip: &str, expired_in: u32) -> Self { method refresh_token (line 51) | pub fn refresh_token(&self, token: &str) -> Result { method encode_token (line 59) | pub fn encode_token(&self) -> TokenInfo { method is_token_valid (line 78) | pub fn is_token_valid(&self, token: &str) -> bool { method decode_token (line 93) | pub fn decode_token(&self, token: &str) -> Result { type TokenInfo (line 36) | pub struct TokenInfo { FILE: plugin/smartdns-ui/src/http_server.rs constant HTTP_SERVER_DEFAULT_PASSWORD (line 62) | const HTTP_SERVER_DEFAULT_PASSWORD: &str = "password"; constant HTTP_SERVER_DEFAULT_USERNAME (line 63) | const HTTP_SERVER_DEFAULT_USERNAME: &str = "admin"; constant HTTP_SERVER_DEFAULT_WWW_ROOT (line 64) | const HTTP_SERVER_DEFAULT_WWW_ROOT: &str = "/usr/share/smartdns/wwwroot"; constant HTTP_SERVER_DEFAULT_IPV6 (line 65) | const HTTP_SERVER_DEFAULT_IPV6: &str = "http://[::]:6080"; constant HTTP_SERVER_DEFAULT_IP (line 66) | const HTTP_SERVER_DEFAULT_IP: &str = "http://0.0.0.0:6080"; type HttpServerConfig (line 69) | pub struct HttpServerConfig { method new (line 80) | pub fn new() -> Self { method settings_map (line 98) | pub fn settings_map(&self) -> std::collections::HashMap { method load_config (line 114) | pub fn load_config(&mut self, data_server: Arc) -> Result<... type HttpServerControl (line 153) | pub struct HttpServerControl { method new (line 161) | pub fn new() -> Self { method set_plugin (line 169) | pub fn set_plugin(&self, plugin: Arc) { method get_plugin (line 173) | pub fn get_plugin(&self) -> Result, Box> { method get_http_server (line 185) | pub fn get_http_server(&self) -> Arc { method start_http_server (line 189) | pub fn start_http_server(&self, conf: &HttpServerConfig) -> Result<(),... method stop_http_server (line 220) | pub fn stop_http_server(&self) { method drop (line 250) | fn drop(&mut self) { type TokioExecutor (line 256) | pub struct TokioExecutor; method execute (line 263) | fn execute(&self, fut: F) { type HttpServer (line 268) | pub struct HttpServer { method new (line 281) | fn new() -> Self { method get_conf (line 338) | pub fn get_conf(&self) -> HttpServerConfig { method get_conf_mut (line 343) | pub fn get_conf_mut(&'_ self) -> MutexGuard<'_, HttpServerConfig> { method login_attempts_reset (line 347) | pub fn login_attempts_reset(&self) { method login_attempts_check (line 353) | pub fn login_attempts_check(&self) -> bool { method get_local_addr (line 379) | pub fn get_local_addr(&self) -> Option { method set_conf (line 384) | fn set_conf(&self, conf: &HttpServerConfig) -> Result<(), Box) { method get_plugin (line 401) | fn get_plugin(&self) -> Result, Box> { method is_https_server (line 413) | pub fn is_https_server(&self) -> bool { method get_data_server (line 428) | pub fn get_data_server(&self) -> Arc { method get_token_from_header (line 432) | pub fn get_token_from_header( method auth_token_is_valid (line 485) | pub fn auth_token_is_valid( method server_add_cors_header (line 504) | fn server_add_cors_header( method server_handle_http_api_request (line 540) | async fn server_handle_http_api_request( method get_mime_type (line 622) | pub fn get_mime_type(&self, file: &str) -> String { method server_handle_http_request (line 631) | async fn server_handle_http_request( method http_server_handle_conn (line 759) | async fn http_server_handle_conn(this: Arc, stream: TcpStr... method https_server_handle_conn (line 776) | async fn https_server_handle_conn( method handle_tls_accept (line 796) | async fn handle_tls_accept(this: Arc, acceptor: TlsAccepto... method http_server_loop (line 817) | async fn http_server_loop( method stop_http_server (line 933) | fn stop_http_server(&self) { function normalize_path (line 952) | pub fn normalize_path(path: &Path) -> PathBuf { FILE: plugin/smartdns-ui/src/http_server_api.rs constant PASSWORD_CONFIG_KEY (line 42) | const PASSWORD_CONFIG_KEY: &str = "smartdns-ui.password"; constant REST_API_PATH (line 43) | const REST_API_PATH: &str = "/api"; type APIRouteFuture (line 45) | type APIRouteFuture<'a, T> = Pin + Send + 'a>>; type APIRouterFun (line 46) | type APIRouterFun = fn( type APIRouteParam (line 51) | type APIRouteParam = HashMap; type APIRouter (line 53) | pub struct APIRouter { type API (line 59) | pub struct API { method new (line 72) | pub fn new() -> Self { method register (line 112) | pub fn register(&mut self, method: Method, path: &str, auth: bool, han... method get_router (line 134) | pub fn get_router(&self, method: &Method, path: &str) -> Option<(&APIR... method get_params (line 157) | fn get_params(req: &Request) -> HashMap { method params_parser_value (line 164) | fn params_parser_value(v: Option<&String>) -> Op... method params_get_value (line 176) | fn params_get_value( method params_get_value_default (line 189) | fn params_get_value_default( method response_error (line 210) | pub fn response_error(code: StatusCode, msg: &str) -> Result( FILE: plugin/smartdns-ui/src/http_server_stream.rs type Error (line 42) | type Error = Box; constant LOG_CONTROL_MESSAGE_TYPE (line 44) | const LOG_CONTROL_MESSAGE_TYPE: u8 = 1; constant LOG_CONTROL_PAUSE (line 45) | const LOG_CONTROL_PAUSE: u8 = 1; constant LOG_CONTROL_RESUME (line 46) | const LOG_CONTROL_RESUME: u8 = 2; constant LOG_CONTROL_LOGLEVEL (line 47) | const LOG_CONTROL_LOGLEVEL: u8 = 3; type LogLevelGuard (line 49) | struct LogLevelGuard { method new (line 59) | fn new() -> Self { method drop (line 54) | fn drop(&mut self) { function serve_log_stream (line 65) | pub async fn serve_log_stream( function serve_audit_log_stream (line 177) | pub async fn serve_audit_log_stream( function serve_metrics (line 271) | pub async fn serve_metrics( type TermMessageType (line 315) | enum TermMessageType { type Error (line 324) | type Error = (); method try_from (line 326) | fn try_from(value: u8) -> Result { function serve_term (line 339) | pub async fn serve_term(websocket: HyperWebsocket) -> Result<(), Error> { FILE: plugin/smartdns-ui/src/lib.rs function lib_init_ops (line 42) | fn lib_init_ops() { function lib_deinit_ops (line 51) | fn lib_deinit_ops() { function lib_init_smartdns_lib (line 59) | fn lib_init_smartdns_lib() { function lib_init (line 64) | fn lib_init() { function lib_deinit (line 73) | fn lib_deinit() { FILE: plugin/smartdns-ui/src/plugin.rs type SmartdnsPlugin (line 31) | pub struct SmartdnsPlugin { method new (line 44) | pub fn new() -> Arc { method get_runtime (line 68) | pub fn get_runtime(&self) -> Arc { method get_http_server (line 72) | pub fn get_http_server(&self) -> Arc { method get_data_server (line 76) | pub fn get_data_server(&self) -> Arc { method parser_args (line 80) | fn parser_args(&self, args: &Vec) -> Result<(), Box> { method load_config (line 142) | pub fn load_config(&self) -> Result<(), Box> { method start (line 155) | pub fn start(&self, args: &Vec) -> Result<(), Box> { method stop (line 172) | pub fn stop(&self) { method query_complete (line 184) | pub fn query_complete(&self, request: Box) -> Result<(... method server_log (line 194) | pub fn server_log(&self, level: LogLevel, msg: &str, msg_len: i32) { method server_audit_log (line 198) | pub fn server_audit_log(&self, msg: &str, msg_len: i32) { method drop (line 204) | fn drop(&mut self) { type SmartdnsPluginImpl (line 209) | pub struct SmartdnsPluginImpl { method new (line 214) | pub fn new() -> Self { method drop (line 222) | fn drop(&mut self) { method server_query_complete (line 228) | fn server_query_complete(&self, request: Box) { method server_log (line 232) | fn server_log(&self, level: LogLevel, msg: &str, msg_len: i32) { method server_audit_log (line 236) | fn server_audit_log(&self, msg: &str, msg_len: i32) { method server_init (line 240) | fn server_init(&mut self, args: &Vec) -> Result<(), Box Self { method get_log_stream (line 41) | pub async fn get_log_stream(&self) -> mpsc::Receiver { method dispatch_log (line 47) | pub fn dispatch_log(&self, level: LogLevel, msg: &str, len: i32) { type ServerAuditLogMsg (line 86) | pub struct ServerAuditLogMsg { type ServerAuditLog (line 91) | pub struct ServerAuditLog { method new (line 96) | pub fn new() -> Self { method get_audit_log_stream (line 102) | pub async fn get_audit_log_stream(&self) -> mpsc::Receiver Result { type Error (line 82) | type Error = (); method try_from (line 84) | fn try_from(value: &str) -> Result { type Error (line 98) | type Error = (); method try_from (line 99) | fn try_from(value: String) -> Result { function from (line 47) | fn from(level: LogLevel) -> u32 { method to_string (line 53) | fn to_string(&self) -> String { type DnsServerType (line 105) | pub enum DnsServerType { method from (line 117) | fn from(t: u32) -> DnsServerType { type Err (line 132) | type Err = String; method from_str (line 134) | fn from_str(t: &str) -> Result { method to_string (line 149) | fn to_string(&self) -> String { type DnsServerTrustStatus (line 164) | pub enum DnsServerTrustStatus { method from (line 173) | fn from(t: u32) -> DnsServerTrustStatus { method to_string (line 186) | fn to_string(&self) -> String { function dns_can_log (line 205) | pub fn dns_can_log(level: LogLevel) -> bool { function dns_log_set_level (line 209) | pub fn dns_log_set_level(level: LogLevel) { function dns_log_get_level (line 215) | pub fn dns_log_get_level() -> LogLevel { function dns_audit_log_enabled (line 222) | pub fn dns_audit_log_enabled() -> bool { function dns_log_out (line 226) | pub fn dns_log_out(level: LogLevel, file: &str, line: u32, message: &str) { function smartdns_version (line 245) | pub fn smartdns_version() -> String { function smartdns_ui_version (line 254) | pub fn smartdns_ui_version() -> String { function smartdns_get_server_name (line 268) | pub fn smartdns_get_server_name() -> String { function smartdns_server_run (line 283) | pub fn smartdns_server_run(file: &str) -> Result<(), Box> { function smartdns_enable_update_neighbour (line 297) | pub fn smartdns_enable_update_neighbour(enable: bool) { function smartdns_conf_get_conf_fullpath (line 307) | pub fn smartdns_conf_get_conf_fullpath(path: &str) -> String { function smartdns_server_stop (line 324) | pub fn smartdns_server_stop() { function get_utc_time_ms (line 330) | pub fn get_utc_time_ms() -> u64 { function dns_request_complete (line 342) | extern "C" fn dns_request_complete(request: *mut smartdns_c::dns_request) { function dns_server_log (line 357) | extern "C" fn dns_server_log( function dns_server_audit_log (line 381) | extern "C" fn dns_server_audit_log(msg: *const c_char, msg_len: i32) { function dns_plugin_init (line 400) | extern "C" fn dns_plugin_init(plugin: *mut smartdns_c::dns_plugin) -> i32 { function dns_plugin_exit (line 421) | extern "C" fn dns_plugin_exit(_plugin: *mut smartdns_c::dns_plugin) -> i... function dns_plugin_api_version (line 431) | extern "C" fn dns_plugin_api_version() -> u32 { type DnsRequest (line 435) | pub trait DnsRequest: Send + Sync { method get_group_name (line 436) | fn get_group_name(&self) -> String; method get_domain (line 437) | fn get_domain(&self) -> String; method get_qtype (line 438) | fn get_qtype(&self) -> u32; method get_qclass (line 439) | fn get_qclass(&self) -> i32; method get_id (line 440) | fn get_id(&self) -> u16; method get_rcode (line 441) | fn get_rcode(&self) -> u16; method get_query_time (line 442) | fn get_query_time(&self) -> i32; method get_query_timestamp (line 443) | fn get_query_timestamp(&self) -> u64; method get_ping_time (line 444) | fn get_ping_time(&self) -> f64; method get_is_blocked (line 445) | fn get_is_blocked(&self) -> bool; method get_is_cached (line 446) | fn get_is_cached(&self) -> bool; method get_remote_mac (line 447) | fn get_remote_mac(&self) -> [u8; 6]; method get_remote_addr (line 448) | fn get_remote_addr(&self) -> String; method get_local_addr (line 449) | fn get_local_addr(&self) -> String; method is_prefetch_request (line 450) | fn is_prefetch_request(&self) -> bool; method is_dualstack_request (line 451) | fn is_dualstack_request(&self) -> bool; method get_group_name (line 478) | fn get_group_name(&self) -> String { method get_domain (line 487) | fn get_domain(&self) -> String { method get_qtype (line 496) | fn get_qtype(&self) -> u32 { method get_qclass (line 500) | fn get_qclass(&self) -> i32 { method get_id (line 504) | fn get_id(&self) -> u16 { method get_rcode (line 508) | fn get_rcode(&self) -> u16 { method get_query_time (line 512) | fn get_query_time(&self) -> i32 { method get_query_timestamp (line 516) | fn get_query_timestamp(&self) -> u64 { method get_ping_time (line 520) | fn get_ping_time(&self) -> f64 { method get_is_blocked (line 527) | fn get_is_blocked(&self) -> bool { method get_is_cached (line 531) | fn get_is_cached(&self) -> bool { method get_remote_mac (line 535) | fn get_remote_mac(&self) -> [u8; 6] { method get_remote_addr (line 547) | fn get_remote_addr(&self) -> String { method get_local_addr (line 570) | fn get_local_addr(&self) -> String { method is_prefetch_request (line 590) | fn is_prefetch_request(&self) -> bool { method is_dualstack_request (line 594) | fn is_dualstack_request(&self) -> bool { type DnsRequest_C (line 454) | pub struct DnsRequest_C { method new (line 460) | fn new(request: *mut smartdns_c::dns_request) -> DnsRequest_C { method put_ref (line 468) | fn put_ref(&mut self) { method drop (line 600) | fn drop(&mut self) { method clone (line 606) | fn clone(&self) -> Self { type DnsServerStats (line 620) | pub struct DnsServerStats { method new (line 626) | fn new( method get_query_total (line 634) | pub fn get_query_total(&self) -> u64 { method get_query_success (line 638) | pub fn get_query_success(&self) -> u64 { method get_query_recv (line 642) | pub fn get_query_recv(&self) -> u64 { method get_success_rate (line 646) | pub fn get_success_rate(&self) -> f64 { method get_query_avg_time (line 659) | pub fn get_query_avg_time(&self) -> f64 { method drop (line 668) | fn drop(&mut self) { type DnsUpstreamServer (line 677) | pub struct DnsUpstreamServer { method new (line 682) | fn new(server_info: *mut smartdns_c::dns_server_info) -> Self { method get_server_num (line 690) | pub fn get_server_num() -> i32 { method dns_server_alive_num (line 694) | pub fn dns_server_alive_num() -> i32 { method get_server_stats (line 698) | pub fn get_server_stats(&self) -> DnsServerStats { method is_server_alive (line 703) | pub fn is_server_alive(&self) -> bool { method get_server_list (line 707) | pub fn get_server_list() -> Result, String> { method get_ip (line 735) | pub fn get_ip(&self) -> String { method get_host (line 742) | pub fn get_host(&self) -> String { method get_port (line 751) | pub fn get_port(&self) -> u16 { method get_type (line 755) | pub fn get_type(&self) -> DnsServerType { method get_server_security_status (line 763) | pub fn get_server_security_status(&self) -> DnsServerTrustStatus { method get_groups (line 771) | pub fn get_groups(&self) -> Vec { method drop (line 778) | fn drop(&mut self) { method clone (line 786) | fn clone(&self) -> Self { type SmartdnsOperations (line 799) | pub trait SmartdnsOperations { method server_query_complete (line 800) | fn server_query_complete(&self, request: Box); method server_log (line 801) | fn server_log(&self, level: LogLevel, msg: &str, msg_len: i32); method server_audit_log (line 802) | fn server_audit_log(&self, msg: &str, msg_len: i32); method server_init (line 803) | fn server_init(&mut self, args: &Vec) -> Result<(), Box &Vec { method set_operation (line 829) | pub fn set_operation(&mut self, ops: Box) { method clear_operation (line 833) | pub fn clear_operation(&mut self) { method smartdns_exit (line 837) | pub fn smartdns_exit(status: i32) { method smartdns_restart (line 843) | pub fn smartdns_restart() { method smartdns_get_cert (line 849) | pub fn smartdns_get_cert() -> Result { method dns_cache_flush (line 875) | pub fn dns_cache_flush() { method dns_cache_total_num (line 881) | pub fn dns_cache_total_num() -> i32 { method dns_conf_cache_dir (line 886) | pub fn dns_conf_cache_dir() -> String { method dns_conf_data_dir (line 896) | pub fn dns_conf_data_dir() -> String { method dns_conf_plugin_config (line 906) | pub fn dns_conf_plugin_config(key: &str) -> Option { method dns_conf_plugin_config_default (line 923) | pub fn dns_conf_plugin_config_default(key: &str, default_val: &String)... method dns_conf_plugin_clear_all_config (line 933) | pub fn dns_conf_plugin_clear_all_config() { method parser_args (line 939) | fn parser_args(&mut self, plugin: *mut smartdns_c::dns_plugin) -> Resu... type SmartdnsCert (line 817) | pub struct SmartdnsCert { type Stats (line 958) | pub struct Stats {} method get_avg_process_time (line 961) | pub fn get_avg_process_time() -> f64 { method get_request_total (line 970) | pub fn get_request_total() -> u64 { method get_request_success (line 974) | pub fn get_request_success() -> u64 { method get_request_from_client (line 978) | pub fn get_request_from_client() -> u64 { method get_request_blocked (line 982) | pub fn get_request_blocked() -> u64 { method get_cache_hit (line 986) | pub fn get_cache_hit() -> u64 { method get_cache_memsize (line 990) | pub fn get_cache_memsize() -> u64 { method get_cache_hit_rate (line 994) | pub fn get_cache_hit_rate() -> f64 { method get_cache_memory_size (line 1003) | pub fn get_cache_memory_size() -> u64 { method fmt (line 1009) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { function test_dns_log (line 1019) | fn test_dns_log() { FILE: plugin/smartdns-ui/src/utils.rs function parse_value (line 25) | pub fn parse_value(value: Option, min: T, max: T, default: T)... function seconds_until_next_hour (line 51) | pub fn seconds_until_next_hour() -> u64 { function get_free_disk_space (line 59) | pub fn get_free_disk_space(path: &str) -> u64 { function hash_password (line 69) | pub fn hash_password(password: &str, round: Option) -> Result bool { function get_page_size (line 91) | pub fn get_page_size() -> usize { function is_dir_writable (line 96) | pub fn is_dir_writable(path: &str) -> bool { function is_ipv6_supported (line 101) | pub fn is_ipv6_supported() -> bool { FILE: plugin/smartdns-ui/src/whois.rs type WhoIsInfo (line 29) | pub struct WhoIsInfo { type WhoIs (line 39) | pub struct WhoIs { method new (line 45) | pub fn new() -> Self { method parser_whois (line 52) | pub fn parser_whois(&self, whois: &str, whois_domain: &mut String) -> ... method query_from_server (line 96) | pub async fn query_from_server(domain: &str, server: &str) -> Result Option { method get_server_by_domain (line 134) | pub fn get_server_by_domain(&self, domain: &str) -> String { method query (line 150) | pub async fn query(&self, domain: &str) -> Result Self { method set_with_auth_header (line 48) | pub fn set_with_auth_header(&mut self, with_auth_header: bool) { method login (line 53) | pub fn login(&mut self, username: &str, password: &str) -> Result Result> { method prep_request (line 81) | fn prep_request( method get (line 96) | pub fn get(&self, path: &str) -> Result<(i32, String), Box> { method delete (line 105) | pub fn delete(&self, path: &str) -> Result<(i32, String), Box Result<(i32, String), Box... method post (line 123) | pub fn post(&self, path: &str, body: &str) -> Result<(i32, String), Bo... method websocket (line 132) | pub fn websocket( method drop (line 166) | fn drop(&mut self) {} FILE: plugin/smartdns-ui/tests/common/server.rs type InstanceLockGuard (line 30) | pub struct InstanceLockGuard<'a> { function new_read_guard (line 36) | pub fn new_read_guard() -> Self { function new_write_guard (line 43) | pub fn new_write_guard() -> Self { type TestDnsRequest (line 51) | pub struct TestDnsRequest { method new (line 73) | pub fn new() -> Self { method get_group_name (line 98) | fn get_group_name(&self) -> String { method get_domain (line 102) | fn get_domain(&self) -> String { method get_qtype (line 106) | fn get_qtype(&self) -> u32 { method get_qclass (line 110) | fn get_qclass(&self) -> i32 { method get_id (line 114) | fn get_id(&self) -> u16 { method get_rcode (line 118) | fn get_rcode(&self) -> u16 { method get_query_time (line 122) | fn get_query_time(&self) -> i32 { method get_query_timestamp (line 126) | fn get_query_timestamp(&self) -> u64 { method get_ping_time (line 130) | fn get_ping_time(&self) -> f64 { method get_is_blocked (line 134) | fn get_is_blocked(&self) -> bool { method get_is_cached (line 138) | fn get_is_cached(&self) -> bool { method get_remote_mac (line 142) | fn get_remote_mac(&self) -> [u8; 6] { method get_remote_addr (line 146) | fn get_remote_addr(&self) -> String { method get_local_addr (line 150) | fn get_local_addr(&self) -> String { method is_prefetch_request (line 154) | fn is_prefetch_request(&self) -> bool { method is_dualstack_request (line 158) | fn is_dualstack_request(&self) -> bool { method drop (line 164) | fn drop(&mut self) { type TestSmartDnsConfigItem (line 175) | struct TestSmartDnsConfigItem { type TestSmartDnsServer (line 180) | pub struct TestSmartDnsServer { method new (line 188) | pub fn new() -> Self { method set_workdir (line 204) | pub fn set_workdir(&mut self, workdir: &str) { method add_conf (line 208) | pub fn add_conf(&mut self, key: &str, value: &str) { method gen_conf_file (line 215) | fn gen_conf_file(&self) -> std::io::Result { method start (line 224) | pub fn start(&mut self) -> Result<(), Box> { method stop (line 237) | pub fn stop(&mut self) { method drop (line 251) | fn drop(&mut self) { type TestServer (line 256) | pub struct TestServer { method new (line 274) | pub fn new() -> Self { method setup_default_args (line 298) | fn setup_default_args(&mut self) { method get_url (line 314) | pub fn get_url(&self, path: &str) -> String { method get_host (line 318) | pub fn get_host(&self) -> String { method get_www_root (line 323) | pub fn get_www_root(&self) -> &String { method create_workdir (line 327) | fn create_workdir(&self) -> std::io::Result<()> { method remove_workdir (line 333) | fn remove_workdir(&self) -> std::io::Result<()> { method add_mock_server_conf (line 339) | pub fn add_mock_server_conf(&mut self, key: &str, value: &str) { method enable_mock_server (line 344) | pub fn enable_mock_server(&mut self) { method add_args (line 350) | pub fn add_args(&mut self, args: Vec) { method send_test_dnsrequest (line 357) | pub fn send_test_dnsrequest( method new_mock_domain_record (line 384) | pub fn new_mock_domain_record(&self) -> DomainData { method get_data_server (line 401) | pub fn get_data_server(&self) -> Arc { method add_domain_record (line 406) | pub fn add_domain_record( method set_log_level (line 413) | pub fn set_log_level(&mut self, level: LogLevel) { method init_server (line 417) | fn init_server(&mut self) -> Result<(), Box> { method set_https (line 427) | pub fn set_https(&mut self, enable: bool) { method set_one_instance (line 436) | pub fn set_one_instance(&mut self, one_instance: bool) { method start (line 440) | pub fn start(&mut self) -> Result<(), Box> { method stop (line 487) | pub fn stop(&mut self) { method drop (line 502) | fn drop(&mut self) { FILE: plugin/smartdns-ui/tests/httpserver_test.rs function test_http_server_indexhtml (line 25) | fn test_http_server_indexhtml() { function test_http_server_somehtml (line 44) | fn test_http_server_somehtml() { function test_http_server_redirect_indexhtml (line 67) | fn test_http_server_redirect_indexhtml() { function test_http_server_404 (line 86) | fn test_http_server_404() { FILE: plugin/smartdns-ui/tests/restapi_test.rs function test_rest_api_login (line 27) | fn test_rest_api_login() { function test_rest_api_logout (line 52) | fn test_rest_api_logout() { function test_rest_api_login_incorrect (line 77) | fn test_rest_api_login_incorrect() { function test_rest_api_change_password (line 94) | fn test_rest_api_change_password() { function test_rest_api_cache_count (line 120) | fn test_rest_api_cache_count() { function test_rest_api_auth_refresh (line 138) | fn test_rest_api_auth_refresh() { function test_rest_api_auth_check (line 159) | fn test_rest_api_auth_check() { function test_rest_api_no_permission (line 179) | fn test_rest_api_no_permission() { function test_rest_api_404 (line 196) | fn test_rest_api_404() { function test_rest_api_log_stream (line 214) | fn test_rest_api_log_stream() { function test_rest_api_log_level (line 231) | fn test_rest_api_log_level() { function test_rest_api_get_domain (line 260) | fn test_rest_api_get_domain() { function test_rest_api_audit_log_stream (line 297) | fn test_rest_api_audit_log_stream() { function test_rest_api_get_by_id (line 315) | fn test_rest_api_get_by_id() { function test_rest_api_delete_domain_by_id (line 343) | fn test_rest_api_delete_domain_by_id() { function test_rest_api_server_version (line 379) | fn test_rest_api_server_version() { function test_rest_api_https_server (line 403) | fn test_rest_api_https_server() { function test_rest_api_settings (line 429) | fn test_rest_api_settings() { function test_rest_api_get_client (line 467) | fn test_rest_api_get_client() { function test_rest_api_stats_top (line 496) | fn test_rest_api_stats_top() { function test_rest_api_stats_overview (line 550) | fn test_rest_api_stats_overview() { function test_rest_api_stats_metrics (line 585) | fn test_rest_api_stats_metrics() { function test_rest_api_get_hourly_query_count (line 627) | fn test_rest_api_get_hourly_query_count() { function test_rest_api_server_status (line 655) | fn test_rest_api_server_status() { FILE: src/dns.c function is_aligned (line 49) | static int is_aligned(void *ptr, int aligment) function _dns_read_short (line 55) | static unsigned short _dns_read_short(unsigned char **buffer) function _dns_write_char (line 70) | static __attribute__((unused)) void _dns_write_char(unsigned char **buff... function _dns_read_char (line 77) | static unsigned char _dns_read_char(unsigned char **buffer) function _dns_write_short (line 85) | static void _dns_write_short(unsigned char **buffer, unsigned short value) function _dns_write_shortptr (line 99) | static void _dns_write_shortptr(unsigned char **buffer, void *ptrvalue) function _dns_write_int (line 121) | static void _dns_write_int(unsigned char **buffer, unsigned int value) function _dns_write_intptr (line 133) | static void _dns_write_intptr(unsigned char **buffer, void *ptrvalue) function _dns_read_int (line 153) | static unsigned int _dns_read_int(unsigned char **buffer) function _dns_left_len (line 167) | static inline int _dns_left_len(struct dns_context *context) function _dns_get_domain_from_packet (line 172) | static int _dns_get_domain_from_packet(unsigned char *packet, int packet... function _dns_decode_domain (line 262) | static int _dns_decode_domain(struct dns_context *context, char *output,... function dict_hash (line 267) | static unsigned int dict_hash(const char *s) function _dns_add_domain_dict (line 276) | static int _dns_add_domain_dict(struct dns_context *context, unsigned in... function _dns_get_domain_offset (line 300) | static int _dns_get_domain_offset(struct dns_context *context, const cha... function _dns_encode_domain (line 330) | static int _dns_encode_domain(struct dns_context *context, const char *d... type dns_rrs (line 391) | struct dns_rrs type dns_packet (line 391) | struct dns_packet type dns_head (line 394) | struct dns_head type dns_rrs (line 429) | struct dns_rrs type dns_rrs (line 433) | struct dns_rrs type dns_packet (line 433) | struct dns_packet type dns_rrs (line 433) | struct dns_rrs type dns_rrs (line 439) | struct dns_rrs function _dns_init_context_by_rrs (line 442) | static void _dns_init_context_by_rrs(struct dns_rrs *rrs, struct dns_con... function _dns_add_rrs_start (line 452) | static int _dns_add_rrs_start(struct dns_packet *packet, struct dns_cont... function _dns_rr_add_end (line 472) | static int _dns_rr_add_end(struct dns_packet *packet, int type, dns_type... function _dns_add_qr_head (line 535) | static int _dns_add_qr_head(struct dns_context *context, const char *dom... function _dns_get_qr_head (line 552) | static int _dns_get_qr_head(struct dns_context *context, char *domain, i... function _dns_add_rr_head (line 575) | static int _dns_add_rr_head(struct dns_context *context, const char *dom... function _dns_get_rr_head (line 600) | static int _dns_get_rr_head(struct dns_context *context, char *domain, i... type dns_rr_nested (line 623) | struct dns_rr_nested type dns_rr_nested (line 623) | struct dns_rr_nested type dns_packet (line 623) | struct dns_packet function dns_add_rr_nested_memcpy (line 655) | int dns_add_rr_nested_memcpy(struct dns_rr_nested *rr_nested, const void... function dns_add_rr_nested_end (line 682) | int dns_add_rr_nested_end(struct dns_rr_nested *rr_nested) type dns_rrs (line 705) | struct dns_rrs type dns_context (line 707) | struct dns_context type dns_rrs (line 728) | struct dns_rrs function _dns_add_RAW (line 746) | static int _dns_add_RAW(struct dns_packet *packet, dns_rr_type rrtype, d... function _dns_get_RAW (line 786) | static int _dns_get_RAW(struct dns_rrs *rrs, char *domain, int maxsize, ... function _dns_add_opt_RAW (line 820) | static int _dns_add_opt_RAW(struct dns_packet *packet, dns_opt_code_t op... function _dns_get_opt_RAW (line 836) | static int _dns_get_opt_RAW(struct dns_rrs *rrs, char *domain, int maxsi... function _dns_add_OPT (line 844) | static int __attribute__((unused)) _dns_add_OPT(struct dns_packet *packe... function _dns_get_OPT (line 889) | static int __attribute__((unused)) _dns_get_OPT(struct dns_rrs *rrs, uns... function dns_add_CNAME (line 923) | int dns_add_CNAME(struct dns_packet *packet, dns_rr_type type, const cha... function dns_get_CNAME (line 929) | int dns_get_CNAME(struct dns_rrs *rrs, char *domain, int maxsize, int *t... function dns_add_A (line 935) | int dns_add_A(struct dns_packet *packet, dns_rr_type type, const char *d... function dns_get_A (line 941) | int dns_get_A(struct dns_rrs *rrs, char *domain, int maxsize, int *ttl, ... function dns_add_PTR (line 947) | int dns_add_PTR(struct dns_packet *packet, dns_rr_type type, const char ... function dns_get_PTR (line 953) | int dns_get_PTR(struct dns_rrs *rrs, char *domain, int maxsize, int *ttl... function dns_add_TXT (line 959) | int dns_add_TXT(struct dns_packet *packet, dns_rr_type type, const char ... function dns_get_TXT (line 975) | int dns_get_TXT(struct dns_rrs *rrs, char *domain, int maxsize, int *ttl... function dns_add_NS (line 980) | int dns_add_NS(struct dns_packet *packet, dns_rr_type type, const char *... function dns_get_NS (line 986) | int dns_get_NS(struct dns_rrs *rrs, char *domain, int maxsize, int *ttl,... function dns_add_AAAA (line 992) | int dns_add_AAAA(struct dns_packet *packet, dns_rr_type type, const char... function dns_get_AAAA (line 998) | int dns_get_AAAA(struct dns_rrs *rrs, char *domain, int maxsize, int *tt... function dns_add_SOA (line 1004) | int dns_add_SOA(struct dns_packet *packet, dns_rr_type type, const char ... function dns_get_SOA (line 1042) | int dns_get_SOA(struct dns_rrs *rrs, char *domain, int maxsize, int *ttl... function dns_set_OPT_payload_size (line 1084) | int dns_set_OPT_payload_size(struct dns_packet *packet, int payload_size) function dns_get_OPT_payload_size (line 1094) | int dns_get_OPT_payload_size(struct dns_packet *packet) function dns_set_OPT_option (line 1099) | int dns_set_OPT_option(struct dns_packet *packet, unsigned int option) function dns_get_OPT_option (line 1105) | unsigned int dns_get_OPT_option(struct dns_packet *packet) function dns_add_OPT_ECS (line 1110) | int dns_add_OPT_ECS(struct dns_packet *packet, struct dns_opt_ecs *ecs) function dns_get_OPT_ECS (line 1129) | int dns_get_OPT_ECS(struct dns_rrs *rrs, struct dns_opt_ecs *ecs) function dns_add_OPT_TCP_KEEPALIVE (line 1154) | int dns_add_OPT_TCP_KEEPALIVE(struct dns_packet *packet, unsigned short ... function dns_get_OPT_TCP_KEEPALIVE (line 1166) | int dns_get_OPT_TCP_KEEPALIVE(struct dns_rrs *rrs, unsigned short *timeout) function dns_add_SRV (line 1203) | int dns_add_SRV(struct dns_packet *packet, dns_rr_type type, const char ... function dns_get_SRV (line 1231) | int dns_get_SRV(struct dns_rrs *rrs, char *domain, int maxsize, int *ttl... function _dns_add_SVCB_HTTPS_start (line 1257) | static int _dns_add_SVCB_HTTPS_start(struct dns_rr_nested *svcparam_buff... function dns_add_HTTPS_start (line 1291) | int dns_add_HTTPS_start(struct dns_rr_nested *svcparam_buffer, struct dn... function dns_add_SVCB_start (line 1297) | int dns_add_SVCB_start(struct dns_rr_nested *svcparam_buffer, struct dns... function dns_SVCB_add_raw (line 1303) | int dns_SVCB_add_raw(struct dns_rr_nested *svcparam, unsigned short key,... function dns_SVCB_add_port (line 1323) | int dns_SVCB_add_port(struct dns_rr_nested *svcparam, unsigned short port) function dns_SVCB_add_alpn (line 1347) | int dns_SVCB_add_alpn(struct dns_rr_nested *svcparam, const unsigned cha... function dns_SVCB_add_no_default_alpn (line 1370) | int dns_SVCB_add_no_default_alpn(struct dns_rr_nested *svcparam) function dns_SVCB_add_ech (line 1389) | int dns_SVCB_add_ech(struct dns_rr_nested *svcparam, void *ech, int ech_... function dns_SVCB_add_ipv4hint (line 1412) | int dns_SVCB_add_ipv4hint(struct dns_rr_nested *svcparam, unsigned char ... function dns_SVCB_add_ipv6hint (line 1437) | int dns_SVCB_add_ipv6hint(struct dns_rr_nested *svcparam, unsigned char ... function dns_add_SVCB_end (line 1462) | int dns_add_SVCB_end(struct dns_rr_nested *svcparam) function dns_add_HTTPS_end (line 1468) | int dns_add_HTTPS_end(struct dns_rr_nested *svcparam) function dns_HTTPS_add_raw (line 1474) | int dns_HTTPS_add_raw(struct dns_rr_nested *svcparam, unsigned short key... function dns_HTTPS_add_alpn (line 1479) | int dns_HTTPS_add_alpn(struct dns_rr_nested *svcparam, const char *alpn,... function dns_HTTPS_add_no_default_alpn (line 1484) | int dns_HTTPS_add_no_default_alpn(struct dns_rr_nested *svcparam) function dns_HTTPS_add_port (line 1489) | int dns_HTTPS_add_port(struct dns_rr_nested *svcparam, unsigned short port) function dns_HTTPS_add_ipv4hint (line 1494) | int dns_HTTPS_add_ipv4hint(struct dns_rr_nested *svcparam, unsigned char... function dns_HTTPS_add_ech (line 1499) | int dns_HTTPS_add_ech(struct dns_rr_nested *svcparam, void *ech, int ech... function dns_HTTPS_add_ipv6hint (line 1504) | int dns_HTTPS_add_ipv6hint(struct dns_rr_nested *svcparam, unsigned char... function dns_svcparm_start (line 1509) | int dns_svcparm_start(struct dns_rrs *rrs, struct dns_svcparam **https_p... type dns_svcparam (line 1559) | struct dns_svcparam type dns_rrs (line 1559) | struct dns_rrs type dns_svcparam (line 1559) | struct dns_svcparam type dns_svcparam (line 1561) | struct dns_svcparam function dns_add_domain (line 1568) | int dns_add_domain(struct dns_packet *packet, const char *domain, int qt... function dns_get_domain (line 1587) | int dns_get_domain(struct dns_rrs *rrs, char *domain, int maxsize, int *... function _dns_decode_head (line 1595) | static int _dns_decode_head(struct dns_context *context) function _dns_encode_head (line 1642) | static int _dns_encode_head(struct dns_context *context) function _dns_encode_head_count (line 1673) | static int _dns_encode_head_count(struct dns_context *context) function _dns_decode_qr_head (line 1687) | static int _dns_decode_qr_head(struct dns_context *context, char *domain... function _dns_encode_qr_head (line 1720) | static int _dns_encode_qr_head(struct dns_context *context, char *domain... function _dns_decode_rr_head (line 1738) | static int _dns_decode_rr_head(struct dns_context *context, char *domain... function _dns_encode_rr_head (line 1770) | static int _dns_encode_rr_head(struct dns_context *context, char *domain... function _dns_encode_raw (line 1792) | static int _dns_encode_raw(struct dns_context *context, struct dns_rrs *... function _dns_decode_raw (line 1845) | static int _dns_decode_raw(struct dns_context *context, unsigned char *r... function _dns_decode_CNAME (line 1856) | static int _dns_decode_CNAME(struct dns_context *context, char *cname, i... function _dns_encode_CNAME (line 1867) | static int _dns_encode_CNAME(struct dns_context *context, struct dns_rrs... function _dns_decode_SRV (line 1906) | static int _dns_decode_SRV(struct dns_context *context, unsigned short *... function _dns_decode_SOA (line 1926) | static int _dns_decode_SOA(struct dns_context *context, struct dns_soa *... function _dns_encode_SOA (line 1952) | static int _dns_encode_SOA(struct dns_context *context, struct dns_rrs *... function _dns_encode_SRV (line 2015) | static int _dns_encode_SRV(struct dns_context *context, struct dns_rrs *... function _dns_decode_opt_ecs (line 2063) | static int _dns_decode_opt_ecs(struct dns_context *context, struct dns_o... function _dns_decode_opt_cookie (line 2090) | static int _dns_decode_opt_cookie(struct dns_context *context, struct dn... function _dns_decode_opt_tcp_keepalive (line 2118) | static int _dns_decode_opt_tcp_keepalive(struct dns_context *context, un... function _dns_encode_OPT (line 2135) | static int _dns_encode_OPT(struct dns_context *context, struct dns_rrs *... function _dns_get_opts_data_len (line 2185) | static int _dns_get_opts_data_len(struct dns_packet *packet, struct dns_... function _dns_encode_opts (line 2210) | static int _dns_encode_opts(struct dns_packet *packet, struct dns_contex... function _dns_decode_opt (line 2248) | static int _dns_decode_opt(struct dns_context *context, dns_rr_type type... function _dns_encode_svcparam (line 2366) | static int _dns_encode_svcparam(struct dns_context *context, struct dns_... function _dns_decode_SVCB_HTTPS (line 2446) | static int _dns_decode_SVCB_HTTPS(struct dns_context *context, const cha... function _dns_decode_qd (line 2518) | static int _dns_decode_qd(struct dns_context *context) function _dns_decode_an (line 2539) | static int _dns_decode_an(struct dns_context *context, dns_rr_type type) function _dns_encode_qd (line 2725) | static int _dns_encode_qd(struct dns_context *context, struct dns_rrs *rrs) function _dns_encode_an (line 2757) | static int _dns_encode_an(struct dns_context *context, struct dns_rrs *rrs) function _dns_decode_body (line 2805) | static int _dns_decode_body(struct dns_context *context) function _dns_encode_body (line 2856) | static int _dns_encode_body(struct dns_context *context) function dns_packet_init (line 2913) | int dns_packet_init(struct dns_packet *packet, int size, struct dns_head... function dns_decode_head_only (line 2944) | int dns_decode_head_only(struct dns_packet *packet, int maxsize, unsigne... function dns_decode (line 2974) | int dns_decode(struct dns_packet *packet, int maxsize, unsigned char *da... function dns_encode (line 3010) | int dns_encode(unsigned char *data, int size, struct dns_packet *packet) function _dns_update_domain (line 3042) | static int _dns_update_domain(struct dns_context *context, const char *d... function _dns_update_rr_domain (line 3109) | static int _dns_update_rr_domain(struct dns_context *context, unsigned c... function _dns_update_qd (line 3135) | static int _dns_update_qd(struct dns_context *context, dns_rr_type type,... function _dns_update_an (line 3158) | static int _dns_update_an(struct dns_context *context, dns_rr_type type,... function _dns_update_body (line 3203) | static int _dns_update_body(struct dns_context *context, struct dns_upda... function _dns_update_id (line 3254) | static int _dns_update_id(unsigned char *data, int size, struct dns_upda... function dns_packet_update (line 3261) | int dns_packet_update(unsigned char *data, int size, struct dns_update_p... FILE: src/dns_cache.c type dns_cache_head (line 41) | struct dns_cache_head { type dns_cache_record (line 52) | struct dns_cache_record type dns_cache_data (line 52) | struct dns_cache_data type dns_cache_head (line 55) | struct dns_cache_head function dns_cache_init (line 57) | int dns_cache_init(int size, int mem_size, dns_cache_callback timeout_ca... type dns_cache (line 92) | struct dns_cache function _dns_cache_delete (line 97) | static void _dns_cache_delete(struct dns_cache *dns_cache) function dns_cache_get (line 116) | void dns_cache_get(struct dns_cache *dns_cache) function dns_cache_release (line 124) | void dns_cache_release(struct dns_cache *dns_cache) function _dns_cache_remove (line 142) | static void _dns_cache_remove(struct dns_cache *dns_cache) function dns_cache_get_query_flag (line 161) | uint32_t dns_cache_get_query_flag(struct dns_cache *dns_cache) type dns_cache (line 166) | struct dns_cache type dns_cache_data (line 171) | struct dns_cache_data type dns_cache_packet (line 173) | struct dns_cache_packet type dns_cache_data (line 192) | struct dns_cache_data function dns_cache_expired (line 195) | static void dns_cache_expired(struct tw_base *base, struct tw_timer_list... type dns_cache (line 227) | struct dns_cache type dns_cache_key (line 227) | struct dns_cache_key type dns_cache (line 230) | struct dns_cache type dns_cache (line 231) | struct dns_cache type dns_cache (line 273) | struct dns_cache type dns_cache_key (line 273) | struct dns_cache_key type dns_cache (line 275) | struct dns_cache function _dns_cache_replace (line 291) | static int _dns_cache_replace(struct dns_cache_key *cache_key, int rcode... function dns_cache_replace (line 345) | int dns_cache_replace(struct dns_cache_key *cache_key, int rcode, int tt... function _dns_cache_remove_by_domain (line 351) | static void _dns_cache_remove_by_domain(struct dns_cache_key *cache_key) function _dns_cache_insert (line 387) | static int _dns_cache_insert(struct dns_cache_info *info, struct dns_cac... function dns_cache_insert (line 466) | int dns_cache_insert(struct dns_cache_key *cache_key, int rcode, int ttl... function dns_cache_update_timer (line 502) | int dns_cache_update_timer(struct dns_cache_key *key, int timeout) function dns_cache_get_ttl (line 522) | int dns_cache_get_ttl(struct dns_cache *dns_cache) type dns_cache_data (line 536) | struct dns_cache_data type dns_cache (line 536) | struct dns_cache type dns_cache_data (line 538) | struct dns_cache_data function dns_cache_data_get (line 551) | void dns_cache_data_get(struct dns_cache_data *cache_data) function dns_cache_flush (line 561) | void dns_cache_flush(void) function dns_cache_data_put (line 574) | void dns_cache_data_put(struct dns_cache_data *cache_data) function dns_cache_is_visited (line 588) | int dns_cache_is_visited(struct dns_cache *dns_cache) function dns_cache_total_num (line 593) | int dns_cache_total_num(void) function dns_cache_total_memsize (line 598) | long dns_cache_total_memsize(void) function dns_cache_delete (line 603) | void dns_cache_delete(struct dns_cache *dns_cache) function dns_cache_hitnum_dec_get (line 610) | int dns_cache_hitnum_dec_get(struct dns_cache *dns_cache) function dns_cache_update (line 622) | void dns_cache_update(struct dns_cache *dns_cache) function _dns_cache_read_to_cache (line 641) | static int _dns_cache_read_to_cache(struct dns_cache_record *cache_recor... function _dns_cache_read_record (line 695) | static int _dns_cache_read_record(int fd, uint32_t cache_number, dns_cac... function _dns_cache_file_read (line 768) | static int _dns_cache_file_read(const char *file, dns_cache_read_callbac... function dns_cache_load (line 815) | int dns_cache_load(const char *file) function _dns_cache_write_record (line 820) | static int _dns_cache_write_record(int fd, uint32_t *cache_number, struc... function _dns_cache_write_records (line 861) | static int _dns_cache_write_records(int fd, uint32_t *cache_number) function dns_cache_save (line 870) | int dns_cache_save(const char *file, int check_lock) function _dns_cache_print (line 929) | static int _dns_cache_print(struct dns_cache_record *cache_record, struc... function dns_cache_print (line 1013) | int dns_cache_print(const char *file) function dns_cache_destroy (line 1023) | void dns_cache_destroy(void) FILE: src/dns_client/client_http2.c function _http2_bio_read (line 32) | static int _http2_bio_read(void *private_data, uint8_t *buf, int len) function _http2_bio_write (line 39) | static int _http2_bio_write(void *private_data, const uint8_t *buf, int ... function _dns_client_send_http2_stream (line 46) | static int _dns_client_send_http2_stream(struct dns_server_info *server_... function _dns_client_release_stream_on_error (line 104) | static void _dns_client_release_stream_on_error(struct dns_server_info *... function _dns_client_flush_http2_writes (line 126) | static void _dns_client_flush_http2_writes(struct http2_ctx *http2_ctx) function _dns_client_send_buffered_http2_requests (line 138) | static void _dns_client_send_buffered_http2_requests(struct dns_server_i... function _dns_client_http2_pending_data (line 176) | static int _dns_client_http2_pending_data(struct dns_conn_stream *stream... function _dns_client_send_http2 (line 254) | int _dns_client_send_http2(struct dns_server_info *server_info, struct d... function _dns_client_http2_init_ctx (line 340) | static int _dns_client_http2_init_ctx(struct dns_server_info *server_info) function _dns_client_http2_process_write (line 375) | static int _dns_client_http2_process_write(struct dns_server_info *serve... function _dns_client_http2_process_stream_one (line 415) | static int _dns_client_http2_process_stream_one(struct dns_server_info *... function _dns_client_http2_process_read (line 462) | static int _dns_client_http2_process_read(struct dns_server_info *server... function _dns_client_process_http2 (line 556) | int _dns_client_process_http2(struct dns_server_info *server_info, struc... FILE: src/dns_client/client_http2.h type dns_server_info (line 39) | struct dns_server_info type dns_query_struct (line 39) | struct dns_query_struct type dns_server_info (line 49) | struct dns_server_info type epoll_event (line 49) | struct epoll_event FILE: src/dns_client/client_http3.c function _dns_client_send_http3 (line 27) | int _dns_client_send_http3(struct dns_query_struct *query, struct dns_se... function _dns_client_process_recv_http3 (line 81) | int _dns_client_process_recv_http3(struct dns_server_info *server_info, ... FILE: src/dns_client/client_http3.h type dns_query_struct (line 28) | struct dns_query_struct type dns_server_info (line 28) | struct dns_server_info type dns_server_info (line 31) | struct dns_server_info type dns_conn_stream (line 31) | struct dns_conn_stream FILE: src/dns_client/client_https.c function _dns_client_format_https_packet (line 27) | int _dns_client_format_https_packet(struct dns_server_info *server_info,... function _dns_client_send_http1 (line 60) | int _dns_client_send_http1(struct dns_server_info *server_info, void *pa... FILE: src/dns_client/client_https.h type dns_server_info (line 28) | struct dns_server_info type dns_server_info (line 30) | struct dns_server_info FILE: src/dns_client/client_mdns.c function _dns_client_create_socket_udp_mdns (line 34) | int _dns_client_create_socket_udp_mdns(struct dns_server_info *server_info) function _dns_client_send_udp_mdns (line 100) | int _dns_client_send_udp_mdns(struct dns_server_info *server_info, void ... function _dns_client_add_mdns_server (line 121) | int _dns_client_add_mdns_server(void) FILE: src/dns_client/client_mdns.h type dns_server_info (line 28) | struct dns_server_info type dns_server_info (line 30) | struct dns_server_info FILE: src/dns_client/client_quic.c function _dns_client_quic_bio_recvmmsg (line 39) | static int _dns_client_quic_bio_recvmmsg(BIO *bio, BIO_MSG *msg, size_t ... function _dns_client_quic_bio_sendmmsg (line 86) | static int _dns_client_quic_bio_sendmmsg(BIO *bio, BIO_MSG *msg, size_t ... function _dns_client_quic_bio_ctrl (line 133) | static long _dns_client_quic_bio_ctrl(BIO *bio, int cmd, long num, void ... function _dns_client_setup_quic_ssl_bio (line 154) | static int _dns_client_setup_quic_ssl_bio(struct dns_server_info *server... function _dns_client_create_socket_quic (line 215) | int _dns_client_create_socket_quic(struct dns_server_info *server_info, ... function _dns_client_process_quic_poll (line 367) | static int _dns_client_process_quic_poll(struct dns_server_info *server_... function _dns_client_process_quic (line 494) | int _dns_client_process_quic(struct dns_server_info *server_info, struct... function _dns_client_quic_pending_data (line 581) | static int _dns_client_quic_pending_data(struct dns_conn_stream *stream,... function _dns_client_send_quic_data (line 653) | int _dns_client_send_quic_data(struct dns_query_struct *query, struct dn... function _dns_client_send_quic (line 746) | int _dns_client_send_quic(struct dns_query_struct *query, struct dns_ser... FILE: src/dns_client/client_quic.h type dns_server_info (line 30) | struct dns_server_info type dns_query_struct (line 32) | struct dns_query_struct type dns_server_info (line 32) | struct dns_server_info type dns_query_struct (line 35) | struct dns_query_struct type dns_server_info (line 35) | struct dns_server_info type dns_server_info (line 38) | struct dns_server_info type epoll_event (line 38) | struct epoll_event FILE: src/dns_client/client_socket.c function _dns_client_create_socket (line 32) | int _dns_client_create_socket(struct dns_server_info *server_info) function _dns_client_close_socket_ext (line 88) | void _dns_client_close_socket_ext(struct dns_server_info *server_info, i... function _dns_client_close_socket (line 182) | void _dns_client_close_socket(struct dns_server_info *server_info) function _dns_client_shutdown_socket (line 187) | void _dns_client_shutdown_socket(struct dns_server_info *server_info) function _dns_client_socket_send (line 224) | int _dns_client_socket_send(struct dns_server_info *server_info) function _dns_client_socket_recv (line 254) | int _dns_client_socket_recv(struct dns_server_info *server_info) function _dns_client_copy_data_to_buffer (line 280) | int _dns_client_copy_data_to_buffer(struct dns_server_info *server_info,... function _dns_client_send_data_to_buffer (line 293) | int _dns_client_send_data_to_buffer(struct dns_server_info *server_info,... FILE: src/dns_client/client_socket.h type dns_server_info (line 28) | struct dns_server_info type dns_server_info (line 30) | struct dns_server_info type dns_server_info (line 32) | struct dns_server_info type dns_server_info (line 34) | struct dns_server_info type dns_server_info (line 36) | struct dns_server_info type dns_server_info (line 38) | struct dns_server_info type dns_server_info (line 40) | struct dns_server_info type dns_server_info (line 42) | struct dns_server_info FILE: src/dns_client/client_tcp.c function _dns_client_create_socket_tcp (line 38) | int _dns_client_create_socket_tcp(struct dns_server_info *server_info) function _dns_client_process_tcp_buff (line 153) | static int _dns_client_process_tcp_buff(struct dns_server_info *server_i... function _dns_client_process_https_streams (line 256) | static int _dns_client_process_https_streams(struct dns_server_info *ser... function _dns_client_process_tcp (line 316) | int _dns_client_process_tcp(struct dns_server_info *server_info, struct ... function _dns_client_send_tcp (line 440) | int _dns_client_send_tcp(struct dns_server_info *server_info, void *pack... function _dns_client_check_tcp (line 483) | void _dns_client_check_tcp(void) FILE: src/dns_client/client_tcp.h type dns_server_info (line 30) | struct dns_server_info type dns_server_info (line 32) | struct dns_server_info type epoll_event (line 32) | struct epoll_event type dns_server_info (line 34) | struct dns_server_info FILE: src/dns_client/client_tls.c function _ssl_read_ext (line 42) | static ssize_t _ssl_read_ext(struct dns_server_info *server, SSL *ssl, v... function _ssl_write_ext2 (line 55) | static ssize_t _ssl_write_ext2(struct dns_server_info *server, SSL *ssl,... function _ssl_shutdown (line 82) | int _ssl_shutdown(struct dns_server_info *server) function _ssl_get_error_ext (line 96) | static int _ssl_get_error_ext(struct dns_server_info *server, SSL *ssl, ... function _ssl_get_error (line 110) | static int _ssl_get_error(struct dns_server_info *server, int ret) function _ssl_do_handshake (line 115) | static int _ssl_do_handshake(struct dns_server_info *server) function _ssl_do_handevent (line 129) | int _ssl_do_handevent(struct dns_server_info *server) function _ssl_session_reused (line 146) | static int _ssl_session_reused(struct dns_server_info *server) function SSL_SESSION (line 160) | static SSL_SESSION *_ssl_get1_session(struct dns_server_info *server) function dns_client_spki_decode (line 174) | int dns_client_spki_decode(const char *spki, unsigned char *spki_data_ou... type dns_server_info (line 187) | struct dns_server_info type client_dns_server_flag_https (line 196) | struct client_dns_server_flag_https type client_dns_server_flag_tls (line 201) | struct client_dns_server_flag_tls type dns_server_info (line 222) | struct dns_server_info type client_dns_server_flag_https (line 231) | struct client_dns_server_flag_https type client_dns_server_flag_tls (line 237) | struct client_dns_server_flag_tls function _dns_client_set_trusted_cert (line 257) | static int _dns_client_set_trusted_cert(SSL_CTX *ssl_ctx) function SSL_CTX (line 298) | SSL_CTX *_ssl_ctx_get(int is_quic) function _dns_client_create_socket_tls (line 356) | int _dns_client_create_socket_tls(struct dns_server_info *server_info, c... function _dns_client_socket_ssl_send_ext (line 525) | int _dns_client_socket_ssl_send_ext(struct dns_server_info *server, SSL ... function _dns_client_socket_ssl_recv_ext (line 587) | int _dns_client_socket_ssl_recv_ext(struct dns_server_info *server, SSL ... function _dns_client_socket_ssl_send (line 660) | int _dns_client_socket_ssl_send(struct dns_server_info *server, const vo... function _dns_client_socket_ssl_recv (line 665) | int _dns_client_socket_ssl_recv(struct dns_server_info *server, void *bu... function _dns_client_ssl_poll_event (line 670) | int _dns_client_ssl_poll_event(struct dns_server_info *server_info, int ... function _dns_client_to_hex (line 700) | static inline int _dns_client_to_hex(int c) function _dns_client_tls_matchName (line 709) | static int _dns_client_tls_matchName(const char *host, const char *patte... function _dns_client_tls_get_cert_CN (line 738) | static int _dns_client_tls_get_cert_CN(X509 *cert, char *cn, int max_cn_... function _dns_client_verify_SAN (line 765) | static int _dns_client_verify_SAN(struct dns_server_info *server_info, X... function _dns_client_verify_common_name (line 827) | static int _dns_client_verify_common_name(struct dns_server_info *server... function _dns_client_tls_verify (line 864) | static int _dns_client_tls_verify(struct dns_server_info *server_info) function _dns_client_process_tls (line 999) | int _dns_client_process_tls(struct dns_server_info *server_info, struct ... function _dns_client_send_tls (line 1114) | int _dns_client_send_tls(struct dns_server_info *server_info, void *pack... FILE: src/dns_client/client_tls.h type dns_server_info (line 30) | struct dns_server_info type dns_server_info (line 32) | struct dns_server_info type dns_server_info (line 34) | struct dns_server_info type dns_server_info (line 36) | struct dns_server_info type dns_server_info (line 38) | struct dns_server_info type dns_server_info (line 40) | struct dns_server_info type dns_server_info (line 42) | struct dns_server_info type dns_server_info (line 44) | struct dns_server_info type epoll_event (line 44) | struct epoll_event type dns_server_info (line 48) | struct dns_server_info type dns_server_info (line 50) | struct dns_server_info FILE: src/dns_client/client_udp.c function _dns_client_create_socket_udp_proxy (line 32) | static int _dns_client_create_socket_udp_proxy(struct dns_server_info *s... function _dns_client_create_socket_udp (line 105) | int _dns_client_create_socket_udp(struct dns_server_info *server_info) function _dns_client_process_send_udp_buffer (line 196) | static int _dns_client_process_send_udp_buffer(struct dns_server_info *s... function _dns_client_process_udp_proxy (line 237) | static int _dns_client_process_udp_proxy(struct dns_server_info *server_... function _dns_client_process_udp (line 312) | int _dns_client_process_udp(struct dns_server_info *server_info, struct ... function _dns_client_send_udp (line 406) | int _dns_client_send_udp(struct dns_server_info *server_info, void *pack... function _dns_client_check_udp_nat (line 457) | void _dns_client_check_udp_nat(struct dns_query_struct *query) FILE: src/dns_client/client_udp.h type dns_server_info (line 30) | struct dns_server_info type dns_server_info (line 32) | struct dns_server_info type dns_query_struct (line 34) | struct dns_query_struct type dns_server_info (line 36) | struct dns_server_info type epoll_event (line 36) | struct epoll_event FILE: src/dns_client/conn_stream.c type dns_conn_stream (line 23) | struct dns_conn_stream type dns_conn_stream (line 25) | struct dns_conn_stream function _dns_client_conn_stream_get (line 43) | void _dns_client_conn_stream_get(struct dns_conn_stream *stream) function _dns_client_conn_stream_put (line 50) | void _dns_client_conn_stream_put(struct dns_conn_stream *stream) function _dns_client_conn_server_streams_free (line 88) | void _dns_client_conn_server_streams_free(struct dns_server_info *server... FILE: src/dns_client/conn_stream.h type dns_conn_stream (line 28) | struct dns_conn_stream type dns_conn_stream (line 30) | struct dns_conn_stream type dns_conn_stream (line 32) | struct dns_conn_stream type dns_server_info (line 34) | struct dns_server_info type dns_query_struct (line 34) | struct dns_query_struct FILE: src/dns_client/dns_client.c type dns_client (line 44) | struct dns_client function dns_client_flags_init (line 46) | void dns_client_flags_init(struct client_dns_server_flags *flags) function _dns_client_server_package_address_match (line 51) | static int _dns_client_server_package_address_match(struct dns_server_in... function _dns_client_recv (line 69) | int _dns_client_recv(struct dns_server_info *server_info, unsigned char ... function _dns_client_process (line 200) | static int _dns_client_process(struct dns_server_info *server_info, stru... function _dns_client_send_http (line 226) | static int _dns_client_send_http(struct dns_server_info *server_info, st... function _dns_client_check_server_prohibit (line 239) | static int _dns_client_check_server_prohibit(struct dns_server_info *ser... function _dns_client_send_one_packet (line 268) | static int _dns_client_send_one_packet(struct dns_server_info *server_in... function _dns_client_send_packet (line 368) | int _dns_client_send_packet(struct dns_query_struct *query, void *packet... function dns_client_query (line 461) | int dns_client_query(const char *domain, int qtype, dns_client_callback ... function _dns_client_period_run_second (line 553) | static void _dns_client_period_run_second(void) function _dns_client_period_run (line 560) | static void _dns_client_period_run(unsigned int msec) type epoll_event (line 599) | struct epoll_event type epoll_event (line 651) | struct epoll_event type dns_server_info (line 652) | struct dns_server_info type dns_server_info (line 652) | struct dns_server_info function dns_client_init (line 673) | int dns_client_init(void) function dns_client_exit (line 761) | void dns_client_exit(void) FILE: src/dns_client/dns_client.h type dns_client_ecs (line 53) | struct dns_client_ecs { type dns_server_buff (line 59) | struct dns_server_buff { type dns_server_status (line 64) | typedef enum dns_server_status { type dns_server_info (line 73) | struct dns_server_info { type dns_server_pending_group (line 142) | struct dns_server_pending_group { type dns_server_pending (line 147) | struct dns_server_pending { type dns_server_group_member (line 176) | struct dns_server_group_member { type dns_server_group (line 182) | struct dns_server_group { type dns_client (line 189) | struct dns_client { type dns_query_replied (line 218) | struct dns_query_replied { type dns_conn_stream (line 223) | struct dns_conn_stream { type dns_query_struct (line 239) | struct dns_query_struct { type dns_client (line 284) | struct dns_client type dns_server_info (line 286) | struct dns_server_info type sockaddr (line 287) | struct sockaddr type dns_query_struct (line 289) | struct dns_query_struct FILE: src/dns_client/ecs.c function _dns_client_setup_ecs (line 23) | static int _dns_client_setup_ecs(char *ip, int subnet, struct dns_client... function _dns_client_server_add_ecs (line 63) | int _dns_client_server_add_ecs(struct dns_server_info *server_info, stru... function _dns_client_dns_add_ecs (line 82) | int _dns_client_dns_add_ecs(struct dns_query_struct *query, struct dns_p... function _dns_client_query_setup_default_ecs (line 91) | int _dns_client_query_setup_default_ecs(struct dns_query_struct *query) FILE: src/dns_client/ecs.h type dns_query_struct (line 28) | struct dns_query_struct type dns_query_struct (line 30) | struct dns_query_struct type dns_packet (line 30) | struct dns_packet type dns_server_info (line 32) | struct dns_server_info type client_dns_server_flags (line 32) | struct client_dns_server_flags FILE: src/dns_client/group.c type dns_server_group (line 26) | struct dns_server_group type dns_server_group (line 29) | struct dns_server_group type hlist_node (line 30) | struct hlist_node type dns_server_group (line 50) | struct dns_server_group type dns_server_group (line 52) | struct dns_server_group function _dns_client_add_to_group (line 70) | int _dns_client_add_to_group(const char *group_name, struct dns_server_i... function dns_client_add_to_group (line 99) | int dns_client_add_to_group(const char *group_name, const char *server_i... function _dns_client_remove_member (line 106) | static int _dns_client_remove_member(struct dns_server_group_member *gro... function _dns_client_remove_from_group (line 122) | static int _dns_client_remove_from_group(struct dns_server_group *group,... function _dns_client_remove_server_from_groups (line 139) | int _dns_client_remove_server_from_groups(struct dns_server_info *server... function dns_client_remove_from_group (line 153) | int dns_client_remove_from_group(const char *group_name, const char *ser... function dns_client_add_group (line 172) | int dns_client_add_group(const char *group_name) function _dns_client_remove_group (line 204) | static int _dns_client_remove_group(struct dns_server_group *group) function dns_client_remove_group (line 224) | int dns_client_remove_group(const char *group_name) function _dns_client_group_remove_all (line 249) | void _dns_client_group_remove_all(void) FILE: src/dns_client/group.h type dns_server_info (line 28) | struct dns_server_info type dns_server_group (line 32) | struct dns_server_group type dns_server_info (line 34) | struct dns_server_info type dns_server_group (line 36) | struct dns_server_group FILE: src/dns_client/packet.c function _dns_client_setup_server_packet (line 23) | int _dns_client_setup_server_packet(struct dns_server_info *server_info,... FILE: src/dns_client/packet.h type dns_server_info (line 28) | struct dns_server_info type dns_query_struct (line 28) | struct dns_query_struct FILE: src/dns_client/pending_server.c type addrinfo (line 37) | struct addrinfo type addrinfo (line 39) | struct addrinfo type addrinfo (line 40) | struct addrinfo function _dns_client_resolv_ip_by_host (line 63) | static int _dns_client_resolv_ip_by_host(const char *host, char *ip, int... function _dns_client_add_to_pending_group (line 80) | int _dns_client_add_to_pending_group(const char *group_name, const char ... function _dns_client_server_pending_get (line 130) | static void _dns_client_server_pending_get(struct dns_server_pending *pe... function _dns_client_server_pending_release (line 137) | static void _dns_client_server_pending_release(struct dns_server_pending... function _dns_client_server_pending_remove (line 163) | static void _dns_client_server_pending_remove(struct dns_server_pending ... function _dns_client_server_pending (line 171) | static int _dns_client_server_pending(const char *server_ip, int port, d... function _dns_client_add_server_pending (line 212) | int _dns_client_add_server_pending(const char *server_ip, const char *se... function _dns_client_pending_server_resolve (line 254) | static int _dns_client_pending_server_resolve(const struct dns_result *r... function _dns_client_add_to_group_pending (line 298) | int _dns_client_add_to_group_pending(const char *group_name, const char ... function _dns_client_add_pendings (line 320) | static int _dns_client_add_pendings(struct dns_server_pending *pending, ... function _dns_client_remove_all_pending_servers (line 355) | void _dns_client_remove_all_pending_servers(void) function _dns_client_add_pending_servers (line 378) | void _dns_client_add_pending_servers(void) FILE: src/dns_client/pending_server.h type addrinfo (line 28) | struct addrinfo type client_dns_server_flags (line 31) | struct client_dns_server_flags type client_dns_server_flags (line 35) | struct client_dns_server_flags type client_dns_server_flags (line 38) | struct client_dns_server_flags FILE: src/dns_client/proxy.c function _dns_proxy_handshake (line 30) | int _dns_proxy_handshake(struct dns_server_info *server_info, struct epo... FILE: src/dns_client/proxy.h type dns_server_info (line 30) | struct dns_server_info type epoll_event (line 30) | struct epoll_event FILE: src/dns_client/query.c function _dns_client_query_get (line 25) | void _dns_client_query_get(struct dns_query_struct *query) function _dns_client_query_release (line 32) | void _dns_client_query_release(struct dns_query_struct *query) function _dns_client_query_remove (line 81) | void _dns_client_query_remove(struct dns_query_struct *query) function _dns_client_query_remove_all (line 92) | void _dns_client_query_remove_all(void) function _dns_client_send_query (line 112) | int _dns_client_send_query(struct dns_query_struct *query) type dns_query_struct (line 168) | struct dns_query_struct type dns_query_struct (line 170) | struct dns_query_struct type dns_query_struct (line 171) | struct dns_query_struct type hlist_node (line 172) | struct hlist_node function _dns_replied_check_add (line 203) | int _dns_replied_check_add(struct dns_query_struct *dns_query, struct dn... function _dns_replied_check_remove (line 230) | void _dns_replied_check_remove(struct dns_query_struct *dns_query, struc... function _dns_client_query_parser_options (line 246) | int _dns_client_query_parser_options(struct dns_query_struct *query, str... function _dns_client_retry_dns_query (line 313) | void _dns_client_retry_dns_query(struct dns_query_struct *query) function _dns_client_add_hashmap (line 326) | int _dns_client_add_hashmap(struct dns_query_struct *query) FILE: src/dns_client/query.h type dns_query_struct (line 28) | struct dns_query_struct type dns_query_struct (line 30) | struct dns_query_struct type dns_query_struct (line 32) | struct dns_query_struct type dns_query_struct (line 34) | struct dns_query_struct type dns_query_struct (line 38) | struct dns_query_struct type dns_query_struct (line 40) | struct dns_query_struct type dns_query_struct (line 42) | struct dns_query_struct type dns_server_info (line 42) | struct dns_server_info type dns_query_struct (line 43) | struct dns_query_struct type dns_server_info (line 43) | struct dns_server_info type dns_query_struct (line 45) | struct dns_query_struct type dns_query_options (line 45) | struct dns_query_options type dns_query_struct (line 47) | struct dns_query_struct type dns_query_struct (line 49) | struct dns_query_struct FILE: src/dns_client/server_info.c function dns_client_server_result_flag (line 37) | unsigned int dns_client_server_result_flag(struct dns_server_info *serve... type dns_server_info (line 46) | struct dns_server_info function dns_server_security_status (line 55) | dns_server_security_status dns_client_get_server_security_status(struct ... type dns_server_info (line 64) | struct dns_server_info function dns_client_get_server_port (line 73) | int dns_client_get_server_port(struct dns_server_info *server_info) function _dns_server_inc_server_num (line 82) | static inline void _dns_server_inc_server_num(struct dns_server_info *se... function _dns_server_dec_server_num (line 91) | static inline void _dns_server_dec_server_num(struct dns_server_info *se... function _dns_server_inc_prohibit_server_num (line 100) | void _dns_server_inc_prohibit_server_num(struct dns_server_info *server_... function _dns_server_dec_prohibit_server_num (line 109) | void _dns_server_dec_prohibit_server_num(struct dns_server_info *server_... function dns_server_type_t (line 118) | dns_server_type_t dns_client_get_server_type(struct dns_server_info *ser... type dns_server_stats (line 127) | struct dns_server_stats type dns_server_info (line 127) | struct dns_server_info function dns_client_server_is_alive (line 136) | int dns_client_server_is_alive(struct dns_server_info *server_info) function _dns_client_server_free (line 145) | static void _dns_client_server_free(struct dns_server_info *server_info) function dns_client_server_info_get (line 160) | void dns_client_server_info_get(struct dns_server_info *server_info) function dns_client_server_info_release (line 169) | void dns_client_server_info_release(struct dns_server_info *server_info) function _dns_client_server_info_remove (line 183) | static void _dns_client_server_info_remove(struct dns_server_info *serve... function dns_client_get_server_info_lists (line 200) | int dns_client_get_server_info_lists(struct dns_server_info **server_inf... function _dns_client_server_exist (line 227) | static int _dns_client_server_exist(const char *server_ip, int port, dns... function _dns_client_server_update_ttl (line 255) | static void _dns_client_server_update_ttl(struct ping_host_struct *ping_... type dns_server_info (line 270) | struct dns_server_info type client_dns_server_flags (line 271) | struct client_dns_server_flags type dns_server_info (line 273) | struct dns_server_info type dns_server_info (line 274) | struct dns_server_info type dns_server_info (line 275) | struct dns_server_info function _dns_client_server_add (line 306) | int _dns_client_server_add(const char *server_ip, const char *server_hos... function _dns_client_server_close (line 569) | void _dns_client_server_close(struct dns_server_info *server_info) function _dns_client_server_remove_all (line 591) | void _dns_client_server_remove_all(void) function _dns_client_server_remove (line 614) | static int _dns_client_server_remove(const char *server_ip, int port, dn... function _dns_client_check_servers (line 649) | void _dns_client_check_servers(void) function dns_client_add_server (line 678) | int dns_client_add_server(const char *server_ip, int port, dns_server_ty... function dns_client_remove_server (line 684) | int dns_client_remove_server(const char *server_ip, int port, dns_server... function dns_server_num (line 689) | int dns_server_num(void) function dns_server_alive_num (line 694) | int dns_server_alive_num(void) FILE: src/dns_client/server_info.h type dns_server_info (line 28) | struct dns_server_info type dns_server_info (line 30) | struct dns_server_info type dns_server_info (line 32) | struct dns_server_info type dns_server_info (line 38) | struct dns_server_info type client_dns_server_flags (line 39) | struct client_dns_server_flags type client_dns_server_flags (line 42) | struct client_dns_server_flags FILE: src/dns_client/wake_event.c function _dns_client_close_wakeup_event (line 24) | void _dns_client_close_wakeup_event(void) function _dns_client_clear_wakeup_event (line 32) | void _dns_client_clear_wakeup_event(void) function _dns_client_do_wakeup_event (line 44) | void _dns_client_do_wakeup_event(void) function _dns_client_create_wakeup_event (line 55) | int _dns_client_create_wakeup_event(void) FILE: src/dns_conf/address.c function _conf_domain_rule_address (line 27) | int _conf_domain_rule_address(char *domain, const char *domain_address) function _config_address (line 191) | int _config_address(void *data, int argc, char *argv[]) FILE: src/dns_conf/bind.c function _config_bind_ip_parser_nftset (line 29) | static int _config_bind_ip_parser_nftset(struct dns_bind_ip *bind_ip, un... function _config_bind_ip_parser_ipset (line 103) | static int _config_bind_ip_parser_ipset(struct dns_bind_ip *bind_ip, uns... function _bind_is_ip_valid (line 166) | static int _bind_is_ip_valid(const char *ip) function _config_bind_ip (line 187) | static int _config_bind_ip(int argc, char *argv[], DNS_BIND_TYPE type) function dns_server_bind_destroy (line 386) | void dns_server_bind_destroy(void) function _config_add_default_server_if_needed (line 415) | int _config_add_default_server_if_needed(void) function _config_bind_ip_udp (line 427) | int _config_bind_ip_udp(void *data, int argc, char *argv[]) function _config_bind_ip_tcp (line 432) | int _config_bind_ip_tcp(void *data, int argc, char *argv[]) function _config_bind_ip_tls (line 437) | int _config_bind_ip_tls(void *data, int argc, char *argv[]) function _config_bind_ip_https (line 442) | int _config_bind_ip_https(void *data, int argc, char *argv[]) FILE: src/dns_conf/bootstrap_dns.c function _config_update_bootstrap_dns_rule (line 26) | int _config_update_bootstrap_dns_rule(void) FILE: src/dns_conf/client_rule.c function radix_node_t (line 28) | static radix_node_t *_create_client_rules_node(const char *addr) type client_rule (line 44) | enum client_rule type dns_client_rule (line 46) | struct dns_client_rule type client_rule_flags (line 55) | struct client_rule_flags type client_rule_group (line 58) | struct client_rule_group type client_rule (line 74) | enum client_rule function _dns_client_rule_get (line 79) | static void _dns_client_rule_get(struct dns_client_rule *rule) function _dns_client_rule_put (line 84) | static void _dns_client_rule_put(struct dns_client_rule *rule) function _config_client_rules_free (line 94) | static int _config_client_rules_free(struct dns_client_rules *client_rules) type client_roue_group_mac (line 115) | struct client_roue_group_mac type client_roue_group_mac (line 117) | struct client_roue_group_mac type client_roue_group_mac (line 133) | struct client_roue_group_mac type client_roue_group_mac (line 135) | struct client_roue_group_mac type client_roue_group_mac (line 149) | struct client_roue_group_mac type client_roue_group_mac (line 151) | struct client_roue_group_mac type client_rule (line 159) | enum client_rule function _config_client_rule_add_callback (line 160) | static int _config_client_rule_add_callback(const char *ip_cidr, void *p... function _config_client_rule_add (line 166) | static int _config_client_rule_add(const char *ip_cidr, enum client_rule... function _config_client_rule_flag_callback (line 243) | static int _config_client_rule_flag_callback(const char *ip_cidr, void *... function _config_client_rule_flag_set (line 249) | int _config_client_rule_flag_set(const char *ip_cidr, unsigned int flag,... function _config_client_rule_iter_free_cb (line 325) | static void _config_client_rule_iter_free_cb(radix_node_t *node, void *c... function _config_client_rules (line 341) | int _config_client_rules(void *data, int argc, char *argv[]) function _config_client_rule_destroy_mac (line 478) | static void _config_client_rule_destroy_mac(void) function _config_client_rule_destroy (line 492) | void _config_client_rule_destroy(void) function _config_client_rule_group_add (line 498) | int _config_client_rule_group_add(const char *client, const char *group_... FILE: src/dns_conf/client_subnet.c function _conf_client_subnet (line 25) | int _conf_client_subnet(char *subnet, struct dns_edns_client_subnet *ipv... function _conf_edns_client_subnet (line 89) | int _conf_edns_client_subnet(void *data, int argc, char *argv[]) FILE: src/dns_conf/client_subnet.h type dns_edns_client_subnet (line 31) | struct dns_edns_client_subnet type dns_edns_client_subnet (line 31) | struct dns_edns_client_subnet FILE: src/dns_conf/cname.c function _conf_domain_rule_cname (line 25) | int _conf_domain_rule_cname(const char *domain, const char *cname) function _config_cname (line 64) | int _config_cname(void *data, int argc, char *argv[]) FILE: src/dns_conf/conf_file.c type conf_file_path (line 34) | struct conf_file_path { type hash_table (line 39) | struct hash_table function conf_file_table_init (line 41) | int conf_file_table_init(void) function conf_file_check_duplicate (line 48) | static int conf_file_check_duplicate(const char *conf_file) function conf_additional_file (line 73) | static int conf_additional_file(const char *conf_file) function _config_additional_file_callback (line 110) | static int _config_additional_file_callback(const char *file, void *priv) function config_additional_file (line 115) | int config_additional_file(void *data, int argc, char *argv[]) function _config_file_hash_table_destroy (line 174) | void _config_file_hash_table_destroy(void) FILE: src/dns_conf/ddns_domain.c function _config_ddns_domain (line 30) | int _config_ddns_domain(void *data, int argc, char *argv[]) FILE: src/dns_conf/dhcp_lease_dnsmasq.c function _conf_dhcp_lease_dnsmasq_add (line 31) | static int _conf_dhcp_lease_dnsmasq_add(const char *file) function _conf_dhcp_lease_dnsmasq_file (line 75) | int _conf_dhcp_lease_dnsmasq_file(void *data, int argc, char *argv[]) function dns_server_check_update_hosts (line 96) | int dns_server_check_update_hosts(void) FILE: src/dns_conf/dns64.c function _config_dns64 (line 23) | int _config_dns64(void *data, int argc, char *argv[]) function _dns_conf_dns64_setup_ipv4only_arpa_rule (line 66) | static void _dns_conf_dns64_setup_ipv4only_arpa_rule(void) function _dns_conf_dns64_post (line 73) | void _dns_conf_dns64_post(void) FILE: src/dns_conf/dns_conf.c type config_enum_list (line 65) | struct config_enum_list type dns_config (line 71) | struct dns_config type config_enum_list (line 73) | struct config_enum_list function _config_option_parser_filepath (line 78) | static int _config_option_parser_filepath(void *data, int argc, char *ar... function _config_log_level (line 90) | static int _config_log_level(void *data, int argc, char *argv[]) function _dns_conf_setup_mdns (line 116) | static int _dns_conf_setup_mdns(void) function _config_server_name (line 125) | static int _config_server_name(void *data, int argc, char *argv[]) type config_item (line 137) | struct config_item type config_item (line 256) | struct config_item function _conf_value_handler (line 261) | static int _conf_value_handler(const char *key, const char *value) function _conf_printf (line 274) | int _conf_printf(const char *key, const char *value, const char *file, i... function _dns_server_load_conf_init (line 316) | static int _dns_server_load_conf_init(void) function dns_server_load_exit (line 343) | void dns_server_load_exit(void) function _dns_conf_default_value_init (line 366) | static void _dns_conf_default_value_init(void) function _dns_conf_load_pre (line 400) | static int _dns_conf_load_pre(void) function _dns_conf_auto_set_cache_size (line 418) | static void _dns_conf_auto_set_cache_size(void) function _dns_conf_load_post (line 448) | static int _dns_conf_load_post(void) function dns_server_load_conf (line 485) | int dns_server_load_conf(const char *file) FILE: src/dns_conf/dns_conf.h type config_item (line 29) | struct config_item type config_enum_list (line 33) | struct config_enum_list FILE: src/dns_conf/dns_conf_group.c type dns_conf_group_info (line 26) | struct dns_conf_group_info type dns_conf_group_info (line 27) | struct dns_conf_group_info type dns_conf_rule (line 30) | struct dns_conf_rule function _config_rule_group_init (line 32) | int _config_rule_group_init(void) function _dns_conf_group_int (line 44) | __attribute__((unused)) int _dns_conf_group_int(int value, int *data) function _dns_conf_group_int_base (line 57) | __attribute__((unused)) int _dns_conf_group_int_base(int value, int *data) function _dns_conf_group_string (line 70) | __attribute__((unused)) int _dns_conf_group_string(const char *value, ch... function _dns_conf_group_yesno (line 83) | __attribute__((unused)) int _dns_conf_group_yesno(int value, int *data) function _dns_conf_group_size (line 96) | __attribute__((unused)) int _dns_conf_group_size(size_t value, size_t *d... function _dns_conf_group_ssize (line 109) | __attribute__((unused)) int _dns_conf_group_ssize(ssize_t value, ssize_t... function _dns_conf_group_enum (line 122) | __attribute__((unused)) int _dns_conf_group_enum(int value, int *data) type dns_conf_group (line 135) | struct dns_conf_group type dns_conf_group_info (line 144) | struct dns_conf_group_info function _config_set_current_group (line 149) | void _config_set_current_group(struct dns_conf_group_info *group_info) type dns_conf_group_info (line 158) | struct dns_conf_group_info function _config_current_group_pop (line 163) | void _config_current_group_pop(void) function _config_domain_rule_iter_copy (line 189) | static int _config_domain_rule_iter_copy(void *data, const unsigned char... function _config_rule_group_setup_value (line 221) | static int _config_rule_group_setup_value(struct dns_conf_group_info *gr... function _config_current_group_push (line 280) | int _config_current_group_push(const char *group_name, const char *inher... function _config_current_group_push_default (line 332) | int _config_current_group_push_default(void) function _config_current_group_pop_to (line 337) | int _config_current_group_pop_to(struct dns_conf_group_info *group_info) function _config_current_group_pop_to_default (line 346) | int _config_current_group_pop_to_default(void) function _config_current_group_pop_all (line 351) | int _config_current_group_pop_all(void) type dns_conf_group (line 369) | struct dns_conf_group type dns_conf_group (line 372) | struct dns_conf_group type dns_conf_group (line 388) | struct dns_conf_group type dns_conf_group (line 394) | struct dns_conf_group type dns_conf_group (line 402) | struct dns_conf_group type dns_conf_group (line 407) | struct dns_conf_group type dns_conf_group (line 409) | struct dns_conf_group function _config_rule_group_remove (line 435) | static void _config_rule_group_remove(struct dns_conf_group *rule_group) function _config_rule_group_destroy (line 448) | void _config_rule_group_destroy(void) function _dns_conf_group_post (line 462) | void _dns_conf_group_post(void) FILE: src/dns_conf/dns_conf_group.h type dns_conf_group_info (line 29) | struct dns_conf_group_info { type dns_conf_rule (line 36) | struct dns_conf_rule type dns_conf_group (line 51) | struct dns_conf_group type dns_conf_group (line 53) | struct dns_conf_group type dns_conf_group_info (line 54) | struct dns_conf_group_info type dns_conf_group_info (line 55) | struct dns_conf_group_info type dns_conf_group_info (line 56) | struct dns_conf_group_info type dns_conf_group_info (line 62) | struct dns_conf_group_info FILE: src/dns_conf/domain_rule.c function _get_required_capacity (line 35) | static inline uint8_t _get_required_capacity(enum domain_rule type, uint... type dns_domain_rule (line 58) | struct dns_domain_rule type dns_domain_rule (line 60) | struct dns_domain_rule type dns_rule (line 60) | struct dns_rule type dns_domain_rule (line 61) | struct dns_domain_rule type dns_domain_rule (line 77) | struct dns_domain_rule type dns_domain_rule (line 77) | struct dns_domain_rule type domain_rule (line 77) | enum domain_rule type dns_domain_rule (line 102) | struct dns_domain_rule type dns_rule (line 102) | struct dns_rule type dns_domain_rule (line 103) | struct dns_domain_rule type dns_rule (line 109) | struct dns_rule type dns_rule_info (line 115) | struct dns_rule_info { function _rule_address_ipv4_get_size (line 121) | static int _rule_address_ipv4_get_size(struct dns_rule *rule) function _rule_address_ipv6_get_size (line 126) | static int _rule_address_ipv6_get_size(struct dns_rule *rule) function _rule_https_clone (line 131) | static void _rule_https_clone(struct dns_rule *new_rule, struct dns_rule... function _rule_srv_clone (line 150) | static void _rule_srv_clone(struct dns_rule *new_rule, struct dns_rule *... type dns_rule_info (line 169) | struct dns_rule_info type dns_rule_flags (line 170) | struct dns_rule_flags type dns_rule_address_IPV4 (line 171) | struct dns_rule_address_IPV4 type dns_rule_address_IPV6 (line 172) | struct dns_rule_address_IPV6 type dns_nameserver_rule (line 173) | struct dns_nameserver_rule type dns_domain_check_orders (line 174) | struct dns_domain_check_orders type dns_ipset_rule (line 175) | struct dns_ipset_rule type dns_nftset_rule (line 176) | struct dns_nftset_rule type dns_ipset_rule (line 177) | struct dns_ipset_rule type dns_group_rule (line 178) | struct dns_group_rule type dns_nftset_rule (line 179) | struct dns_nftset_rule type dns_ipset_rule (line 180) | struct dns_ipset_rule type dns_https_record_rule (line 181) | struct dns_https_record_rule type dns_srv_record_rule (line 182) | struct dns_srv_record_rule type dns_response_mode_rule (line 183) | struct dns_response_mode_rule type dns_cname_rule (line 184) | struct dns_cname_rule type dns_ttl_rule (line 185) | struct dns_ttl_rule type domain_rule (line 188) | enum domain_rule type dns_rule (line 190) | struct dns_rule type domain_rule (line 211) | enum domain_rule type dns_rule (line 216) | struct dns_rule type dns_rule (line 216) | struct dns_rule type dns_rule (line 219) | struct dns_rule function _dns_rule_get (line 250) | void _dns_rule_get(struct dns_rule *rule) function _dns_rule_free (line 255) | static void _dns_rule_free(struct dns_rule *rule) function _dns_rule_put (line 281) | void _dns_rule_put(struct dns_rule *rule) type dns_domain_set_name_list (line 288) | struct dns_domain_set_name_list type dns_domain_set_name_list (line 291) | struct dns_domain_set_name_list function _config_domain_rule_set_each (line 304) | static int _config_domain_rule_set_each(const char *domain_set, set_rule... function _config_domain_rule_add_callback (line 334) | static int _config_domain_rule_add_callback(const char *domain, void *priv) function _config_setup_domain_key (line 340) | static int _config_setup_domain_key(const char *domain, char *domain_key... type dns_domain_rule (line 408) | struct dns_domain_rule function _config_domain_rule_free (line 420) | int _config_domain_rule_free(struct dns_domain_rule *domain_rule) function _config_domain_iter_free (line 442) | int _config_domain_iter_free(void *data, const unsigned char *key, uint3... function _config_domain_rule_delete_callback (line 448) | static int _config_domain_rule_delete_callback(const char *domain, void ... function _config_domain_rule_delete (line 453) | int _config_domain_rule_delete(const char *domain) function _config_domain_rule_flag_callback (line 480) | static int _config_domain_rule_flag_callback(const char *domain, void *p... function _config_domain_rule_flag_set (line 486) | int _config_domain_rule_flag_set(const char *domain, unsigned int flag, ... function _config_domain_rule_remove (line 565) | int _config_domain_rule_remove(const char *domain, enum domain_rule type) function _config_domain_rule_add (line 604) | int _config_domain_rule_add(const char *domain, enum domain_rule type, v... function _conf_domain_rule_rr_ttl (line 701) | static int _conf_domain_rule_rr_ttl(const char *domain, int ttl, int ttl... function _conf_domain_rule_no_serve_expired (line 734) | static int _conf_domain_rule_no_serve_expired(const char *domain) function _conf_domain_rule_delete (line 739) | static int _conf_domain_rule_delete(const char *domain) function _conf_domain_rule_no_cache (line 744) | static int _conf_domain_rule_no_cache(const char *domain) function _conf_domain_rule_enable_cache (line 749) | static int _conf_domain_rule_enable_cache(const char *domain) function _conf_domain_rule_no_ipalias (line 754) | static int _conf_domain_rule_no_ipalias(const char *domain) function _conf_domain_rule_no_ignore_ip (line 759) | static int _conf_domain_rule_no_ignore_ip(const char *domain) function _conf_domain_rule_response_mode (line 764) | int _conf_domain_rule_response_mode(char *domain, const char *mode) function _conf_domain_rule_speed_check (line 796) | int _conf_domain_rule_speed_check(char *domain, const char *mode) function _conf_domain_rule_group (line 822) | int _conf_domain_rule_group(const char *domain, const char *group_name) function _conf_domain_rule_dualstack_selection (line 864) | static int _conf_domain_rule_dualstack_selection(char *domain, const cha... function _config_domain_rules (line 884) | int _config_domain_rules(void *data, int argc, char *argv[]) type domain_rule (line 1166) | enum domain_rule type dns_domain_rule (line 1168) | struct dns_domain_rule FILE: src/dns_conf/domain_rule.h type domain_rule (line 31) | enum domain_rule type domain_rule (line 32) | enum domain_rule type dns_rule (line 33) | struct dns_rule type dns_rule (line 34) | struct dns_rule type domain_rule (line 36) | enum domain_rule type domain_rule (line 37) | enum domain_rule type domain_rule (line 42) | enum domain_rule type dns_domain_rule (line 43) | struct dns_domain_rule FILE: src/dns_conf/domain_set.c type dns_domain_set_name_table (line 27) | struct dns_domain_set_name_table function _config_domain_set (line 29) | int _config_domain_set(void *data, int argc, char *argv[]) function _config_domain_set_name_table_init (line 128) | void _config_domain_set_name_table_init(void) function _config_domain_set_name_table_destroy (line 133) | void _config_domain_set_name_table_destroy(void) FILE: src/dns_conf/get_domain.c function _get_domain (line 24) | int _get_domain(char *value, char *domain, int max_domain_size, char **p... FILE: src/dns_conf/group.c function _config_group_begin (line 27) | int _config_group_begin(void *data, int argc, char *argv[]) function _config_group_end (line 72) | int _config_group_end(void *data, int argc, char *argv[]) function _config_group_match (line 78) | int _config_group_match(void *data, int argc, char *argv[]) FILE: src/dns_conf/host_file.c type dns_hosts_table (line 30) | struct dns_hosts_table function _conf_hosts_file_add (line 33) | static int _conf_hosts_file_add(const char *file, void *priv) function _config_hosts_file (line 106) | int _config_hosts_file(void *data, int argc, char *argv[]) function _config_host_table_init (line 121) | void _config_host_table_init(void) function _config_host_table_destroy (line 126) | void _config_host_table_destroy(int only_dynamic) type dns_hosts (line 145) | struct dns_hosts type dns_hosts (line 148) | struct dns_hosts function _conf_host_expand_local_domain (line 183) | static int _conf_host_expand_local_domain(struct dns_hosts *host) function _conf_host_add (line 223) | int _conf_host_add(const char *hostname, const char *ip, dns_hosts_type ... FILE: src/dns_conf/https_record.c function _conf_domain_rule_https_copy_alpn (line 25) | static int _conf_domain_rule_https_copy_alpn(char *alpn_data, int max_al... function _conf_domain_rule_https_record (line 63) | int _conf_domain_rule_https_record(const char *domain, const char *host) function _config_https_record (line 222) | int _config_https_record(void *data, int argc, char *argv[]) FILE: src/dns_conf/ip_alias.c function _config_ip_alias_add_ip_callback (line 22) | static int _config_ip_alias_add_ip_callback(const char *ip_cidr, void *p... function _conf_ip_alias (line 27) | int _conf_ip_alias(const char *ip_cidr, const char *ips) function _config_ip_alias (line 83) | int _config_ip_alias(void *data, int argc, char *argv[]) FILE: src/dns_conf/ip_rule.c function _config_ip_rule_set_each (line 27) | int _config_ip_rule_set_each(const char *ip_set, set_rule_add_func callb... function _dns_iplist_ip_address_add (line 64) | static void _dns_iplist_ip_address_add(struct dns_iplist_ip_addresses *i... function _config_ip_rules (line 77) | int _config_ip_rules(void *data, int argc, char *argv[]) function _config_ip_rules_free (line 155) | static int _config_ip_rules_free(struct dns_ip_rules *ip_rules) function radix_node_t (line 176) | static radix_node_t *_create_addr_node(const char *addr) function _config_ip_rule_flag_callback (line 204) | static int _config_ip_rule_flag_callback(const char *ip_cidr, void *priv) function _config_ip_rule_flag_set (line 210) | int _config_ip_rule_flag_set(const char *ip_cidr, unsigned int flag, uns... function _config_ip_rule_add_callback (line 267) | static int _config_ip_rule_add_callback(const char *ip_cidr, void *priv) function _config_ip_rule_add (line 273) | int _config_ip_rule_add(const char *ip_cidr, enum ip_rule type, void *rule) type ip_rule (line 330) | enum ip_rule type dns_ip_rule (line 332) | struct dns_ip_rule type ip_rule_flags (line 341) | struct ip_rule_flags type ip_rule_alias (line 344) | struct ip_rule_alias type ip_rule (line 360) | enum ip_rule function _dns_ip_rule_get (line 365) | void _dns_ip_rule_get(struct dns_ip_rule *rule) function _dns_ip_rule_put (line 370) | void _dns_ip_rule_put(struct dns_ip_rule *rule) function _config_ip_rule_alias_add_ip (line 385) | int _config_ip_rule_alias_add_ip(const char *ip, struct ip_rule_alias *i... function _config_blacklist_ip (line 427) | int _config_blacklist_ip(void *data, int argc, char *argv[]) function _config_bogus_nxdomain (line 436) | int _config_bogus_nxdomain(void *data, int argc, char *argv[]) function _config_ip_ignore (line 445) | int _config_ip_ignore(void *data, int argc, char *argv[]) function _config_whitelist_ip (line 454) | int _config_whitelist_ip(void *data, int argc, char *argv[]) function _config_ip_iter_free (line 463) | void _config_ip_iter_free(radix_node_t *node, void *cbctx) FILE: src/dns_conf/ip_rule.h type ip_rule_alias (line 41) | struct ip_rule_alias type ip_rule (line 42) | enum ip_rule type ip_rule (line 44) | enum ip_rule type dns_ip_rule (line 45) | struct dns_ip_rule type dns_ip_rule (line 46) | struct dns_ip_rule FILE: src/dns_conf/ip_set.c type dns_ip_set_name_table (line 27) | struct dns_ip_set_name_table function _config_ip_set (line 29) | int _config_ip_set(void *data, int argc, char *argv[]) function _config_ip_set_name_table_init (line 130) | void _config_ip_set_name_table_init(void) function _config_ip_set_name_table_destroy (line 135) | void _config_ip_set_name_table_destroy(void) FILE: src/dns_conf/ipset.c type dns_ipset_table (line 27) | struct dns_ipset_table { type dns_ipset_table (line 30) | struct dns_ipset_table function _config_ipset_init (line 32) | int _config_ipset_init(void) function _config_ipset_table_destroy (line 38) | void _config_ipset_table_destroy(void) type dns_ipset_name (line 54) | struct dns_ipset_name function _conf_domain_rule_ipset (line 82) | int _conf_domain_rule_ipset(char *domain, const char *ipsetname) function _config_ipset_setvalue (line 157) | static int _config_ipset_setvalue(struct dns_ipset_names *ipsets, const ... function _config_ipset (line 221) | int _config_ipset(void *data, int argc, char *argv[]) function _config_ipset_no_speed (line 246) | int _config_ipset_no_speed(void *data, int argc, char *argv[]) FILE: src/dns_conf/local_domain.c function _config_local_domain (line 31) | int _config_local_domain(void *data, int argc, char *argv[]) FILE: src/dns_conf/nameserver.c function _conf_domain_rule_nameserver (line 24) | int _conf_domain_rule_nameserver(const char *domain, const char *group_n... function _config_nameserver (line 66) | int _config_nameserver(void *data, int argc, char *argv[]) FILE: src/dns_conf/nftset.c type dns_nftset_table (line 26) | struct dns_nftset_table { type dns_nftset_table (line 29) | struct dns_nftset_table function _config_nftset_table_destroy (line 31) | void _config_nftset_table_destroy(void) type dns_nftset_name (line 44) | struct dns_nftset_name type dns_nftset_name (line 47) | struct dns_nftset_name function _conf_domain_rule_nftset (line 84) | int _conf_domain_rule_nftset(char *domain, const char *nftsetname) function _config_nftset_setvalue (line 182) | static int _config_nftset_setvalue(struct dns_nftset_names *nftsets, con... function _config_nftset (line 282) | int _config_nftset(void *data, int argc, char *argv[]) function _config_nftset_no_speed (line 302) | int _config_nftset_no_speed(void *data, int argc, char *argv[]) FILE: src/dns_conf/nftset.h type dns_nftset_name (line 29) | struct dns_nftset_name FILE: src/dns_conf/plugin.c type dns_conf_plugin_table (line 25) | struct dns_conf_plugin_table function _config_plugin_iter_free (line 27) | static int _config_plugin_iter_free(void *data, const unsigned char *key... type dns_conf_plugin (line 33) | struct dns_conf_plugin type dns_conf_plugin (line 36) | struct dns_conf_plugin function _config_plugin (line 60) | int _config_plugin(void *data, int argc, char *argv[]) function _config_plugin_conf_add (line 156) | int _config_plugin_conf_add(const char *key, const char *value) function _config_plugin_table_init (line 184) | void _config_plugin_table_init(void) function _config_plugin_table_destroy (line 190) | void _config_plugin_table_destroy(void) function _config_plugin_table_conf_destroy (line 203) | void _config_plugin_table_conf_destroy(void) function dns_conf_clear_all_plugin_conf (line 209) | void dns_conf_clear_all_plugin_conf(void) FILE: src/dns_conf/proxy_names.c type dns_proxy_table (line 23) | struct dns_proxy_table type dns_proxy_names (line 25) | struct dns_proxy_names type dns_proxy_names (line 28) | struct dns_proxy_names type dns_proxy_names (line 42) | struct dns_proxy_names type dns_proxy_names (line 45) | struct dns_proxy_names function _dns_conf_proxy_servers_add (line 72) | int _dns_conf_proxy_servers_add(const char *proxy_name, struct dns_proxy... type dns_proxy_names (line 88) | struct dns_proxy_names function _config_proxy_table_destroy (line 98) | void _config_proxy_table_destroy(void) FILE: src/dns_conf/proxy_names.h type dns_proxy_servers (line 29) | struct dns_proxy_servers FILE: src/dns_conf/proxy_server.c function _config_proxy_server (line 25) | int _config_proxy_server(void *data, int argc, char *argv[]) FILE: src/dns_conf/ptr.c type dns_ptr_table (line 25) | struct dns_ptr_table type dns_ptr (line 27) | struct dns_ptr type dns_ptr (line 30) | struct dns_ptr function _conf_ptr_add (line 60) | int _conf_ptr_add(const char *hostname, const char *ip, int is_dynamic) function _config_ptr_table_init (line 127) | void _config_ptr_table_init(void) function _config_ptr_table_destroy (line 132) | void _config_ptr_table_destroy(int only_dynamic) FILE: src/dns_conf/qtype_soa.c function _conf_qtype_soa (line 23) | static int _conf_qtype_soa(uint8_t *soa_table, int argc, char *argv[]) function _config_qtype_soa (line 91) | int _config_qtype_soa(void *data, int argc, char *argv[]) FILE: src/dns_conf/server.c function _config_server (line 28) | static int _config_server(int argc, char *argv[], dns_server_type_t type... function _config_server_udp (line 360) | int _config_server_udp(void *data, int argc, char *argv[]) function _config_server_tcp (line 365) | int _config_server_tcp(void *data, int argc, char *argv[]) function _config_server_tls (line 370) | int _config_server_tls(void *data, int argc, char *argv[]) function _config_server_https (line 375) | int _config_server_https(void *data, int argc, char *argv[]) function _config_server_quic (line 383) | int _config_server_quic(void *data, int argc, char *argv[]) function _config_server_http3 (line 391) | int _config_server_http3(void *data, int argc, char *argv[]) FILE: src/dns_conf/server_group.c type dns_group_table (line 24) | struct dns_group_table type dns_server_groups (line 26) | struct dns_server_groups type dns_server_groups (line 29) | struct dns_server_groups function _dns_conf_get_group_set (line 55) | int _dns_conf_get_group_set(const char *group_name, struct dns_servers *... type dns_server_groups (line 84) | struct dns_server_groups function _config_group_table_init (line 94) | void _config_group_table_init(void) function _config_group_table_destroy (line 99) | void _config_group_table_destroy(void) FILE: src/dns_conf/server_group.h type dns_servers (line 29) | struct dns_servers type dns_server_groups (line 31) | struct dns_server_groups type dns_conf_group (line 35) | struct dns_conf_group type dns_conf_group (line 37) | struct dns_conf_group type dns_conf_group (line 39) | struct dns_conf_group type dns_conf_group (line 41) | struct dns_conf_group FILE: src/dns_conf/set_file.c function _config_set_rule_each_from_list (line 33) | int _config_set_rule_each_from_list(const char *file, set_rule_add_func ... function _config_foreach_file (line 94) | int _config_foreach_file(const char *file_pattern, int (*callback)(const... FILE: src/dns_conf/smartdns_domain.c function _config_setup_smartdns_domain (line 24) | void _config_setup_smartdns_domain(void) FILE: src/dns_conf/speed_check_mode.c function _config_speed_check_mode_clear (line 31) | static void _config_speed_check_mode_clear(struct dns_domain_check_order... function _config_speed_check_mode_parser (line 36) | int _config_speed_check_mode_parser(struct dns_domain_check_orders *chec... function _config_speed_check_mode (line 111) | int _config_speed_check_mode(void *data, int argc, char *argv[]) function _dns_conf_speed_check_mode_verify (line 124) | int _dns_conf_speed_check_mode_verify(void) function _dns_ping_cap_check (line 188) | int _dns_ping_cap_check(void) FILE: src/dns_conf/speed_check_mode.h type dns_domain_check_orders (line 35) | struct dns_domain_check_orders FILE: src/dns_conf/srv_record.c function _confg_srv_record_add (line 26) | static int _confg_srv_record_add(const char *domain, const char *host, u... function _config_srv_record (line 73) | int _config_srv_record(void *data, int argc, char *argv[]) FILE: src/dns_plugin.c type dns_plugin_ops (line 36) | struct dns_plugin_ops { type dns_plugin (line 42) | struct dns_plugin { type dns_plugins (line 53) | struct dns_plugins { type dns_plugins (line 59) | struct dns_plugins function smartdns_plugin_func_server_recv (line 62) | int smartdns_plugin_func_server_recv(struct dns_packet *packet, unsigned... function smartdns_plugin_func_server_complete_request (line 91) | void smartdns_plugin_func_server_complete_request(struct dns_request *re... function smartdns_plugin_func_server_log_callback (line 113) | void smartdns_plugin_func_server_log_callback(smartdns_log_level level, ... function smartdns_plugin_func_server_audit_log_callback (line 135) | void smartdns_plugin_func_server_audit_log_callback(const char *msg, int... function smartdns_operations_register (line 157) | int smartdns_operations_register(const struct smartdns_operations *opera... function smartdns_operations_unregister (line 174) | int smartdns_operations_unregister(const struct smartdns_operations *ope... type dns_plugin (line 194) | struct dns_plugin type dns_plugin (line 196) | struct dns_plugin function _dns_plugin_load_library (line 213) | static int _dns_plugin_load_library(struct dns_plugin *plugin) function _dns_plugin_unload_library (line 294) | static int _dns_plugin_unload_library(struct dns_plugin *plugin) type dns_plugin (line 312) | struct dns_plugin type dns_plugin (line 314) | struct dns_plugin type dns_plugin (line 321) | struct dns_plugin type dns_plugin (line 321) | struct dns_plugin function _dns_plugin_remove (line 330) | static int _dns_plugin_remove(struct dns_plugin *plugin) function dns_plugin_get_argc (line 341) | int dns_plugin_get_argc(struct dns_plugin *plugin) type dns_plugin (line 346) | struct dns_plugin function dns_plugin_add (line 351) | int dns_plugin_add(const char *plugin_file, int argc, const char *args, ... function dns_plugin_remove (line 384) | int dns_plugin_remove(const char *plugin_file) function _dns_plugin_remove_all_ops (line 396) | static int _dns_plugin_remove_all_ops(void) function _dns_plugin_remove_all (line 412) | static int _dns_plugin_remove_all(void) function dns_server_plugin_init (line 434) | int dns_server_plugin_init(void) function dns_server_plugin_exit (line 450) | void dns_server_plugin_exit(void) function smartdns_plugin_log (line 464) | void smartdns_plugin_log(smartdns_log_level level, const char *file, int... function smartdns_plugin_can_log (line 469) | int smartdns_plugin_can_log(smartdns_log_level level) function smartdns_plugin_log_setlevel (line 474) | void smartdns_plugin_log_setlevel(smartdns_log_level level) function smartdns_plugin_log_getlevel (line 479) | int smartdns_plugin_log_getlevel(void) function smartdns_plugin_is_audit_enabled (line 484) | int smartdns_plugin_is_audit_enabled(void) function smartdns_plugin_clear_all_config (line 494) | void smartdns_plugin_clear_all_config(void) FILE: src/dns_server/address.c function _dns_server_is_adblock_ipv6 (line 27) | int _dns_server_is_adblock_ipv6(const unsigned char addr[16]) function _dns_server_address_generate_order (line 44) | int _dns_server_address_generate_order(int orders[], int order_num, int ... function _dns_server_process_address (line 70) | int _dns_server_process_address(struct dns_request *request) function _dns_ip_address_check_add (line 143) | int _dns_ip_address_check_add(struct dns_request *request, char *cname, ... function _dns_server_select_possible_ipaddress (line 209) | void _dns_server_select_possible_ipaddress(struct dns_request *request) type dns_ip_address (line 287) | struct dns_ip_address type dns_request (line 287) | struct dns_request type dns_ip_address (line 290) | struct dns_ip_address type dns_ip_address (line 291) | struct dns_ip_address FILE: src/dns_server/address.h type dns_request (line 28) | struct dns_request type dns_request (line 30) | struct dns_request type dns_ip_address (line 31) | struct dns_ip_address type dns_ip_address (line 33) | struct dns_ip_address type dns_request (line 33) | struct dns_request type dns_request (line 35) | struct dns_request FILE: src/dns_server/answer.c function _dns_server_process_answer_A_IP (line 30) | static int _dns_server_process_answer_A_IP(struct dns_request *request, ... function _dns_server_process_answer_AAAA_IP (line 101) | static int _dns_server_process_answer_AAAA_IP(struct dns_request *reques... function _dns_server_process_answer_A (line 173) | static int _dns_server_process_answer_A(struct dns_rrs *rrs, struct dns_... function _dns_server_process_answer_AAAA (line 201) | static int _dns_server_process_answer_AAAA(struct dns_rrs *rrs, struct d... function _dns_server_process_answer_HTTPS (line 233) | static int _dns_server_process_answer_HTTPS(struct dns_rrs *rrs, struct ... function _dns_server_process_answer (line 356) | int _dns_server_process_answer(struct dns_request *request, const char *... FILE: src/dns_server/answer.h type dns_request (line 28) | struct dns_request type dns_packet (line 28) | struct dns_packet FILE: src/dns_server/audit.c function _dns_server_audit_log (line 28) | void _dns_server_audit_log(struct dns_server_post_context *context) function _dns_server_audit_syslog (line 155) | static int _dns_server_audit_syslog(struct tlog_log *log, const char *bu... function _dns_server_audit_output_callback (line 161) | static int _dns_server_audit_output_callback(struct tlog_log *log, const... function _dns_server_audit_init (line 172) | int _dns_server_audit_init(void) FILE: src/dns_server/audit.h type dns_server_post_context (line 28) | struct dns_server_post_context FILE: src/dns_server/cache.c function _dns_server_expired_cache_ttl (line 33) | int _dns_server_expired_cache_ttl(struct dns_cache *cache, int serve_exp... function _dns_cache_is_specify_packet (line 38) | static int _dns_cache_is_specify_packet(int qtype) function _dns_server_get_cache_timeout (line 55) | static int _dns_server_get_cache_timeout(struct dns_request *request, st... function _dns_server_request_update_cache (line 127) | int _dns_server_request_update_cache(struct dns_request *request, int sp... function _dns_cache_cname_packet (line 182) | int _dns_cache_cname_packet(struct dns_server_post_context *context) function _dns_cache_packet (line 330) | int _dns_cache_packet(struct dns_server_post_context *context) function _dns_cache_specify_packet (line 378) | int _dns_cache_specify_packet(struct dns_server_post_context *context) function _dns_cache_try_keep_old_cache (line 387) | int _dns_cache_try_keep_old_cache(struct dns_request *request) function _dns_server_process_cache_packet (line 397) | static int _dns_server_process_cache_packet(struct dns_request *request,... function _dns_server_process_cache_data (line 456) | static int _dns_server_process_cache_data(struct dns_request *request, s... function _dns_server_process_cache (line 471) | int _dns_server_process_cache(struct dns_request *request) function _dns_server_save_cache_to_file (line 589) | void _dns_server_save_cache_to_file(void) function dns_cache_tmout_action_t (line 650) | static dns_cache_tmout_action_t _dns_server_cache_expired(struct dns_cac... function _dns_server_cache_init (line 669) | int _dns_server_cache_init(void) function _dns_server_cache_save (line 697) | int _dns_server_cache_save(int check_lock) FILE: src/dns_server/cache.h type dns_request (line 35) | struct dns_request type dns_server_post_context (line 37) | struct dns_server_post_context type dns_request (line 39) | struct dns_request type dns_cache_data (line 40) | struct dns_cache_data type dns_server_post_context (line 42) | struct dns_server_post_context type dns_request (line 44) | struct dns_request type dns_server_post_context (line 46) | struct dns_server_post_context type dns_cache (line 48) | struct dns_cache FILE: src/dns_server/client_rule.c function _dns_server_request_set_client_rules (line 22) | int _dns_server_request_set_client_rules(struct dns_request *request, st... FILE: src/dns_server/client_rule.h type dns_request (line 28) | struct dns_request type dns_client_rules (line 28) | struct dns_client_rules FILE: src/dns_server/cname.c function DNS_CHILD_POST_RESULT (line 23) | static DNS_CHILD_POST_RESULT _dns_server_process_cname_callback(struct d... function _dns_server_process_cname_pre (line 37) | int _dns_server_process_cname_pre(struct dns_request *request) function _dns_server_process_cname (line 76) | int _dns_server_process_cname(struct dns_request *request) FILE: src/dns_server/cname.h type dns_request (line 28) | struct dns_request type dns_request (line 30) | struct dns_request FILE: src/dns_server/connection.c function _dns_server_epoll_ctl (line 29) | int _dns_server_epoll_ctl(struct dns_server_conn_head *head, int op, uin... function _dns_server_conn_release (line 44) | void _dns_server_conn_release(struct dns_server_conn_head *conn) function _dns_server_conn_get (line 96) | void _dns_server_conn_get(struct dns_server_conn_head *conn) function _dns_server_close_socket (line 107) | void _dns_server_close_socket(void) function _dns_server_close_socket_server (line 131) | void _dns_server_close_socket_server(void) function _dns_server_client_touch (line 159) | void _dns_server_client_touch(struct dns_server_conn_head *conn) function _dns_server_client_close (line 164) | int _dns_server_client_close(struct dns_server_conn_head *conn) function _dns_server_update_request_connection_timeout (line 187) | int _dns_server_update_request_connection_timeout(struct dns_server_conn... function _dns_server_conn_head_init (line 214) | void _dns_server_conn_head_init(struct dns_server_conn_head *conn, int f... function _dns_server_set_flags (line 223) | int _dns_server_set_flags(struct dns_server_conn_head *head, struct dns_... FILE: src/dns_server/connection.h type dns_server_conn_head (line 30) | struct dns_server_conn_head type dns_server_conn_head (line 32) | struct dns_server_conn_head type dns_server_conn_head (line 34) | struct dns_server_conn_head type dns_bind_ip (line 34) | struct dns_bind_ip type dns_server_conn_head (line 36) | struct dns_server_conn_head type dns_server_conn_head (line 38) | struct dns_server_conn_head type dns_server_conn_head (line 40) | struct dns_server_conn_head type dns_server_conn_head (line 42) | struct dns_server_conn_head type dns_server_conn_head (line 46) | struct dns_server_conn_head FILE: src/dns_server/context.c function _dns_server_post_context_init (line 32) | void _dns_server_post_context_init(struct dns_server_post_context *conte... function _dns_server_context_add_ip (line 43) | static void _dns_server_context_add_ip(struct dns_server_post_context *c... function _dns_server_post_context_init_from (line 52) | void _dns_server_post_context_init_from(struct dns_server_post_context *... function _dns_rrs_result_log (line 65) | static void _dns_rrs_result_log(struct dns_server_post_context *context,... function _dns_rrs_add_all_best_ip (line 89) | static int _dns_rrs_add_all_best_ip(struct dns_server_post_context *cont... function _dns_server_add_srv (line 178) | static int _dns_server_add_srv(struct dns_server_post_context *context) function _dns_add_rrs_ip_hint (line 195) | static int _dns_add_rrs_ip_hint(struct dns_server_post_context *context,... function _dns_add_rrs_HTTPS (line 257) | static int _dns_add_rrs_HTTPS(struct dns_server_post_context *context) function _dns_add_rrs (line 323) | static int _dns_add_rrs(struct dns_server_post_context *context) function _dns_setup_dns_packet (line 401) | static int _dns_setup_dns_packet(struct dns_server_post_context *context) function _dns_setup_dns_raw_packet (line 442) | static int _dns_setup_dns_raw_packet(struct dns_server_post_context *con... function _dns_result_callback (line 456) | static int _dns_result_callback(struct dns_server_post_context *context) function _dns_server_setup_ipset_nftset_packet (line 503) | static int _dns_server_setup_ipset_nftset_packet(struct dns_server_post_... function _dns_result_child_post (line 692) | static int _dns_result_child_post(struct dns_server_post_context *context) function _dns_request_update_id_ttl_domain (line 740) | static int _dns_request_update_id_ttl_domain(struct dns_server_post_cont... function _dns_request_post (line 778) | int _dns_request_post(struct dns_server_post_context *context) function _dns_server_get_answer (line 853) | int _dns_server_get_answer(struct dns_server_post_context *context) function _dns_cache_reply_packet (line 985) | int _dns_cache_reply_packet(struct dns_server_post_context *context) function _dns_server_reply_passthrough (line 1037) | int _dns_server_reply_passthrough(struct dns_server_post_context *context) FILE: src/dns_server/context.h type dns_server_post_context (line 28) | struct dns_server_post_context type dns_server_post_context (line 30) | struct dns_server_post_context type dns_request (line 30) | struct dns_request type dns_server_post_context (line 32) | struct dns_server_post_context type dns_server_post_context (line 34) | struct dns_server_post_context type dns_server_post_context (line 36) | struct dns_server_post_context type dns_server_post_context (line 38) | struct dns_server_post_context type dns_request (line 38) | struct dns_request type dns_packet (line 39) | struct dns_packet FILE: src/dns_server/ddr.c type dns_bind_ip (line 28) | struct dns_bind_ip function _ddr_extract_local_addresses (line 44) | static void _ddr_extract_local_addresses(const struct sockaddr_storage *... function _ddr_build_svcb_record (line 70) | static int _ddr_build_svcb_record(struct dns_packet *packet, const char ... function _dns_server_process_DDR (line 110) | int _dns_server_process_DDR(struct dns_request *request) FILE: src/dns_server/ddr.h type dns_request (line 28) | struct dns_request FILE: src/dns_server/dns64.c function _dns_server_is_dns64_request (line 34) | int _dns_server_is_dns64_request(struct dns_request *request) function _dns_server_process_ipv4only_arpa (line 55) | static int _dns_server_process_ipv4only_arpa(struct dns_request *request) function _dns_server_process_dns64_callback (line 99) | static enum DNS_CHILD_POST_RESULT function _dns_server_process_dns64 (line 195) | int _dns_server_process_dns64(struct dns_request *request) FILE: src/dns_server/dns64.h type dns_request (line 28) | struct dns_request FILE: src/dns_server/dns_server.c type dns_server (line 70) | struct dns_server function _dns_server_wakeup_thread (line 72) | static void _dns_server_wakeup_thread(void) function _dns_server_forward_request (line 79) | static int _dns_server_forward_request(unsigned char *inpacket, int inpa... function _dns_reply_inpacket (line 84) | int _dns_reply_inpacket(struct dns_request *request, unsigned char *inpa... function _dns_server_resolve_callback_reply_passthrough (line 111) | static int _dns_server_resolve_callback_reply_passthrough(struct dns_req... function dns_server_resolve_callback (line 134) | static int dns_server_resolve_callback(const char *domain, dns_result_ty... function dns_server_get_server_name (line 202) | int dns_server_get_server_name(char *name, int name_len) function _dns_server_do_query (line 242) | int _dns_server_do_query(struct dns_request *request, int skip_notify_ev... function _dns_server_reply_format_error (line 380) | static int _dns_server_reply_format_error(struct dns_request *request, s... function _dns_server_recv (line 422) | int _dns_server_recv(struct dns_server_conn_head *conn, unsigned char *i... function dns_server_query (line 523) | int dns_server_query(const char *domain, int qtype, struct dns_server_qu... function _dns_server_process (line 556) | static int _dns_server_process(struct dns_server_conn_head *conn, struct... function _dns_server_socket (line 600) | static int _dns_server_socket(void) function _dns_server_check_need_exit (line 641) | static void _dns_server_check_need_exit(void) function _dns_server_period_run_second (line 657) | static void _dns_server_period_run_second(void) function _dns_server_period_run (line 680) | static void _dns_server_period_run(unsigned int msec) function dns_server_run (line 718) | int dns_server_run(void) function dns_server_start (line 809) | int dns_server_start(void) function _dns_server_init_wakeup_event (line 828) | static int _dns_server_init_wakeup_event(void) function dns_server_init (line 853) | int dns_server_init(void) function dns_server_stop (line 947) | void dns_server_stop(void) function dns_server_exit (line 953) | void dns_server_exit(void) FILE: src/dns_server/dns_server.h type DNS_CONN_TYPE (line 72) | typedef enum { type DNS_CHILD_POST_RESULT (line 83) | typedef enum DNS_CHILD_POST_RESULT { type rule_walk_args (line 90) | struct rule_walk_args { type neighbor_enum_args (line 98) | struct neighbor_enum_args { type neighbor_cache_item (line 104) | struct neighbor_cache_item { type neighbor_cache (line 114) | struct neighbor_cache { type local_addr_cache_item (line 121) | struct local_addr_cache_item { type local_addr_cache (line 127) | struct local_addr_cache { type dns_conn_buf (line 132) | struct dns_conn_buf { type dns_server_conn_head (line 138) | struct dns_server_conn_head { type dns_server_post_context (line 149) | struct dns_server_post_context { type dns_server_client_status (line 176) | typedef enum dns_server_client_status { type dns_server_conn_udp (line 184) | struct dns_server_conn_udp { type dns_server_conn_tcp_server (line 190) | struct dns_server_conn_tcp_server { type dns_server_conn_tls_server (line 194) | struct dns_server_conn_tls_server { type dns_server_conn_tcp_client (line 199) | struct dns_server_conn_tcp_client { type dns_server_conn_tls_client (line 213) | struct dns_server_conn_tls_client { type dns_ip_address (line 223) | struct dns_ip_address { type dns_request_pending_list (line 233) | struct dns_request_pending_list { type dns_request_domain_rule (line 243) | struct dns_request_domain_rule { type DNS_CHILD_POST_RESULT (line 249) | typedef DNS_CHILD_POST_RESULT (*child_request_callback)(struct dns_reque... type dns_request_https (line 252) | struct dns_request_https { type dns_request_srv (line 270) | struct dns_request_srv { type dns_request (line 278) | struct dns_request { type dns_server (line 406) | struct dns_server { type dns_server (line 430) | struct dns_server type dns_server_conn_head (line 432) | struct dns_server_conn_head type sockaddr_storage (line 433) | struct sockaddr_storage type sockaddr_storage (line 433) | struct sockaddr_storage type dns_request (line 436) | struct dns_request type dns_request (line 438) | struct dns_request FILE: src/dns_server/dualstack.c function dns_is_ipv6_ready (line 30) | int dns_is_ipv6_ready(void) function dns_server_check_ipv6_ready (line 35) | void dns_server_check_ipv6_ready(void) function _dns_server_set_dualstack_selection (line 109) | void _dns_server_set_dualstack_selection(struct dns_request *request) function _dns_server_check_complete_dualstack (line 145) | static void _dns_server_check_complete_dualstack(struct dns_request *req... function _dns_server_force_dualstack (line 173) | int _dns_server_force_dualstack(struct dns_request *request) function dns_server_dualstack_callback (line 217) | static int dns_server_dualstack_callback(const struct dns_result *result... function _dns_server_query_dualstack (line 237) | int _dns_server_query_dualstack(struct dns_request *request) FILE: src/dns_server/dualstack.h type dns_request (line 30) | struct dns_request type dns_request (line 32) | struct dns_request type dns_request (line 34) | struct dns_request FILE: src/dns_server/ip_rule.c type dns_client_rules (line 25) | struct dns_client_rules type sockaddr_storage (line 25) | struct sockaddr_storage type dns_client_rules (line 30) | struct dns_client_rules type dns_ip_rules (line 56) | struct dns_ip_rules type dns_request (line 56) | struct dns_request type dns_ip_rules (line 61) | struct dns_ip_rules function _dns_server_ip_rule_check (line 96) | static int _dns_server_ip_rule_check(struct dns_request *request, struct... function _dns_server_process_ip_alias (line 159) | int _dns_server_process_ip_alias(struct dns_request *request, struct dns... function _dns_server_process_ip_rule (line 188) | int _dns_server_process_ip_rule(struct dns_request *request, unsigned ch... FILE: src/dns_server/ip_rule.h type dns_request (line 28) | struct dns_request type dns_iplist_ip_addresses (line 29) | struct dns_iplist_ip_addresses type dns_request (line 31) | struct dns_request type dns_iplist_ip_addresses (line 31) | struct dns_iplist_ip_addresses type dns_client_rules (line 34) | struct dns_client_rules type sockaddr_storage (line 34) | struct sockaddr_storage FILE: src/dns_server/ipset_nftset.c function _dns_server_add_ipset_nftset (line 24) | void _dns_server_add_ipset_nftset(struct dns_request *request, struct dn... type dns_request (line 65) | struct dns_request type domain_rule (line 65) | enum domain_rule FILE: src/dns_server/ipset_nftset.h type dns_request (line 28) | struct dns_request type dns_ipset_rule (line 28) | struct dns_ipset_rule type dns_nftset_rule (line 29) | struct dns_nftset_rule type dns_request (line 32) | struct dns_request type domain_rule (line 32) | enum domain_rule FILE: src/dns_server/local_addr.c function _dns_server_local_addr_cache_add (line 29) | static void _dns_server_local_addr_cache_add(unsigned char *netaddr, int... function _dns_server_local_addr_cache_del (line 67) | static void _dns_server_local_addr_cache_del(unsigned char *netaddr, int... function _dns_server_process_local_addr_cache (line 89) | void _dns_server_process_local_addr_cache(int fd_netlink, struct epoll_e... function _dns_server_local_addr_cache_item_free (line 153) | static void _dns_server_local_addr_cache_item_free(radix_node_t *node, v... function _dns_server_local_addr_cache_destroy (line 169) | int _dns_server_local_addr_cache_destroy(void) function _dns_server_local_addr_cache_init (line 184) | int _dns_server_local_addr_cache_init(void) FILE: src/dns_server/local_addr.h type epoll_event (line 32) | struct epoll_event FILE: src/dns_server/mdns.c function _dns_server_need_append_mdns_local_cname (line 23) | void _dns_server_need_append_mdns_local_cname(struct dns_request *request) function _dns_server_mdns_query_setup_server_group (line 48) | void _dns_server_mdns_query_setup_server_group(struct dns_request *reque... function _dns_server_mdns_query_setup (line 59) | int _dns_server_mdns_query_setup(struct dns_request *request, const char... FILE: src/dns_server/mdns.h type dns_request (line 28) | struct dns_request type dns_request (line 30) | struct dns_request type dns_request (line 32) | struct dns_request FILE: src/dns_server/neighbor.c function dns_server_enable_update_neighbor_cache (line 29) | void dns_server_enable_update_neighbor_cache(int enable) function _dns_server_neighbor_cache_free_item (line 41) | static void _dns_server_neighbor_cache_free_item(struct neighbor_cache_i... function _dns_server_neighbor_cache_remove_all (line 49) | void _dns_server_neighbor_cache_remove_all(void) function _dns_server_neighbor_cache_init (line 63) | int _dns_server_neighbor_cache_init(void) function _dns_server_neighbor_cache_free_last_used_item (line 77) | static void _dns_server_neighbor_cache_free_last_used_item(void) type neighbor_cache_item (line 93) | struct neighbor_cache_item type neighbor_cache_item (line 95) | struct neighbor_cache_item function _dns_server_neighbor_cache_add (line 116) | static int _dns_server_neighbor_cache_add(const uint8_t *net_addr, int n... function _dns_server_neighbors_callback (line 156) | static int _dns_server_neighbors_callback(const uint8_t *net_addr, int n... function _dns_server_neighbor_cache_is_valid (line 175) | static int _dns_server_neighbor_cache_is_valid(struct neighbor_cache_ite... type dns_client_rules (line 198) | struct dns_client_rules type client_roue_group_mac (line 200) | struct client_roue_group_mac type neighbor_cache_item (line 201) | struct neighbor_cache_item type neighbor_enum_args (line 204) | struct neighbor_enum_args type sockaddr_storage (line 250) | struct sockaddr_storage type sockaddr_in (line 254) | struct sockaddr_in type sockaddr_in (line 254) | struct sockaddr_in type sockaddr (line 257) | struct sockaddr type sockaddr_in (line 257) | struct sockaddr_in type sockaddr_in6 (line 259) | struct sockaddr_in6 type sockaddr_in6 (line 259) | struct sockaddr_in6 type sockaddr (line 262) | struct sockaddr type sockaddr_in6 (line 262) | struct sockaddr_in6 FILE: src/dns_server/neighbor.h type neighbor_cache_item (line 28) | struct neighbor_cache_item type dns_client_rules (line 30) | struct dns_client_rules FILE: src/dns_server/prefetch.c function _dns_server_prefetch_request (line 26) | int _dns_server_prefetch_request(char *domain, dns_type_t qtype, struct ... function dns_cache_tmout_action_t (line 59) | dns_cache_tmout_action_t _dns_server_prefetch_domain(struct dns_conf_gro... function dns_cache_tmout_action_t (line 83) | dns_cache_tmout_action_t _dns_server_prefetch_expired_domain(struct dns_... FILE: src/dns_server/prefetch.h type dns_server_query_option (line 29) | struct dns_server_query_option type dns_conf_group (line 32) | struct dns_conf_group type dns_cache (line 32) | struct dns_cache type dns_conf_group (line 34) | struct dns_conf_group type dns_cache (line 35) | struct dns_cache FILE: src/dns_server/ptr.c function _dns_server_is_private_address (line 29) | static int _dns_server_is_private_address(const unsigned char *addr, int... function _dns_server_get_inet_by_addr (line 44) | int _dns_server_get_inet_by_addr(struct sockaddr_storage *localaddr, str... function _dns_server_parser_addr_from_apra (line 141) | static int _dns_server_parser_addr_from_apra(const char *arpa, unsigned ... function _dns_server_process_ptr_query (line 185) | int _dns_server_process_ptr_query(struct dns_request *request) function _dns_server_process_ptrs (line 199) | int _dns_server_process_ptrs(struct dns_request *request) function _dns_server_process_ptr (line 226) | int _dns_server_process_ptr(struct dns_request *request) function _dns_server_process_local_ptr (line 250) | int _dns_server_process_local_ptr(struct dns_request *request) function _dns_server_get_local_ttl (line 326) | int _dns_server_get_local_ttl(struct dns_request *request) FILE: src/dns_server/ptr.h type dns_request (line 28) | struct dns_request type dns_request (line 30) | struct dns_request type dns_request (line 32) | struct dns_request type dns_request (line 34) | struct dns_request type sockaddr_storage (line 36) | struct sockaddr_storage type sockaddr_storage (line 36) | struct sockaddr_storage type dns_request (line 38) | struct dns_request FILE: src/dns_server/request.c function _dns_server_has_bind_flag (line 37) | int _dns_server_has_bind_flag(struct dns_request *request, uint32_t flag) function _dns_server_request_complete_with_all_IPs (line 46) | static int _dns_server_request_complete_with_all_IPs(struct dns_request ... function _dns_server_request_complete (line 119) | int _dns_server_request_complete(struct dns_request *request) function _dns_server_request_remove_all (line 124) | void _dns_server_request_remove_all(void) function _dns_server_delete_request (line 145) | static void _dns_server_delete_request(struct dns_request *request) function _dns_server_complete_with_multi_ipaddress (line 180) | static void _dns_server_complete_with_multi_ipaddress(struct dns_request... function _dns_server_request_release_complete (line 212) | void _dns_server_request_release_complete(struct dns_request *request, i... function _dns_server_request_release (line 275) | void _dns_server_request_release(struct dns_request *request) function _dns_server_request_get (line 280) | void _dns_server_request_get(struct dns_request *request) type sockaddr (line 287) | struct sockaddr type dns_request (line 287) | struct dns_request type sockaddr (line 296) | struct sockaddr type dns_request (line 296) | struct dns_request type sockaddr (line 302) | struct sockaddr type dns_request (line 305) | struct dns_request type dns_request (line 314) | struct dns_request type dns_request (line 323) | struct dns_request function dns_server_request_get_qtype (line 332) | int dns_server_request_get_qtype(struct dns_request *request) function dns_server_request_get_qclass (line 341) | int dns_server_request_get_qclass(struct dns_request *request) function dns_server_request_get_query_time (line 350) | int dns_server_request_get_query_time(struct dns_request *request) function dns_server_request_get_query_timestamp (line 359) | uint64_t dns_server_request_get_query_timestamp(struct dns_request *requ... function dns_server_request_get_ping_time (line 368) | float dns_server_request_get_ping_time(struct dns_request *request) function dns_server_request_is_prefetch (line 377) | int dns_server_request_is_prefetch(struct dns_request *request) function dns_server_request_is_dualstack (line 386) | int dns_server_request_is_dualstack(struct dns_request *request) function dns_server_request_is_blocked (line 395) | int dns_server_request_is_blocked(struct dns_request *request) function dns_server_request_is_cached (line 412) | int dns_server_request_is_cached(struct dns_request *request) function dns_server_request_get_id (line 421) | int dns_server_request_get_id(struct dns_request *request) function dns_server_request_get_rcode (line 430) | int dns_server_request_get_rcode(struct dns_request *request) function dns_server_request_get (line 439) | void dns_server_request_get(struct dns_request *request) function dns_server_request_put (line 444) | void dns_server_request_put(struct dns_request *request) function dns_server_request_set_private (line 449) | void dns_server_request_set_private(struct dns_request *request, void *p... type dns_request (line 458) | struct dns_request type dns_request (line 467) | struct dns_request type dns_request (line 469) | struct dns_request function _dns_server_query_end (line 511) | void _dns_server_query_end(struct dns_request *request) function _dns_server_passthrough_may_complete (line 554) | void _dns_server_passthrough_may_complete(struct dns_request *request) function _dns_server_reply_request_eth_ip (line 589) | static int _dns_server_reply_request_eth_ip(struct dns_request *request) function _dns_server_set_request_mdns (line 643) | void _dns_server_set_request_mdns(struct dns_request *request) function _dns_server_process_local_SOA (line 652) | static int _dns_server_process_local_SOA(struct dns_request *request) function _dns_server_process_srv (line 679) | int _dns_server_process_srv(struct dns_request *request) function _dns_server_process_svcb (line 716) | int _dns_server_process_svcb(struct dns_request *request) function _dns_server_pre_process_server_flags (line 725) | int _dns_server_pre_process_server_flags(struct dns_request *request) type dns_request (line 751) | struct dns_request type dns_request (line 751) | struct dns_request type dns_request (line 754) | struct dns_request function _dns_server_request_copy (line 790) | int _dns_server_request_copy(struct dns_request *request, struct dns_req... type dns_request (line 859) | struct dns_request type dns_nameserver_rule (line 867) | struct dns_nameserver_rule function _dns_server_get_expired_ttl_reply (line 874) | int _dns_server_get_expired_ttl_reply(struct dns_request *request, struc... function _dns_server_process_https_svcb (line 884) | int _dns_server_process_https_svcb(struct dns_request *request) function _dns_server_request_set_client (line 945) | void _dns_server_request_set_client(struct dns_request *request, struct ... function _dns_server_request_set_id (line 952) | void _dns_server_request_set_id(struct dns_request *request, unsigned sh... function _dns_server_request_set_mac (line 957) | void _dns_server_request_set_mac(struct dns_request *request, struct soc... function _dns_server_request_set_client_addr (line 974) | int _dns_server_request_set_client_addr(struct dns_request *request, str... function _dns_server_request_set_callback (line 993) | void _dns_server_request_set_callback(struct dns_request *request, dns_r... function _dns_server_process_smartdns_domain (line 999) | int _dns_server_process_smartdns_domain(struct dns_request *request) function _dns_server_process_special_query (line 1014) | int _dns_server_process_special_query(struct dns_request *request) function _dns_server_check_set_passthrough (line 1065) | void _dns_server_check_set_passthrough(struct dns_request *request) function _dns_server_process_host (line 1090) | int _dns_server_process_host(struct dns_request *request) function _dns_server_setup_query_option (line 1153) | int _dns_server_setup_query_option(struct dns_request *request, struct d... function _dns_server_setup_request_conf_pre (line 1169) | int _dns_server_setup_request_conf_pre(struct dns_request *request) function _dns_server_setup_request_conf (line 1211) | int _dns_server_setup_request_conf(struct dns_request *request) function _dns_server_setup_dns_group_name (line 1226) | void _dns_server_setup_dns_group_name(struct dns_request *request, const... function _dns_server_check_request_supported (line 1245) | int _dns_server_check_request_supported(struct dns_request *request, str... function _dns_server_parser_request (line 1258) | int _dns_server_parser_request(struct dns_request *request, struct dns_p... function _dns_server_setup_server_query_options (line 1348) | int _dns_server_setup_server_query_options(struct dns_request *request, FILE: src/dns_server/request.h type dns_request (line 30) | struct dns_request type dns_request (line 32) | struct dns_request type dns_request (line 34) | struct dns_request type dns_request (line 36) | struct dns_request type dns_request (line 38) | struct dns_request type dns_request (line 38) | struct dns_request type dns_request (line 41) | struct dns_request type dns_request (line 43) | struct dns_request type dns_request (line 45) | struct dns_request type dns_request (line 45) | struct dns_request type dns_request (line 47) | struct dns_request type dns_request (line 49) | struct dns_request type dns_request (line 51) | struct dns_request type dns_request (line 53) | struct dns_request type dns_server_query_option (line 54) | struct dns_server_query_option type dns_request (line 56) | struct dns_request type sockaddr_storage (line 56) | struct sockaddr_storage type dns_request (line 58) | struct dns_request type dns_packet (line 58) | struct dns_packet type dns_request (line 60) | struct dns_request type dns_packet (line 60) | struct dns_packet type dns_request (line 62) | struct dns_request type dns_request (line 64) | struct dns_request type dns_request (line 66) | struct dns_request type dns_request (line 68) | struct dns_request type dns_request (line 70) | struct dns_request type dns_request (line 72) | struct dns_request type dns_request (line 74) | struct dns_request type dns_request (line 76) | struct dns_request type dns_request (line 78) | struct dns_request type dns_query_options (line 78) | struct dns_query_options type dns_request (line 80) | struct dns_request type dns_request (line 82) | struct dns_request type dns_request (line 84) | struct dns_request type dns_request (line 86) | struct dns_request type dns_cache (line 86) | struct dns_cache type dns_request (line 88) | struct dns_request type dns_request (line 90) | struct dns_request type dns_server_conn_head (line 90) | struct dns_server_conn_head type dns_request (line 92) | struct dns_request type dns_request (line 94) | struct dns_request type sockaddr_storage (line 94) | struct sockaddr_storage type dns_request (line 96) | struct dns_request type dns_request (line 98) | struct dns_request type dns_request (line 100) | struct dns_request type dns_request (line 102) | struct dns_request FILE: src/dns_server/request_pending.c function _dns_server_set_to_pending_list (line 25) | int _dns_server_set_to_pending_list(struct dns_request *request) function _dns_server_reply_all_pending_list (line 90) | int _dns_server_reply_all_pending_list(struct dns_request *request, stru... FILE: src/dns_server/request_pending.h type dns_request (line 28) | struct dns_request type dns_server_post_context (line 28) | struct dns_server_post_context type dns_request (line 30) | struct dns_request FILE: src/dns_server/rules.c type dns_request_domain_rule (line 27) | struct dns_request_domain_rule type domain_rule (line 27) | enum domain_rule function _dns_server_is_dns_rule_extract_match_ext (line 36) | static int _dns_server_is_dns_rule_extract_match_ext(struct dns_request_... function _dns_server_log_rule (line 45) | static void _dns_server_log_rule(const char *domain, enum domain_rule ru... function _dns_server_update_rule_by_flags (line 58) | static void _dns_server_update_rule_by_flags(struct dns_request_domain_r... function _dns_server_get_rules (line 105) | static int _dns_server_get_rules(unsigned char *key, uint32_t key_len, i... function _dns_server_get_domain_rule_by_domain_ext (line 173) | void _dns_server_get_domain_rule_by_domain_ext(struct dns_conf_group *conf, function _dns_server_get_domain_rule (line 240) | void _dns_server_get_domain_rule(struct dns_request *request) function _dns_server_passthrough_rule_check (line 249) | int _dns_server_passthrough_rule_check(struct dns_request *request, cons... function _dns_server_get_conf_ttl (line 397) | int _dns_server_get_conf_ttl(struct dns_request *request, int ttl) function _dns_server_get_reply_ttl (line 448) | int _dns_server_get_reply_ttl(struct dns_request *request, int ttl) type dns_request (line 469) | struct dns_request type domain_rule (line 469) | enum domain_rule function _dns_server_get_rule_flags (line 478) | uint32_t _dns_server_get_rule_flags(struct dns_request *request) function _dns_server_is_dns_rule_extract_match (line 498) | int _dns_server_is_dns_rule_extract_match(struct dns_request *request, e... function _dns_server_pre_process_rule_flags (line 507) | int _dns_server_pre_process_rule_flags(struct dns_request *request) function _dns_server_process_speed_rule (line 633) | void _dns_server_process_speed_rule(struct dns_request *request) function _dns_server_get_domain_rule_by_domain (line 653) | void _dns_server_get_domain_rule_by_domain(struct dns_request *request, ... FILE: src/dns_server/rules.h type dns_request (line 28) | struct dns_request type domain_rule (line 28) | enum domain_rule type dns_request (line 30) | struct dns_request type dns_request (line 32) | struct dns_request type dns_request_domain_rule (line 34) | struct dns_request_domain_rule type domain_rule (line 34) | enum domain_rule type dns_request (line 36) | struct dns_request type dns_request (line 38) | struct dns_request type dns_request (line 40) | struct dns_request type dns_request (line 42) | struct dns_request type domain_rule (line 42) | enum domain_rule type dns_conf_group (line 44) | struct dns_conf_group type dns_request_domain_rule (line 45) | struct dns_request_domain_rule type dns_request (line 48) | struct dns_request type dns_packet (line 48) | struct dns_packet type dns_request (line 51) | struct dns_request type dns_request (line 53) | struct dns_request FILE: src/dns_server/server_http2.c function _http2_server_bio_read (line 36) | static int _http2_server_bio_read(void *private_data, uint8_t *buf, int ... function _http2_server_bio_write (line 42) | static int _http2_server_bio_write(void *private_data, const uint8_t *bu... function _dns_server_http2_send_response (line 48) | static int _dns_server_http2_send_response(struct http2_stream *stream, ... function _dns_server_reply_http2 (line 68) | int _dns_server_reply_http2(struct dns_request *request, struct dns_serv... function _dns_server_http2_process_stream (line 82) | static void _dns_server_http2_process_stream(struct dns_server_conn_tls_... function _dns_server_process_http2 (line 204) | int _dns_server_process_http2(struct dns_server_conn_tls_client *tls_cli... FILE: src/dns_server/server_http2.h type dns_server_conn_http2_stream (line 31) | struct dns_server_conn_http2_stream { type dns_server_conn_tls_client (line 37) | struct dns_server_conn_tls_client type epoll_event (line 37) | struct epoll_event type dns_request (line 40) | struct dns_request type dns_server_conn_http2_stream (line 40) | struct dns_server_conn_http2_stream FILE: src/dns_server/server_https.c function _dns_server_reply_http_error (line 31) | int _dns_server_reply_http_error(struct dns_server_conn_tcp_client *tcpc... function _dns_server_reply_https (line 61) | int _dns_server_reply_https(struct dns_request *request, struct dns_serv... FILE: src/dns_server/server_https.h type dns_server_conn_tcp_client (line 29) | struct dns_server_conn_tcp_client type dns_request (line 32) | struct dns_request type dns_server_conn_tcp_client (line 32) | struct dns_server_conn_tcp_client FILE: src/dns_server/server_socket.c type addrinfo (line 37) | struct addrinfo type addrinfo (line 39) | struct addrinfo type addrinfo (line 40) | struct addrinfo function _dns_create_socket (line 67) | int _dns_create_socket(const char *host_ip, int type) FILE: src/dns_server/server_tcp.c function _dns_server_reply_tcp_to_buffer (line 35) | int _dns_server_reply_tcp_to_buffer(struct dns_server_conn_tcp_client *t... function _dns_server_reply_tcp (line 56) | int _dns_server_reply_tcp(struct dns_request *request, struct dns_server... function _dns_server_tcp_accept (line 90) | int _dns_server_tcp_accept(struct dns_server_conn_tcp_server *tcpserver,... function _dns_server_tcp_socket_send (line 147) | int _dns_server_tcp_socket_send(struct dns_server_conn_tcp_client *tcp_c... function _dns_server_tcp_socket_recv (line 167) | int _dns_server_tcp_socket_recv(struct dns_server_conn_tcp_client *tcp_c... function _dns_server_tcp_recv (line 188) | static int _dns_server_tcp_recv(struct dns_server_conn_tcp_client *tcpcl... function _dns_server_tcp_process_one_request (line 229) | static int _dns_server_tcp_process_one_request(struct dns_server_conn_tc... function _dns_server_tcp_process_requests (line 410) | int _dns_server_tcp_process_requests(struct dns_server_conn_tcp_client *... function _dns_server_tls_want_write (line 452) | static int _dns_server_tls_want_write(struct dns_server_conn_tcp_client ... function _dns_server_tcp_send (line 464) | static int _dns_server_tcp_send(struct dns_server_conn_tcp_client *tcpcl... function _dns_server_process_tcp (line 489) | int _dns_server_process_tcp(struct dns_server_conn_tcp_client *dnsserver... function _dns_server_tcp_idle_check (line 516) | void _dns_server_tcp_idle_check(void) function _dns_server_socket_tcp (line 546) | int _dns_server_socket_tcp(struct dns_bind_ip *bind_ip) FILE: src/dns_server/server_tcp.h type dns_server_conn_tcp_client (line 30) | struct dns_server_conn_tcp_client type dns_server_conn_tcp_client (line 32) | struct dns_server_conn_tcp_client type dns_server_conn_tcp_server (line 34) | struct dns_server_conn_tcp_server type epoll_event (line 34) | struct epoll_event type dns_server_conn_tcp_client (line 36) | struct dns_server_conn_tcp_client type dns_server_conn_tcp_client (line 38) | struct dns_server_conn_tcp_client type dns_server_conn_tcp_client (line 40) | struct dns_server_conn_tcp_client type epoll_event (line 40) | struct epoll_event type dns_request (line 42) | struct dns_request type dns_server_conn_tcp_client (line 42) | struct dns_server_conn_tcp_client type dns_bind_ip (line 47) | struct dns_bind_ip FILE: src/dns_server/server_tls.c function alpn_select_cb (line 38) | static int alpn_select_cb(SSL *ssl, const unsigned char **out, unsigned ... function _ssl_read (line 76) | static ssize_t _ssl_read(struct dns_server_conn_tls_client *conn, void *... function _ssl_write (line 90) | static ssize_t _ssl_write(struct dns_server_conn_tls_client *conn, const... function _ssl_get_error (line 104) | static int _ssl_get_error(struct dns_server_conn_tls_client *conn, int ret) function _ssl_do_accept (line 118) | static int _ssl_do_accept(struct dns_server_conn_tls_client *conn) function _dns_server_socket_ssl_send (line 132) | int _dns_server_socket_ssl_send(struct dns_server_conn_tls_client *tls_c... function _dns_server_socket_ssl_recv (line 197) | int _dns_server_socket_ssl_recv(struct dns_server_conn_tls_client *tls_c... function _dns_server_ssl_poll_event (line 266) | int _dns_server_ssl_poll_event(struct dns_server_conn_tls_client *tls_cl... function _dns_server_tls_accept (line 296) | int _dns_server_tls_accept(struct dns_server_conn_tls_server *tls_server... function _dns_server_process_tls (line 386) | int _dns_server_process_tls(struct dns_server_conn_tls_client *tls_clien... function _dns_server_socket_tls_ssl_pass_callback (line 452) | static int _dns_server_socket_tls_ssl_pass_callback(char *buf, int size,... function _dns_server_socket_tls (line 462) | int _dns_server_socket_tls(struct dns_bind_ip *bind_ip, DNS_CONN_TYPE co... FILE: src/dns_server/server_tls.h type dns_server_conn_tls_client (line 30) | struct dns_server_conn_tls_client type dns_server_conn_tls_server (line 32) | struct dns_server_conn_tls_server type epoll_event (line 32) | struct epoll_event type dns_server_conn_tls_client (line 34) | struct dns_server_conn_tls_client type dns_server_conn_tls_client (line 36) | struct dns_server_conn_tls_client type dns_server_conn_tls_client (line 38) | struct dns_server_conn_tls_client type epoll_event (line 38) | struct epoll_event type dns_bind_ip (line 41) | struct dns_bind_ip FILE: src/dns_server/server_udp.c function _dns_server_reply_udp (line 32) | int _dns_server_reply_udp(struct dns_request *request, struct dns_server... function _dns_server_process_udp_one (line 96) | static int _dns_server_process_udp_one(struct dns_server_conn_udp *udpco... function _dns_server_process_udp (line 145) | int _dns_server_process_udp(struct dns_server_conn_udp *udpconn, struct ... function _dns_server_socket_udp (line 164) | int _dns_server_socket_udp(struct dns_bind_ip *bind_ip) FILE: src/dns_server/server_udp.h type dns_server_conn_udp (line 30) | struct dns_server_conn_udp type epoll_event (line 30) | struct epoll_event type dns_bind_ip (line 32) | struct dns_bind_ip type dns_request (line 34) | struct dns_request type dns_server_conn_udp (line 34) | struct dns_server_conn_udp FILE: src/dns_server/soa.c function _dns_server_is_return_soa_qtype (line 27) | int _dns_server_is_return_soa_qtype(struct dns_request *request, dns_typ... function _dns_server_reply_SOA_ext (line 107) | int _dns_server_reply_SOA_ext(int rcode, struct dns_request *request) function _dns_server_reply_SOA (line 126) | int _dns_server_reply_SOA(int rcode, struct dns_request *request) function _dns_server_qtype_soa (line 132) | int _dns_server_qtype_soa(struct dns_request *request) function _dns_server_is_return_soa (line 151) | int _dns_server_is_return_soa(struct dns_request *request) function _dns_server_setup_soa (line 156) | void _dns_server_setup_soa(struct dns_request *request) FILE: src/dns_server/soa.h type dns_request (line 28) | struct dns_request type dns_request (line 30) | struct dns_request type dns_request (line 32) | struct dns_request type dns_request (line 34) | struct dns_request type dns_request (line 36) | struct dns_request type dns_request (line 38) | struct dns_request FILE: src/dns_server/speed_check.c function _dns_server_ping_result (line 29) | static void _dns_server_ping_result(struct ping_host_struct *ping_host, ... function _dns_server_ping (line 186) | static int _dns_server_ping(struct dns_request *request, PING_TYPE type,... function _dns_server_check_speed (line 195) | int _dns_server_check_speed(struct dns_request *request, char *ip) function _dns_server_second_ping_check (line 263) | int _dns_server_second_ping_check(struct dns_request *request) FILE: src/dns_server/speed_check.h type dns_request (line 28) | struct dns_request type dns_request (line 30) | struct dns_request FILE: src/dns_stats.c type dns_stats (line 23) | struct dns_stats function dns_stats_avg_time_update_add (line 25) | void dns_stats_avg_time_update_add(struct dns_stats_avg_time *avg_time, ... function dns_stats_avg_time_update (line 35) | void dns_stats_avg_time_update(struct dns_stats_avg_time *avg_time) function dns_stats_period_run_second (line 65) | void dns_stats_period_run_second(void) function dns_stats_avg_time_get (line 70) | float dns_stats_avg_time_get(void) function dns_stats_request_total_get (line 75) | uint64_t dns_stats_request_total_get(void) function dns_stats_request_success_get (line 80) | uint64_t dns_stats_request_success_get(void) function dns_stats_request_from_client_get (line 85) | uint64_t dns_stats_request_from_client_get(void) function dns_stats_request_blocked_get (line 90) | uint64_t dns_stats_request_blocked_get(void) function dns_stats_cache_hit_get (line 95) | uint64_t dns_stats_cache_hit_get(void) function dns_stats_cache_hit_rate_get (line 100) | float dns_stats_cache_hit_rate_get(void) function dns_stats_server_stats_avg_time_add (line 112) | void dns_stats_server_stats_avg_time_add(struct dns_server_stats *server... function dns_stats_server_stats_avg_time_update (line 117) | void dns_stats_server_stats_avg_time_update(struct dns_server_stats *ser... function dns_stats_server_stats_total_get (line 122) | uint64_t dns_stats_server_stats_total_get(struct dns_server_stats *serve... function dns_stats_server_stats_success_get (line 131) | uint64_t dns_stats_server_stats_success_get(struct dns_server_stats *ser... function dns_stats_server_stats_recv_get (line 140) | uint64_t dns_stats_server_stats_recv_get(struct dns_server_stats *server... function dns_stats_server_stats_avg_time_get (line 149) | float dns_stats_server_stats_avg_time_get(struct dns_server_stats *serve... function dns_stats_init (line 158) | int dns_stats_init(void) function dns_stats_exit (line 164) | void dns_stats_exit(void) FILE: src/fast_ping/fast_ping.c type fast_ping_struct (line 49) | struct fast_ping_struct function _fast_ping_hash_key (line 53) | uint32_t _fast_ping_hash_key(unsigned int sid, struct sockaddr *addr) type addrinfo (line 93) | struct addrinfo type addrinfo (line 95) | struct addrinfo type addrinfo (line 96) | struct addrinfo function _fast_ping_getdomain (line 118) | int _fast_ping_getdomain(const char *host) function _fast_ping_sendping (line 145) | static int _fast_ping_sendping(struct ping_host_struct *ping_host) function _fast_ping_print_result (line 182) | static void _fast_ping_print_result(struct ping_host_struct *ping_host, ... function _fast_ping_get_addr_by_type (line 198) | int _fast_ping_get_addr_by_type(PING_TYPE type, const char *ip_str, int ... type ping_host_struct (line 221) | struct ping_host_struct type ping_host_struct (line 224) | struct ping_host_struct type addrinfo (line 225) | struct addrinfo type fast_ping_fake_ip (line 231) | struct fast_ping_fake_ip type sockaddr_in6 (line 270) | struct sockaddr_in6 function fast_ping_stop (line 336) | int fast_ping_stop(struct ping_host_struct *ping_host) function tv_sub (line 348) | void tv_sub(struct timeval *out, struct timeval *in) function _fast_ping_process (line 357) | static int _fast_ping_process(struct ping_host_struct *ping_host, struct... function _fast_ping_period_run (line 390) | static void _fast_ping_period_run(void) type epoll_event (line 462) | struct epoll_event type timeval (line 466) | struct timeval type epoll_event (line 517) | struct epoll_event type ping_host_struct (line 526) | struct ping_host_struct type ping_host_struct (line 526) | struct ping_host_struct function fast_ping_init (line 537) | int fast_ping_init(void) function _fast_ping_close_fds (line 631) | static void _fast_ping_close_fds(void) function fast_ping_exit (line 638) | void fast_ping_exit(void) FILE: src/fast_ping/fast_ping.h type icmp_filter (line 47) | struct icmp_filter { type ping_dns_head (line 52) | struct ping_dns_head { type FAST_PING_TYPE (line 64) | typedef enum FAST_PING_TYPE { type fast_ping_packet_msg (line 74) | struct fast_ping_packet_msg { type fast_ping_packet (line 80) | struct fast_ping_packet { type fast_ping_fake_ip (line 89) | struct fast_ping_fake_ip { type ping_host_struct (line 101) | struct ping_host_struct { type fast_ping_notify_event (line 140) | struct fast_ping_notify_event { type fast_ping_struct (line 149) | struct fast_ping_struct { type fast_ping_struct (line 188) | struct fast_ping_struct type sockaddr (line 191) | struct sockaddr type addrinfo (line 193) | struct addrinfo type addrinfo (line 195) | struct addrinfo type timeval (line 198) | struct timeval type timeval (line 198) | struct timeval FILE: src/fast_ping/notify_event.c function _fast_ping_release_notify_event (line 30) | static void _fast_ping_release_notify_event(struct fast_ping_notify_even... function _fast_ping_send_notify_event (line 43) | int _fast_ping_send_notify_event(struct ping_host_struct *ping_host, FAS... function _fast_ping_process_notify_event (line 76) | static void _fast_ping_process_notify_event(struct fast_ping_notify_even... type fast_ping_notify_event (line 90) | struct fast_ping_notify_event function _fast_ping_remove_all_notify_event (line 115) | void _fast_ping_remove_all_notify_event(void) FILE: src/fast_ping/notify_event.h type ping_host_struct (line 32) | struct ping_host_struct type timeval (line 33) | struct timeval FILE: src/fast_ping/ping_fake.c function _fast_ping_fake_put (line 33) | void _fast_ping_fake_put(struct fast_ping_fake_ip *fake) function _fast_ping_fake_remove (line 53) | void _fast_ping_fake_remove(struct fast_ping_fake_ip *fake) function _fast_ping_fake_get (line 64) | void _fast_ping_fake_get(struct fast_ping_fake_ip *fake) type fast_ping_fake_ip (line 69) | struct fast_ping_fake_ip type sockaddr (line 69) | struct sockaddr type fast_ping_fake_ip (line 71) | struct fast_ping_fake_ip type fast_ping_fake_ip (line 72) | struct fast_ping_fake_ip function fast_ping_fake_ip_add (line 104) | int fast_ping_fake_ip_add(PING_TYPE type, const char *host, int ttl, flo... function fast_ping_fake_ip_remove (line 170) | int fast_ping_fake_ip_remove(PING_TYPE type, const char *host) function _fast_ping_send_fake (line 205) | int _fast_ping_send_fake(struct ping_host_struct *ping_host, struct fast... function _fast_ping_process_fake (line 237) | int _fast_ping_process_fake(struct ping_host_struct *ping_host, struct t... function _fast_ping_remove_all_fake_ip (line 264) | void _fast_ping_remove_all_fake_ip(void) FILE: src/fast_ping/ping_fake.h type fast_ping_fake_ip (line 28) | struct fast_ping_fake_ip type fast_ping_fake_ip (line 30) | struct fast_ping_fake_ip type fast_ping_fake_ip (line 32) | struct fast_ping_fake_ip type fast_ping_fake_ip (line 34) | struct fast_ping_fake_ip type sockaddr (line 34) | struct sockaddr type ping_host_struct (line 38) | struct ping_host_struct type timeval (line 38) | struct timeval type ping_host_struct (line 40) | struct ping_host_struct type fast_ping_fake_ip (line 40) | struct fast_ping_fake_ip FILE: src/fast_ping/ping_host.c function _fast_ping_host_get (line 30) | void _fast_ping_host_get(struct ping_host_struct *ping_host) function _fast_ping_close_host_sock (line 38) | void _fast_ping_close_host_sock(struct ping_host_struct *ping_host) function _fast_ping_host_put (line 59) | void _fast_ping_host_put(struct ping_host_struct *ping_host) function _fast_ping_host_remove (line 93) | void _fast_ping_host_remove(struct ping_host_struct *ping_host) function _fast_ping_remove_all (line 117) | void _fast_ping_remove_all(void) FILE: src/fast_ping/ping_host.h type ping_host_struct (line 28) | struct ping_host_struct type ping_host_struct (line 30) | struct ping_host_struct type ping_host_struct (line 32) | struct ping_host_struct type ping_host_struct (line 34) | struct ping_host_struct FILE: src/fast_ping/ping_icmp.c function _fast_ping_install_filter_v4 (line 33) | static void _fast_ping_install_filter_v4(int sock) function _fast_ping_sendping_v4 (line 62) | int _fast_ping_sendping_v4(struct ping_host_struct *ping_host) function _fast_ping_create_icmp_sock (line 113) | static int _fast_ping_create_icmp_sock(FAST_PING_TYPE type) function _fast_ping_create_icmp (line 207) | static int _fast_ping_create_icmp(FAST_PING_TYPE type) function _fast_ping_icmp_create_socket (line 246) | int _fast_ping_icmp_create_socket(struct ping_host_struct *ping_host) type fast_ping_packet (line 257) | struct fast_ping_packet type ping_host_struct (line 257) | struct ping_host_struct type msghdr (line 257) | struct msghdr type ip (line 260) | struct ip type ip (line 260) | struct ip type fast_ping_packet (line 261) | struct fast_ping_packet type icmp (line 262) | struct icmp type icmp (line 274) | struct icmp type fast_ping_packet (line 279) | struct fast_ping_packet type fast_ping_packet (line 281) | struct fast_ping_packet type fast_ping_packet (line 312) | struct fast_ping_packet type ping_host_struct (line 312) | struct ping_host_struct type msghdr (line 312) | struct msghdr type timeval (line 313) | struct timeval type fast_ping_packet (line 315) | struct fast_ping_packet function _fast_ping_process_icmp (line 337) | int _fast_ping_process_icmp(struct ping_host_struct *ping_host, struct t... function _fast_ping_get_addr_by_icmp (line 429) | int _fast_ping_get_addr_by_icmp(const char *ip_str, int port, struct add... function _fast_ping_sockaddr_ip_cmp (line 479) | int _fast_ping_sockaddr_ip_cmp(struct sockaddr *first_addr, socklen_t fi... function _fast_ping_checksum (line 524) | uint16_t _fast_ping_checksum(uint16_t *header, size_t len) function _fast_ping_close_icmp (line 536) | void _fast_ping_close_icmp(void) FILE: src/fast_ping/ping_icmp.h type ping_host_struct (line 28) | struct ping_host_struct type fast_ping_packet (line 30) | struct fast_ping_packet type ping_host_struct (line 30) | struct ping_host_struct type msghdr (line 30) | struct msghdr type sockaddr (line 33) | struct sockaddr type sockaddr (line 33) | struct sockaddr type ping_host_struct (line 38) | struct ping_host_struct type ping_host_struct (line 40) | struct ping_host_struct type timeval (line 40) | struct timeval type addrinfo (line 42) | struct addrinfo FILE: src/fast_ping/ping_icmp6.c function _fast_ping_install_filter_v6 (line 30) | void _fast_ping_install_filter_v6(int sock) function _fast_ping_sendping_v6 (line 62) | int _fast_ping_sendping_v6(struct ping_host_struct *ping_host) type fast_ping_packet (line 130) | struct fast_ping_packet type ping_host_struct (line 130) | struct ping_host_struct type msghdr (line 130) | struct msghdr type fast_ping_packet (line 134) | struct fast_ping_packet type fast_ping_packet (line 134) | struct fast_ping_packet type icmp6_hdr (line 135) | struct icmp6_hdr type cmsghdr (line 136) | struct cmsghdr type icmp6_hdr (line 139) | struct icmp6_hdr type fast_ping_packet (line 140) | struct fast_ping_packet FILE: src/fast_ping/ping_icmp6.h type fast_ping_packet (line 28) | struct fast_ping_packet type ping_host_struct (line 28) | struct ping_host_struct type msghdr (line 28) | struct msghdr type ping_host_struct (line 33) | struct ping_host_struct FILE: src/fast_ping/ping_tcp.c function _fast_ping_sendping_tcp (line 34) | int _fast_ping_sendping_tcp(struct ping_host_struct *ping_host) function _fast_ping_get_addr_by_tcp (line 103) | int _fast_ping_get_addr_by_tcp(const char *ip_str, int port, struct addr... function _fast_ping_process_tcp (line 138) | int _fast_ping_process_tcp(struct ping_host_struct *ping_host, struct ep... FILE: src/fast_ping/ping_tcp.h type ping_host_struct (line 30) | struct ping_host_struct type epoll_event (line 30) | struct epoll_event type timeval (line 30) | struct timeval type addrinfo (line 32) | struct addrinfo type ping_host_struct (line 34) | struct ping_host_struct FILE: src/fast_ping/ping_tcp_syn.c type pseudo_header (line 42) | struct pseudo_header { type pseudo_header6 (line 50) | struct pseudo_header6 { function _tcp_syn_get_local_addr (line 59) | static int _tcp_syn_get_local_addr(int family, struct sockaddr *dest, st... function _tcp_syn_reserve_port (line 90) | static int _tcp_syn_reserve_port(int family, int *out_fd, uint16_t *out_... function _tcp_syn_install_bpf_ipv4 (line 148) | static int _tcp_syn_install_bpf_ipv4(int fd, uint16_t port) function _tcp_syn_install_bpf_ipv6 (line 173) | static int _tcp_syn_install_bpf_ipv6(int fd, uint16_t port) function _tcp_syn_send_rst_ipv4 (line 197) | static int _tcp_syn_send_rst_ipv4(struct ping_host_struct *ping_host, st... function _tcp_syn_send_rst_ipv6 (line 278) | static int _tcp_syn_send_rst_ipv6(struct ping_host_struct *ping_host, st... function _tcp_syn_send_rst (line 349) | __attribute__((unused)) static int _tcp_syn_send_rst(struct ping_host_st... function _tcp_syn_build_packet_ipv4 (line 368) | static int _tcp_syn_build_packet_ipv4(char *packet, struct ping_host_str... function _tcp_syn_build_packet_ipv6 (line 441) | static int _tcp_syn_build_packet_ipv6(char *packet, struct ping_host_str... function _fast_ping_sendping_tcp_syn (line 491) | int _fast_ping_sendping_tcp_syn(struct ping_host_struct *ping_host) function _fast_ping_get_addr_by_tcp_syn (line 569) | int _fast_ping_get_addr_by_tcp_syn(const char *ip_str, int port, struct ... function _fast_ping_process_tcp_syn (line 592) | int _fast_ping_process_tcp_syn(struct ping_host_struct *ping_host, struc... function _fast_ping_create_tcp_syn_sock_ipv4 (line 757) | static int _fast_ping_create_tcp_syn_sock_ipv4(void) function _fast_ping_create_tcp_syn_sock_ipv6 (line 810) | static int _fast_ping_create_tcp_syn_sock_ipv6(void) function _fast_ping_create_tcp_syn_sock (line 852) | static int _fast_ping_create_tcp_syn_sock(int is_ipv6) function _fast_ping_create_tcp_syn (line 897) | static int _fast_ping_create_tcp_syn(int is_ipv6) function _fast_ping_tcp_syn_create_socket (line 931) | int _fast_ping_tcp_syn_create_socket(struct ping_host_struct *ping_host) function _fast_ping_close_tcp_syn (line 973) | void _fast_ping_close_tcp_syn(void) FILE: src/fast_ping/ping_tcp_syn.h type ping_host_struct (line 30) | struct ping_host_struct type timeval (line 30) | struct timeval type addrinfo (line 32) | struct addrinfo type ping_host_struct (line 35) | struct ping_host_struct type ping_host_struct (line 37) | struct ping_host_struct FILE: src/fast_ping/ping_udp.c function _fast_ping_sendping_udp (line 33) | int _fast_ping_sendping_udp(struct ping_host_struct *ping_host) function _fast_ping_create_udp_sock (line 85) | static int _fast_ping_create_udp_sock(FAST_PING_TYPE type) function _fast_ping_create_udp (line 141) | static int _fast_ping_create_udp(FAST_PING_TYPE type) function _fast_ping_get_addr_by_dns (line 180) | int _fast_ping_get_addr_by_dns(const char *ip_str, int port, struct addr... function _fast_ping_process_udp (line 236) | int _fast_ping_process_udp(struct ping_host_struct *ping_host, struct ti... function _fast_ping_close_udp (line 330) | void _fast_ping_close_udp(void) FILE: src/fast_ping/ping_udp.h type addrinfo (line 28) | struct addrinfo type ping_host_struct (line 30) | struct ping_host_struct type ping_host_struct (line 32) | struct ping_host_struct type timeval (line 32) | struct timeval FILE: src/fast_ping/wakeup_event.c function _fast_ping_wakeup_thread (line 27) | void _fast_ping_wakeup_thread(void) function _fast_ping_init_wakeup_event (line 34) | int _fast_ping_init_wakeup_event(void) FILE: src/http_parse/hpack.c type hpack_static_entry (line 7) | struct hpack_static_entry { type hpack_static_entry (line 13) | struct hpack_static_entry function hpack_encode_integer (line 82) | static int hpack_encode_integer(uint64_t value, int prefix_bits, uint8_t... function hpack_decode_integer (line 116) | static int hpack_decode_integer(const uint8_t *data, int data_len, int p... function hpack_encode_string (line 151) | static int hpack_encode_string(const char *str, uint8_t *buf, int buf_size) type huffman_decode_entry (line 180) | struct huffman_decode_entry { type huffman_decode_entry (line 188) | struct huffman_decode_entry function hpack_decode_huffman (line 383) | static int hpack_decode_huffman(const uint8_t *src, size_t src_len, uint... function hpack_decode_string (line 446) | static int hpack_decode_string(const uint8_t *data, int data_len, char *... function hpack_init_context (line 510) | void hpack_init_context(struct hpack_context *hpack) function hpack_free_context (line 518) | void hpack_free_context(struct hpack_context *hpack) function hpack_add_dynamic_entry (line 533) | static int hpack_add_dynamic_entry(struct hpack_context *hpack, const ch... function hpack_get_entry (line 584) | static int hpack_get_entry(struct hpack_context *hpack, uint64_t index, ... function hpack_find_index (line 615) | static int hpack_find_index(struct hpack_context *hpack, const char *nam... function hpack_encode_header (line 658) | int hpack_encode_header(struct hpack_context *hpack, const char *name, c... function hpack_resize_dynamic_table (line 725) | void hpack_resize_dynamic_table(struct hpack_context *hpack, size_t new_... function hpack_decode_headers (line 753) | int hpack_decode_headers(struct hpack_context *hpack, const uint8_t *dat... FILE: src/http_parse/hpack.h type hpack_dynamic_entry (line 12) | struct hpack_dynamic_entry { type hpack_context (line 20) | struct hpack_context { type hpack_context (line 34) | struct hpack_context type hpack_context (line 40) | struct hpack_context type hpack_context (line 47) | struct hpack_context type hpack_context (line 58) | struct hpack_context type hpack_context (line 69) | struct hpack_context FILE: src/http_parse/http1_parse.c function _http_head_parse_response (line 26) | static int _http_head_parse_response(struct http_head *http_head, char *... function _http_head_parse_request (line 69) | static int _http_head_parse_request(struct http_head *http_head, char *k... function _http_head_parse (line 113) | static int _http_head_parse(struct http_head *http_head) function _http1_get_chunk_len (line 176) | static int _http1_get_chunk_len(const uint8_t *data, int data_len, int32... function http_head_parse_http1_1 (line 218) | int http_head_parse_http1_1(struct http_head *http_head, const uint8_t *... function http_head_serialize_http1_1 (line 373) | int http_head_serialize_http1_1(struct http_head *http_head, char *buffe... FILE: src/http_parse/http1_parse.h type http_head (line 28) | struct http_head type http_head (line 30) | struct http_head FILE: src/http_parse/http2.c type http2_stream_state_t (line 101) | typedef enum { type http2_stream (line 110) | struct http2_stream { type http2_ctx (line 136) | struct http2_ctx { type http2_ctx_init_params (line 180) | struct http2_ctx_init_params { type http2_ctx (line 191) | struct http2_ctx type http2_ctx (line 192) | struct http2_ctx type http2_ctx (line 193) | struct http2_ctx type http2_ctx (line 194) | struct http2_ctx type http2_stream (line 196) | struct http2_stream type http2_stream (line 197) | struct http2_stream type http2_ctx (line 197) | struct http2_ctx type http2_stream (line 198) | struct http2_stream function read_uint32 (line 202) | static uint32_t read_uint32(const uint8_t *data) function write_uint32 (line 207) | static void write_uint32(uint8_t *data, uint32_t value) function read_uint24 (line 215) | static uint32_t read_uint24(const uint8_t *data) function write_uint24 (line 220) | static void write_uint24(uint8_t *data, uint32_t value) function safe_buffer_size (line 228) | static int safe_buffer_size(int current, int factor) function _http2_on_header (line 241) | static int _http2_on_header(void *ctx, const char *name, const char *value) function _http2_free_headers (line 250) | static void _http2_free_headers(struct http2_stream *stream) function _http2_stream_add_header (line 265) | static int _http2_stream_add_header(struct http2_stream *stream, const c... type http2_stream (line 295) | struct http2_stream type http_head_fields (line 298) | struct http_head_fields function http2_stream_headers_walk (line 311) | void http2_stream_headers_walk(struct http2_stream *stream, header_walk_... function _http2_write_frame_header (line 326) | static int _http2_write_frame_header(uint8_t *buf, int length, uint8_t t... function _http2_send_frame (line 335) | static int _http2_send_frame(struct http2_ctx *ctx, const uint8_t *data,... function _http2_send_settings (line 453) | static int _http2_send_settings(struct http2_ctx *ctx, int ack) function _http2_send_window_update (line 494) | static int _http2_send_window_update(struct http2_ctx *ctx, uint32_t str... function _http2_send_goaway (line 504) | static int _http2_send_goaway(struct http2_ctx *ctx, uint32_t last_strea... function _http2_send_data_frame (line 522) | static int _http2_send_data_frame(struct http2_ctx *ctx, uint32_t stream... function _http2_send_headers_frame (line 541) | static int _http2_send_headers_frame(struct http2_ctx *ctx, uint32_t str... type http2_stream (line 604) | struct http2_stream type http2_ctx (line 604) | struct http2_ctx type http2_stream (line 606) | struct http2_stream type http2_stream (line 624) | struct http2_stream type http2_ctx (line 624) | struct http2_ctx type http2_stream (line 633) | struct http2_stream function _http2_remove_stream (line 674) | static int _http2_remove_stream(struct http2_stream *stream, int do_put) function _http2_process_data_frame (line 715) | static int _http2_process_data_frame(struct http2_ctx *ctx, int stream_i... function _http2_process_headers_frame (line 815) | static int _http2_process_headers_frame(struct http2_ctx *ctx, int strea... function _http2_process_settings_frame (line 885) | static int _http2_process_settings_frame(struct http2_ctx *ctx, const ui... function _http2_process_window_update_frame (line 934) | static int _http2_process_window_update_frame(struct http2_ctx *ctx, int... function http2_verify_connection_preface (line 982) | static int http2_verify_connection_preface(struct http2_ctx *ctx) function _http2_process_frames (line 1043) | static int _http2_process_frames(struct http2_ctx *ctx) type http2_ctx (line 1196) | struct http2_ctx type http2_ctx (line 1196) | struct http2_ctx function http2_ctx_put (line 1205) | void http2_ctx_put(struct http2_ctx *ctx) function http2_ctx_close (line 1249) | void http2_ctx_close(struct http2_ctx *ctx) type http2_stream (line 1276) | struct http2_stream type http2_stream (line 1276) | struct http2_stream function http2_stream_put (line 1285) | void http2_stream_put(struct http2_stream *stream) function _http2_ctx_init_common (line 1309) | static void _http2_ctx_init_common(struct http2_ctx *ctx, const struct h... type http2_ctx (line 1347) | struct http2_ctx type http2_settings (line 1349) | struct http2_settings type http2_ctx (line 1351) | struct http2_ctx type http2_ctx_init_params (line 1356) | struct http2_ctx_init_params type http2_ctx (line 1376) | struct http2_ctx type http2_settings (line 1377) | struct http2_settings type http2_ctx (line 1385) | struct http2_ctx type http2_settings (line 1386) | struct http2_settings function http2_ctx_handshake (line 1394) | int http2_ctx_handshake(struct http2_ctx *ctx) type http2_stream (line 1433) | struct http2_stream type http2_ctx (line 1433) | struct http2_ctx type http2_stream (line 1451) | struct http2_stream function _http2_ctx_io_process (line 1471) | static int _http2_ctx_io_process(struct http2_ctx *ctx) function _http2_ctx_check_new_streams (line 1483) | static int _http2_ctx_check_new_streams(struct http2_ctx *ctx, struct ht... function _http2_ctx_collect_ready_streams (line 1514) | static void _http2_ctx_collect_ready_streams(struct http2_ctx *ctx, stru... function _http2_ctx_poll (line 1554) | static int _http2_ctx_poll(struct http2_ctx *ctx, struct http2_poll_item... function http2_ctx_poll (line 1612) | int http2_ctx_poll(struct http2_ctx *ctx, struct http2_poll_item *items,... function http2_ctx_poll_readable (line 1624) | int http2_ctx_poll_readable(struct http2_ctx *ctx, struct http2_poll_ite... type http2_stream (line 1636) | struct http2_stream type http2_ctx (line 1636) | struct http2_ctx type http2_stream (line 1647) | struct http2_stream function http2_send_rst_stream (line 1657) | static int http2_send_rst_stream(struct http2_ctx *ctx, uint32_t stream_... function http2_stream_close (line 1667) | void http2_stream_close(struct http2_stream *stream) function http2_stream_get_id (line 1692) | int http2_stream_get_id(struct http2_stream *stream) function http2_stream_set_request (line 1700) | int http2_stream_set_request(struct http2_stream *stream, const char *me... function http2_stream_set_response (line 1755) | int http2_stream_set_response(struct http2_stream *stream, int status, c... type http2_stream (line 1794) | struct http2_stream type http2_ctx (line 1800) | struct http2_ctx type http2_stream (line 1812) | struct http2_stream type http2_ctx (line 1818) | struct http2_ctx function http2_stream_get_status (line 1830) | int http2_stream_get_status(struct http2_stream *stream) type http2_stream (line 1849) | struct http2_stream type http2_ctx (line 1855) | struct http2_ctx function http2_stream_write_body (line 1867) | int http2_stream_write_body(struct http2_stream *stream, const uint8_t *... function http2_decompress_data (line 1939) | static int http2_decompress_data(const uint8_t *compressed, int compress... function http2_try_decompress_body (line 2018) | static int http2_try_decompress_body(struct http2_stream *stream) function http2_stream_read_body (line 2068) | int http2_stream_read_body(struct http2_stream *stream, uint8_t *data, i... function http2_stream_body_available (line 2139) | int http2_stream_body_available(struct http2_stream *stream) function http2_stream_is_end (line 2174) | int http2_stream_is_end(struct http2_stream *stream) function http2_stream_set_ex_data (line 2201) | void http2_stream_set_ex_data(struct http2_stream *stream, void *data) type http2_stream (line 2219) | struct http2_stream type http2_ctx (line 2225) | struct http2_ctx function http2_ctx_want_read (line 2238) | int http2_ctx_want_read(struct http2_ctx *ctx) function http2_ctx_want_write (line 2251) | int http2_ctx_want_write(struct http2_ctx *ctx) function http2_ctx_is_closed (line 2264) | int http2_ctx_is_closed(struct http2_ctx *ctx) type http2_stream (line 2277) | struct http2_stream type http2_ctx (line 2290) | struct http2_ctx FILE: src/http_parse/http3_parse.c function _quicvarint_encode (line 28) | static int _quicvarint_encode(uint64_t value, uint8_t *buffer, int buffe... function _qpack_build_header (line 69) | static int _qpack_build_header(const char *name, const char *value, uint... function _http3_build_headers_payload (line 114) | static int _http3_build_headers_payload(struct http_head *http_head, uin... function http3_build_body_payload (line 210) | static int http3_build_body_payload(const uint8_t *body, int body_len, u... function _quicvarint_decode (line 231) | static int _quicvarint_decode(const uint8_t *buffer, int buffer_len, uin... function _quic_read_varint (line 264) | static int _quic_read_varint(const uint8_t *buffer, int buffer_len, uint... function _quic_read_string (line 305) | static int _quic_read_string(const uint8_t *buffer, int buffer_len, char... function _http3_parse_headers_payload (line 343) | static int _http3_parse_headers_payload(struct http_head *http_head, con... function _http_head_setup_http3_0_httpcode (line 492) | static int _http_head_setup_http3_0_httpcode(struct http_head *http_head) function http_head_parse_http3_0 (line 541) | int http_head_parse_http3_0(struct http_head *http_head, const uint8_t *... function http_head_serialize_http3_0 (line 631) | int http_head_serialize_http3_0(struct http_head *http_head, uint8_t *bu... FILE: src/http_parse/http3_parse.h type http_head (line 28) | struct http_head type http_head (line 30) | struct http_head FILE: src/http_parse/http_parse.c type http_head (line 35) | struct http_head type http_head (line 37) | struct http_head type http_head_fields (line 72) | struct http_head_fields type http_head (line 72) | struct http_head type http_head_fields (line 74) | struct http_head_fields type http_head (line 84) | struct http_head type http_head_fields (line 87) | struct http_head_fields type http_head_fields (line 100) | struct http_head_fields type http_head_fields (line 100) | struct http_head_fields type http_head_fields (line 102) | struct http_head_fields type http_head_fields (line 112) | struct http_head_fields type http_head_fields (line 121) | struct http_head_fields function http_head_lookup_fields (line 130) | int http_head_lookup_fields(struct http_head_fields *fields, const char ... type http_head (line 147) | struct http_head type http_params (line 150) | struct http_params function HTTP_METHOD (line 163) | HTTP_METHOD http_head_get_method(struct http_head *http_head) type http_head (line 168) | struct http_head type http_head (line 173) | struct http_head function http_head_get_httpcode (line 178) | int http_head_get_httpcode(struct http_head *http_head) type http_head (line 183) | struct http_head function HTTP_HEAD_TYPE (line 188) | HTTP_HEAD_TYPE http_head_get_head_type(struct http_head *http_head) type http_head (line 193) | struct http_head function http_head_get_data_len (line 198) | int http_head_get_data_len(struct http_head *http_head) function _http_head_buffer_left_len (line 203) | int _http_head_buffer_left_len(struct http_head *http_head) type http_head (line 208) | struct http_head type http_head (line 213) | struct http_head function _http_head_add_param (line 231) | int _http_head_add_param(struct http_head *http_head, const char *name, ... function http_head_add_param (line 250) | int http_head_add_param(struct http_head *http_head, const char *name, c... function http_head_set_url (line 259) | int http_head_set_url(struct http_head *http_head, const char *url) function http_head_set_httpversion (line 270) | int http_head_set_httpversion(struct http_head *http_head, const char *v... function http_head_set_httpcode (line 281) | int http_head_set_httpcode(struct http_head *http_head, int code, const ... function http_head_set_head_type (line 293) | int http_head_set_head_type(struct http_head *http_head, HTTP_HEAD_TYPE ... function http_head_set_method (line 304) | int http_head_set_method(struct http_head *http_head, HTTP_METHOD method) function http_head_set_data (line 315) | int http_head_set_data(struct http_head *http_head, const void *data, in... function _http_head_add_fields (line 327) | static int _http_head_add_fields(struct http_head *http_head, const char... function http_head_add_fields (line 346) | int http_head_add_fields(struct http_head *http_head, const char *name, ... function _http_head_parse_params (line 355) | int _http_head_parse_params(struct http_head *http_head, char *url, int ... function HTTP_METHOD (line 427) | HTTP_METHOD _http_method_parse(const char *method) function http_head_parse (line 450) | int http_head_parse(struct http_head *http_head, const unsigned char *da... function http_head_serialize (line 461) | int http_head_serialize(struct http_head *http_head, void *buffer, int b... function http_head_destroy (line 476) | void http_head_destroy(struct http_head *http_head) FILE: src/http_parse/http_parse.h type http_head_fields (line 33) | struct http_head_fields { type http_params (line 41) | struct http_params { type http_head (line 49) | struct http_head { type http_head (line 71) | struct http_head type http_head (line 72) | struct http_head type http_head (line 73) | struct http_head type http_head (line 75) | struct http_head type http_head (line 76) | struct http_head FILE: src/http_parse/qpack.c function qpack_huffman_decode (line 540) | int qpack_huffman_decode(const uint8_t *bytes, const uint8_t *bytes_max,... type qpack_header_field (line 599) | struct qpack_header_field type qpack_header_field (line 700) | struct qpack_header_field type qpack_header_field (line 703) | struct qpack_header_field FILE: src/http_parse/qpack.h type qpack_header_field (line 29) | struct qpack_header_field { type qpack_header_field (line 34) | struct qpack_header_field FILE: src/lib/art.c function art_node (line 60) | static art_node* alloc_node(uint8_t type) { function art_tree_init (line 94) | int art_tree_init(art_tree *t) { function destroy_node (line 101) | static void destroy_node(art_node *n) { function art_tree_destroy (line 171) | int art_tree_destroy(art_tree *t) { function art_node (line 184) | static art_node** find_child(art_node *n, unsigned char c) { function min (line 283) | static inline int min(int a, int b) { function check_prefix (line 291) | static int check_prefix(const art_node *n, const unsigned char *key, int... function leaf_matches (line 305) | static int leaf_matches(const art_leaf *n, const unsigned char *key, int... function art_leaf (line 354) | static art_leaf* minimum(const art_node *n) { function art_leaf (line 383) | static art_leaf* maximum(const art_node *n) { function art_leaf (line 414) | art_leaf* art_minimum(art_tree *t) { function art_leaf (line 421) | art_leaf* art_maximum(art_tree *t) { function art_leaf (line 425) | static art_leaf* make_leaf(const unsigned char *key, int key_len, void *... function longest_common_prefix (line 437) | static int longest_common_prefix(art_leaf *l1, art_leaf *l2, int depth) { function copy_header (line 447) | static void copy_header(art_node *dest, art_node *src) { function add_child256 (line 453) | static void add_child256(art_node256 *n, art_node **ref, unsigned char c... function add_child48 (line 459) | static void add_child48(art_node48 *n, art_node **ref, unsigned char c, ... function add_child32 (line 481) | static void add_child32(art_node32 *n, art_node **ref, unsigned char c, ... function add_child16 (line 516) | static void add_child16(art_node16 *n, art_node **ref, unsigned char c, ... function add_child4 (line 584) | static void add_child4(art_node4 *n, art_node **ref, unsigned char c, vo... function add_child (line 616) | static void add_child(art_node *n, art_node **ref, unsigned char c, void... function prefix_mismatch (line 636) | static int prefix_mismatch(const art_node *n, const unsigned char *key, ... function remove_child256 (line 758) | static void remove_child256(art_node256 *n, art_node **ref, unsigned cha... function remove_child48 (line 782) | static void remove_child48(art_node48 *n, art_node **ref, unsigned char ... function remove_child32 (line 807) | static void remove_child32(art_node32 *n, art_node **ref, art_node **l) { function remove_child16 (line 823) | static void remove_child16(art_node16 *n, art_node **ref, art_node **l) { function remove_child4 (line 839) | static void remove_child4(art_node4 *n, art_node **ref, art_node **l) { function remove_child (line 870) | static void remove_child(art_node *n, art_node **ref, unsigned char c, a... function art_leaf (line 887) | static art_leaf* recursive_delete(art_node *n, art_node **ref, const uns... function recursive_iter (line 949) | static int recursive_iter(art_node *n, art_callback cb, void *data) { function art_iter (line 1015) | int art_iter(art_tree *t, art_callback cb, void *data) { function leaf_prefix_matches (line 1023) | static int leaf_prefix_matches(const art_leaf *n, const unsigned char *p... function art_iter_prefix (line 1043) | int art_iter_prefix(art_tree *t, const unsigned char *key, int key_len, ... function str_prefix_matches (line 1097) | static int str_prefix_matches(const art_leaf *n, const unsigned char *st... function art_copy_key (line 1105) | static void art_copy_key(art_leaf *leaf, unsigned char *key, int *key_len) function art_substring_walk (line 1171) | void art_substring_walk(const art_tree *t, const unsigned char *str, int... FILE: src/lib/bitops.c function _find_next_bit (line 29) | static inline unsigned long _find_next_bit(const unsigned long *addr1, function find_next_bit (line 64) | unsigned long find_next_bit(const unsigned long *addr, unsigned long size, function find_first_bit (line 73) | unsigned long find_first_bit(const unsigned long *addr, unsigned long size) function find_first_zero_bit (line 88) | unsigned long find_first_zero_bit(const unsigned long *addr, unsigned lo... function find_next_zero_bit (line 100) | unsigned long find_next_zero_bit(const unsigned long *addr, unsigned lon... function find_next_and_bit (line 106) | unsigned long find_next_and_bit(const unsigned long *addr1, function __sw_hweight32 (line 120) | unsigned int __sw_hweight32(unsigned int w) function __sw_hweight16 (line 136) | unsigned int __sw_hweight16(unsigned int w) function __sw_hweight8 (line 144) | unsigned int __sw_hweight8(unsigned int w) function __sw_hweight64 (line 151) | unsigned long __sw_hweight64(uint64_t w) FILE: src/lib/conf.c function conf_get_current_lineno (line 37) | int conf_get_current_lineno(void) function conf_custom (line 87) | int conf_custom(const char *item, void *data, int argc, char *argv[]) function conf_int (line 93) | int conf_int(const char *item, void *data, int argc, char *argv[]) function conf_int_base (line 118) | int conf_int_base(const char *item, void *data, int argc, char *argv[]) function conf_string (line 143) | int conf_string(const char *item, void *data, int argc, char *argv[]) function conf_yesno (line 160) | int conf_yesno(const char *item, void *data, int argc, char *argv[]) function conf_size (line 189) | int conf_size(const char *item, void *data, int argc, char *argv[]) function conf_ssize (line 226) | int conf_ssize(const char *item, void *data, int argc, char *argv[]) function conf_enum (line 259) | int conf_enum(const char *item, void *data, int argc, char *argv[]) function conf_getopt_reset (line 287) | void conf_getopt_reset(void) function conf_parse_key_values (line 302) | int conf_parse_key_values(char *line, int *key_num, char **keys, char **... function conf_parse_args (line 394) | static int conf_parse_args(char *key, char *value, int *argc, char **argv) function load_exit (line 456) | void load_exit(void) {} function load_conf_printf (line 458) | static int load_conf_printf(const char *key, const char *value, const ch... function load_conf_file (line 472) | static int load_conf_file(const char *file, const struct config_item *it... function load_conf (line 639) | int load_conf(const char *file, const struct config_item items[], conf_e... FILE: src/lib/idna.c function _utf8_decode_slow (line 24) | static unsigned _utf8_decode_slow(const char **p, const char *pe, unsign... function _utf8_decode (line 91) | static unsigned _utf8_decode(const char **p, const char *pe) function _utf8_to_punycode_label (line 104) | static int _utf8_to_punycode_label(const char *s, const char *se, char *... function utf8_to_punycode (line 280) | int utf8_to_punycode(const char *src, int src_len, char *dst, int dst_len) FILE: src/lib/radix.c function comp_with_mask (line 87) | static int function prefix_t (line 100) | static prefix_t function prefix_t (line 133) | static prefix_t function Deref_Prefix (line 148) | void function radix_tree_t (line 167) | radix_tree_t function Clear_Radix (line 185) | static void function Destroy_Radix (line 220) | void function radix_process (line 233) | void function radix_node_t (line 243) | radix_node_t function radix_node_t (line 279) | static radix_node_t function radix_node_t (line 324) | radix_node_t function radix_node_t (line 331) | radix_node_t function radix_remove (line 469) | void function sanitise_mask (line 543) | static void function update_addr (line 557) | static void function prefix_t (line 568) | prefix_t function prefix_t (line 646) | prefix_t FILE: src/lib/rbtree.c function rb_set_black (line 22) | static inline void rb_set_black(struct rb_node *rb) type rb_node (line 27) | struct rb_node type rb_node (line 27) | struct rb_node type rb_node (line 29) | struct rb_node function __rb_rotate_set_parents (line 37) | static inline void function __rb_insert (line 47) | static inline void function ____rb_erase_color (line 176) | static inline void function __rb_erase_color (line 339) | void __rb_erase_color(struct rb_node *parent, struct rb_root *root, function dummy_propagate (line 352) | static inline void dummy_propagate(struct rb_node *node, struct rb_node ... function dummy_copy (line 353) | static inline void dummy_copy(struct rb_node *old, struct rb_node *new) {} function dummy_rotate (line 354) | static inline void dummy_rotate(struct rb_node *old, struct rb_node *new... type rb_augment_callbacks (line 356) | struct rb_augment_callbacks function rb_insert_color (line 360) | void rb_insert_color(struct rb_node *node, struct rb_root *root) function rb_erase (line 365) | void rb_erase(struct rb_node *node, struct rb_root *root) function __rb_insert_augmented (line 380) | void __rb_insert_augmented(struct rb_node *node, struct rb_root *root, type rb_node (line 389) | struct rb_node type rb_root (line 389) | struct rb_root type rb_node (line 391) | struct rb_node type rb_node (line 401) | struct rb_node type rb_root (line 401) | struct rb_root type rb_node (line 403) | struct rb_node type rb_node (line 413) | struct rb_node type rb_node (line 413) | struct rb_node type rb_node (line 415) | struct rb_node type rb_node (line 428) | struct rb_node type rb_node (line 444) | struct rb_node type rb_node (line 444) | struct rb_node type rb_node (line 446) | struct rb_node type rb_node (line 459) | struct rb_node function rb_replace_node (line 472) | void rb_replace_node(struct rb_node *victim, struct rb_node *new, type rb_node (line 488) | struct rb_node type rb_node (line 488) | struct rb_node type rb_node (line 496) | struct rb_node type rb_node (line 500) | struct rb_node type rb_node (line 500) | struct rb_node type rb_node (line 502) | struct rb_node type rb_node (line 515) | struct rb_node type rb_node (line 518) | struct rb_node type rb_root (line 518) | struct rb_root FILE: src/lib/timer_wheel.c type tvec (line 41) | struct tvec { type tvec_root (line 45) | struct tvec_root { type tw_base (line 49) | struct tw_base { function _tw_add_timer (line 63) | static inline void _tw_add_timer(struct tw_base *base, struct tw_timer_l... function _tw_detach_timer (line 99) | static inline void _tw_detach_timer(struct tw_timer_list *timer) function _tw_cascade (line 107) | static inline int _tw_cascade(struct tw_base *base, struct tvec *tv, int... function timer_pending (line 122) | static inline int timer_pending(struct tw_timer_list *timer) function __detach_if_pending (line 129) | static inline int __detach_if_pending(struct tw_timer_list *timer) function __mod_timer (line 139) | static inline int __mod_timer(struct tw_base *base, struct tw_timer_list... function tw_add_timer (line 155) | void tw_add_timer(struct tw_base *base, struct tw_timer_list *timer) function tw_del_timer (line 169) | int tw_del_timer(struct tw_base *base, struct tw_timer_list *timer) function tw_mod_timer_pending (line 185) | int tw_mod_timer_pending(struct tw_base *base, struct tw_timer_list *tim... function tw_mod_timer (line 199) | int tw_mod_timer(struct tw_base *base, struct tw_timer_list *timer, unsi... function tw_cleanup_timers (line 219) | int tw_cleanup_timers(struct tw_base *base) function run_timers (line 248) | static inline void run_timers(struct tw_base *base) function _tw_tick_count (line 286) | static unsigned long _tw_tick_count(void) type tw_base (line 297) | struct tw_base type tw_base (line 330) | struct tw_base type timeval (line 334) | struct timeval type tw_base (line 337) | struct tw_base FILE: src/main.c function main (line 24) | int main(int argc, char *argv[]) FILE: src/proxy.c type PROXY_CONN_STATE (line 63) | typedef enum PROXY_CONN_STATE { type proxy_conn_buffer (line 72) | struct proxy_conn_buffer { type proxy_conn (line 77) | struct proxy_conn { type proxy_server_info (line 94) | struct proxy_server_info { type proxy_struct (line 102) | struct proxy_struct { type proxy_struct (line 110) | struct proxy_struct type proxy_server_info (line 126) | struct proxy_server_info type proxy_server_info (line 129) | struct proxy_server_info type hlist_node (line 130) | struct hlist_node type addrinfo (line 149) | struct addrinfo type addrinfo (line 151) | struct addrinfo type addrinfo (line 152) | struct addrinfo function proxy_add (line 178) | int proxy_add(const char *proxy_name, struct proxy_info *info) function _proxy_remove (line 228) | static int _proxy_remove(struct proxy_server_info *server_info) function proxy_remove (line 236) | int proxy_remove(const char *proxy_name) function _proxy_remove_all (line 248) | static void _proxy_remove_all(void) type proxy_conn (line 260) | struct proxy_conn type proxy_conn (line 262) | struct proxy_conn type proxy_server_info (line 263) | struct proxy_server_info type addrinfo (line 264) | struct addrinfo function proxy_conn_free (line 319) | void proxy_conn_free(struct proxy_conn *proxy_conn) function proxy_conn_connect (line 336) | int proxy_conn_connect(struct proxy_conn *proxy_conn) function _proxy_handshake_socks5_create_udp_fd (line 346) | static int _proxy_handshake_socks5_create_udp_fd(struct proxy_conn *prox... function _proxy_handshake_socks5_connect_udp (line 395) | static int _proxy_handshake_socks5_connect_udp(struct proxy_conn *proxy_... function proxy_handshake_state (line 415) | static proxy_handshake_state _proxy_handshake_socks5_reply_connect_addr(... function proxy_handshake_state (line 491) | static proxy_handshake_state _proxy_handshake_socks5_send_auth(struct pr... function proxy_handshake_state (line 515) | static proxy_handshake_state _proxy_handshake_socks5(struct proxy_conn *... function _proxy_handshake_http (line 781) | static int _proxy_handshake_http(struct proxy_conn *proxy_conn) function proxy_handshake_state (line 915) | proxy_handshake_state proxy_conn_handshake(struct proxy_conn *proxy_conn) function _proxy_is_tcp_connected (line 937) | static int _proxy_is_tcp_connected(struct proxy_conn *proxy_conn) function proxy_conn_sendto (line 955) | int proxy_conn_sendto(struct proxy_conn *proxy_conn, const void *buf, si... function proxy_conn_recvfrom (line 1014) | int proxy_conn_recvfrom(struct proxy_conn *proxy_conn, void *buf, size_t... function proxy_conn_get_fd (line 1088) | int proxy_conn_get_fd(struct proxy_conn *proxy_conn) function proxy_conn_get_udpfd (line 1097) | int proxy_conn_get_udpfd(struct proxy_conn *proxy_conn) function proxy_conn_is_udp (line 1106) | int proxy_conn_is_udp(struct proxy_conn *proxy_conn) function proxy_init (line 1115) | int proxy_init(void) function proxy_exit (line 1127) | void proxy_exit(void) FILE: src/smartdns.c type smartdns_run_monitor_ret (line 55) | typedef enum { function _help (line 65) | static void _help(void) function _smartdns_get_version (line 95) | static void _smartdns_get_version(char *str_ver, int str_ver_len) function _show_version (line 122) | static void _show_version(void) function _smartdns_load_from_resolv_file (line 129) | static int _smartdns_load_from_resolv_file(const char *resolv_file) function _smartdns_load_from_resolv (line 179) | static int _smartdns_load_from_resolv(void) function _smartdns_load_from_default_resolv (line 184) | static int _smartdns_load_from_default_resolv(void) function _smartdns_prepare_server_flags (line 189) | static int _smartdns_prepare_server_flags(struct client_dns_server_flags... function _smartdns_add_servers (line 263) | static int _smartdns_add_servers(void) function _proxy_add_servers (line 317) | static int _proxy_add_servers(void) function _smartdns_plugin_init (line 344) | static int _smartdns_plugin_init(void) function _smartdns_plugin_exit (line 370) | static int _smartdns_plugin_exit(void) function _smartdns_create_cert (line 376) | static int _smartdns_create_cert(void) function smartdns_get_cert (line 443) | int smartdns_get_cert(char *key, char *cert) function _smartdns_init_ssl (line 465) | static int _smartdns_init_ssl(void) function _smartdns_destroy_ssl (line 476) | static int _smartdns_destroy_ssl(void) function _smartdns_tlog_output_syslog_callback (line 497) | static int _smartdns_tlog_output_syslog_callback(struct tlog_loginfo *in... function _smartdns_tlog_output_callback (line 526) | static int _smartdns_tlog_output_callback(struct tlog_loginfo *info, con... function _smartdns_init_log (line 537) | static int _smartdns_init_log(void) function _smartdns_init_load_from_resolv (line 595) | static int _smartdns_init_load_from_resolv(void) function _smartdns_init (line 627) | static int _smartdns_init(void) function _smartdns_run (line 709) | static int _smartdns_run(void) function _smartdns_exit (line 714) | static void _smartdns_exit(void) function _sig_exit (line 728) | static void _sig_exit(int signo) function _sig_error_exit (line 734) | static void _sig_error_exit(int signo, siginfo_t *siginfo, void *ct) function _reg_signal (line 777) | static void _reg_signal(void) function _smartdns_create_logdir (line 791) | static int _smartdns_create_logdir(void) function _smartdns_create_cache_dir (line 803) | static int _smartdns_create_cache_dir(void) function _smartdns_create_datadir (line 817) | static int _smartdns_create_datadir(void) function _set_rlimit (line 852) | static int _set_rlimit(void) function _smartdns_init_pre (line 865) | static int _smartdns_init_pre(void) function _smartdns_run_monitor_sig (line 888) | static void _smartdns_run_monitor_sig(int sig) function smartdns_run_monitor_ret (line 903) | static smartdns_run_monitor_ret _smartdns_run_monitor(int restart_when_c... function _smartdns_print_error_tip (line 983) | static void _smartdns_print_error_tip(void) function smartdns_exit (line 993) | void smartdns_exit(int status) function smartdns_restart (line 999) | void smartdns_restart(void) function smartdns_enter_monitor_mode (line 1016) | static int smartdns_enter_monitor_mode(int argc, char *argv[], int no_de... function smartdns_init_workdir (line 1037) | static int smartdns_init_workdir(void) function smartdns_reg_post_func (line 1057) | int smartdns_reg_post_func(smartdns_post_func func, void *arg) function smartdns_test_notify_func (line 1065) | static void smartdns_test_notify_func(int fd_notify, uint64_t retval) function smartdns_main (line 1087) | int smartdns_main(int argc, char *argv[]) function smartdns_server_run (line 1319) | int smartdns_server_run(const char *config_file) function smartdns_server_stop (line 1355) | int smartdns_server_stop(void) FILE: src/timer.c type tw_base (line 22) | struct tw_base function dns_timer_init (line 24) | int dns_timer_init(void) function dns_timer_destroy (line 36) | void dns_timer_destroy(void) function dns_timer_add (line 44) | void dns_timer_add(struct tw_timer_list *timer) function dns_timer_del (line 53) | int dns_timer_del(struct tw_timer_list *timer) function dns_timer_mod (line 62) | int dns_timer_mod(struct tw_timer_list *timer, unsigned long expires) FILE: src/tlog.c type linux_dirent64 (line 49) | struct linux_dirent64 { type tlog_log (line 57) | struct tlog_log { type tlog (line 105) | struct tlog { type tlog_segment_log_head (line 130) | struct tlog_segment_log_head { type tlog_segment_head (line 136) | struct tlog_segment_head { type oldest_log (line 142) | struct oldest_log { type count_log (line 148) | struct count_log { type tlog_info_inter (line 153) | struct tlog_info_inter { type dirent (line 158) | struct dirent type tlog (line 161) | struct tlog function _tlog_spin_lock (line 174) | static inline void _tlog_spin_lock(unsigned int *lock) function _tlog_spin_unlock (line 187) | static inline void _tlog_spin_unlock(unsigned int *lock) function _tlog_mkdir (line 192) | static int _tlog_mkdir(const char *path) type tm (line 244) | struct tm type tm (line 244) | struct tm type tm (line 247) | struct tm function _tlog_getmtime (line 269) | static int _tlog_getmtime(struct tlog_time *log_mtime, const char *file) function _tlog_gettime (line 293) | static int _tlog_gettime(struct tlog_time *cur_time) function tlog_set_maxline_size (line 317) | void tlog_set_maxline_size(struct tlog_log *log, int size) function tlog_logcount (line 332) | void tlog_logcount(struct tlog_log *log, int count) function tlog_set_permission (line 345) | void tlog_set_permission(struct tlog_log *log, mode_t file, mode_t archive) function tlog_localtime (line 352) | int tlog_localtime(struct tlog_time *tm) function tlog_log (line 357) | tlog_log *tlog_get_root(void) function tlog_set_private (line 362) | void tlog_set_private(tlog_log *log, void *private_data) function _tlog_root_default_format (line 380) | static int _tlog_root_default_format(char *buff, int maxlen, struct tlog... function _tlog_root_log_buffer (line 422) | static int _tlog_root_log_buffer(char *buff, int maxlen, void *userptr, ... function _tlog_print_buffer (line 471) | static int _tlog_print_buffer(char *buff, int maxlen, void *userptr, con... function _tlog_need_drop (line 491) | static int _tlog_need_drop(struct tlog_log *log) function _tlog_write_screen (line 521) | static int _tlog_write_screen(struct tlog_log *log, struct tlog_loginfo ... function _tlog_write_output_func (line 538) | static int _tlog_write_output_func(struct tlog_log *log, char *buff, int... function _tlog_output_warning (line 551) | static void _tlog_output_warning(void) function _tlog_vprintf (line 581) | static int _tlog_vprintf(struct tlog_log *log, vprint_callback print_cal... function tlog_vprintf (line 698) | int tlog_vprintf(struct tlog_log *log, const char *format, va_list ap) function tlog_printf (line 703) | int tlog_printf(struct tlog_log *log, const char *format, ...) function tlog_stdout_with_color (line 715) | int tlog_stdout_with_color(tlog_level level, const char *buff, int bufflen) function _tlog_early_print (line 750) | static int _tlog_early_print(struct tlog_info_inter *info_inter, const c... function tlog_vext (line 811) | int tlog_vext(tlog_level level, const char *file, int line, const char *... function tlog_ext (line 843) | int tlog_ext(tlog_level level, const char *file, int line, const char *f... function _tlog_rename_logfile (line 855) | static int _tlog_rename_logfile(struct tlog_log *log, const char *log_file) function _tlog_list_dir (line 885) | static int _tlog_list_dir(const char *path, list_callback callback, void... function _tlog_count_log_callback (line 918) | static int _tlog_count_log_callback(const char *path, struct dirent *ent... function _tlog_get_oldest_callback (line 939) | static int _tlog_get_oldest_callback(const char *path, struct dirent *en... function _tlog_remove_oldestlog (line 975) | static int _tlog_remove_oldestlog(struct tlog_log *log) function _tlog_remove_oldlog (line 996) | static int _tlog_remove_oldlog(struct tlog_log *log) function _tlog_log_unlock (line 1017) | static void _tlog_log_unlock(struct tlog_log *log) function _tlog_log_lock (line 1030) | static int _tlog_log_lock(struct tlog_log *log) function _tlog_wait_pid (line 1060) | static void _tlog_wait_pid(struct tlog_log *log, int wait_hang) function _tlog_close_all_fd_by_res (line 1091) | static void _tlog_close_all_fd_by_res(void) function _tlog_str_to_int (line 1109) | static int _tlog_str_to_int(const char *str) function _tlog_close_all_fd (line 1125) | static void _tlog_close_all_fd(void) function _tlog_archive_log_compressed (line 1175) | static int _tlog_archive_log_compressed(struct tlog_log *log) function _tlog_archive_log_nocompress (line 1231) | static int _tlog_archive_log_nocompress(struct tlog_log *log) function _tlog_archive_log (line 1266) | static int _tlog_archive_log(struct tlog_log *log) function _tlog_get_log_name_dir (line 1275) | static void _tlog_get_log_name_dir(struct tlog_log *log) function _tlog_write (line 1296) | static int _tlog_write(struct tlog_log *log, const char *buff, int bufflen) function tlog_write (line 1400) | int tlog_write(struct tlog_log *log, const char *buff, int bufflen) function _tlog_has_data (line 1405) | static int _tlog_has_data(struct tlog_log *log) function _tlog_any_has_data_locked (line 1414) | static int _tlog_any_has_data_locked(void) function _tlog_any_has_data (line 1429) | static int _tlog_any_has_data(void) function _tlog_wait_pids (line 1439) | static int _tlog_wait_pids(void) function _tlog_close (line 1471) | static int _tlog_close(struct tlog_log *log, int wait_hang) type tlog_log (line 1519) | struct tlog_log type tlog_log (line 1519) | struct tlog_log type tlog_log (line 1528) | struct tlog_log type tlog_log (line 1528) | struct tlog_log type timespec (line 1531) | struct timespec type tlog_log (line 1532) | struct tlog_log type tlog_log (line 1533) | struct tlog_log function _tlog_wakeup_waiters (line 1564) | static void _tlog_wakeup_waiters(struct tlog_log *log) function _tlog_write_one_segment_log (line 1574) | static void _tlog_write_one_segment_log(struct tlog_log *log, char *buff... function _tlog_write_segments_log (line 1591) | static void _tlog_write_segments_log(struct tlog_log *log, int log_len, ... function _tlog_write_buff_log (line 1600) | static void _tlog_write_buff_log(struct tlog_log *log, int log_len, int ... function _tlog_work_write (line 1609) | static void _tlog_work_write(struct tlog_log *log, int log_len, int log_... function _tlog_root_write_screen_log (line 1638) | static int _tlog_root_write_screen_log(struct tlog_log *log, struct tlog... function _tlog_root_write_log (line 1647) | static int _tlog_root_write_log(struct tlog_log *log, const char *buff, ... function tlog_wait_zip_fini (line 1671) | static void tlog_wait_zip_fini(void) type tlog_log (line 1707) | struct tlog_log type tlog_log (line 1708) | struct tlog_log function tlog_set_early_printf (line 1795) | void tlog_set_early_printf(int enable, int no_prefix, int color) function tlog_reg_early_printf_callback (line 1802) | void tlog_reg_early_printf_callback(tlog_early_print_func callback) function tlog_reg_early_printf_output_callback (line 1807) | void tlog_reg_early_printf_output_callback(tlog_log_output_func callback... function tlog_set_maxlog_count (line 1823) | void tlog_set_maxlog_count(int count) function _tlog_log_setlogscreen (line 1828) | static void _tlog_log_setlogscreen(struct tlog_log *log, int enable) function tlog_setlogscreen (line 1837) | void tlog_setlogscreen(int enable) function tlog_write_log (line 1842) | int tlog_write_log(const char *buff, int bufflen) function tlog_logscreen (line 1851) | void tlog_logscreen(tlog_log *log, int enable) function _tlog_reg_output_func (line 1860) | static int _tlog_reg_output_func(tlog_log *log, tlog_output_func output) function tlog_reg_output_func (line 1876) | int tlog_reg_output_func(tlog_log *log, tlog_output_func output) function tlog_reg_format_func (line 1890) | int tlog_reg_format_func(tlog_format_func callback) function tlog_reg_log_output_func (line 1896) | int tlog_reg_log_output_func(tlog_log_output_func output, void *private_... function tlog_setlevel (line 1904) | int tlog_setlevel(tlog_level level) function tlog_log_enabled (line 1914) | int tlog_log_enabled(tlog_level level) function tlog_level (line 1923) | tlog_level tlog_getlevel(void) function tlog_set_logfile (line 1928) | void tlog_set_logfile(const char *logfile) function _tlog_get_gzip_cmd_path (line 1933) | static void _tlog_get_gzip_cmd_path(void) function tlog_log (line 1962) | tlog_log *tlog_open(const char *logfile, int maxlogsize, int maxlogcount... function tlog_close (line 2046) | void tlog_close(tlog_log *log) function tlog_rename_logfile (line 2055) | void tlog_rename_logfile(struct tlog_log *log, const char *logfile) function tlog_fork_prepare (line 2063) | static void tlog_fork_prepare(void) function tlog_fork_parent (line 2078) | static void tlog_fork_parent(void) function tlog_fork_child (line 2087) | static void tlog_fork_child(void) function tlog_init (line 2123) | int tlog_init(const char *logfile, int maxlogsize, int maxlogcount, int ... function tlog_exit (line 2192) | void tlog_exit(void) FILE: src/utils/alpn.c function encode_alpn_protos (line 26) | int encode_alpn_protos(const char *alpn, uint8_t *alpn_data, int alpn_da... FILE: src/utils/capbility.c function get_uid_gid (line 29) | int get_uid_gid(uid_t *uid, gid_t *gid) type __user_cap_header_struct (line 74) | struct __user_cap_header_struct type __user_cap_data_struct (line 74) | struct __user_cap_data_struct type __user_cap_header_struct (line 75) | struct __user_cap_header_struct type __user_cap_data_struct (line 75) | struct __user_cap_data_struct function drop_root_privilege (line 77) | int drop_root_privilege(void) FILE: src/utils/daemon.c type daemon_msg_type (line 34) | enum daemon_msg_type { type daemon_msg (line 40) | struct daemon_msg { function _close_all_fd_by_res (line 48) | static void _close_all_fd_by_res(void) function close_all_fd (line 66) | void close_all_fd(int keepfd) function daemon_close_stdfds (line 101) | void daemon_close_stdfds(void) function daemon_kickoff (line 118) | int daemon_kickoff(int status, int no_close) function daemon_keepalive (line 145) | int daemon_keepalive(void) function daemon_ret (line 172) | daemon_ret daemon_run(int *wstatus) function create_pid_file (line 265) | int create_pid_file(const char *pid_file) FILE: src/utils/dns_debug.c function write_file (line 37) | int write_file(const char *filename, void *data, int data_len) function dns_packet_save (line 59) | int dns_packet_save(const char *dir, const char *type, const char *from,... type _dns_read_packet_info (line 132) | struct _dns_read_packet_info { type _dns_read_packet_info (line 141) | struct _dns_read_packet_info type _dns_read_packet_info (line 143) | struct _dns_read_packet_info type _dns_read_packet_info (line 149) | struct _dns_read_packet_info function _dns_debug_display (line 217) | static int _dns_debug_display(struct dns_packet *packet) function dns_packet_debug (line 412) | int dns_packet_debug(const char *packet_file) FILE: src/utils/ipset.c type ipset_netlink_attr (line 55) | struct ipset_netlink_attr { type ipset_netlink_msg (line 60) | struct ipset_netlink_msg { function _ipset_add_attr (line 68) | static inline void _ipset_add_attr(struct nlmsghdr *netlink_head, uint16... function _ipset_socket_init (line 78) | static int _ipset_socket_init(void) function _ipset_operate (line 93) | static int _ipset_operate(const char *ipset_name, const unsigned char ad... function ipset_add (line 183) | int ipset_add(const char *ipset_name, const unsigned char addr[], int ad... function ipset_del (line 188) | int ipset_del(const char *ipset_name, const unsigned char addr[], int ad... FILE: src/utils/misc.c function get_tick_count (line 33) | unsigned long get_tick_count(void) function get_utc_time_ms (line 42) | unsigned long long get_utc_time_ms(void) function create_dir_with_perm (line 63) | int create_dir_with_perm(const char *dir_path) function full_path (line 154) | int full_path(char *normalized_path, int normalized_path_len, const char... function get_compiled_time (line 175) | void get_compiled_time(struct tm *tm) function get_system_mem_size (line 198) | unsigned long get_system_mem_size(void) function is_numeric (line 208) | int is_numeric(const char *str) function has_network_raw_cap (line 219) | int has_network_raw_cap(void) function get_free_space (line 230) | uint64_t get_free_space(const char *path) function parser_mac_address (line 243) | int parser_mac_address(const char *in_mac, uint8_t mac[6]) function set_http_host (line 266) | int set_http_host(const char *uri_host, int port, int default_port, char... function decode_hex (line 284) | int decode_hex(int ch) FILE: src/utils/neighbors.c function netlink_get_neighbors (line 29) | int netlink_get_neighbors(int family, const uint8_t *target_ip, int targ... FILE: src/utils/net.c type sockaddr (line 38) | struct sockaddr type sockaddr_storage (line 40) | struct sockaddr_storage type sockaddr_storage (line 40) | struct sockaddr_storage type sockaddr_in (line 44) | struct sockaddr_in type sockaddr_in (line 45) | struct sockaddr_in type sockaddr_in6 (line 49) | struct sockaddr_in6 type sockaddr_in6 (line 50) | struct sockaddr_in6 type sockaddr_in (line 52) | struct sockaddr_in function generate_random_addr (line 69) | int generate_random_addr(unsigned char *addr, int addr_len, int mask) function generate_addr_map (line 89) | int generate_addr_map(const unsigned char *addr_from, const unsigned cha... function is_private_addr (line 119) | int is_private_addr(const unsigned char *addr, int addr_len) function is_private_addr_sockaddr (line 146) | int is_private_addr_sockaddr(const struct sockaddr *addr, socklen_t addr... function getaddr_by_host (line 172) | int getaddr_by_host(const char *host, struct sockaddr *addr, socklen_t *... function get_raw_addr_by_sockaddr (line 205) | int get_raw_addr_by_sockaddr(const struct sockaddr_storage *addr, int ad... function get_raw_addr_by_ip (line 245) | int get_raw_addr_by_ip(const char *ip, unsigned char *raw_addr, int *raw... function getsocket_inet (line 259) | int getsocket_inet(int fd, struct sockaddr *addr, socklen_t *addr_len) function fill_sockaddr_by_ip (line 301) | int fill_sockaddr_by_ip(unsigned char *ip, int ip_len, int port, struct ... function check_is_ipv4 (line 328) | int check_is_ipv4(const char *ip) function check_is_ipv6 (line 363) | int check_is_ipv6(const char *ip) function check_is_ipaddr (line 415) | int check_is_ipaddr(const char *ip) function set_fd_nonblock (line 427) | int set_fd_nonblock(int fd, int nonblock) function set_sock_keepalive (line 445) | int set_sock_keepalive(int fd, int keepidle, int keepinterval, int keepcnt) function set_sock_lingertime (line 459) | int set_sock_lingertime(int fd, int time) function has_unprivileged_ping (line 473) | int has_unprivileged_ping(void) FILE: src/utils/nftset.c type nlmsgreq (line 43) | struct nlmsgreq { function _nftset_get_nffamily_from_str (line 52) | static int _nftset_get_nffamily_from_str(const char *family) type rtattr (line 73) | struct rtattr type nlmsghdr (line 73) | struct nlmsghdr type rtattr (line 75) | struct rtattr function _nftset_addattr (line 78) | static int _nftset_addattr(struct nlmsghdr *n, int maxlen, __u16 type, c... function _nftset_addattr_string (line 104) | static int _nftset_addattr_string(struct nlmsghdr *n, int maxlen, __u16 ... function _nftset_addattr_uint32 (line 109) | static int __attribute__((unused)) _nftset_addattr_uint32(struct nlmsghd... function _nftset_addattr_uint16 (line 114) | static int __attribute__((unused)) _nftset_addattr_uint16(struct nlmsghd... function _nftset_addattr_uint8 (line 119) | static int __attribute__((unused)) _nftset_addattr_uint8(struct nlmsghdr... type rtattr (line 124) | struct rtattr type nlmsghdr (line 124) | struct nlmsghdr type rtattr (line 126) | struct rtattr function _nftset_addattr_nest_end (line 135) | static void _nftset_addattr_nest_end(struct nlmsghdr *n, struct rtattr *... function _nftset_start_batch (line 141) | static int _nftset_start_batch(void *buf, void **nextbuf) function _nftset_end_batch (line 159) | static int _nftset_end_batch(void *buf, void **nextbuf) function _nftset_socket_init (line 178) | static int _nftset_socket_init(void) function _nftset_socket_request (line 204) | static int _nftset_socket_request(void *msg, int msg_len, void *ret_msg,... function _nftset_socket_send (line 345) | static int _nftset_socket_send(void *msg, int msg_len) function _nftset_get_nftset (line 356) | static int _nftset_get_nftset(int nffamily, const char *table_name, cons... function _nftset_get_flags (line 382) | static int _nftset_get_flags(int nffamily, const char *tablename, const ... function _nftset_del_element (line 414) | static int _nftset_del_element(int nffamily, const char *table_name, con... function _nftset_add_element (line 464) | static int _nftset_add_element(int nffamily, const char *table_name, con... function _nftset_process_setflags (line 518) | static int _nftset_process_setflags(uint32_t flags, const unsigned char ... function _nftset_test_ip_exists (line 555) | static int _nftset_test_ip_exists(int nffamily, const char *tablename, c... function _nftset_del (line 676) | static int _nftset_del(int nffamily, const char *tablename, const char *... function nftset_del (line 690) | int nftset_del(const char *familyname, const char *tablename, const char... function nftset_add (line 721) | int nftset_add(const char *familyname, const char *tablename, const char... function nftset_add (line 824) | int nftset_add(const char *familyname, const char *tablename, const char... function nftset_del (line 830) | int nftset_del(const char *familyname, const char *tablename, const char... FILE: src/utils/ssl.c type DNS_EVP_PKEY_CTX (line 33) | struct DNS_EVP_PKEY_CTX { function is_cert_valid (line 41) | int is_cert_valid(const char *cert_file_path) function generate_cert_san (line 97) | int generate_cert_san(char *san, int max_san_len, const char *append_san) function _free_key (line 238) | static void _free_key(struct DNS_EVP_PKEY_CTX *ctx) type DNS_EVP_PKEY_CTX (line 256) | struct DNS_EVP_PKEY_CTX type DNS_EVP_PKEY_CTX (line 258) | struct DNS_EVP_PKEY_CTX type DNS_EVP_PKEY_CTX (line 262) | struct DNS_EVP_PKEY_CTX type DNS_EVP_PKEY_CTX (line 292) | struct DNS_EVP_PKEY_CTX type DNS_EVP_PKEY_CTX (line 294) | struct DNS_EVP_PKEY_CTX type DNS_EVP_PKEY_CTX (line 295) | struct DNS_EVP_PKEY_CTX function X509 (line 315) | static X509 *_generate_smartdns_cert(EVP_PKEY *pkey, X509 *issuer_cert, ... function generate_cert_key (line 400) | int generate_cert_key(const char *key_path, const char *cert_path, const... function _pthreads_locking_callback (line 544) | static __attribute__((unused)) void _pthreads_locking_callback(int mode,... function _pthreads_thread_id (line 554) | static __attribute__((unused)) unsigned long _pthreads_thread_id(void) function SSL_CRYPTO_thread_setup (line 562) | void SSL_CRYPTO_thread_setup(void) function SSL_CRYPTO_thread_cleanup (line 595) | void SSL_CRYPTO_thread_cleanup(void) function SSL_base64_decode_ext (line 636) | int SSL_base64_decode_ext(const char *in, unsigned char *out, int max_ou... function SSL_base64_decode (line 714) | int SSL_base64_decode(const char *in, unsigned char *out, int max_outlen) function SSL_base64_encode (line 719) | int SSL_base64_encode(const void *in, int in_len, char *out) function dns_is_quic_supported (line 737) | int dns_is_quic_supported(void) FILE: src/utils/stack.c function bug_ext (line 29) | void bug_ext(const char *file, int line, const char *func, const char *e... type backtrace_state (line 51) | struct backtrace_state { function _Unwind_Reason_Code (line 56) | static _Unwind_Reason_Code unwind_callback(struct _Unwind_Context *conte... function print_stack (line 70) | void print_stack(void) function print_stack (line 99) | void print_stack(void) {} FILE: src/utils/tls_header_parse.c function parse_tls_header (line 45) | int parse_tls_header(const char *data, size_t data_len, char *hostname, ... function parse_extensions (line 149) | static int parse_extensions(const char *data, size_t data_len, char *hos... function parse_server_name_extension (line 178) | static int parse_server_name_extension(const char *data, size_t data_len... FILE: src/utils/url.c function parse_uri (line 25) | int parse_uri(const char *value, char *scheme, char *host, int *port, ch... function urldecode (line 30) | int urldecode(char *dst, int dst_maxlen, const char *src) function parse_uri_ext (line 74) | int parse_uri_ext(const char *value, char *scheme, char *user, char *pas... function parse_ip (line 147) | int parse_ip(const char *value, char *ip, int *port) FILE: test/cases/test-address.cc class Address (line 27) | class Address : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(Address, soa) function TEST_F (line 117) | TEST_F(Address, ip) function TEST_F (line 159) | TEST_F(Address, multiaddress) function TEST_F (line 247) | TEST_F(Address, soa_sub_ip) function TEST_F (line 290) | TEST_F(Address, set_ipv4_query_ipv6) function TEST_F (line 327) | TEST_F(Address, set_ipv6_query_ipv4) function TEST_F (line 364) | TEST_F(Address, set_ipv4_allow_ipv6) function TEST_F (line 422) | TEST_F(Address, set_both_ipv4_ipv6) function TEST_F (line 484) | TEST_F(Address, ipv4_in_Test) function TEST_F (line 521) | TEST_F(Address, group_ignore_address) FILE: test/cases/test-audit.cc class Audit (line 25) | class Audit : public ::testing::Test method SetUp (line 28) | virtual void SetUp() {} method TearDown (line 29) | virtual void TearDown() {} function TEST_F (line 32) | TEST_F(Audit, log) FILE: test/cases/test-bind.cc function TEST (line 29) | TEST(Bind, tls) function TEST (line 53) | TEST(Bind, https) function TEST (line 77) | TEST(Bind, udp_tcp) function TEST (line 111) | TEST(Bind, self) function TEST (line 141) | TEST(Bind, nocache) function TEST (line 179) | TEST(Bind, device) function TEST (line 207) | TEST(Bind, malformed_packet) function TEST (line 260) | TEST(Bind, group) function TEST (line 324) | TEST(Bind, Get) FILE: test/cases/test-bootstrap.cc class BootStrap (line 25) | class BootStrap : public ::testing::Test method SetUp (line 28) | virtual void SetUp() {} method TearDown (line 29) | virtual void TearDown() {} function TEST_F (line 32) | TEST_F(BootStrap, bootstrap) FILE: test/cases/test-cache.cc class Cache (line 33) | class Cache : public ::testing::Test method SetUp (line 36) | void SetUp() override {} method TearDown (line 38) | void TearDown() override {} function TEST_F (line 41) | TEST_F(Cache, min) function TEST_F (line 83) | TEST_F(Cache, max_reply_ttl) function TEST_F (line 136) | TEST_F(Cache, max_reply_ttl_expired) function TEST_F (line 185) | TEST_F(Cache, prefetch) function TEST_F (line 264) | TEST_F(Cache, nocache) function TEST_F (line 317) | TEST_F(Cache, save_file) function TEST_F (line 367) | TEST_F(Cache, corrupt_file) function TEST_F (line 438) | TEST_F(Cache, cname) FILE: test/cases/test-client-rule.cc class ClientRule (line 25) | class ClientRule : public ::testing::Test method SetUp (line 28) | virtual void SetUp() {} method TearDown (line 29) | virtual void TearDown() {} function TEST_F (line 32) | TEST_F(ClientRule, rule) function TEST_F (line 67) | TEST_F(ClientRule, group_begin_group_end) function TEST_F (line 104) | TEST_F(ClientRule, acl) function TEST_F (line 149) | TEST_F(ClientRule, in_group_nameserver) FILE: test/cases/test-cname.cc class Cname (line 25) | class Cname : public ::testing::Test method SetUp (line 28) | virtual void SetUp() {} method TearDown (line 29) | virtual void TearDown() {} function TEST_F (line 32) | TEST_F(Cname, cname) function TEST_F (line 64) | TEST_F(Cname, subdomain1) function TEST_F (line 97) | TEST_F(Cname, subdomain2) function TEST_F (line 131) | TEST_F(Cname, loop) function TEST_F (line 165) | TEST_F(Cname, query_cname) FILE: test/cases/test-ddns.cc class DDNS (line 27) | class DDNS : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(DDNS, smartdns) function TEST_F (line 66) | TEST_F(DDNS, ddns) FILE: test/cases/test-ddr.cc class DDR (line 9) | class DDR : public ::testing::Test method SetUp (line 12) | virtual void SetUp() {} method TearDown (line 13) | virtual void TearDown() {} function TEST_F (line 16) | TEST_F(DDR, DDR_RESPONSE) function TEST_F (line 55) | TEST_F(DDR, DDR_SOA) FILE: test/cases/test-discard-block-ip.cc function TEST (line 25) | TEST(DiscardBlockIP, first_ping) function TEST (line 67) | TEST(DiscardBlockIP, first_response) FILE: test/cases/test-dns64.cc class DNS64 (line 27) | class DNS64 : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(DNS64, no_dualstack) function TEST_F (line 63) | TEST_F(DNS64, with_dualstack) function TEST_F (line 105) | TEST_F(DNS64, with_AAAA_result) function TEST_F (line 143) | TEST_F(DNS64, ipv4_in_ipv6) function TEST_F (line 178) | TEST_F(DNS64, ipv4only_arpa) function TEST_F (line 218) | TEST_F(DNS64, ipv4only_arpa_nodns64) FILE: test/cases/test-domain-rule.cc class DomainRule (line 25) | class DomainRule : public ::testing::Test method SetUp (line 28) | virtual void SetUp() {} method TearDown (line 29) | virtual void TearDown() {} function TEST_F (line 32) | TEST_F(DomainRule, bogus_nxdomain) FILE: test/cases/test-domain-set.cc class DomainSet (line 27) | class DomainSet : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(DomainSet, set_add) FILE: test/cases/test-dualstack.cc class DualStack (line 27) | class DualStack : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(DualStack, ipv4_prefer) function TEST_F (line 82) | TEST_F(DualStack, ipv6_prefer_allow_force_AAAA) function TEST_F (line 131) | TEST_F(DualStack, ipv6_prefer_without_ipv4) function TEST_F (line 179) | TEST_F(DualStack, ipv6_no_speed) function TEST_F (line 225) | TEST_F(DualStack, ipv4_no_response) FILE: test/cases/test-edns.cc class EDNS (line 27) | class EDNS : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(EDNS, client) function TEST_F (line 97) | TEST_F(EDNS, server) function TEST_F (line 158) | TEST_F(EDNS, server_v6) function TEST_F (line 219) | TEST_F(EDNS, edns_client_subnet) function TEST_F (line 281) | TEST_F(EDNS, edns_client_subnet_v6) FILE: test/cases/test-group.cc class Group (line 25) | class Group : public ::testing::Test method SetUp (line 28) | virtual void SetUp() {} method TearDown (line 29) | virtual void TearDown() {} function TEST_F (line 32) | TEST_F(Group, conf_file) type smartdns::ServerRequestContext (line 57) | struct smartdns::ServerRequestContext type smartdns::ServerRequestContext (line 67) | struct smartdns::ServerRequestContext function TEST_F (line 102) | TEST_F(Group, conf_file_ip_rule) type smartdns::ServerRequestContext (line 126) | struct smartdns::ServerRequestContext type smartdns::ServerRequestContext (line 137) | struct smartdns::ServerRequestContext function TEST_F (line 167) | TEST_F(Group, speed_check) type smartdns::ServerRequestContext (line 188) | struct smartdns::ServerRequestContext type smartdns::ServerRequestContext (line 199) | struct smartdns::ServerRequestContext function TEST_F (line 229) | TEST_F(Group, conf_inherit) type smartdns::ServerRequestContext (line 248) | struct smartdns::ServerRequestContext function TEST_F (line 320) | TEST_F(Group, dualstack_inherit_ipv4_prefer) function TEST_F (line 389) | TEST_F(Group, group_match_client_ip) function TEST_F (line 457) | TEST_F(Group, group_match_domain) function TEST_F (line 525) | TEST_F(Group, group_from_bind) function TEST_F (line 584) | TEST_F(Group, server_group_exclude_default) function TEST_F (line 622) | TEST_F(Group, group_inherit) FILE: test/cases/test-hosts.cc class Hosts (line 27) | class Hosts : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(Hosts, read) type smartdns::ServerRequestContext (line 74) | struct smartdns::ServerRequestContext FILE: test/cases/test-http.cc class HTTP (line 28) | class HTTP : public ::testing::Test method SetUp (line 31) | virtual void SetUp() {} method TearDown (line 32) | virtual void TearDown() {} function TEST_F (line 35) | TEST_F(HTTP, http1_1_request_parse) function TEST_F (line 60) | TEST_F(HTTP, http1_1_request_serialize) function TEST_F (line 87) | TEST_F(HTTP, http1_1_response_parse) function TEST_F (line 110) | TEST_F(HTTP, http1_1_response_serialize) function TEST_F (line 136) | TEST_F(HTTP, http3_0_parse) function TEST_F (line 173) | TEST_F(HTTP, http1_1_small_buffer) function TEST_F (line 188) | TEST_F(HTTP, http3_small_buffer) FILE: test/cases/test-http2.cc function TEST (line 12) | TEST(HTTP2, BindServerHTTP2) function TEST (line 53) | TEST(HTTP2, ServerMultiStream) function TEST (line 87) | TEST(HTTP2, ServerALPNConfig) function TEST (line 108) | TEST(HTTP2, ServerALPNFallback) function TEST (line 133) | TEST(HTTP2, ClientHTTP1Only) function TEST (line 156) | TEST(HTTP2, BothHTTP1Only) function TEST (line 187) | TEST(HTTP2, ConcurrentClients) function TEST (line 231) | TEST(HTTP2, MixedProtocolQueries) function TEST (line 270) | TEST(HTTP2, ConnectionReuse) function TEST (line 301) | TEST(HTTP2, DefaultALPN) FILE: test/cases/test-https.cc class HTTPS (line 27) | class HTTPS : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(HTTPS, ipv4_speed_prefer) function TEST_F (line 83) | TEST_F(HTTPS, ipv6_speed_prefer) function TEST_F (line 133) | TEST_F(HTTPS, ipv4_SOA) function TEST_F (line 188) | TEST_F(HTTPS, ipv6_SOA) function TEST_F (line 242) | TEST_F(HTTPS, UPSTREAM_SOA) function TEST_F (line 267) | TEST_F(HTTPS, HTTPS_SOA) function TEST_F (line 331) | TEST_F(HTTPS, HTTPS_IGN) function TEST_F (line 394) | TEST_F(HTTPS, HTTPS_IGN_WITH_RULE) function TEST_F (line 457) | TEST_F(HTTPS, HTTPS_DOMAIN_RULE_IGN) function TEST_F (line 520) | TEST_F(HTTPS, multi_https_record) function TEST_F (line 557) | TEST_F(HTTPS, https_record) function TEST_F (line 592) | TEST_F(HTTPS, filter_ip) function TEST_F (line 642) | TEST_F(HTTPS, multi_filter_ip) function TEST_F (line 722) | TEST_F(HTTPS, BIND_FORCE_SOA) FILE: test/cases/test-idna.cc class IDNA (line 27) | class IDNA : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(IDNA, match) FILE: test/cases/test-ip-alias.cc class IPAlias (line 26) | class IPAlias : public ::testing::Test method SetUp (line 29) | virtual void SetUp() {} method TearDown (line 30) | virtual void TearDown() {} function TEST (line 33) | TEST(IPAlias, map_multiip_nospeed_check) function TEST (line 104) | TEST(IPAlias, map_single_ip_nospeed_check) function TEST (line 175) | TEST(IPAlias, mapip_withspeed_check) function TEST (line 241) | TEST(IPAlias, no_ip_alias) FILE: test/cases/test-ip-rule.cc class IPRule (line 25) | class IPRule : public ::testing::Test method SetUp (line 28) | virtual void SetUp() {} method TearDown (line 29) | virtual void TearDown() {} function TEST_F (line 32) | TEST_F(IPRule, white_list) function TEST_F (line 73) | TEST_F(IPRule, white_list_not_in) function TEST_F (line 112) | TEST_F(IPRule, black_list) function TEST_F (line 154) | TEST_F(IPRule, ignore_ip) function TEST_F (line 189) | TEST_F(IPRule, ignore_ip_set) type smartdns::ServerRequestContext (line 203) | struct smartdns::ServerRequestContext function TEST_F (line 243) | TEST_F(IPRule, ignore_all_ip) function TEST_F (line 276) | TEST_F(IPRule, no_ignore_ip_by_domain) function TEST_F (line 317) | TEST_F(IPRule, ip_alias_ip_set) type smartdns::ServerRequestContext (line 336) | struct smartdns::ServerRequestContext FILE: test/cases/test-lib-http2.cc class LIBHTTP2 (line 18) | class LIBHTTP2 : public ::testing::Test method SetUp (line 21) | void SetUp() override method TearDown (line 37) | void TearDown() override method bio_read (line 50) | static int bio_read(void *private_data, uint8_t *buf, int len) method bio_write (line 61) | static int bio_write(void *private_data, const uint8_t *buf, int len) function TEST_F (line 73) | TEST_F(LIBHTTP2, Integrated) function TEST_F (line 218) | TEST_F(LIBHTTP2, MultiStream) function TEST_F (line 363) | TEST_F(LIBHTTP2, EarlyStreamCreation) function TEST_F (line 515) | TEST_F(LIBHTTP2, ServerLoopTerminationOnDisconnect) function TEST_F (line 628) | TEST_F(LIBHTTP2, StreamClose) function TEST_F (line 751) | TEST_F(LIBHTTP2, ReferenceCountingNormal) function TEST_F (line 771) | TEST_F(LIBHTTP2, ReferenceCountingContextError) function TEST_F (line 794) | TEST_F(LIBHTTP2, StressTest) FILE: test/cases/test-local-domain.cc class LocalDomain (line 27) | class LocalDomain : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST (line 34) | TEST(LocalDomain, query) function TEST (line 111) | TEST(LocalDomain, ptr) FILE: test/cases/test-mdns.cc class mDNS (line 27) | class mDNS : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST (line 34) | TEST(mDNS, query) function TEST (line 119) | TEST(mDNS, ptr) FILE: test/cases/test-mock-server.cc function TEST (line 24) | TEST(MockServer, query_fail) function TEST (line 38) | TEST(MockServer, soa) function TEST (line 50) | TEST(MockServer, noerror) FILE: test/cases/test-nameserver.cc class NameServer (line 25) | class NameServer : public ::testing::Test method SetUp (line 28) | virtual void SetUp() {} method TearDown (line 29) | virtual void TearDown() {} function TEST_F (line 32) | TEST_F(NameServer, cname) FILE: test/cases/test-perf.cc class Perf (line 26) | class Perf : public ::testing::Test method SetUp (line 29) | virtual void SetUp() {} method TearDown (line 30) | virtual void TearDown() {} function TEST_F (line 33) | TEST_F(Perf, no_speed_check) FILE: test/cases/test-ping.cc class Ping (line 26) | class Ping : public ::testing::Test method SetUp (line 29) | virtual void SetUp() method TearDown (line 35) | virtual void TearDown() function ping_result_callback (line 45) | void ping_result_callback(struct ping_host_struct *ping_host, const char... function TEST_F (line 56) | TEST_F(Ping, icmp) function TEST_F (line 74) | TEST_F(Ping, tcp) function TEST_F (line 85) | TEST_F(Ping, tcp_syn) function TEST_F (line 104) | TEST_F(Ping, tcp_syn_v6) function TEST_F (line 123) | TEST_F(Ping, tcp_syn_concurrent) function fake_ping_result_callback (line 157) | void fake_ping_result_callback(struct ping_host_struct *ping_host, const... function TEST_F (line 169) | TEST_F(Ping, fake_icmp) FILE: test/cases/test-ptr.cc class Ptr (line 27) | class Ptr : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(Ptr, query) function TEST_F (line 69) | TEST_F(Ptr, address_expand_ptr) function TEST_F (line 123) | TEST_F(Ptr, smartdns) function TEST_F (line 160) | TEST_F(Ptr, private_soa) function TEST_F (line 194) | TEST_F(Ptr, private_nameserver) FILE: test/cases/test-qtype-soa.cc class QtypeSOA (line 25) | class QtypeSOA : public ::testing::Test method SetUp (line 28) | virtual void SetUp() {} method TearDown (line 29) | virtual void TearDown() {} function TEST_F (line 32) | TEST_F(QtypeSOA, AAAA_HTTPS) function TEST_F (line 77) | TEST_F(QtypeSOA, AAAA_Except) function TEST_F (line 111) | TEST_F(QtypeSOA, force_AAAA_SOA_Except) function TEST_F (line 145) | TEST_F(QtypeSOA, force_AAAA_SOA) function TEST_F (line 185) | TEST_F(QtypeSOA, bind_force_AAAA_SOA) function TEST_F (line 244) | TEST_F(QtypeSOA, HTTPS_SOA) FILE: test/cases/test-rule.cc class Rule (line 27) | class Rule : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(Rule, Match) function TEST_F (line 84) | TEST_F(Rule, PrefixWildcardMatch) function TEST_F (line 143) | TEST_F(Rule, SubDomainMatchOnly) function TEST_F (line 193) | TEST_F(Rule, RootDomainMatchOnly) function TEST_F (line 262) | TEST_F(Rule, AAAA_SOA) function TEST_F (line 314) | TEST_F(Rule, root) function TEST_F (line 368) | TEST_F(Rule, root_and_sub) FILE: test/cases/test-same-pending-query.cc class SamePending (line 27) | class SamePending : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(SamePending, pending) FILE: test/cases/test-server.cc class Server (line 25) | class Server : public ::testing::Test method SetUp (line 28) | virtual void SetUp() {} method TearDown (line 29) | virtual void TearDown() {} function TEST_F (line 32) | TEST_F(Server, all_unreach) function TEST_F (line 67) | TEST_F(Server, one_nxdomain) function TEST_F (line 102) | TEST_F(Server, retry_no_result_with_NOERROR) function TEST_F (line 138) | TEST_F(Server, retry_no_response) function TEST_F (line 163) | TEST_F(Server, max_queries) function TEST_F (line 224) | TEST_F(Server, interface) function TEST_F (line 251) | TEST_F(Server, refused) function TEST_F (line 277) | TEST_F(Server, fallback) function TEST_F (line 306) | TEST_F(Server, fallback_group) function TEST_F (line 335) | TEST_F(Server, groups) function TEST_F (line 414) | TEST_F(Server, repeat_group) function TEST_F (line 456) | TEST_F(Server, bad_block_ip) function TEST_F (line 506) | TEST_F(Server, bad_block_ip_no_check_speed) function TEST_F (line 557) | TEST_F(Server, case_insensitive) FILE: test/cases/test-speed-check.cc class SpeedCheck (line 27) | class SpeedCheck : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(SpeedCheck, response_mode) function TEST_F (line 75) | TEST_F(SpeedCheck, none) function TEST_F (line 113) | TEST_F(SpeedCheck, domain_rules_none) function TEST_F (line 154) | TEST_F(SpeedCheck, only_ping) function TEST_F (line 182) | TEST_F(SpeedCheck, no_ping_fallback_tcp) function TEST_F (line 213) | TEST_F(SpeedCheck, tcp_faster_than_ping) function TEST_F (line 244) | TEST_F(SpeedCheck, fastest_ip) function TEST_F (line 288) | TEST_F(SpeedCheck, unreach_best_ipv4) function TEST_F (line 333) | TEST_F(SpeedCheck, unreach_best_ipv6) function TEST_F (line 378) | TEST_F(SpeedCheck, global_none_rule_check) FILE: test/cases/test-srv.cc class SRV (line 27) | class SRV : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(SRV, query) function TEST_F (line 66) | TEST_F(SRV, match) FILE: test/cases/test-stress.cc function get_env_int (line 16) | int get_env_int(const char* name, int default_value) { function udp_dns_query (line 25) | bool udp_dns_query(const std::string& domain, int port) { type ProtocolConfig (line 98) | struct ProtocolConfig { class Stress (line 105) | class Stress : public ::testing::TestWithParam { method SetUp (line 107) | void SetUp() override { method TearDown (line 111) | void TearDown() override { function TEST_P (line 151) | TEST_P(Stress, Query) { FILE: test/cases/test-subnet.cc class SubNet (line 27) | class SubNet : public ::testing::Test method SetUp (line 30) | virtual void SetUp() {} method TearDown (line 31) | virtual void TearDown() {} function TEST_F (line 34) | TEST_F(SubNet, pass_subnet) function TEST_F (line 101) | TEST_F(SubNet, conf) function TEST_F (line 169) | TEST_F(SubNet, conf_v6) function TEST_F (line 239) | TEST_F(SubNet, v4_server_subnet_txt) function TEST_F (line 307) | TEST_F(SubNet, v6_default_subnet_txt) function TEST_F (line 375) | TEST_F(SubNet, per_server) FILE: test/client.cc type smartdns (line 29) | namespace smartdns function StringSplit (line 32) | std::vector StringSplit(const std::string &s, const char ... FILE: test/client.h function namespace (line 26) | namespace smartdns FILE: test/include/utils.h function namespace (line 27) | namespace smartdns FILE: test/server.cc type smartdns (line 40) | namespace smartdns type pollfd (line 77) | struct pollfd type sockaddr_storage (line 90) | struct sockaddr_storage type sockaddr (line 94) | struct sockaddr type dns_packet (line 103) | struct dns_packet type dns_packet (line 103) | struct dns_packet type ServerRequestContext (line 104) | struct ServerRequestContext type dns_rrs (line 112) | struct dns_rrs type sockaddr_storage (line 131) | struct sockaddr_storage type dns_packet (line 135) | struct dns_packet type dns_head (line 140) | struct dns_head type dns_soa (line 165) | struct dns_soa type sockaddr (line 183) | struct sockaddr type ServerRequestContext (line 189) | struct ServerRequestContext type sockaddr_storage (line 191) | struct sockaddr_storage type sockaddr_in (line 197) | struct sockaddr_in type sockaddr_in (line 197) | struct sockaddr_in type sockaddr_in6 (line 201) | struct sockaddr_in6 type sockaddr_in6 (line 201) | struct sockaddr_in6 type sockaddr_storage (line 212) | struct sockaddr_storage type addrinfo (line 215) | struct addrinfo type addrinfo (line 216) | struct addrinfo type sockaddr_storage (line 247) | struct sockaddr_storage type sockaddr (line 278) | struct sockaddr type Server::CREATE_MODE (line 295) | enum Server::CREATE_MODE type MockPingIP (line 302) | struct MockPingIP type CONF_TYPE (line 330) | enum CONF_TYPE type pollfd (line 412) | struct pollfd FILE: test/server.h function class (line 35) | class Server type ServerRequestContext (line 72) | struct ServerRequestContext { type ServerRequestResult (line 87) | typedef enum { type ServerRequestContext (line 106) | struct ServerRequestContext type sockaddr_storage (line 113) | struct sockaddr_storage function fd_ (line 114) | int fd_{0} function run_ (line 116) | bool run_{false}; FILE: test/test.cc function main (line 21) | int main(int argc, char **argv) FILE: test/utils.cc type smartdns (line 15) | namespace smartdns function IsCommandExists (line 196) | bool IsCommandExists(const std::string &cmd) function GenerateRandomString (line 229) | std::string GenerateRandomString(int len) function ParserArg (line 244) | int ParserArg(const std::string &cmd, std::vector &args) function GetAvailableIPAddresses (line 288) | std::vector GetAvailableIPAddresses() function IsICMPAvailable (line 322) | bool IsICMPAvailable()