Commit Graph

4792 Commits

Author SHA1 Message Date
Andreas Gustafsson
8126e45e8c do dns_request_t cancel processing through a control event to
ensure that dns_dispatch_removeresponse() is called from the correct task
[RT #844]
2001-02-13 02:49:07 +00:00
Brian Wellington
4ce1248f09 fixed uninitialized variable 2001-02-13 01:29:33 +00:00
Brian Wellington
9f708f9014 isc_mem_stats() should print memory statistics even when there are no
allocated blocks at the time it's called.
2001-02-13 01:07:54 +00:00
Brian Wellington
55f3daa4ea When parsing a message, add an offsets table to each name. Also allow callers
rendering a message to get temporary offsets tables to attach to names added
to the message.
2001-02-13 01:02:59 +00:00
Brian Wellington
31efcf6478 Build the offsets table in dns_name_fromwire() while parsing the name, not
by calling set_offsets.
2001-02-13 00:07:25 +00:00
Andreas Gustafsson
ea16b37d71 install refcount.h 2001-02-12 23:11:05 +00:00
Brian Wellington
1f7f8d5c07 Add isc_socket_sendto2() and isc_socket_recv2(). These versions take
a partially constructed event and flags.  The flags can include
ISC_SOCKFLAG_IMMEDIATE, which means that if the operation completes, the
event is filled in and not sent.
2001-02-12 21:43:17 +00:00
Brian Wellington
a13ca8a125 Add ISC_R_INPROGRESS (operation in progress) 2001-02-12 20:03:16 +00:00
Brian Wellington
29daf5bc77 The suffix returned by dns_compress_findglobal() is never used, so remove it. 2001-02-12 18:07:52 +00:00
Brian Wellington
0c264c9094 The prefix and suffix names used in name compression don't need offset tables,
since they're never used.  Not having offset tables makes filling in their
contents more efficient.
2001-02-12 05:22:34 +00:00
Brian Wellington
cdc50af0bf In the towire_* and additionaldata_* routines, add an offsets table to names
passed into dns_name_toregion().  This is effectively free, and reduces the
number of calls to set_offsets() and dns_name_clone() in name compression.
2001-02-12 03:05:05 +00:00
Mark Andrews
9b6398efdf re-do #734 2001-02-12 03:03:40 +00:00
Andreas Gustafsson
6cefb74b2b dns_dispatch_removeresponse() failed to document the
requirement that it is only called from the task where the
response entry being removed delivers its events (Michael
agrees that this is indeed a requirement)
2001-02-11 19:11:52 +00:00
Mark Andrews
4dc2987f47 used the wrong xfr in #734 2001-02-11 02:23:12 +00:00
Brian Wellington
7c3996209b fix a "statement is unreachable" warning 2001-02-11 00:52:31 +00:00
Brian Wellington
7222f9f321 The optimization to avoid compares after hashtable matches didn't work when
the matched node contained multiple labels.
2001-02-10 22:46:24 +00:00
Brian Wellington
82ecc44b96 another micro-optimization. 2001-02-10 02:55:05 +00:00
Brian Wellington
319d2971f1 When the client informs the dispatcher of a received response, have the
dispatcher copy the event instead of reusing the original one.
2001-02-10 02:00:11 +00:00
Brian Wellington
64e7f8541d optimization - if the compression table for a message is empty, don't
hash and look up each label.
2001-02-10 01:18:19 +00:00
Andreas Gustafsson
1d625775ee note that max_size and target_size apply only when
ISC_MEM_USE_INTERNAL_MALLOC is set
2001-02-09 19:19:17 +00:00
Andreas Gustafsson
50179a15d1 UNUSED() 2001-02-09 19:08:11 +00:00
Andreas Gustafsson
dd0ef1a9d3 removed the unused and undocumented functions
isc_mem_preallocate(), isc_mem_valid(), isc_mem_setsplit(), and
isc_mem_restore()
2001-02-09 19:05:23 +00:00
Andreas Gustafsson
c674a8d5e7 documented the isc_mem_* interface 2001-02-09 18:51:20 +00:00
Brian Wellington
1c1f5e1911 The root node was added to the hashtable twice, which could lead to an
infinite loop. [RT #840]
2001-02-09 18:48:57 +00:00
Andreas Gustafsson
780db05762 use the UNUSED() macro 2001-02-09 18:27:18 +00:00
Mark Andrews
e911387be8 redo:
728.   [bug]           Fix comment processing on master file directives.
                        [RT# 757]
2001-02-09 14:34:52 +00:00
Mark Andrews
80aba3d49a 734. [bug] An attempt to re-lock the zone lock could occur if
the zone was shutdown during a zone tranfer. [RT #830]
2001-02-09 06:04:55 +00:00
Brian Wellington
2d6a6174f1 micro-optimizations 2001-02-09 02:13:07 +00:00
Brian Wellington
65bc8f2af8 When assigning a bucket lock to an rbt node, use the hash of the full name,
rather than the hash of the partial name stored in the node.  This more
evenly distributes nodes across locks.

This change only takes effect when DNS_RBT_USEHASH is defined, and also changes
the rbt so that the hashtable is created when the first node is created in the
tree, not after 64 nodes are added.
2001-02-09 01:26:51 +00:00
Andreas Gustafsson
3f53ec3bd7 added missing copyright message; ISC_REFERENCE_H -> ISC_REFCOUNT_H 2001-02-09 00:26:20 +00:00
Andreas Gustafsson
97f26b88f6 removed more needless attaching and detaching of the blackhole ACL 2001-02-09 00:23:16 +00:00
Andreas Gustafsson
b7f7a77d56 #include <isc/mutex.h> 2001-02-09 00:20:01 +00:00
Andreas Gustafsson
a349fd680c removed all code for maintaining a 'goodness' value in the adb,
since it was never used and Michael thinks 'it should probably be removed'.
2001-02-09 00:13:55 +00:00
Andreas Gustafsson
aa23a35d81 733. [bug] Reference counts of dns_acl_t objects need to be
locked but were not. [RT #801]
2001-02-08 23:30:32 +00:00
Bob Halley
22457624d3 deal with 0 TTL glue 2001-02-08 19:14:58 +00:00
Andreas Gustafsson
8ed67113ec there is no need for each dispatch to have a separate reference to
the blackhole list; they can use the blackhole list of the dispatch
manager directly. This eliminates some unsafe unlocked accesses to
the reference count of the blackhole list dns_acl_t object
2001-02-08 18:25:09 +00:00
Mark Andrews
f765672e93 731. [bug] certian zone errors could cause named-checkzone to
fail ungracefully.  [RT #819]
2001-02-08 01:52:33 +00:00
Brian Wellington
91425b5e72 730. [bug] lwres_getaddrinfo() returns the correct result when
it fails to contact a server. [RT #768]
2001-02-08 00:31:21 +00:00
Brian Wellington
1938554ccc consolidate duplicated code 2001-02-08 00:04:11 +00:00
Mark Andrews
df0bcff664 extend change #727 to check returned address length for zero. 2001-02-07 23:40:28 +00:00
Brian Wellington
744304361c actually call isc_thread_setconcurrency() 2001-02-07 21:16:12 +00:00
Andreas Gustafsson
1964de81da UNUSED() macro added in 1.79 was in the wrong place 2001-02-07 20:05:15 +00:00
Andreas Gustafsson
91f74728a7 UNUSED() 2001-02-07 20:03:23 +00:00
Mark Andrews
e880677f63 728. [bug] Fix comment processing on master file directives.
[RT# 757]
2001-02-07 13:24:19 +00:00
Brian Wellington
e618d503ba Remove (now unused) code for handling queries. 2001-02-07 05:11:58 +00:00
Brian Wellington
98c80a3456 do_next_response() was unlinking an event from the wrong list 2001-02-07 03:01:19 +00:00
Brian Wellington
abc0c36dc3 The ISC__BUFFER_INIT macro had a typo. 2001-02-07 01:36:12 +00:00
Andreas Gustafsson
9a3ee1570d "hard" errors in accept() were handled really badly. They were logged
twice, and the socket object for the new socket was never destroyed,
causing the server to hang on exit (if multithreaded) or dump core on exit
(if singlethreaded).  Now the only difference between "hard" and "soft" errors
is that the latter are not logged.
2001-02-06 23:43:01 +00:00
Andreas Gustafsson
8dab78b566 as a workaround for various OS bugs, do not INSIST() that
accept() returns a valid peer address; instead just log an ugly error message
and continue if the peer address is left unchanged or insane by accept()
[RT #809]
2001-02-06 23:04:02 +00:00
Brian Wellington
f96ad6baf5 Only check to make sure that the full number of bytes were sent if the
send operation succeeded.  I'm still not convinced that send_done() works
correctly, but making other changes that look correct causes assertion failures.
2001-02-06 22:54:27 +00:00