Loading DnsResolver.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ namespace { bool verifyCallbacks() { return gResNetdCallbacks.check_calling_permission && gResNetdCallbacks.get_network_context && gResNetdCallbacks.get_dns64_prefix; gResNetdCallbacks.log; } } // namespace Loading include/netd_resolv/resolv.h +19 −27 Original line number Diff line number Diff line Loading @@ -108,47 +108,39 @@ typedef void (*get_network_context_callback)(unsigned netid, uid_t uid, typedef bool (*check_calling_permission_callback)(const char* permission); // TODO: Remove the callback after moving NAT64 prefix discovery out of netd to libnetd_resolv. typedef bool (*get_dns64_prefix_callback)(unsigned netid, in6_addr* prefix, uint8_t* prefix_len); typedef void (*log_callback)(const char* msg); struct ResolverNetdCallbacks { check_calling_permission_callback check_calling_permission; get_network_context_callback get_network_context; get_dns64_prefix_callback get_dns64_prefix; log_callback log; }; LIBNETD_RESOLV_PUBLIC int android_gethostbyaddrfornetcontext(const void*, socklen_t, int, const android_net_context*, hostent**); LIBNETD_RESOLV_PUBLIC int android_gethostbynamefornetcontext(const char*, int, const android_net_context*, hostent**); LIBNETD_RESOLV_PUBLIC int android_getaddrinfofornetcontext(const char*, const char*, const addrinfo*, int android_gethostbyaddrfornetcontext(const void*, socklen_t, int, const android_net_context*, hostent**); int android_gethostbynamefornetcontext(const char*, int, const android_net_context*, hostent**); int android_getaddrinfofornetcontext(const char*, const char*, const addrinfo*, const android_net_context*, addrinfo**); LIBNETD_RESOLV_PUBLIC bool resolv_has_nameservers(unsigned netid); // Query dns with raw msg LIBNETD_RESOLV_PUBLIC int resolv_res_nsend(const android_net_context* netContext, const uint8_t* msg, int msgLen, uint8_t* ans, int ansLen, int* rcode, uint32_t flags); int resolv_res_nsend(const android_net_context* netContext, const uint8_t* msg, int msgLen, uint8_t* ans, int ansLen, int* rcode, uint32_t flags); // Set name servers for a network LIBNETD_RESOLV_PUBLIC int resolv_set_nameservers_for_net(unsigned netid, const char** servers, int numservers, const char* domains, const res_params* params); int resolv_set_nameservers_for_net(unsigned netid, const char** servers, int numservers, const char* domains, const res_params* params); LIBNETD_RESOLV_PUBLIC int resolv_set_private_dns_for_net(unsigned netid, uint32_t mark, const char** servers, int numServers, const char* tlsName, const uint8_t** fingerprints, int numFingerprints); int resolv_set_private_dns_for_net(unsigned netid, uint32_t mark, const char** servers, int numServers, const char* tlsName, const uint8_t** fingerprints, int numFingerprints); LIBNETD_RESOLV_PUBLIC void resolv_delete_private_dns_for_net(unsigned netid); void resolv_delete_private_dns_for_net(unsigned netid); LIBNETD_RESOLV_PUBLIC void resolv_get_private_dns_status_for_net(unsigned netid, ExternalPrivateDnsStatus* status); void resolv_get_private_dns_status_for_net(unsigned netid, ExternalPrivateDnsStatus* status); // Delete the cache associated with a certain network LIBNETD_RESOLV_PUBLIC void resolv_delete_cache_for_net(unsigned netid); void resolv_delete_cache_for_net(unsigned netid); LIBNETD_RESOLV_PUBLIC bool resolv_has_nameservers(unsigned netid); // Set callbacks and bring DnsResolver up. LIBNETD_RESOLV_PUBLIC bool resolv_init(const ResolverNetdCallbacks& callbacks); Loading include/netd_resolv/resolv_stub.h +0 −30 Original line number Diff line number Diff line Loading @@ -34,39 +34,9 @@ // Struct containing function pointers for every function exported by libnetd_resolv. extern struct ResolvStub { int (*android_getaddrinfofornetcontext)(const char*, const char*, const addrinfo*, const android_net_context*, addrinfo**); void (*android_net_res_stats_aggregate)(res_stats* stats, int* successes, int* errors, int* timeouts, int* internal_errors, int* rtt_avg, time_t* last_sample_time); int (*android_net_res_stats_get_info_for_net)(unsigned netid, int* nscount, sockaddr_storage servers[MAXNS], int* dcount, char domains[MAXDNSRCH][MAXDNSRCHPATH], res_params* params, res_stats stats[MAXNS], int* wait_for_pending_req_timeout_count); int (*android_net_res_stats_get_usable_servers)(const res_params* params, res_stats stats[], int nscount, bool valid_servers[]); void (*resolv_delete_cache_for_net)(unsigned netid); void (*resolv_delete_private_dns_for_net)(unsigned netid); void (*resolv_get_private_dns_status_for_net)(unsigned netid, ExternalPrivateDnsStatus* status); bool (*resolv_has_nameservers)(unsigned netid); bool (*resolv_init)(const ResolverNetdCallbacks& callbacks); int (*resolv_set_nameservers_for_net)(unsigned netid, const char** servers, unsigned numservers, const char* domains, const res_params* params); int (*resolv_set_private_dns_for_net)(unsigned netid, uint32_t mark, const char** servers, const unsigned numServers, const char* tlsName, const uint8_t** fingerprints, const unsigned numFingerprints); } RESOLV_STUB; int resolv_stub_init(); Loading libnetd_resolv.map.txt +0 −9 Original line number Diff line number Diff line Loading @@ -20,17 +20,8 @@ LIBNETD_RESOLV { global: android_getaddrinfofornetcontext; android_net_res_stats_aggregate; android_net_res_stats_get_info_for_net; android_net_res_stats_get_usable_servers; resolv_delete_cache_for_net; resolv_delete_private_dns_for_net; resolv_get_private_dns_status_for_net; resolv_has_nameservers; resolv_init; resolv_set_nameservers_for_net; resolv_set_private_dns_for_net; local: *; }; Loading
DnsResolver.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ namespace { bool verifyCallbacks() { return gResNetdCallbacks.check_calling_permission && gResNetdCallbacks.get_network_context && gResNetdCallbacks.get_dns64_prefix; gResNetdCallbacks.log; } } // namespace Loading
include/netd_resolv/resolv.h +19 −27 Original line number Diff line number Diff line Loading @@ -108,47 +108,39 @@ typedef void (*get_network_context_callback)(unsigned netid, uid_t uid, typedef bool (*check_calling_permission_callback)(const char* permission); // TODO: Remove the callback after moving NAT64 prefix discovery out of netd to libnetd_resolv. typedef bool (*get_dns64_prefix_callback)(unsigned netid, in6_addr* prefix, uint8_t* prefix_len); typedef void (*log_callback)(const char* msg); struct ResolverNetdCallbacks { check_calling_permission_callback check_calling_permission; get_network_context_callback get_network_context; get_dns64_prefix_callback get_dns64_prefix; log_callback log; }; LIBNETD_RESOLV_PUBLIC int android_gethostbyaddrfornetcontext(const void*, socklen_t, int, const android_net_context*, hostent**); LIBNETD_RESOLV_PUBLIC int android_gethostbynamefornetcontext(const char*, int, const android_net_context*, hostent**); LIBNETD_RESOLV_PUBLIC int android_getaddrinfofornetcontext(const char*, const char*, const addrinfo*, int android_gethostbyaddrfornetcontext(const void*, socklen_t, int, const android_net_context*, hostent**); int android_gethostbynamefornetcontext(const char*, int, const android_net_context*, hostent**); int android_getaddrinfofornetcontext(const char*, const char*, const addrinfo*, const android_net_context*, addrinfo**); LIBNETD_RESOLV_PUBLIC bool resolv_has_nameservers(unsigned netid); // Query dns with raw msg LIBNETD_RESOLV_PUBLIC int resolv_res_nsend(const android_net_context* netContext, const uint8_t* msg, int msgLen, uint8_t* ans, int ansLen, int* rcode, uint32_t flags); int resolv_res_nsend(const android_net_context* netContext, const uint8_t* msg, int msgLen, uint8_t* ans, int ansLen, int* rcode, uint32_t flags); // Set name servers for a network LIBNETD_RESOLV_PUBLIC int resolv_set_nameservers_for_net(unsigned netid, const char** servers, int numservers, const char* domains, const res_params* params); int resolv_set_nameservers_for_net(unsigned netid, const char** servers, int numservers, const char* domains, const res_params* params); LIBNETD_RESOLV_PUBLIC int resolv_set_private_dns_for_net(unsigned netid, uint32_t mark, const char** servers, int numServers, const char* tlsName, const uint8_t** fingerprints, int numFingerprints); int resolv_set_private_dns_for_net(unsigned netid, uint32_t mark, const char** servers, int numServers, const char* tlsName, const uint8_t** fingerprints, int numFingerprints); LIBNETD_RESOLV_PUBLIC void resolv_delete_private_dns_for_net(unsigned netid); void resolv_delete_private_dns_for_net(unsigned netid); LIBNETD_RESOLV_PUBLIC void resolv_get_private_dns_status_for_net(unsigned netid, ExternalPrivateDnsStatus* status); void resolv_get_private_dns_status_for_net(unsigned netid, ExternalPrivateDnsStatus* status); // Delete the cache associated with a certain network LIBNETD_RESOLV_PUBLIC void resolv_delete_cache_for_net(unsigned netid); void resolv_delete_cache_for_net(unsigned netid); LIBNETD_RESOLV_PUBLIC bool resolv_has_nameservers(unsigned netid); // Set callbacks and bring DnsResolver up. LIBNETD_RESOLV_PUBLIC bool resolv_init(const ResolverNetdCallbacks& callbacks); Loading
include/netd_resolv/resolv_stub.h +0 −30 Original line number Diff line number Diff line Loading @@ -34,39 +34,9 @@ // Struct containing function pointers for every function exported by libnetd_resolv. extern struct ResolvStub { int (*android_getaddrinfofornetcontext)(const char*, const char*, const addrinfo*, const android_net_context*, addrinfo**); void (*android_net_res_stats_aggregate)(res_stats* stats, int* successes, int* errors, int* timeouts, int* internal_errors, int* rtt_avg, time_t* last_sample_time); int (*android_net_res_stats_get_info_for_net)(unsigned netid, int* nscount, sockaddr_storage servers[MAXNS], int* dcount, char domains[MAXDNSRCH][MAXDNSRCHPATH], res_params* params, res_stats stats[MAXNS], int* wait_for_pending_req_timeout_count); int (*android_net_res_stats_get_usable_servers)(const res_params* params, res_stats stats[], int nscount, bool valid_servers[]); void (*resolv_delete_cache_for_net)(unsigned netid); void (*resolv_delete_private_dns_for_net)(unsigned netid); void (*resolv_get_private_dns_status_for_net)(unsigned netid, ExternalPrivateDnsStatus* status); bool (*resolv_has_nameservers)(unsigned netid); bool (*resolv_init)(const ResolverNetdCallbacks& callbacks); int (*resolv_set_nameservers_for_net)(unsigned netid, const char** servers, unsigned numservers, const char* domains, const res_params* params); int (*resolv_set_private_dns_for_net)(unsigned netid, uint32_t mark, const char** servers, const unsigned numServers, const char* tlsName, const uint8_t** fingerprints, const unsigned numFingerprints); } RESOLV_STUB; int resolv_stub_init(); Loading
libnetd_resolv.map.txt +0 −9 Original line number Diff line number Diff line Loading @@ -20,17 +20,8 @@ LIBNETD_RESOLV { global: android_getaddrinfofornetcontext; android_net_res_stats_aggregate; android_net_res_stats_get_info_for_net; android_net_res_stats_get_usable_servers; resolv_delete_cache_for_net; resolv_delete_private_dns_for_net; resolv_get_private_dns_status_for_net; resolv_has_nameservers; resolv_init; resolv_set_nameservers_for_net; resolv_set_private_dns_for_net; local: *; };