Deleted Added
full compact
libworker.c (266114) libworker.c (276605)
1/*
2 * libunbound/worker.c - worker thread or process that resolves
3 *
4 * Copyright (c) 2007, NLnet Labs. All rights reserved.
5 *
6 * This software is open source.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 219 unchanged lines hidden (view full) ---

228 }
229 w->back = outside_network_create(w->base, cfg->msg_buffer_size,
230 (size_t)cfg->outgoing_num_ports, cfg->out_ifs,
231 cfg->num_out_ifs, cfg->do_ip4, cfg->do_ip6,
232 cfg->do_tcp?cfg->outgoing_num_tcp:0,
233 w->env->infra_cache, w->env->rnd, cfg->use_caps_bits_for_id,
234 ports, numports, cfg->unwanted_threshold,
235 &libworker_alloc_cleanup, w, cfg->do_udp, w->sslctx,
1/*
2 * libunbound/worker.c - worker thread or process that resolves
3 *
4 * Copyright (c) 2007, NLnet Labs. All rights reserved.
5 *
6 * This software is open source.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 219 unchanged lines hidden (view full) ---

228 }
229 w->back = outside_network_create(w->base, cfg->msg_buffer_size,
230 (size_t)cfg->outgoing_num_ports, cfg->out_ifs,
231 cfg->num_out_ifs, cfg->do_ip4, cfg->do_ip6,
232 cfg->do_tcp?cfg->outgoing_num_tcp:0,
233 w->env->infra_cache, w->env->rnd, cfg->use_caps_bits_for_id,
234 ports, numports, cfg->unwanted_threshold,
235 &libworker_alloc_cleanup, w, cfg->do_udp, w->sslctx,
236 cfg->delay_close);
236 cfg->delay_close, NULL);
237 if(!w->is_bg || w->is_bg_thread) {
238 lock_basic_unlock(&ctx->cfglock);
239 }
240 free(ports);
241 if(!w->back) {
242 libworker_delete(w);
243 return NULL;
244 }

--- 571 unchanged lines hidden (view full) ---

816{
817 struct libworker* w = (struct libworker*)arg;
818 slabhash_clear(&w->env->rrset_cache->table);
819 slabhash_clear(w->env->msg_cache);
820}
821
822struct outbound_entry* libworker_send_query(uint8_t* qname, size_t qnamelen,
823 uint16_t qtype, uint16_t qclass, uint16_t flags, int dnssec,
237 if(!w->is_bg || w->is_bg_thread) {
238 lock_basic_unlock(&ctx->cfglock);
239 }
240 free(ports);
241 if(!w->back) {
242 libworker_delete(w);
243 return NULL;
244 }

--- 571 unchanged lines hidden (view full) ---

816{
817 struct libworker* w = (struct libworker*)arg;
818 slabhash_clear(&w->env->rrset_cache->table);
819 slabhash_clear(w->env->msg_cache);
820}
821
822struct outbound_entry* libworker_send_query(uint8_t* qname, size_t qnamelen,
823 uint16_t qtype, uint16_t qclass, uint16_t flags, int dnssec,
824 int want_dnssec, struct sockaddr_storage* addr, socklen_t addrlen,
825 uint8_t* zone, size_t zonelen, struct module_qstate* q)
824 int want_dnssec, int nocaps, struct sockaddr_storage* addr,
825 socklen_t addrlen, uint8_t* zone, size_t zonelen,
826 struct module_qstate* q)
826{
827 struct libworker* w = (struct libworker*)q->env->worker;
828 struct outbound_entry* e = (struct outbound_entry*)regional_alloc(
829 q->region, sizeof(*e));
830 if(!e)
831 return NULL;
832 e->qstate = q;
833 e->qsent = outnet_serviced_query(w->back, qname,
827{
828 struct libworker* w = (struct libworker*)q->env->worker;
829 struct outbound_entry* e = (struct outbound_entry*)regional_alloc(
830 q->region, sizeof(*e));
831 if(!e)
832 return NULL;
833 e->qstate = q;
834 e->qsent = outnet_serviced_query(w->back, qname,
834 qnamelen, qtype, qclass, flags, dnssec, want_dnssec,
835 qnamelen, qtype, qclass, flags, dnssec, want_dnssec, nocaps,
835 q->env->cfg->tcp_upstream, q->env->cfg->ssl_upstream, addr,
836 addrlen, zone, zonelen, libworker_handle_service_reply, e,
837 w->back->udp_buff);
838 if(!e->qsent) {
839 return NULL;
840 }
841 return e;
842}

--- 105 unchanged lines hidden (view full) ---

948{
949 log_assert(0);
950}
951
952struct outbound_entry* worker_send_query(uint8_t* ATTR_UNUSED(qname),
953 size_t ATTR_UNUSED(qnamelen), uint16_t ATTR_UNUSED(qtype),
954 uint16_t ATTR_UNUSED(qclass), uint16_t ATTR_UNUSED(flags),
955 int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec),
836 q->env->cfg->tcp_upstream, q->env->cfg->ssl_upstream, addr,
837 addrlen, zone, zonelen, libworker_handle_service_reply, e,
838 w->back->udp_buff);
839 if(!e->qsent) {
840 return NULL;
841 }
842 return e;
843}

--- 105 unchanged lines hidden (view full) ---

949{
950 log_assert(0);
951}
952
953struct outbound_entry* worker_send_query(uint8_t* ATTR_UNUSED(qname),
954 size_t ATTR_UNUSED(qnamelen), uint16_t ATTR_UNUSED(qtype),
955 uint16_t ATTR_UNUSED(qclass), uint16_t ATTR_UNUSED(flags),
956 int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec),
956 struct sockaddr_storage* ATTR_UNUSED(addr),
957 int ATTR_UNUSED(nocaps), struct sockaddr_storage* ATTR_UNUSED(addr),
957 socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone),
958 size_t ATTR_UNUSED(zonelen), struct module_qstate* ATTR_UNUSED(q))
959{
960 log_assert(0);
961 return 0;
962}
963
964void

--- 62 unchanged lines hidden ---
958 socklen_t ATTR_UNUSED(addrlen), uint8_t* ATTR_UNUSED(zone),
959 size_t ATTR_UNUSED(zonelen), struct module_qstate* ATTR_UNUSED(q))
960{
961 log_assert(0);
962 return 0;
963}
964
965void

--- 62 unchanged lines hidden ---