|
unbound 0.1
|
This file declares the methods any worker has to implement. More...
Functions | |
| struct outbound_entry * | libworker_send_query (struct query_info *qinfo, uint16_t flags, int dnssec, int want_dnssec, int nocaps, int check_ratelimit, struct sockaddr_storage *addr, socklen_t addrlen, uint8_t *zone, size_t zonelen, int tcp_upstream, int ssl_upstream, char *tls_auth_name, struct module_qstate *q, int *was_ratelimited) |
| Worker service routine to send serviced queries to authoritative servers. | |
| int | libworker_handle_service_reply (struct comm_point *c, void *arg, int error, struct comm_reply *reply_info) |
| process incoming serviced query replies from the network | |
| void | libworker_handle_control_cmd (struct tube *tube, uint8_t *msg, size_t len, int err, void *arg) |
| handle control command coming into server | |
| void | libworker_fg_done_cb (void *arg, int rcode, sldns_buffer *buf, enum sec_status s, char *why_bogus, int was_ratelimited) |
| mesh callback with fg results | |
| void | libworker_bg_done_cb (void *arg, int rcode, sldns_buffer *buf, enum sec_status s, char *why_bogus, int was_ratelimited) |
| mesh callback with bg results | |
| void | libworker_event_done_cb (void *arg, int rcode, struct sldns_buffer *buf, enum sec_status s, char *why_bogus, int was_ratelimited) |
| mesh callback with event results | |
| void | worker_sighandler (int sig, void *arg) |
| Worker signal handler function. | |
| struct outbound_entry * | worker_send_query (struct query_info *qinfo, uint16_t flags, int dnssec, int want_dnssec, int nocaps, int check_ratelimit, struct sockaddr_storage *addr, socklen_t addrlen, uint8_t *zone, size_t zonelen, int tcp_upstream, int ssl_upstream, char *tls_auth_name, struct module_qstate *q, int *was_ratelimited) |
| Worker service routine to send serviced queries to authoritative servers. | |
| void | worker_handle_control_cmd (struct tube *tube, uint8_t *msg, size_t len, int error, void *arg) |
| process control messages from the main thread. | |
| int | worker_handle_request (struct comm_point *c, void *arg, int error, struct comm_reply *repinfo) |
| handles callbacks from listening event interface | |
| int | worker_handle_service_reply (struct comm_point *c, void *arg, int error, struct comm_reply *reply_info) |
| process incoming serviced query replies from the network | |
| void | worker_alloc_cleanup (void *arg) |
| cleanup the cache to remove all rrset IDs from it, arg is worker | |
| void | worker_stat_timer_cb (void *arg) |
| statistics timer callback handler | |
| void | worker_probe_timer_cb (void *arg) |
| probe timer callback handler | |
| void | worker_start_accept (void *arg) |
| start accept callback handler | |
| void | worker_stop_accept (void *arg) |
| stop accept callback handler | |
| int | remote_accept_callback (struct comm_point *, void *, int, struct comm_reply *) |
| handle remote control accept callbacks | |
| int | remote_control_callback (struct comm_point *, void *, int, struct comm_reply *) |
| handle remote control data callbacks | |
| void | remote_get_opt_ssl (char *line, void *arg) |
| routine to printout option values over SSL | |
This file declares the methods any worker has to implement.
| struct outbound_entry * libworker_send_query | ( | struct query_info * | qinfo, |
| uint16_t | flags, | ||
| int | dnssec, | ||
| int | want_dnssec, | ||
| int | nocaps, | ||
| int | check_ratelimit, | ||
| struct sockaddr_storage * | addr, | ||
| socklen_t | addrlen, | ||
| uint8_t * | zone, | ||
| size_t | zonelen, | ||
| int | tcp_upstream, | ||
| int | ssl_upstream, | ||
| char * | tls_auth_name, | ||
| struct module_qstate * | q, | ||
| int * | was_ratelimited ) |
Worker service routine to send serviced queries to authoritative servers.
| qinfo | query info. |
| flags | host order flags word, with opcode and CD bit. |
| dnssec | if set, EDNS record will have DO bit set. |
| want_dnssec | signatures needed. |
| nocaps | ignore capsforid(if in config), do not perturb qname. |
| check_ratelimit | if set, will check ratelimit before sending out. |
| addr | where to. |
| addrlen | length of addr. |
| zone | delegation point name. |
| zonelen | length of zone name wireformat dname. |
| tcp_upstream | use TCP for upstream queries. |
| ssl_upstream | use SSL for upstream queries. |
| tls_auth_name | if ssl_upstream, use this name with TLS authentication. |
| q | which query state to reactivate upon return. |
| was_ratelimited | it will signal back if the query failed to pass the ratelimit check. |
References libworker::back, module_qstate::env, libworker_handle_service_reply(), outnet_serviced_query(), outbound_entry::qsent, outbound_entry::qstate, module_qstate::region, regional_alloc(), outside_network::udp_buff, and module_env::worker.
Referenced by libworker_setup().
| void worker_sighandler | ( | int | sig, |
| void * | arg ) |
Worker signal handler function.
User argument is the worker itself.
| sig | signal number. |
| arg | the worker (main worker) that handles signals. |
References worker::base, comm_base_exit(), and worker::need_to_exit.
Referenced by fptr_whitelist_comm_signal(), signal_handling_playback(), and worker_init().
| struct outbound_entry * worker_send_query | ( | struct query_info * | qinfo, |
| uint16_t | flags, | ||
| int | dnssec, | ||
| int | want_dnssec, | ||
| int | nocaps, | ||
| int | check_ratelimit, | ||
| struct sockaddr_storage * | addr, | ||
| socklen_t | addrlen, | ||
| uint8_t * | zone, | ||
| size_t | zonelen, | ||
| int | tcp_upstream, | ||
| int | ssl_upstream, | ||
| char * | tls_auth_name, | ||
| struct module_qstate * | q, | ||
| int * | was_ratelimited ) |
Worker service routine to send serviced queries to authoritative servers.
| qinfo | query info. |
| flags | host order flags word, with opcode and CD bit. |
| dnssec | if set, EDNS record will have DO bit set. |
| want_dnssec | signatures needed. |
| nocaps | ignore capsforid(if in config), do not perturb qname. |
| check_ratelimit | if set, will check ratelimit before sending out. |
| addr | where to. |
| addrlen | length of addr. |
| zone | wireformat dname of the zone. |
| zonelen | length of zone name. |
| tcp_upstream | use TCP for upstream queries. |
| ssl_upstream | use SSL for upstream queries. |
| tls_auth_name | if ssl_upstream, use this name with TLS authentication. |
| q | which query state to reactivate upon return. |
| was_ratelimited | it will signal back if the query failed to pass the ratelimit check. |
References worker::back, module_qstate::env, outnet_serviced_query(), outbound_entry::qsent, outbound_entry::qstate, module_qstate::region, regional_alloc(), outside_network::udp_buff, module_env::worker, and worker_handle_service_reply().
Referenced by fptr_whitelist_modenv_send_query(), and worker_init().
| void worker_handle_control_cmd | ( | struct tube * | tube, |
| uint8_t * | msg, | ||
| size_t | len, | ||
| int | error, | ||
| void * | arg ) |
process control messages from the main thread.
Frees the control command message.
| tube | tube control message came on. |
| msg | message contents. Is freed. |
| len | length of message. |
| error | if error (NETEVENT_*) happened. |
| arg | user argument |