3305 lines
		
	
	
		
			133 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			3305 lines
		
	
	
		
			133 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
2012-04-23  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Refine the return values of p_dns_cached_resolve(), p_dns_resolve() and
 | 
						||
	p_recursive_query() so that they distinguish between answers found in
 | 
						||
	the cache and replies obtained by querying other servers.
 | 
						||
	This, among other things, can be used to prevent data that was recently
 | 
						||
	obtained from the cache needlessly being added back to the cache.
 | 
						||
 | 
						||
2012-04-22  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* configure.in
 | 
						||
	On the Linux platform, check if we can compile and link with the
 | 
						||
	-pthread flag instead of linking with -lpthread.
 | 
						||
 | 
						||
2012-04-21  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	When following the delegation chain trying to get an authoritative
 | 
						||
	answer, pdnsd would answer with SERVFAIL if it failed to get a reply
 | 
						||
	from the last server in the chain. Instead pdnsd will now use the last
 | 
						||
	reply in the chain with RCode=0 that raised the AA or RA flag, if there
 | 
						||
	is one.
 | 
						||
 | 
						||
2012-04-19  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	In report_cache_stat(), make copies of volatile data to get a
 | 
						||
	consistent data set before making calculations with cache size and
 | 
						||
	entry numbers.
 | 
						||
 | 
						||
2012-04-16  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/netdev.c
 | 
						||
	If we can't open /proc/net/if_inet6 in is_local_addr() log a warning
 | 
						||
	message.
 | 
						||
 | 
						||
2012-04-15  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	The code checking for duplicate IP addresses obtained from NS records
 | 
						||
	in auth_ok() has been slightly optimized.
 | 
						||
 | 
						||
2012-04-12  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	When resolving nameservers obtained from NS records, allow pdnsd to use
 | 
						||
	more than one IP address per nameserver.
 | 
						||
	In rare cases, using just one IP address for each nameserver will cause
 | 
						||
	unnecessary resolve failures if the address chosen for each nameserver
 | 
						||
	happens to be unreachable while the other addresses would lead to
 | 
						||
	successful resolution, as demonstrated by Yuri Vorobyev.
 | 
						||
 | 
						||
2012-03-16  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	When adding RR records one by one to a cache entry using add_cent_rr(),
 | 
						||
	use the smallest ttl value in case of conflicting ttls.
 | 
						||
	Code for local/nonlocal conflict resolution has been taken out of
 | 
						||
	add_cent_rr_int() and put into add_cent_rr() and cr_check_add()
 | 
						||
	which should be slightly more efficient.
 | 
						||
 | 
						||
2012-03-15  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Enforcing strict RFC 2181 compliance by rejecting all the answers
 | 
						||
	with inconsistent ttl timestamps can cause undesirable resolve failures.
 | 
						||
	I have tried to implement a more compromising solution, whereby
 | 
						||
	inconsistent answers that should be normally rejected are still never
 | 
						||
	cached, but are nevertheless used as intermediary or temporary results
 | 
						||
	if all else fails.
 | 
						||
 | 
						||
2012-03-13  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Fixed a typo in rr_to_cache() that caused pdnsd to fail to compile when
 | 
						||
	configured with the --enable-strict-rfc2181 option.
 | 
						||
	Thanks to Gonzalo L. R. for reporting this problem.
 | 
						||
	Also changed the return value of rr_to_cache() from a simple boolean to
 | 
						||
	an RC code in order to properly distinguish between memory allocation
 | 
						||
	errors and time-stamp inconsistencies.
 | 
						||
 | 
						||
2012-02-21  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	If we have used EDNS in a query and the remote server answered
 | 
						||
	with rcode "format error", try again with the OPT pseudo-record
 | 
						||
	removed from the additional section of the query.
 | 
						||
 | 
						||
	Also fixed a bug in p_exec_query() that caused pdnsd to behave
 | 
						||
	as if every reply with a non-empty additional section contained
 | 
						||
	an OPT record.
 | 
						||
 | 
						||
2012-02-15  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c,src/helpers.c,src/helpers.h,src/icmp.c,
 | 
						||
	  src/ipvers.h,src/main.c,src/netdev.c
 | 
						||
	Introduced a new macro SEL_IPVER() to reduce some of the clutter in the
 | 
						||
	code caused by having to support both IPv4 and IPv6.
 | 
						||
 | 
						||
2012-01-31  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* configure.in
 | 
						||
	Add AM_PROG_CC_C_O line to configure.in to prevent automake warning.
 | 
						||
 | 
						||
2012-01-29  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	In report_cache_stat(), add the average number of bytes used per cache
 | 
						||
	entry when reporting the cache status, as suggested by M. Galabant.
 | 
						||
 | 
						||
2012-01-28  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c,src/dns_query.c
 | 
						||
	Cleaned up the code a bit to avoid warning messages when
 | 
						||
	compiling with '-Wall -Winline' flags.
 | 
						||
 | 
						||
2012-01-18  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conff.c
 | 
						||
	Set the default of the edns_query option to false.
 | 
						||
 | 
						||
2011-07-31  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	Use a slightly more sophisticated merge-sort algorithm in sort_rrl().
 | 
						||
 | 
						||
2011-05-09  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	In compose_answer(), also add an OPT pseudo-RR to the additional section
 | 
						||
	of a NXDOMAIN reply when appropriate.
 | 
						||
 | 
						||
2011-05-08  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c,src/cache.h,src/dns_query.c,src/status.c
 | 
						||
	Make the dns_cent_t struct more compact by putting the fields that are
 | 
						||
	only used for either non-existent or existent domains, but not both,
 | 
						||
	into a union so that these fields can share memory.
 | 
						||
	When saving the cache to file, only write the TTL and time-stamp for
 | 
						||
	a whole domain when it is negatively cached.
 | 
						||
 | 
						||
2011-05-06  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c,src/cache.h,src/dns_query.c
 | 
						||
	At the request of Andrei Caraman, the TTL of a negatively cached domain
 | 
						||
	is now adjusted in accordance with the min_ttl and max_ttl options, just
 | 
						||
	as it is done for (negatively) cached records.
 | 
						||
	Additional change to the TTL policy is that for negative records (and
 | 
						||
	negative domains) the neg_ttl setting overrides min_ttl if
 | 
						||
	neg_ttl < min_ttl.
 | 
						||
 | 
						||
2011-04-26  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c
 | 
						||
	Fixed memory leak that can occur when the configuration file is reloaded
 | 
						||
	and an error is encountered while parsing the definition of a TXT
 | 
						||
	record.
 | 
						||
 | 
						||
2011-03-21  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/make_rr_types_h.pl,src/cache.h,src/cache.c,src/dns_answer.c
 | 
						||
	Introduced arrays rrmuiterlist and rrcachiterlist to make iterating
 | 
						||
	over all possible RR types in a cache entry in strict ascending order
 | 
						||
	a little more efficient.
 | 
						||
 | 
						||
2011-03-09  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c,src/conf-parser.c,src/conf-keywords.h
 | 
						||
	Implemented a new config option "outgoing_ip", which
 | 
						||
	makes it possible to bind outgoing connections to
 | 
						||
	a specific interface.
 | 
						||
 | 
						||
2011-02-21  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/netdev.c
 | 
						||
	Fixed UDP socket descriptors leak in the implementation of
 | 
						||
	is_local_addr() for the FreeBSD platform. Thanks to Ashish Shukla for
 | 
						||
	reporting this bug.
 | 
						||
 | 
						||
2011-02-14  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	In purge_all_rrsets(), also free the rrext array if it has become empty after
 | 
						||
	purging all the RR sets.
 | 
						||
 | 
						||
2011-02-04  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conff.c,src/conff.h,src/conf-parser.c,src/conf-keywords.h,
 | 
						||
	  src/dns_query.c,src/dns_query.h,src/servers.c
 | 
						||
	Changed "edns_query" from a "global" option to a "server"
 | 
						||
	configuration option.
 | 
						||
 | 
						||
2011-02-04  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conff.c,src/conff.h,src/dns_query.c,src/dns_query.h,src/servers.c,
 | 
						||
	  src/conf-parser.c
 | 
						||
	The query uptest sometimes fails because some DNS servers are configured
 | 
						||
	to ignore empty queries. The new config option "query_test_name" makes
 | 
						||
	it possible to query for a specific name instead.
 | 
						||
 | 
						||
2011-02-01  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	When processing a reply from a remote name server which seems to delegate
 | 
						||
	to other name servers, check if the names for which NS records have
 | 
						||
	been supplied have locally defined NS records. If so, the local
 | 
						||
	records will now override those supplied by the remote server.
 | 
						||
 | 
						||
2011-01-31  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c
 | 
						||
	Added support for defining TXT records in the configuration file.
 | 
						||
 | 
						||
2011-01-30  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Do not cache additional records from a response that is rejected because
 | 
						||
	it contains IP addresses in the reject list, even when the reply
 | 
						||
	is processed as a NXDOMAIN reply.
 | 
						||
 | 
						||
2011-01-25  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c
 | 
						||
	Modified the function scan_string() to allow back-slashed escape
 | 
						||
	sequences in strings.
 | 
						||
 | 
						||
2011-01-21  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c,src/dns_query.c,src/conff.h,src/conff.c,
 | 
						||
	  src/conf-parser.c
 | 
						||
	Added support for EDNS (Extension mechanisms for DNS).
 | 
						||
	Currently this is only useful for allowing UDP message sizes
 | 
						||
	to be larger than 512 bytes.
 | 
						||
 | 
						||
2011-01-20  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	To avoid frequent reallocs when composing a DNS reply message,
 | 
						||
	grow the message buffer in multiples of a certain minimum chunk size.
 | 
						||
 | 
						||
2011-01-19  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns.c,src/dns.h,src/dns_answer.c
 | 
						||
	Extended debugging info with DNS-message lengths and flags of incoming
 | 
						||
	messages.
 | 
						||
 | 
						||
2011-01-17  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conff.c,src/conff.h,src/conf-parser.c,src/dns_answer.c
 | 
						||
	Made "ignore_cd" option obsolete. It is now effectively always on.
 | 
						||
 | 
						||
2010-12-27  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c,src/cache.h,src/dns_answer.c,src/dns_query.c,
 | 
						||
	  src/make_rr_types.pl,src/rr_types.in,src/rr_types.c
 | 
						||
	The array of pointers to rr_set_t structs in the dns_cent_t struct
 | 
						||
	contains mostly null pointers in practice, so is somewhat
 | 
						||
	inefficient in storage usage. This problem is exacerbated if we add
 | 
						||
	support for caching more RR-types. To ameliorate to the problem
 | 
						||
	I have decided to split the array in two, with one part fixed in the
 | 
						||
	dns_cent_t struct as before, and an extension part that will be
 | 
						||
	separately allocated, if necessary. If the extension part is used only
 | 
						||
	for very rarely cached types, in most cases the extension array will not
 | 
						||
	need to be allocated thus hopefully saving memory overall.
 | 
						||
	The lookup tables which are necessary to support the new cache entry
 | 
						||
	structure are cumbersome to write by hand, so I have written a perl
 | 
						||
	script to do this automatically. As an additional benefit, which RR
 | 
						||
	types are cache-able is now configurable for each type separately via
 | 
						||
	rr_types.in.
 | 
						||
 | 
						||
2010-03-14  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Using randomized source ports for outgoing queries in IPv6 mode failed
 | 
						||
	with the warning "Out of ports in the range 1024-65535, dropping query!",
 | 
						||
	because the pdnsd tried to bind to the fixed port for incoming queries,
 | 
						||
	instead of the dynamically chosen port. This is a very old bug, but it
 | 
						||
	has only become apparent since source port randomization has become the
 | 
						||
	default.
 | 
						||
	Thanks to Philip-Andr<64> Fillion, Phil Sutter, Radoslaw Szkodzinski and
 | 
						||
	others for reporting this bug and sending patches.
 | 
						||
 | 
						||
2009-12-25  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/status.c,src/status.h,src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	Add a magic number to pdnsd-ctl command codes to guard against
 | 
						||
	possible incompatibility between the pdnsd-ctl utility and the
 | 
						||
	pdnsd server.
 | 
						||
 | 
						||
2009-10-18  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Make root-server discovery a little more fault tolerant, i.e. if some
 | 
						||
	of the root-server names don't resolve don't necessarily reject the
 | 
						||
	whole result.
 | 
						||
 | 
						||
2009-10-17  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/servers.c,src/dns_query.c,src/dns_query.h
 | 
						||
	Implemented automatic root-server discovery, which can now be configured
 | 
						||
	by setting "root_server=discover".
 | 
						||
 | 
						||
2009-06-14  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c,src/consts.c,src/consts.h,src/conf-parser.c
 | 
						||
	Changed the default behaviour of the "neg_rrs_pol" option. The default
 | 
						||
	used to be to only cache records negatively in case the AA (authoritive
 | 
						||
	answer) bit in the reply was set. The new default is to also allow
 | 
						||
	negative caching in case the reply has the RA (recursion available) bit
 | 
						||
	set and the query had the RD (recursion desired) bit set.
 | 
						||
	This gives the behaviour that is usually wanted in case "proxy_only=on"
 | 
						||
	is set without having to set "neg_rrs_pol=on", which can be more
 | 
						||
	problematic. The new default can be explicitly set using
 | 
						||
	"neg_rrs_pol=default". The values "on","off" and "auth" are also
 | 
						||
	still available.
 | 
						||
 | 
						||
2009-06-13  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conff.c,src/conff.h,src/dns_answer.c,src/conf-parser.c,src/conf-keywords.h
 | 
						||
	Included a patch contributed by Andreas Steinmetz that implements a new
 | 
						||
	global configuration option "ignore_cd". pdnsd used to check that the CD
 | 
						||
	bit in the DNS header of queries is zero and return the error code
 | 
						||
	"format error" if it is not. However, considering the meaning of this
 | 
						||
	bit today it appears to be harmless to ignore it, so the new "ignore_cd"
 | 
						||
	is on by default. Setting "ignore_cd=off" gives the earlier strict
 | 
						||
	behavior.
 | 
						||
	Also renamed the the Z1, AU, Z2 bits to correspond with their modern names
 | 
						||
	CD, AD, Z.
 | 
						||
 | 
						||
2008-12-19  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* pdnsd-1.2.7/src/dns_query.c
 | 
						||
	If pdnsd receives a SERVFAIL response with a non-empty answer section,
 | 
						||
	use the information tentatively if no better response is available.
 | 
						||
	The previous behaviour was to discard the reply completely, which could
 | 
						||
	cause failure to resolve some names.
 | 
						||
	Thanks to Rafal Wijata for providing an example involving PowerDNS servers
 | 
						||
	replying with CNAME records.
 | 
						||
 | 
						||
2008-09-01  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	In p_dns_resolve(), try to reduce the burden on root servers further for
 | 
						||
	names ending in "arpa".
 | 
						||
 | 
						||
2008-08-31  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	In p_exec_query(), if the reply from a remote name server is negative
 | 
						||
	(either because the rcode is NXDOMAIN or because the answer section
 | 
						||
	contains no records for the queried name), ignore the remaining records
 | 
						||
	in the answer section (in particular do not add them to the cache).
 | 
						||
 | 
						||
2008-07-29  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conff.c,src/dns_query.c
 | 
						||
	Made the default of the configuration option query_port_start equal to
 | 
						||
	1024.  Also improved the algorithm used by pdnsd to select random source
 | 
						||
	ports to ensure that each (free) port gets an equal chance of being
 | 
						||
	selected.  This should guarantee random source ports in the range
 | 
						||
	1024-65535, making pdnsd less vulnerable to some of the issues described
 | 
						||
	in CERT VU#800113.
 | 
						||
	The old situation, where pdnsd lets the kernel select the source ports,
 | 
						||
	is still available by specifying query_port_start=none.
 | 
						||
 | 
						||
2008-07-25  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Fixed a dangling pointer bug in p_exec_query(), which could cause pdnsd
 | 
						||
	to crash when processing a long reply with many entries in the answer
 | 
						||
	section.
 | 
						||
 | 
						||
2008-05-12  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c,src/conff.c
 | 
						||
	Added a recursive-depth counter to the read_config_file() and
 | 
						||
	confparse() functions to prevent the possibility of infinite
 | 
						||
	recursion when processing include files.
 | 
						||
	In confparse(), warn when in a server section the root_server option is
 | 
						||
	set in combination with policy=simple_only or policy=fqdn_only.
 | 
						||
 | 
						||
2008-05-10  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/ipvers.h
 | 
						||
	Included a patch contributed by Georg Schwarz which selectively undoes
 | 
						||
	a Debian patch contributed by Juliusz Chroboczek on platforms for which
 | 
						||
	the IPV6_RECVPKTINFO macro is not defined (e.g. MacOS X).
 | 
						||
 | 
						||
2008-05-08  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/status.c,src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	The pdnsd-ctl add command can now also be used to define NS records.
 | 
						||
	A wildcard record defined with this command now behaves the same way as
 | 
						||
	one defined in the config file.
 | 
						||
 | 
						||
2008-05-07  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c,src/conf-keywords.h,src/conff.c
 | 
						||
	Added the ability to process "include" sections in the configuration
 | 
						||
	file.  This makes it possible to place local definitions in separate
 | 
						||
	files and include them from the main configuration file.
 | 
						||
 | 
						||
2008-05-05  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conff.c,src/conf-parser.c,src/status.c,src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	Implemented two new pdnsd-ctl commands, which make it easier to add
 | 
						||
	definitions to the pdnsd cache at run time. "pdnsd-ctl include" is
 | 
						||
	similar to "pdnsd-ctl config" but only processes configuration sections
 | 
						||
	that effect the cache and disallows global and server sections.
 | 
						||
	"pdnsd-ctl eval" directly parses its string arguments as if they were
 | 
						||
	part of a configuration (include) file.
 | 
						||
 | 
						||
2007-09-15  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns.h,src/dns_answer.c,src/dns_query.c
 | 
						||
	Changed the declarations of various packed structs, by moving the
 | 
						||
	__attribute__((packed)) specifiers from the field level to the struct level.
 | 
						||
	This was necessary to get the correct value for sizeof(rr_hdr_t) when
 | 
						||
	compiling with gcc for the ARM architecture.
 | 
						||
	Thanks to Dirk Armbrust for reporting the problem and supplying the solution.
 | 
						||
 | 
						||
2007-08-10  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	Applied a Debian patch contributed by Juliusz Chroboczek which
 | 
						||
	reportedly fixes a problem with pdnsd running in IPv6 mode
 | 
						||
	(IPV6_RECVPKTINFO instead of IPV6_PKTINFO).
 | 
						||
 | 
						||
2007-08-04  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	When resolving a name recursively, pdnsd would stop querying further
 | 
						||
	name servers as soon as it received a reply with the authority (aa) flag
 | 
						||
	set. Unfortunately, it appears this flag is sometimes raised erroneously
 | 
						||
	in replies. I have implemented a work-around that ignores the aa flag
 | 
						||
	when there appears to be a clear delegation to a sub-domain.
 | 
						||
	Thanks to Nico Erfurth for reporting this problem.
 | 
						||
 | 
						||
	It appears that pdnsd would also fail to consult servers in the authority
 | 
						||
	section when configured with neg_rrs_pol=on. This has been fixed.
 | 
						||
 | 
						||
2007-08-01  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	Made the matching of pdnsd-ctl command names and most of the arguments
 | 
						||
	case-insensitive.
 | 
						||
 | 
						||
2007-07-22  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	Instead of sharing the responsibility for freeing the answer buffer in
 | 
						||
	case of an error amongst different functions, only free it in
 | 
						||
	compose_answer().
 | 
						||
 | 
						||
	* configure.in, src/Makefile.am, src/test/Makefile.am
 | 
						||
	Merged patch contributed by Pierre Habouzit to deal with CFLAGS the
 | 
						||
	automake way (allowing packagers to override CFLAGS properly).
 | 
						||
 | 
						||
2007-07-21  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	For each target name in a SRV record in the answer section, add
 | 
						||
	addresses to the additional section of the response, as is recommended
 | 
						||
	by the RFCs.
 | 
						||
 | 
						||
2007-07-14  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/list.c,src/list.h
 | 
						||
	Made modifications to the implementation of dynamic arrays, which
 | 
						||
	should ensure proper alignment on all supported architectures.
 | 
						||
 | 
						||
2007-07-10  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* Upgraded pdnsd's license to GPL version 3.
 | 
						||
 | 
						||
2007-07-08  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.h,src/dns_query.c
 | 
						||
	The data field of the rr_bucket_t struct is now aligned such that
 | 
						||
	it possible to use straightforward assignment to copy IP addresses,
 | 
						||
	making memcpy unnecessary for this purpose.
 | 
						||
 | 
						||
2007-07-07  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	If pdnsd fails to connect to a name server using a IPv6 address, it will
 | 
						||
	now retry the connection using a IPv4 address, if available. This allows
 | 
						||
	pdnsd to recover from situations where IPv6 connectivity is temporarily
 | 
						||
	unavailable, but IPv4 connectivity still functions.
 | 
						||
	Thanks to Andreas Ferber for reporting this problem.
 | 
						||
 | 
						||
2007-07-04  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	I have reordered the arguments of the add_rr() and related
 | 
						||
	functions to make them more consistent with each other.
 | 
						||
 | 
						||
2007-07-03  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c,src/hash.c
 | 
						||
	pdnsd will no longer immediately abort in add_dns_hash() if it fails
 | 
						||
	to allocate memory for a new hash entry.
 | 
						||
 | 
						||
2007-07-01  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conff.c,src/conff.h,src/consts.c,src/consts.h,
 | 
						||
	  src/conf-parser.c,src/conf-keywords.h,src/dns_query.c
 | 
						||
	Implemented the new "reject", "reject_policy" and "reject_recursively"
 | 
						||
	options for the server section of the configuration file.
 | 
						||
 | 
						||
	* src/ipvers.h,src/conf-parser.c,src/dns.c,src/status.c,
 | 
						||
	  src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	Allow local AAAA records to be defined even if pdnsd is compiled
 | 
						||
	without --enable-ipv6, provided there is sufficient support in the
 | 
						||
	C libraries and --disable-new-rrs was not used.
 | 
						||
 | 
						||
2007-06-30  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	Previously, when the answer buffer was realloced in add_rr(), an
 | 
						||
	extra 2 bytes used to be reserved, which are unnecessary, as far
 | 
						||
	as I can tell. I have decided to do without these extra 2 bytes,
 | 
						||
	which originate from Thomas Moestl's code. As compensation, I have
 | 
						||
	added extra PDNSD_ASSERT() statements to check that the answer
 | 
						||
	buffer does not overflow.
 | 
						||
 | 
						||
2007-06-27  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/status.c, src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	Extended the pdnsd-ctl 'add a' and 'add aaaa' commands to allow
 | 
						||
	multiple IP addresses to be specified.
 | 
						||
 | 
						||
2007-06-25  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conff.c,src/conff.h,src/conf-parser.c,src/conf-keywords.h,
 | 
						||
	  src/dns_query.c
 | 
						||
	Implemented a new option for the server section of the configuration
 | 
						||
	file: randomize_servers.
 | 
						||
 | 
						||
	* src/servers.c
 | 
						||
	Improved the debug messages in uptest().
 | 
						||
 | 
						||
2007-01-30  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/icmp.c
 | 
						||
	Fixed up the code implementing the ping test in icmp.c,
 | 
						||
	which was broken for 64-bit systems.
 | 
						||
	Thanks to Michael Uleysky for reporting this bug.
 | 
						||
 | 
						||
2007-01-09  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	auth_ok() now returns 1 if the cache entry has the DF_NEGATIVE flag set,
 | 
						||
	without providing a list of authoritative servers to continue querying.
 | 
						||
	Otherwise if we receive a non-authoritative NXDOMAIN reply and pdnsd
 | 
						||
	is configured with neg_domain_pol=on, pdnsd will continue to try to
 | 
						||
	get an authoritative answer. The intention is that pdnsd
 | 
						||
	stops querying as soon as it gets an "unknown domain" answer.
 | 
						||
 | 
						||
2006-04-29  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/main.c
 | 
						||
	pdnsd would segfault if it tried to call log_message() (via the
 | 
						||
	log_warn() and log_error() macros) before the FILE pointer to the debug
 | 
						||
	output stream was properly initialized.
 | 
						||
	Thanks to Thomas Cort for discovering this problem and suggesting a fix.
 | 
						||
 | 
						||
2006-04-09  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c,src/helpers.c,src/conff.h,src/conff.c
 | 
						||
	I have included a patch contributed by Jan-Marek Glogowski, that
 | 
						||
	implements the configuration option "use_nss". With use_nss=off pdnsd
 | 
						||
	will avoid system functions that may use NSS (i.e. initgroups()), which
 | 
						||
	may need DNS for LDAP lookups, which can lead to long timeouts and
 | 
						||
	stalls if pdnsd itself is used for the DNS lookup.
 | 
						||
 | 
						||
2006-03-26  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Negative caching of RR sets is now also supported with lean_query=off.
 | 
						||
 | 
						||
2006-03-25  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c,src/conf-parser.c,src/main.c
 | 
						||
	I have implemented a new query method: udp_tcp. With this method a UDP
 | 
						||
	query is tried first and, if the UDP answer is truncated, the query is
 | 
						||
	repeated using TCP. This is the behaviour that seems to be recommended
 | 
						||
	by the DNS standards. However, pdnsd wil not discard the truncated
 | 
						||
	answer if the TCP requery fails.
 | 
						||
 | 
						||
2006-03-24  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	Previously, pdnsd would add at most one additional A (and AAA) record
 | 
						||
	for each record in the answer and authority sections. At the request of
 | 
						||
	Angel Marin, pdnsd will now add all A and AAA records it can find in the
 | 
						||
	cache for each name that produces additional records.
 | 
						||
 | 
						||
2006-01-02  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	compose_answer() would leak memory if the query contained
 | 
						||
	an unsupported QTYPE or QCLASS. This has now been fixed.
 | 
						||
 | 
						||
2005-12-27  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* configure.in
 | 
						||
	TCP-query support is now compiled in by default.
 | 
						||
	It can still be disabled using the configure option
 | 
						||
	--disable-tcp-queries.
 | 
						||
 | 
						||
2005-12-23  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	Queries received from clients with non-empty answer, authority or
 | 
						||
	additional sections are	now treated as malformed and rejected with
 | 
						||
	rcode 1 (format error).
 | 
						||
 | 
						||
2005-11-06  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c
 | 
						||
	Time intervals in the configuration files can now be expressed in
 | 
						||
	seconds, minutes, hours, days and weeks, using the suffixes
 | 
						||
	s,m,h,d,and w.
 | 
						||
 | 
						||
2005-10-14  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/consts.c
 | 
						||
	In the pdnsd configuration file, true/false and yes/no are now accepted
 | 
						||
	as synonyms for the constants on/off.
 | 
						||
 | 
						||
2005-08-24  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/helpers.c
 | 
						||
	I have fixed a potential buffer overflow problem that could occur with
 | 
						||
	the 'pdnsd-ctl dump' command.
 | 
						||
	In case of the root domain, the function rhn2str() would write 2 bytes
 | 
						||
	to the output buffer even if size==1. Theoretically (under pathological
 | 
						||
	circumstances) this could have allowed the dbuf buffer in the function
 | 
						||
	dump_cent() to overflow by one byte.
 | 
						||
 | 
						||
2005-08-21  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* acconfig.h,src/cache.c,src/conff.c,src/conf-parser.c,src/dns.c,
 | 
						||
	  src/dns_answer.c,src/dns_query.c,src/error.h,src/helpers.c,src/main.c,
 | 
						||
	  status.c
 | 
						||
 | 
						||
	It appears the newer versions of gcc won't convert a pointer to char
 | 
						||
	into a pointer to unsigned char and vice versa without complaining.
 | 
						||
	The changes I have made should get rid of these distracting warning
 | 
						||
	messages. Unfortunately I had to introduce casts in some cases,
 | 
						||
	which reduces type safety :-(.
 | 
						||
 | 
						||
2005-08-16  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns.h
 | 
						||
	Some changes were made to the endianess detection code to
 | 
						||
	address problems on Mac OS X v10.4 Tiger.
 | 
						||
 | 
						||
2005-08-15  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* configure.in
 | 
						||
	Some changes where made to address the reported problems with the
 | 
						||
	configure script on Mac OS X v10.4 Tiger.
 | 
						||
 | 
						||
2005-08-05  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/status.c,src/dns_answer.c
 | 
						||
	The output of the 'pdnsd-ctl status' command now includes some
 | 
						||
	statistics on the number of query threads.
 | 
						||
 | 
						||
2005-07-29  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/main.c
 | 
						||
	It appears that sigwait() can return EINTR under certain conditions.
 | 
						||
	This explains the problems reported by Sanjoy Mahajan with strace
 | 
						||
	and ACPI S3 sleep, which both caused pdnsd to exit prematurely.
 | 
						||
	The return value of sigwait() is now checked and sigwait() is retried
 | 
						||
	if the return value is EINTR.
 | 
						||
 | 
						||
2005-07-04  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	It appears that some servers that do not support recursive queries
 | 
						||
	answer with "query refused" instead of "not supported". The
 | 
						||
	p_exec_query() function now takes that possibility into account.
 | 
						||
 | 
						||
2005-07-01  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	In the processing of queries, I will make a distinction between
 | 
						||
	recoverable errors and non-recoverable ones (typically caused by out of
 | 
						||
	memory conditions). In the case of non-recoverable errors, no attempt to
 | 
						||
	query alternative name servers is made.
 | 
						||
 | 
						||
2005-06-26  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	In p_recursive_query(), as soon as one of the servers in the q list
 | 
						||
	replied "no error" or "name error", only this reply was examined and
 | 
						||
	the other servers in the q list were ignored. Joshua Coombs has brought
 | 
						||
	to my attention that this strategy sometimes fails when this reply is not
 | 
						||
	authoritative and doesn't contain any usable references to name servers
 | 
						||
	in the authority section.
 | 
						||
	I have modified p_recursive_query() to allow pdnsd to continue querying
 | 
						||
	the remaining servers in the q list as long as we haven't received an
 | 
						||
	authoritative answer or usable authority information. This will allow
 | 
						||
	pdnsd to arrive at the correct answer in some cases where it would
 | 
						||
	formerly fail.
 | 
						||
 | 
						||
2005-06-25  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/status.c
 | 
						||
	The "pdnsd dump" command may now also be given an argument
 | 
						||
	consisting of a name beginning with a dot. This will dump information
 | 
						||
	about all names in the cache ending in the given name. An argument
 | 
						||
	consisting of a name without a leading dot will only give information
 | 
						||
	about the exact name, as it did before.
 | 
						||
 | 
						||
2005-06-24  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/servers.c,src/status.c
 | 
						||
	All uptests are now conducted by the server status thread. If a retest
 | 
						||
	is requested via a "pdnsd-ctl server", an existing server status thread
 | 
						||
	is signaled or a new server status thread is spawned if the old one has
 | 
						||
	exited. This has the effect that a "pdnsd-ctl server label retest"
 | 
						||
	command will now return immediately without waiting for the tests to
 | 
						||
	finish.
 | 
						||
 | 
						||
2005-06-20  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c,src/servers.c,src/servers.h
 | 
						||
	At the request of Al-Junaid Walker I have added a new configuration
 | 
						||
	option for the uptest interval. With "interval=ontimeout" the server is
 | 
						||
	not tested at startup/reconfig, or at regular intervals, but only after
 | 
						||
	a DNS query to a server times out. However, once a server is declared
 | 
						||
	dead it is never considered again unless it is revived using a
 | 
						||
	"pdnsd-ctl config" or "pdnsd-ctl server" command.
 | 
						||
 | 
						||
2005-06-19  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/servers.c,src/dns_query.c,src/icmp.c
 | 
						||
	During an uptest the server configuration data is locked. Especially
 | 
						||
	with ping or query uptests of unresponsive servers this means that the
 | 
						||
	execution of "pdnsd-ctl config" or "pdnsd-ctl server" commands can be
 | 
						||
	delayed for a long time (or even time out). I have made modifications
 | 
						||
	that allow a "pdnsd-ctl config" or "pdnsd-ctl server" commands to
 | 
						||
	interrupt pending uptests to allow these commands to proceed without
 | 
						||
	delay in most cases.
 | 
						||
 | 
						||
	* src/thread.h
 | 
						||
	Use the POSIX sigaction() instead of signal() to install signal handlers.
 | 
						||
 | 
						||
2005-06-08  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c,src/dns_query.c
 | 
						||
	I have defined a struct dns_msg_t that includes a message length field.
 | 
						||
	In the case of sending a DNS message over TCP, we no longer need a
 | 
						||
	separate write() call to send the message length. This prevents possible
 | 
						||
	packet fragmentation.
 | 
						||
 | 
						||
2005-06-07  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	The query_method=tcp_udp option only used to work with cooperative name
 | 
						||
	servers, i.e. servers that either send back a TCP reply or explicitly
 | 
						||
	refuse the TCP connection request. This wasn't sufficiently satisfactory
 | 
						||
	in practice, because some name servers are completely unresponsive to TCP
 | 
						||
	connection requests. I have made modifications to allow pdnsd to try UDP
 | 
						||
	queries in case TCP connections time out. When a short server timeout is
 | 
						||
	combined with a global timeout that is at least twice as long, this may
 | 
						||
	allow a query to a name server that only responds to UDP queries to
 | 
						||
	succeed with query_method=tcp_udp.
 | 
						||
 | 
						||
2005-04-20  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c,src/hash.c,src/conff.c,src/status.c,src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	The "pdnsd-ctl empty-cache" command now accepts additional arguments;
 | 
						||
	these are interpreted as include/exclude names. During execution of the
 | 
						||
	command the name of each cache entry is matched against the names in the
 | 
						||
	include/exclude list. If the name ends in a name to be included, the
 | 
						||
	cache entry is deleted, otherwise not.
 | 
						||
	This feature was added at the request of Joshua Coombs.
 | 
						||
 | 
						||
2005-04-19  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c, src/hash.c
 | 
						||
	pdnsd will now (temporarily) unlock the cache between emptying hash
 | 
						||
	buckets, this should allow pdnsd to remain responsive while executing
 | 
						||
	the "pdnsd-ctl empty-cache" command. However, this only applies to DNS
 | 
						||
	queries; pdnsd will not accept any new pdnsd-ctl commands while a
 | 
						||
	pdnsd-ctl command is still running.
 | 
						||
 | 
						||
2005-03-29  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* configure.in, src/hash.h
 | 
						||
	I have added a new configure option --with-hash-buckets=...
 | 
						||
	This makes it possible to specify a different number of
 | 
						||
	hash buckets without editing the source files.
 | 
						||
 | 
						||
2005-03-17  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/error.c
 | 
						||
	When running in both daemon and debug mode, print warning and
 | 
						||
	error messages to debug file as well as the syslog.
 | 
						||
 | 
						||
2005-03-15  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	Only call pthread_setspecific() in debug mode, because
 | 
						||
	pthread_getspecific() is also only used in debug mode.
 | 
						||
	If pthread_setspecific() fails, treat this as a non-fatal error.
 | 
						||
 | 
						||
2005-03-10  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* configure.in
 | 
						||
	On Linux systems the configure script will now try to detect automatically
 | 
						||
	whether the system implements the Native POSIX Thread Library, but
 | 
						||
	the method is not necessarily foolproof.
 | 
						||
 | 
						||
	* src/dns.c
 | 
						||
	Local PTR records generated for resolving numeric IPv6 addresses back into
 | 
						||
	names, are now based on ip6.arpa instead of ip6.int, because the latter domain
 | 
						||
	will be phased out eventually.
 | 
						||
 | 
						||
2005-03-06  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* Makefile.am,src/cache.c
 | 
						||
	Create an empty cache-file at install time and don't complain about empty
 | 
						||
	cache files at start up.
 | 
						||
 | 
						||
2005-02-20  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* acconfig.h,configure.in,src/conf-parser.c,src/conff.h,src/dns.h,
 | 
						||
	  src/dns_answer.c,src/dns_query.c,src/error.h,src/helpers.h,src/icmp.c,
 | 
						||
	  src/ipvers.h
 | 
						||
 | 
						||
	I have applied some changes to the code proposed by Rodney Brown to improve
 | 
						||
	portability. In particular, pdnsd should now compile on the Darwin platform
 | 
						||
	(Apple Mac OS X).
 | 
						||
	To support some of these changes, the source package is now built with a
 | 
						||
	slightly more modern version of autoconf (2.57) and automake (1.6.3).
 | 
						||
 | 
						||
2005-01-29  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns.c,src/dns_answer.c,src/dns_query.c
 | 
						||
 | 
						||
	I have added some extra debug code to make it easier to discover the
 | 
						||
	reason that pdnsd considers a query or reply malformed (format error).
 | 
						||
 | 
						||
2005-01-12  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns.c,src/dns_answer.c,src/dns_query.c
 | 
						||
 | 
						||
	I have extended some debug code contributed by Kiyo Kelvin Lee to dump
 | 
						||
	the data received by pdnsd in debug mode (queries from clients, replies
 | 
						||
	from name servers). Because this will give very verbose debug output,
 | 
						||
	I've arranged it so that this data dump only occurs if pdnsd has been
 | 
						||
	configured and compiled with --with-debug=9 and pdnsd has been called
 | 
						||
	with -v9.
 | 
						||
 | 
						||
	Additionally, in the case that pdnsd rejects a reply from a name server
 | 
						||
	because it is not well formed, I have refined the debug messages to
 | 
						||
	distinguish between format errors due to unexpected truncation and
 | 
						||
	others kinds of format errors.
 | 
						||
 | 
						||
2004-10-30  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/rr_types.c
 | 
						||
	I have included some changes proposed by Joseph Pecquet to address
 | 
						||
	the compilation problems reported by FreeBSD users.
 | 
						||
 | 
						||
2004-10-18  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* acconfig.h,configure.in,src/helpers.c,src/helpers.h,src/dns.h
 | 
						||
	I have merged a patch for CYGWIN support by Kiyo Kelvin Lee into
 | 
						||
	my version of the code.
 | 
						||
 | 
						||
2004-10-15  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	Invalidating local records with the pdnsd-ctl did not work the way the
 | 
						||
	documentation described. An invalidated local record would be always be
 | 
						||
	purged at the next lookup, thus invalidation would practically have the
 | 
						||
	same effect as deletion. An invalidated local record is of no use at all and
 | 
						||
	would occupy space until it is purged during a lookup (but not by purge_cache).
 | 
						||
	The function invalidate_record() now behaves as the documentation describes, i.e.
 | 
						||
	invalidation of local records has no effect.
 | 
						||
 | 
						||
2004-09-27  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* doc/pdnsd.conf.5.in
 | 
						||
	A new man page describing the format of the pdnsd config file has been
 | 
						||
	added to the pdnsd package. I've used a customized Perl script to generate
 | 
						||
	one automatically from the html documentation.
 | 
						||
 | 
						||
2004-09-14  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/hash.c
 | 
						||
	The cache entries in a hash chain are now stored in order of increasing long hash
 | 
						||
	value. The advantage is that if an name is looked up that is not present in the
 | 
						||
	cache, this can be done by comparing with only half (on average) of the number
 | 
						||
	of entries in the hash chain. Not a huge speed up, but still worth while, I think.
 | 
						||
	Additionally, the number of hash computations for each add_cache() call has
 | 
						||
	been halved.
 | 
						||
 | 
						||
2004-09-11  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	insert_rrl() will no longer add local records to the rr_l list, because
 | 
						||
	purge_cache() ignores them anyway.
 | 
						||
 | 
						||
2004-09-08  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns.h,src/cache.c,src/dns_query.c,src/dns_answer.c,src/conf-parser.c
 | 
						||
	I've started using GETINT16,GETINT32,PUTINT16,PUTINT32 macros, which are based
 | 
						||
	on the NS_GET/NS_PUT macros that can be found in the BIND source, instead of memcpy
 | 
						||
	for fetching and storing non-aligned integer data.
 | 
						||
 | 
						||
2004-09-08  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c,src/status.c,src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	New pdnsd-ctl command: "pdnsd-ctl dump" will print information about all the
 | 
						||
	entries contained in the cache.
 | 
						||
	"pdnsd-ctl dump <name>" will only print entries belonging to <name>.
 | 
						||
	The data fields of the more common rr-types will be printed in human readable
 | 
						||
	form, the remaining ones in a hexadecimal representation.
 | 
						||
	With thanks to Dan Jacobson for suggesting this feature.
 | 
						||
 | 
						||
2004-08-31  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c
 | 
						||
	At the suggestion of Dan Tihelka, I have expanded to the server_ip= option
 | 
						||
	to allow the name of an interface to be specified instead of an IP address.
 | 
						||
	pdnsd will not bind to the interface name, but will lookup the address the
 | 
						||
	interface has at start up, and listen on that address. If the address
 | 
						||
	of the interface changes while pdnsd is running, pdnsd will not notice that.
 | 
						||
 | 
						||
2004-08-30  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.h,src/cache.c
 | 
						||
	I've reversed the meaning of the CF_NOAUTH and renamed it CF_AUTH.
 | 
						||
	I've also added a domain level flag DF_AUTH, which is used to
 | 
						||
	mark cache entries obtained from authoritave replies in response to
 | 
						||
	a query of type * (all)..
 | 
						||
 | 
						||
2004-08-30  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	I've changed the format of the cache file. A typical cache entry has empty
 | 
						||
	sets for most RR types (even more if DNS_NEW_RRS is defined). In the old
 | 
						||
	format, each empty RR set was represented by a zero byte.
 | 
						||
	In the new format only non-empty sets are respresented, leading
 | 
						||
	to a (modest) reduction is size.
 | 
						||
 | 
						||
2004-08-28  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c
 | 
						||
	New option for "rr" sections in the config file: reverse=on/off.
 | 
						||
	If you want a locally defined name to resolve to a numeric address and vice
 | 
						||
	versa, you can now achieve this by setting reverse=on before defining the
 | 
						||
	A record, making it unnecessary to define a seperate PTR record for the reverse
 | 
						||
	resolving.
 | 
						||
 | 
						||
2004-08-20  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.h,src/cache.c,src/conf-parser.c,src/dns_query.c
 | 
						||
	At the request of Daniel Black, I have added support for defining local wildcard records
 | 
						||
	in pdnsd. The only type supported presently is records beginning with '*.'.
 | 
						||
 | 
						||
2004-08-10  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/hash.c,src/cache.c,src/dns_query.c,src/dns_answer.c
 | 
						||
	Sampo Lehtinen has remarked that pdnsd sometimes failed to resolve classless
 | 
						||
	reversed-delegated IP addresses, and that this has something to do with the fact
 | 
						||
	that pdnsd did not accept '/' characters in domain names. After reading Sampo's
 | 
						||
	and Thomas' remarks, and also rfc2317 and some of the rfc's referenced in rfc2317,
 | 
						||
	I decided pdnsd should place no restrictions at all on the types of characters it
 | 
						||
	allows in domain names, only on the lengths of the byte sequences.
 | 
						||
	This led me to make some quite extensive internal changes to pdnsd. Among other
 | 
						||
	things domain names are now stored in transport format (sequences of bytes preceded
 | 
						||
	by length bytes) instead of C strings. This is also more efficient because there
 | 
						||
	is no need any more to convert from one representation to the other, except when
 | 
						||
	reading the config file, interacting with pdnsd-ctl or running in debug mode.
 | 
						||
	Conversion between the two representations isn't always possible, though.
 | 
						||
	For example, domain names in transport format might contain non-printable characters.
 | 
						||
	These are now printed as escape sequences (three octal digits preceded by a back slash).
 | 
						||
	Presently there are still restrictions on the characters in the domain names that can
 | 
						||
	be defined in local records. I doubt this will ever be considered a problem.
 | 
						||
 | 
						||
2004-08-02  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	The code for handling NXT records was flawed. A response from a remote server
 | 
						||
	containing NXT records (even well-formed ones) could cause pdnsd to crash.
 | 
						||
	The code for handling NAPTR records contained incorrect PDNSD_ASSERT statements,
 | 
						||
	which could cause pdnsd to abort unnecessarily.
 | 
						||
 | 
						||
2004-07-25  Paul A. Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/list.h,src/list.c,src/dns.c,src/dns_query,src/dns_answer.c
 | 
						||
	I've noticed that some of the (dynamic) arrays that pdnsd uses are quite sparse.
 | 
						||
	Instead of using an array structure with elements that are large enough to contain
 | 
						||
	the largest possible domain name, I've implemented a "list" data structure that
 | 
						||
	is more compact. The elements of a list can only be accessed sequentially from
 | 
						||
	beginning to end, but it allows more efficient memory use in case the names are
 | 
						||
	significantly shorter that the maximum.
 | 
						||
 | 
						||
2004-07-22  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c
 | 
						||
	I've expanded pdnsd's configuration options by adding support in pdnsd for reading
 | 
						||
	/etc/resolv.conf style files. Instead of specifying IP addresses in a server section,
 | 
						||
	the option "file=<filename>" can be used.
 | 
						||
	The IP addresses in the lines beginning with "nameserver" will be added to
 | 
						||
	the list of address for that section, the remaining lines will be ignored.
 | 
						||
	To avoid the possibility that pdnsd will query itself, local addresses are skipped
 | 
						||
	(unless pdnsd is configured to listen on a different port number).
 | 
						||
 | 
						||
2004-07-21  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.h,src/cache.c,src/dns_query.c,src/conf-parser.c
 | 
						||
	New option for "server" sections in the config file: root_server=on/off.
 | 
						||
	In case a server section contains only addresses of root servers, which
 | 
						||
	usually only give the nameservers of top level domains in their reply,
 | 
						||
	setting root_server=on will enable certain optimizations. This involves using
 | 
						||
	cached information to reduce queries to the root servers, thus speeding up
 | 
						||
	the resolving of new names. This option is also necessary to make the
 | 
						||
	delegation_only option work in combination with root servers.
 | 
						||
 | 
						||
2004-07-16  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c,src/status.c,src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	New pdnsd-ctl command: "pdnsd-ctl empty-cache" will make pdnsd delete its entire
 | 
						||
	cache, freeing all entries. This is useful for debugging purposes, or in situations
 | 
						||
	where you suspect that stale cache entries are causing you problems, but you are not
 | 
						||
	sure which ones.
 | 
						||
 | 
						||
2004-07-11  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c,src/dns_query.c
 | 
						||
	I've removed the use of the function add_cache_rr_add(), which was used to
 | 
						||
	add additional RR records to the cache one at a time. I've changed the code
 | 
						||
	in dns_query.c such that additional (or off-topic) records are first collected
 | 
						||
	in arrays of dns_cent_t structures, and then added to the cache using add_cache().
 | 
						||
	With this approach only one function, viz. add_cache(), is used for adding
 | 
						||
	new entries to the cache, which I believe leads to a cleaner programming
 | 
						||
	interface. Added benefit is that query serial numbers are no longer
 | 
						||
	necessary.
 | 
						||
 | 
						||
2004-07-10  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.h,src/cache.c,src/dns_query.c,src/dns_answer.c
 | 
						||
	I've added two new field to the dns_cent_t struct, namely c_ns and c_soa.
 | 
						||
	These will be used to remember references to NS and SOA records in the authority
 | 
						||
	sections of replies from remote name servers.
 | 
						||
	This information can be used by pdnsd to fill in the authority section of its
 | 
						||
	own reply.
 | 
						||
 | 
						||
2004-06-25  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c,src/servers.c,src/consts.c
 | 
						||
	I've added an new server availability test which can be selected with "uptest=query".
 | 
						||
	This can be useful as an alternative to "uptest=ping" in case the remote server does not
 | 
						||
	respond to ICMP_ECHO requests at all, which unfortunately is quite common these days.
 | 
						||
	"uptest=query" causes pdnsd to send an empty query to remote nameservers. Any well-formed
 | 
						||
	response (apart from SERVFAIL) within the timeout period will be interpreted as a sign that the
 | 
						||
	server is "up".
 | 
						||
	In a sense this new availability test can actually be considered more reliable than the
 | 
						||
	other ones that pdnsd supports.
 | 
						||
	With thanks to Juliusz Chroboczek for suggesting this feature.
 | 
						||
 | 
						||
2004-06-24  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/helpers.c
 | 
						||
	Don't use getpwnam() while we are multi-threaded, because it returns a pointer to
 | 
						||
	a statically allocated structure. I will use getpwnam_r() instead, which is thread
 | 
						||
	safe. Unfortunately there seem to be some portability problems with getpwnam_r().
 | 
						||
	For those platforms that lack getpwnam_r(), I will keep the old code with getpwnam()
 | 
						||
	as an alternative.
 | 
						||
 | 
						||
2004-06-23  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/servers.c
 | 
						||
	Check that the number of IP addresses in a server section is nonzero before
 | 
						||
	testing servers for availability. Otherwise pdnsd could crash in debug mode.
 | 
						||
 | 
						||
2004-06-21  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conff.c,src/conf-parser.c,src/status.c,src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	New pdnsd-ctl command: "pdnsd-ctl config" will make pdnsd re-load its configuration file.
 | 
						||
	In most cases (but there are still some exceptions) this is preferable
 | 
						||
	to restarting pdnsd after making changes to the configuration file.
 | 
						||
	An important advantage is that there should be no perceptible interruption in the dns service
 | 
						||
	when using the reload command.
 | 
						||
	An alternative config file can be specified with "pdnsd-ctl config <filename>".
 | 
						||
 | 
						||
2004-05-31  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c,src/dns_query.c,src/dns_query.h
 | 
						||
	I've made an adjustment to p_recursive_query() and related functions, so that
 | 
						||
	when pdnsd chases name servers in pursuit of authoritative records, it avoids
 | 
						||
	all the name servers already queried for the same name in the recursive calling
 | 
						||
	chain, not just the servers most recently used.
 | 
						||
	Although the hops counter will already break any possible cycles, this will
 | 
						||
	allow pdnsd to detect pathological cycles earlier and waste less resources.
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	In add_cache(), don't add empty entries to the cache. Empty cache entries
 | 
						||
	waste memory and are more persistent than non-empty ones, because purge_cache()
 | 
						||
	cannot get rid of them.
 | 
						||
 | 
						||
2004-05-30  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c,src/dns_query.c,src/icmp.c,src/netdev.c
 | 
						||
	I've removed the calls to getprotobyname() and used the constants IPPROTO_TCP
 | 
						||
	and IPPROTO_UDP instead. First of all, it doesn't seem very efficient to call
 | 
						||
	a function repeatedly to look up the same well-known protocol numbers.
 | 
						||
	More importantly, getprotobyname() stores its results in a statically-allocated
 | 
						||
	structure and thus cannot be considered thread safe. (getprotobyname_r()
 | 
						||
	is thread safe, but is not portable.)
 | 
						||
 | 
						||
2004-05-27  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	I've noticed that when pdnsd is restarted shortly after it has answered a TCP
 | 
						||
	query, it is often not able to bind to the TCP socket again, resulting in a
 | 
						||
	disabled TCP server thread. The solution appears to be to set the SO_REUSEADDR
 | 
						||
	socket option before binding the socket. This allows you to use the same port even
 | 
						||
	if it is busy (in the TIME_WAIT state).
 | 
						||
	I found the code for this in a patch file from an old Debian package.
 | 
						||
 | 
						||
2004-05-20  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Joseph Pecquet has reported that version 1.1.11 does not compile under FreeBSD v4.x
 | 
						||
	because the macro ENONET is undefined. I've bypassed the problem by surrounding
 | 
						||
	the case line using this value with conditional preprocessor directives.
 | 
						||
 | 
						||
2004-05-08  Paul  Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/rc/Slackware/rc.pdnsd
 | 
						||
	I've included a Slackware start-up script contributed by Nikola Kotur.
 | 
						||
 | 
						||
2004-05-05  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* doc/pdnsd.8
 | 
						||
	I'm very grateful to Mahesh T. Pai for contributing a pdnsd man page,
 | 
						||
	which was still missing up till now.
 | 
						||
 | 
						||
2004-04-30  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/servers.c,src/dns_query.c
 | 
						||
	After considering some suggestions made by Juliusz Chroboczek I have made the
 | 
						||
	following changes:
 | 
						||
 | 
						||
	- After receiving a reply from a remote server mark the server up and update the
 | 
						||
	timestamp so that pdnsd doesn't bother testing this server for availability for a
 | 
						||
	while.
 | 
						||
	- After detecting an error with an send/recv call that indicates a server is
 | 
						||
	unavailable, mark a server down so that pdnsd doesn't bother testing this server
 | 
						||
	for a while.
 | 
						||
	- After server timeouts, uptests are never performed by a query/answer thread,
 | 
						||
	because this may delay the sending of an answer to the client. Instead the
 | 
						||
	timestamp of a server that needs to be tested for availability is set to zero and
 | 
						||
	a condition signal is sent to alert the server status thread, which will carry out
 | 
						||
	the test. Unresponsive servers with uptest=ping will not be marked down
 | 
						||
	immediately any more, but only after the ping test has definitely failed.
 | 
						||
 | 
						||
	* src/error.c,src/error.h
 | 
						||
	I've moved most of the code previously contained in the DEBUG_MSG macro to a new
 | 
						||
	function debug_msg().
 | 
						||
	The DEBUG_MSG macro now simply expands to "if(debug_p) debug_msg();".
 | 
						||
	This should make the executable a little smaller, and be just as fast when
 | 
						||
	debugging is off. The DEBUG_MSG macro still expands to nothing if pdnsd is built
 | 
						||
	without debugging support.
 | 
						||
 | 
						||
2004-04-28  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.h,src/dns_query.c
 | 
						||
	I've tried to simplify the finite state machine used for processing parallel
 | 
						||
	queries, by merging the "state" and "nstate" variables used by p_exec_query() and
 | 
						||
	p_query_sm() resp. into one "state" variable.
 | 
						||
	By introducing an extra field "iolen" to keep track of the number of bytes read
 | 
						||
	from or written to a socket, I could also reduce the number of states for TCP
 | 
						||
	queries. The new code has the additional advantage that it can handle situations
 | 
						||
	that require multiple read() calls to receive a response.
 | 
						||
 | 
						||
2004-04-14  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	I've added an extra check comparing the number if poll/select events actually
 | 
						||
	handled to the return value of poll/select. This should reduce the chance that
 | 
						||
	pdnsd will get caught in a busy spin due to unknown remaining bugs. An error
 | 
						||
	message is logged and an error code is returned when this comparison fails.
 | 
						||
 | 
						||
2004-04-13  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.h,src/dns_query.c
 | 
						||
	I got rid of the event field in the query_stat_t struct.
 | 
						||
	I think it is redundant, because its value can be quite simply derived from
 | 
						||
	the nstate field.
 | 
						||
 | 
						||
2004-04-12  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	I appears there was flaw in the code for handling a "Not Implemented" response
 | 
						||
	from a remote server with the RA (recursion available) bit equal to zero. This
 | 
						||
	could cause pdnsd to get into a busy spin. I traced the flaw back to Thomas
 | 
						||
	Moestl's code, so it must be in all the versions of pdnsd I know of. In previous
 | 
						||
	versions of pdnsd the busy spin would eventually time out. Due to some recent
 | 
						||
	changes the loop would no longer time out, making the bug more noticeable.
 | 
						||
	With thanks to Nicolas George for reporting the bug.
 | 
						||
 | 
						||
	I also discovered a closely related flaw that would cause pdnsd to poll() closed
 | 
						||
	file descriptors. It usually works out OK in practice, but it is definitively not
 | 
						||
	the correct way to do it.
 | 
						||
 | 
						||
	Additionally, I discovered some opportunities to save memory, e.g. by replacing
 | 
						||
	the nsname buffer in the query_stat_t struct by a pointer to an already existing
 | 
						||
	copy of a name.
 | 
						||
 | 
						||
2004-04-10  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	Nicolas George remarked that he thought it was strange that subdomains of domains
 | 
						||
	negated with "neg" sections in the config file were not also negated. I thought that
 | 
						||
	he had a point, and I've implemented a change so that negating example.com will
 | 
						||
	now also negate www.example.com, xxx.adserver.example.com, etc.
 | 
						||
 | 
						||
2004-04-09  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/error.c,src/error.h
 | 
						||
	I noticed that the code for the log_warn() and log_error() functions was almost
 | 
						||
	identical, even to the point that log_warn() called syslog() with LOG_ERR
 | 
						||
	priority. I've merged these two functions into one log_message() function.
 | 
						||
 | 
						||
2004-04-08  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/main.c,src/conf-parser.c
 | 
						||
	The -4 and -6 command-line options should now work as advertised.
 | 
						||
	This wasn't entirely trivial. The rule is that options on the command line
 | 
						||
	override those in the configuration file. The easiest way to implement this is to
 | 
						||
	process the command-line options after reading the configuration file. But this
 | 
						||
	doesn't work for the -4 and -6 options, because the run_ipv4 flag determines how
 | 
						||
	IP addresses in the config file are parsed. I've inserted some extra tests and
 | 
						||
	warning messages that will hopefully make this setting nearly foolproof.
 | 
						||
 | 
						||
	I've added two new command-line options, "-a" and "-i <prefix>".
 | 
						||
	With the -a flag pdnsd will try to detect automatically if IPv6 support is
 | 
						||
	available on a system, and fall back to IPv4 if not. The -a flag can be used
 | 
						||
	instead of -4 or -6.
 | 
						||
 | 
						||
	In IPv6 mode, pdnsd will now automatically convert IPv4 addresses to IPv6-mapped
 | 
						||
	addresses. The -i option can be used to specify a prefix for this mapping. The
 | 
						||
	default is ::ffff.0.0.0.0
 | 
						||
	There is also a corresponding ipv4_6_prefix= option for the config file.
 | 
						||
 | 
						||
	In IPv4 mode, if IPv6 support is compiled in, pdnsd will now skip IPv6 addresses
 | 
						||
	in the config file (except for the server_ip and ping_ip options) with a warning
 | 
						||
	message. This allows you to have mixed sets of IPv4 and IPv6 address in the same
 | 
						||
	config file, although in IPv4 mode some server sections may become inactive.
 | 
						||
 | 
						||
	With thanks to Juliusz Chroboczek for suggesting these changes.
 | 
						||
 | 
						||
2004-04-07  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	I've changed some of the cache-flag definitions to make debugging a little simpler.
 | 
						||
	Unfortunately, this makes the cache files of previous pdnsd versions incompatible
 | 
						||
	with the new one. I've introduced a cache version identifier to be added at the
 | 
						||
	beginning of each cache file. This enables pdnsd to recognize and discard
 | 
						||
	incompatible cache files.
 | 
						||
 | 
						||
2004-04-05  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.h,src/cache.c
 | 
						||
	I've changed the way CACHE_LAT (cache latency, normally 120 secs) is used to
 | 
						||
	determine whether a cache entry has timed out. Instead of simply adding it to the
 | 
						||
	ttl (time to live), I use CACHE_LAT if the ttl is less then CACHE_LAT, else the
 | 
						||
	ttl itself, making CACHE_LAT the minimum ammount of time a cache entry stays in
 | 
						||
	the cache.
 | 
						||
 | 
						||
2004-04-02  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	I've introduced a global timeout parameter. This is the minimum period of time
 | 
						||
	pdnsd will wait after sending the first query to a remote server before giving
 | 
						||
	up without having received a reply.
 | 
						||
	The timeout options in the configuration file are now only minimum timeout intervals.
 | 
						||
	Setting the global timeout option makes it possible to specify quite short timeout
 | 
						||
	intervals in the server sections. This will have the effect that pdnsd will start
 | 
						||
	querying additional servers fairly quickly if the first servers are slow to respond
 | 
						||
	(but will still continue to listen for responses from the first ones).
 | 
						||
	This may allow pdnsd to get an answer more quickly in certain situations.
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	When receiving a NXDOMAIN (unknown domain) response from a remote name server,
 | 
						||
	I think it is still useful to process the authority and additional sections,
 | 
						||
	so that pdnsd can possibly add a SOA record to its own response.
 | 
						||
 | 
						||
2004-04-01  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	In p_recursive_query(), I've slightly changed the way pdnsd does parallel
 | 
						||
	queries. Active queries or not canceled until we have received a useful response
 | 
						||
	from a remote name server, or all the queries have failed or timed out.
 | 
						||
	Thus the par_queries parameter is no longer the maximum number of parallel
 | 
						||
	queries, but rather the increment with which the number of parallel queries is
 | 
						||
	increased when the previous set has timed out.
 | 
						||
	In the worst case all the servers in the list of available servers will be queried
 | 
						||
	simultaneously. We may be wasting more system resources this way, but the advantage
 | 
						||
	is that we have a greater chance of catching a reply.
 | 
						||
	After all, if we wait longer anyway, why not for more servers.
 | 
						||
 | 
						||
2004-03-31  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	I've noticed that in compose_answer() that while adding the name in the query
 | 
						||
	section it was not passed through compress_name(). While it is true that the
 | 
						||
	first name occurrence cannot be compressed, it is still sensible to process the
 | 
						||
	query name with compress_name() so that the offset can be stored and provide
 | 
						||
	additional opportunities for future compressions.
 | 
						||
	I've tested this with dig and the responses of pdnsd are now usually a little
 | 
						||
	smaller	in size or can hold more information within the 512 byte limit.
 | 
						||
 | 
						||
2004-03-30  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	I've noticed that pdnsd stored rr records (of the same type) in reverse order
 | 
						||
	in the cache.
 | 
						||
	Although I don't see anything inherently wrong with that, I think it's neater to
 | 
						||
	store them in the order they are processed.
 | 
						||
 | 
						||
2004-03-29  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	I've rearranged the order of the arguments of some of the functions in cache.c
 | 
						||
	to obtain a more consistent calling interface.
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	I've noticed that pdnsd would only add NS records to an authority section if it could
 | 
						||
	find such records matching the queried name (or the last CNAME in the answer) exactly.
 | 
						||
	However, I understand that a server should try to give NS records as close as possible
 | 
						||
	to the target name in the naming hierarchy.
 | 
						||
	I also understand that if a domain name is reported as nonexisting, or no record of
 | 
						||
	the requested type exists, it is customary to provide a SOA record, searching up the
 | 
						||
	name hierarchy if necessary.
 | 
						||
	I've tried to implement this in compose_answer(), although with some limitations.
 | 
						||
	I only look in the cache, I don't search more then three levels up, and stop before
 | 
						||
	the top level.
 | 
						||
 | 
						||
2004-03-28  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c,src/dns_answer.c
 | 
						||
	There were some issues with add_cache_rr_add().
 | 
						||
 | 
						||
	First of all, the way it was used in rr_to_cache() (or rather not used) meant
 | 
						||
	that if an "off topic" record was added for a name that lacked an entry in the
 | 
						||
	cache, the rr set would be created with an incorrect serial number (namely zero).
 | 
						||
	I've rewritten add_cache_rr_add so that it can create new cache entries if necessary.
 | 
						||
	This simplifies the code in rr_to_cache() and ensures correct serial numbers.
 | 
						||
 | 
						||
	Secondly, in add_cache_rr_add() the ttl was compared with that of an existing rrset
 | 
						||
	without adjusting for the min_ttl and max_ttl options. This could lead to all the
 | 
						||
	previous records being deleted, retaining only the last one.
 | 
						||
 | 
						||
2004-03-27  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	In compose_answer(), if the rd (recursion desired) bit is set in the query
 | 
						||
	and the response contains a CNAME record (while a different type of record was
 | 
						||
	requested), always do a recursive query on the CNAME, even if we have already
 | 
						||
	added a record of the requested type to the response.
 | 
						||
	Failing to honor the rd bit will cause some resolver libraries to complain,
 | 
						||
	even if the answer contains a record of the requested type.
 | 
						||
 | 
						||
	I've slightly changed the calling interfaces of add_to_response() and add_rrset()
 | 
						||
	to make them more consistent and efficient.
 | 
						||
 | 
						||
	In add_rrset() I've fixed a memory leak on one of the error paths.
 | 
						||
 | 
						||
	In add_additional_rr(), the return value of add_rr() was not checked.
 | 
						||
	If add_rr() fails, it will free *ans, and functions higher up the calling
 | 
						||
	chain could be referencing freed memory.
 | 
						||
 | 
						||
	I've fixed a potential referencing of freed memory or double freeing in add_additional_a().
 | 
						||
	If a call of add_additional_rr() fails, it will free *ans.
 | 
						||
	Previously, add_additional_rr() could be called a second time, in which case
 | 
						||
	the second call would be referencing freed memory or freeing it a second time..
 | 
						||
 | 
						||
2004-03-23  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* configure.in, src/Makefile.in,src/pdnsd-ctl/Makefile.in,src/test/Makefile.in
 | 
						||
	Fr<46>d<EFBFBD>ric L. W. Meunier has reported that configure --srcdir option (for building
 | 
						||
	in directory separate from the source directory) was broken.
 | 
						||
	Should be fixed now.
 | 
						||
 | 
						||
2004-03-20  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c,src/dns_query.c,src/helpers.c,src/icmp.c,src/main.c,src/netdev.c,src/ipvers.h,src/test/if_up.c,src/test/is_local_addr.c,src/test/tping.c,src/test/random.c,src/conf-parser.c
 | 
						||
	I've eliminated the global variable run_ipv6 from the code.
 | 
						||
	Enabling both the IPv4 and IPv6 protocols at the same time is not supported
 | 
						||
	in pdnsd, so the value of run_ipv6 (if it is defined) is simply !run_ipv4.
 | 
						||
 | 
						||
	* src/dns.c,src/test/is_local_addr.c,src/test/tping.c
 | 
						||
	It appears the option to compile pdnsd without IPv4 support (i.e. only IPv6
 | 
						||
	support) was broken. Should be fixed now.
 | 
						||
 | 
						||
2004-03-19  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	I've discovered an incorrect use of cache locks in lookup_cache().
 | 
						||
	We only read locks in place, it is possible for purge_cent() to delete a cache
 | 
						||
	entry while another thread is trying to read it at the same time, which could
 | 
						||
	lead to	trouble. I've rewritten purge_cent() so that it can be used to test
 | 
						||
	whether something needs to be purged without actually deleting anything.
 | 
						||
	If something needs to be deleted, purge_cent() will be called again with
 | 
						||
	the proper read/write locks in place, excluding access to the cache for all
 | 
						||
	other threads.
 | 
						||
 | 
						||
2004-03-18  Paul Rombouts  <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	I've added a new function sort_rrl() for sorting the rr_l list using a merge-sort
 | 
						||
	algorithm. Usually the insertion sort used by insert_rrl() is good enough, because
 | 
						||
	new entries belong near the end most of the time. Reading entries from disk forms
 | 
						||
	an exception, though, because the rrsets in the file are completely out of order
 | 
						||
	w.r.t. timestamps, leading to quadratic time complexity of the insertion sort method.
 | 
						||
	In that case it should be faster to simply append items at the end of the rr_l list
 | 
						||
	and sort using a more efficient algorithm afterwords.
 | 
						||
	pdnsd now seems to start up noticeably faster when reading large cache files.
 | 
						||
	I've also considered using a more sophisticated data structure than a doubly linked
 | 
						||
	list, but this will add considerable complexity to the code and use more memory.
 | 
						||
 | 
						||
2004-03-13  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	Changed a declaration in udp_answer_thread() so that the buffer used for passing
 | 
						||
	control messages on to sendmsg() is exactly the right size, instead of an arbitrary
 | 
						||
	512 bytes.
 | 
						||
	Also initialized the msg_flags of the struct msghdr passed on to sendmsg() to zero,
 | 
						||
	to keep Valgrind from complaining about uninitialized bytes.
 | 
						||
 | 
						||
2004-03-12  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/icmp.c
 | 
						||
	Fixed an incorrect call to select() in ping4(). A file descriptor set for detecting
 | 
						||
	exceptions was initialized but not passed on to select(). This would lead subsequent
 | 
						||
	code always to behave as if an IO exception had occurred.
 | 
						||
	Valgrind seems to indicate that when a poll() call times out and returns 0,
 | 
						||
	the revents field of the struct pollfd is not necessarily set.
 | 
						||
	I've changed the code to check that the return value is > 0 before examining the
 | 
						||
	revents field.
 | 
						||
 | 
						||
2004-02-06  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parser.c,src/conf-parser.h,src/conf-keywords.h
 | 
						||
	I've rewritten the parser for the configuration file in C from scratch.
 | 
						||
	(f)lex and yacc/bison are no longer needed to build pdnsd.
 | 
						||
 | 
						||
2004-01-16  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/main.c
 | 
						||
	Load the cache from disk without locking cache access because pdnsd
 | 
						||
	is still single-threaded at that point.
 | 
						||
 | 
						||
2004-01-15  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c,src/hash.c
 | 
						||
	Moved the responsibility for freeing the cache entries referred by
 | 
						||
	the hash buckets from destroy_cache() to free_dns_hash() (which is called
 | 
						||
	by destroy_cache()). Previously, the cache and hash tables were already
 | 
						||
	completely destroyed by the time free_dns_hash() was called, and there was
 | 
						||
	nothing left for free_dns_hash() to free.
 | 
						||
 | 
						||
2004-01-14  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/hash.c,src/make_hashconvtable.c
 | 
						||
	The hash conversion table is now generated at build time instead
 | 
						||
	of at run time when pdnsd is started up.
 | 
						||
 | 
						||
2004-01-13  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns.c
 | 
						||
	In add_host() fixed incorrect generation of IPV6 type of name for PTR record
 | 
						||
	due to use of && instead of & as masking operator.
 | 
						||
 | 
						||
2004-01-13  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/icmp.c, src/dns_answer.c
 | 
						||
	Use unsigned long instead of int error counters to reduce the danger
 | 
						||
	of wraparound.
 | 
						||
 | 
						||
2004-01-06  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/main.c,src/thread.c,src/thread.h,src/server.c,src/status.c,src/dns_answer.c
 | 
						||
	Initialize a global thread attribute object in main.c and use it to create all the detached
 | 
						||
	threads, instead of initializing a separate attribute object for each new thread.
 | 
						||
 | 
						||
2004-01-06  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	Check the return value of pthread_create() in udp_server_thread()
 | 
						||
	and tcp_server_thread() to ensure that a new answer thread has actually
 | 
						||
	been created and free resources if not.
 | 
						||
 | 
						||
2004-01-04  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/helpers.c,src/cache.c,src/conff.c,src/status.c
 | 
						||
	Stop writing to control socket after an error has been detected.
 | 
						||
 | 
						||
2004-01-03  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	Tried to make the error messages of pdnsd-ctl more helpful.
 | 
						||
	The complete usage description is now only printed if the 'help' command
 | 
						||
	is used. For problems with other commands a much shorter message is generated
 | 
						||
	specific for that command.
 | 
						||
 | 
						||
2004-01-02  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/helpers.h
 | 
						||
	Changed the definition of rhnlen(). For valid data this will make no difference,
 | 
						||
	but it may change the behaviour of pdnsd in certain error situations.
 | 
						||
 | 
						||
2004-01-02  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns.c
 | 
						||
	Optimized compress_name() some more.
 | 
						||
 | 
						||
2004-01-02  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	Additional code cleanup in compose_answer().
 | 
						||
 | 
						||
2004-01-01  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* doc/pdnsd-ctl.8
 | 
						||
	Updated the pdnsd-ctl man page.
 | 
						||
 | 
						||
2003-12-31  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	Cleaned up some code.
 | 
						||
 | 
						||
2003-12-31  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/status.c,src/conff.h,src/conff.c
 | 
						||
	Some further code cleanup in status.c.
 | 
						||
	Labels for server sections are no longer limited to 32 chars,
 | 
						||
	but can have arbitrary length. The string that is used to specify
 | 
						||
	new DNS-addresses with the "pdnsd-ctl server" command can now also
 | 
						||
	have arbitrary length.
 | 
						||
 | 
						||
2003-12-30  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* doc/html/doc.html
 | 
						||
	Added information about CNAME and MX resource records, that were
 | 
						||
	previously undocumented.
 | 
						||
 | 
						||
2003-12-26  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Removed the function p_dns_resolve_from(). This function was essentially
 | 
						||
	a call to p_recursive_query() with a dummy nocache argument.
 | 
						||
	p_recursive_query() can now be called with nocache=NULL instead.
 | 
						||
 | 
						||
2003-12-26  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Using a variable length array instead of an malloced buffer to hold the struct pollfd array
 | 
						||
	in p_recursive_query(). This has the potential for causing portability problems, but I
 | 
						||
	think that's unlikely because almost all the major C compilers I work with support variable
 | 
						||
	length arrays nowadays.
 | 
						||
 | 
						||
2003-10-18  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/helpers.h,src/helpers.c
 | 
						||
	Fixed a mistake that caused a compile error when using the --with-random-device
 | 
						||
	configuration option.
 | 
						||
	Thanks to Daniel Black for reporting this bug.
 | 
						||
 | 
						||
2003-10-02  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* conf-lex.l.in,src/conf-parse.y,src/conff.h,src/conff.c,src/dns_query.c
 | 
						||
	Made the "delegation_only" feature configurable.
 | 
						||
 | 
						||
2003-09-25  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/helpers.c,src/helpers.h
 | 
						||
	Added alternative implementations of strdup, strndup, stpcpy, getline and asprintf
 | 
						||
	in an effort to make the code more portable.
 | 
						||
 | 
						||
2003-09-22  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/helpers.c,src/conf-parse.y
 | 
						||
	Made some changes to the parser of the configuration file so that domain names
 | 
						||
	missing a dot at the end will be tolerated.
 | 
						||
 | 
						||
2003-09-21  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Implemented a first version of the "delegation-only" feature.
 | 
						||
	It has been "hard-coded" to work for "com" and "net" zones,
 | 
						||
	and is not yet configurable.
 | 
						||
 | 
						||
2003-09-21  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns.c
 | 
						||
	Rewrote domain_match(). Also changed the way it is used.
 | 
						||
	I believe it has a cleaner semantics now.
 | 
						||
 | 
						||
2003-09-21  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Changed the order of the arguments of p_exec_query() and p_recursive_query()
 | 
						||
	to make it more consistent with the other functions.
 | 
						||
 | 
						||
2003-09-18  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	Reordered the code in process_query() so that a buffer for an error response is
 | 
						||
	allocated only when it is actually needed.
 | 
						||
 | 
						||
2003-09-17  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	Added parentheses to correct mistaken operator precedence assumption in cache.c.
 | 
						||
	!cent->flags&DF_NEGATIVE is parsed as (!(cent->flags))&DF_NEGATIVE but I think
 | 
						||
	what Thomas Moestl must have intended was !((cent->flags)&DF_NEGATIVE).
 | 
						||
 | 
						||
2003-09-12  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Fixed a mistake which caused the effect of the proxy_only option to be reversed.
 | 
						||
	Thanks to Andrew M. Bishop <amb@gedanken.demon.co.uk> for reporting this bug.
 | 
						||
 | 
						||
2003-09-11  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/helpers.c
 | 
						||
	Rewrote str2rhn() and rhn2str().
 | 
						||
 | 
						||
2003-09-10  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns.c
 | 
						||
	Rewrote read_hosts(), the function that reads /etc/hosts-style input.
 | 
						||
	I believe the parsing algorithm is more robust now.
 | 
						||
 | 
						||
2003-09-09  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/status.c,src/pdnsd-ctl/pdnsd-ctl.c
 | 
						||
	Fixed a bug (my fault) that caused improper passing on of flags for the
 | 
						||
	pdnsd-ctl source command.
 | 
						||
	Also reordered some of the code, so that data is validated after all of it
 | 
						||
	has been read from the control socket. This should prevent a "broken pipe"
 | 
						||
	error message if data validation fails.
 | 
						||
	Also fixed the reporting of success or failure of the pdnsd-ctl "neg" command.
 | 
						||
 | 
						||
2003-09-08  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/list.c
 | 
						||
	Rewrote da_grow1() and da_resize() so that they automatically allocate an array
 | 
						||
	if given a NULL argument. This makes the use of da_create() redundant in most cases.
 | 
						||
 | 
						||
2003-09-08  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parse.y,src/servers.c
 | 
						||
	At the suggestion of Greg Norris, I changed the code to allow server sections in the
 | 
						||
	configuration file that don't specify any IP addresses. Such a section will remain
 | 
						||
	inactive until one or more IP addresses are assigned with the control utility pdnsd-ctl.
 | 
						||
 | 
						||
2003-09-04  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c,src/dns_query.c
 | 
						||
	Oops: in my zeal to declare variables in the smallest possible scope, I ended up
 | 
						||
	using a pointer to a struct that was out of scope. My understanding of compilers tells me
 | 
						||
	it should work out OK in practice, but it is definitely a no-no.
 | 
						||
	Used a union declared in a larger scope instead (which is ugly in another way,
 | 
						||
	but equally efficient).
 | 
						||
	Also removed a section of redundant code in udp_server_thread().
 | 
						||
 | 
						||
2003-09-01  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Corrected the iteration range of a for loop in p_dns_cached_resolve(), which would
 | 
						||
	otherwise cause an array to be indexed out of bounds in the function set_flags_ttl().
 | 
						||
 | 
						||
2003-08-31  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_answer.c
 | 
						||
	Added cleanup handlers for freeing the resources passed on to udp_answer_thread() and
 | 
						||
	tcp_answer_thread(). This should ensure the resources are freed even if the threads get
 | 
						||
	canceled.
 | 
						||
 | 
						||
2003-08-30  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	Revised large portions of code in src/cache.c, used for adding and deleting entries in
 | 
						||
	the cache. In particular, I rewrote purge_cache(), which I believe was incorrect.
 | 
						||
	I wouldn't be surprised if this was the cause of the crashed (defunct) threads that some
 | 
						||
	people were reporting.
 | 
						||
	Also fixed some memory leaks.
 | 
						||
 | 
						||
2003-08-28  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	Eliminated the overhead of allocation debugging in the case that ALLOC_DEBUG is not defined.
 | 
						||
 | 
						||
2003-08-24  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/conf-parse.y
 | 
						||
	No longer allow certain settings of the query_method option in the configuration file
 | 
						||
	if pdnsd is not compiled with the necessary support.
 | 
						||
	Thanks to Nikolaus Rath <Nikolaus@rath.org> for reporting the bug.
 | 
						||
 | 
						||
2003-08-23  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/netdev.c
 | 
						||
	Fixed a bug in is_local_addr() where the result of fgetc(f) is restricted to type char
 | 
						||
	before being compared to EOF, which can result in the comparison always being false.
 | 
						||
	Thanks to Gerhard Tonn <GerhardTonn@gammatau.de> for reporting the bug.
 | 
						||
 | 
						||
2003-07-28  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* doc/html/index.html,doc/html/doc.html,doc/html/dl.html,doc/pdnsd-ctl.8,contrib/README
 | 
						||
	Revised the documentation.
 | 
						||
 | 
						||
2003-07-21  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/main.c,src/status.c,src/icmp.c
 | 
						||
	Setting stat_pipe=0 after opening or binding the control socket fails.
 | 
						||
	This should prevent further use of the control socket if a problem with
 | 
						||
	it has been detected previously.
 | 
						||
	Also properly initialized the global variable int ping_isocket in src/icmp.c
 | 
						||
 | 
						||
2003-07-13  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/main.c
 | 
						||
	Polished the code in main().
 | 
						||
 | 
						||
2003-07-04  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/helpers.c,src/dns_answer.c,src/dns_query.c
 | 
						||
	Eliminated the use of inet_ntoa() in favor of the more modern inet_ntop().
 | 
						||
	inet_ntop() makes more sense in threaded code and is also recommended in
 | 
						||
	the glibc info pages.
 | 
						||
 | 
						||
2003-07-03  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c
 | 
						||
	Fixed an allocation size error (not mine) in p_exec_query().
 | 
						||
	The erroneous size is almost always larger than necessary, so in practice this bug
 | 
						||
	just wastes memory. But there is also a possibility that the allocated buffer is too
 | 
						||
	small, which would mean trouble.
 | 
						||
	Also fixed two memory leaks on some of the error paths in p_exec_query().
 | 
						||
 | 
						||
2003-06-28  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* acconfig.h,configure.in,src/thread.h
 | 
						||
	Extended the configuration option --with-thread-lib.
 | 
						||
	Configuring with --with-thread-lib=linuxthreads2 will cause the alternative
 | 
						||
	definition of THREAD_SIGINIT suggested by Thomas Moestl to be used.
 | 
						||
 | 
						||
2003-06-27  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/consts.h,src/consts.c,src/conff.c,src/conf-parse.y,src/dns_answer.c
 | 
						||
	Added two new configuration options for policies of inclusion/exclusion lists.
 | 
						||
	The new policies options are "simple_only" and "fqdn_only".
 | 
						||
	This allows me to control to which name servers pdnsd will direct queries for
 | 
						||
	simple host names.
 | 
						||
	I also polished the code a bit in report_conf_stat(), used for reporting the current configuration.
 | 
						||
 | 
						||
2003-06-20  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* acconfig.h,configure.in,src/thread.h,src/thread.c
 | 
						||
	Added a configuration option --with-thread-lib=nptl.
 | 
						||
	This causes the macro THREAD_SIGINIT to be defined as empty in src/thread.h,
 | 
						||
	and thread_sig() in src/thread.c is never used.
 | 
						||
 | 
						||
2003-06-11  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/thread.h
 | 
						||
	Undid the change to the definition of THREAD_SIGINIT suggested to me by
 | 
						||
	Thomas Moestl, after receiving a report of a problem with this change
 | 
						||
	from someone running SuSE 7.0.
 | 
						||
 | 
						||
2003-06-06  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/dns_query.c:
 | 
						||
	Discovered that I failed to preserve the semantics of Thomas Moestl's code
 | 
						||
	when I rewrote a section of code in use_server(). Fixed.
 | 
						||
 | 
						||
2003-05-19  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c,src/conf-lex.l.in,src/conf-parse.y,src/conff.h,src/dns_answer.c,src/dns_query.c,src/servers.c:
 | 
						||
	Merged fixes contained in patch file sent to me by Thomas Moestl with my own version.
 | 
						||
	Changing the version to 1.1.8b1 as suggested by the patch file.
 | 
						||
 | 
						||
2003-02-26  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* pdnsd-1.1.7a-par.diff:
 | 
						||
	Made one big patch file from all the changes I made up till now.
 | 
						||
	Wrote a description of the changes in a file README.par
 | 
						||
	Posted patch file on the web so others can use it.
 | 
						||
 | 
						||
2003-02-24  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* src/cache.c
 | 
						||
	Changed the code that writes the cache to disk.
 | 
						||
	Data is now written strictly sequentially, eliminating the need for fseek().
 | 
						||
	This seems to have successfully solved the problem I had with corrupt cache files.
 | 
						||
 | 
						||
2002-05-27  Paul Rombouts <p.a.rombouts@home.nl>
 | 
						||
 | 
						||
	* ChangeLog:
 | 
						||
	Started experimenting with the source code.
 | 
						||
	Made many changes between 2002-05-27 and 2002-07-13.
 | 
						||
	Too lazy to maintain the ChangeLog.
 | 
						||
 | 
						||
2002-01-06  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* version: Call it 1.1.7.
 | 
						||
 | 
						||
2002-01-04  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c, src/dns_query.c:
 | 
						||
	Comment and debug message fixes, more assertions.
 | 
						||
 | 
						||
2002-01-03  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns.c, src/dns_answer.c, src/dns_query.c:
 | 
						||
	More harmless fixes, correct some comments and debug messages, add more
 | 
						||
	assertions.
 | 
						||
 | 
						||
	* NEWS, version: 1.1.7p2, correct NEWS entry.
 | 
						||
 | 
						||
	* src/helpers.c:
 | 
						||
	Make sure the calling thread of pdnsd_exit() terminates immediately.
 | 
						||
 | 
						||
2002-01-02  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c, src/helpers.c, src/icmp.c:
 | 
						||
	Fix a few more harmless bugs, more paranoia.
 | 
						||
 | 
						||
	* src/status.c: Fix yet more, probably harmless, problems.
 | 
						||
 | 
						||
2002-01-01  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns.h, src/dns_answer.c, src/dns_query.c:
 | 
						||
	Fix a few more possible buffer size problems, and add a bunch of
 | 
						||
	assertions as last lines of defence.
 | 
						||
 | 
						||
2001-12-30  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns.c: Build fix (include error.h).
 | 
						||
 | 
						||
	* NEWS, version: Call it 1.1.7p1, and add a NEWS entry.
 | 
						||
 | 
						||
	* TODO: Reduce TODO to what actually is still needed.
 | 
						||
 | 
						||
	* src/dns.c, src/error.h, src/helpers.c:
 | 
						||
	Add a bunch of robustness PDNSD_ASSERT()'s.
 | 
						||
 | 
						||
	* src/dns_query.c:
 | 
						||
	Fix a bug which may possibly be remotely exploitable to gain access as
 | 
						||
	the user pdnsd runs as.
 | 
						||
	This was caused by a dumb single-character mistake :(
 | 
						||
 | 
						||
	* doc/Makefile.am, configure.in:
 | 
						||
	Avoid confusing automake 1.5 by not putting a comment into a make rule.
 | 
						||
	Fix CONFDIR passing.
 | 
						||
 | 
						||
	Submitted by:	GoTaR <gotar@poczta.onet.pl>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c:
 | 
						||
	Avoid crashing when the buffer contents received using the status command
 | 
						||
	are not terminated.
 | 
						||
 | 
						||
2001-10-14  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/SuSE/pdnsd.in, THANKS:
 | 
						||
	Fix the stop case for the SuSE rc script: killproc requires the full
 | 
						||
	path of the binary as argument (reported by Bernhard Pelz).
 | 
						||
 | 
						||
2001-09-23  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* configure.in:
 | 
						||
	Revamp the OS autodetect test. OpenBSD and (hopefully) NetBSD are no longer
 | 
						||
	unsupported.
 | 
						||
 | 
						||
	* src/helpers.c, THANKS:
 | 
						||
	Do not try to use arc4random when compiling for NetBSD (submitted by
 | 
						||
	Thomas Stromberg).
 | 
						||
 | 
						||
2001-09-10  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* COPYING.BSD: s/REGENTS/AUTHOR/ in one place.
 | 
						||
 | 
						||
	* src/cache.c:
 | 
						||
	It is possible no record of the requested type is present after calling
 | 
						||
	cr_add_cent_rr_int() (when the record was marked as being local), so
 | 
						||
	check before dereferencing the pointer to the respective rrset.
 | 
						||
	Leave the record unmodified when cr_check_add() returns 0.x
 | 
						||
 | 
						||
2001-07-26  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/RedHat/pdnsd.in:
 | 
						||
	Add a workaround for @sysconfdir@ substitutions containing ${prefix}.
 | 
						||
	Spotted by Robert Linden.
 | 
						||
 | 
						||
2001-07-04  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/RedHat/pdnsd.in:
 | 
						||
	Add a condrestart handler to the Red Hat rc script, and do some general
 | 
						||
	cleanup. Contributed by Christian Engstler.
 | 
						||
 | 
						||
2001-07-02  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/error.h:
 | 
						||
	Attempt to detect a gcc that cannot yet handle ANSI variadic macros,
 | 
						||
	and work around this by using the old GCC-style variant.
 | 
						||
 | 
						||
	* src/conff.c:
 | 
						||
	Remove a + at the start of a line that got in when merging a diff by
 | 
						||
	hand.
 | 
						||
 | 
						||
	* src/servers.c: waitpid() returns a pid_t.
 | 
						||
 | 
						||
	* src/dns.c:
 | 
						||
	It's sizeof, not sizof. This should unbreak the IPv6 build. Also silence
 | 
						||
	some warnings with appropriate casts.
 | 
						||
 | 
						||
	* NEWS, version: Call it 1.1.6, and add a NEWS entry.
 | 
						||
 | 
						||
2001-07-01  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/dns_query.c, THANKS, version, AUTHORS:
 | 
						||
	Added a modified version of Andreas Steinmetz's code for
 | 
						||
	query_port_start and query_port_range, and added him to AUTHORS and
 | 
						||
	THANKS.
 | 
						||
 | 
						||
2001-06-23  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/cache.c:
 | 
						||
	Fix a bogon: deleted would not be reset correctly in the first
 | 
						||
	purge_cache loop, which could cause pdnsd to loop forever when a
 | 
						||
	negative record was after a deleted rr.
 | 
						||
 | 
						||
2001-06-21  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/list.h:
 | 
						||
	Add (currently unused) list macros that are going to be used in future
 | 
						||
	code.
 | 
						||
 | 
						||
	* src/cache.c:
 | 
						||
	Fix a bogon in the rw lock code: we need to wake up a writer if there
 | 
						||
	are no readers. The old code was a leftover from a time when
 | 
						||
	SUSP_THRESH was just r_pend * x.
 | 
						||
	Fix a typo.
 | 
						||
 | 
						||
2001-06-13  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* AUTHORS: Add mention of FreeBSD code to AUTHORS.
 | 
						||
 | 
						||
	* src/netdev.c:
 | 
						||
	Add SIZEOF_ADDR_IFREQ (taken from FreeBSD: _SIZEOF_ADDR_IFREQ, net/if.h
 | 
						||
	rev. 1.58.2.1) and add an appropriate copyright notice.
 | 
						||
	The reason for this is that other BSDs don't have it, and we are not
 | 
						||
	supposed to use underscored macros in portable software.
 | 
						||
 | 
						||
2001-06-12  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/icmp.c: Fix double #inclusion of <netinet/ip.h>.
 | 
						||
	Noticed by Sebastian Stark.
 | 
						||
 | 
						||
2001-06-08  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_query.c, THANKS:
 | 
						||
	Allow underscores in the query names reported back, as the comment next
 | 
						||
	to the decompress_name call already indicated (but the call gave NULL
 | 
						||
	as the uscore parameter, which disables underscores normally).
 | 
						||
	Add Michael Str<74>der, who spotted this, to THANKS.
 | 
						||
 | 
						||
2001-06-06  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/servers.c, THANKS:
 | 
						||
	Fix a bug discovered by Stefan Erhardt (and add him to THANKS): the
 | 
						||
	return value of waitpid was misinterpreted.
 | 
						||
 | 
						||
2001-06-04  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* Makefile.am, file-list.base.in, version:
 | 
						||
	Bump version to 1.1.6p1; wire up COPYING.BSD so that it gets included
 | 
						||
	in RPM's and tarballs.
 | 
						||
 | 
						||
	* COPYING.BSD:
 | 
						||
	Add the BSD-Style copyright notice so that it can be included in binary
 | 
						||
	distributions.
 | 
						||
 | 
						||
2001-06-03  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns.c, src/dns_answer.c, src/dns_query.c, src/helpers.c, src/status.c, NEWS, version:
 | 
						||
	Bump version to 1.1.5, and add a NEWS entry for this release.
 | 
						||
 | 
						||
	Miscellaneous cleanups, mainly in the status.c code; fix a bug that
 | 
						||
	could cause heap corruption (rhncpy always clobbered the whole buffer,
 | 
						||
	but only the needed space was reserved in add_rr). This should solve
 | 
						||
	the crashes some people were seeing (this bug is not an exploitable
 | 
						||
	security hole as far as I know; the respective buffer is on the heap,
 | 
						||
	as mentioned).
 | 
						||
 | 
						||
	* src/error.c:
 | 
						||
	Paranoia: do not use the argument to crash_msg as a format string
 | 
						||
	(crash_msg  is only used with constant strings, though).
 | 
						||
 | 
						||
2001-06-02  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns.c, src/dns.h, src/dns_answer.c, src/dns_query.c, src/error.h, src/hash.c, src/helpers.c:
 | 
						||
	Correct underscore handling for SRV records, and a few comment fixes.
 | 
						||
 | 
						||
	* src/cache.c, src/conff.c, src/dns_query.c, src/error.h, src/helpers.h, src/status.c:
 | 
						||
	Numerous non-critical argument fixes for printf-like functions.
 | 
						||
 | 
						||
	* src/dns.c: Remove superfluous \n's.
 | 
						||
 | 
						||
	* src/conf-parse.y, src/dns_answer.c, src/status.c:
 | 
						||
	Correct some DEBUG_MSG nits, and fix two format string bugs. One of
 | 
						||
	them could allow users that are allowed to use pdnsd-ctl with the
 | 
						||
	server (when the status socket is enabled) to gain the privileges of
 | 
						||
	the user that runs (the run_as user or the user that started pdnsd on
 | 
						||
	Linux when strict_setuid is set to off) pdnsd. The status socket is
 | 
						||
	disabled by default, and if it is enabled, it's default permissions
 | 
						||
	are quite restrictive, so this isn't a problem for most.
 | 
						||
 | 
						||
2001-05-30  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/status.c:
 | 
						||
	Make the status permissions actually work (missed last time).
 | 
						||
 | 
						||
	* src/dns_answer.c, src/main.c, src/status.c, src/status.h:
 | 
						||
	Move the status socket initialization to a place where it gets executed
 | 
						||
	before any threads are started; this way, we can use umask to set the
 | 
						||
	permissions, and avoid a (in this case harmless, but anyway) race
 | 
						||
	condition.
 | 
						||
	While being there, remove obsoleted comments and places referring to
 | 
						||
	the now-socket as fifo.
 | 
						||
 | 
						||
2001-05-29  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/cache.c:
 | 
						||
	Replace a misuse of CF_LOCAL with DF_LOCAL. This had no effect, because
 | 
						||
	the values are the same.
 | 
						||
 | 
						||
2001-05-22  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/hash.c, src/helpers.c, THANKS, acconfig.h, configure.in:
 | 
						||
	Add an option for allowing underscores (_) in domain names. This
 | 
						||
	violates the RFC's if enabled (which it isn't by default).
 | 
						||
	Thanks to Eelco Vriezekolk for an initial patch.
 | 
						||
 | 
						||
	While being there, clean up configure.in and acconfig.c a bit.
 | 
						||
 | 
						||
	* src/helpers.c, src/status.c:
 | 
						||
	Add a few comments about security implications.
 | 
						||
 | 
						||
	* src/cache.c, src/dns_answer.c, src/dns_query.c, src/helpers.c:
 | 
						||
	Change some occurences of strcpy to strncpy. Again, no risk here, the
 | 
						||
	buffer lentgh was carefully chosen, and while the data was partially of
 | 
						||
	remote origin, it was carefully validated before entering the cache (and
 | 
						||
	thus having a chance of being used by us).
 | 
						||
	3 occurences remain: 2 in cache.c, where we allocate a sufficient amount
 | 
						||
	of memory before (mimicking the non-portable strdup) and one where
 | 
						||
	we copy a constant and which is obviously correct.
 | 
						||
 | 
						||
	* src/dns.c:
 | 
						||
	Change two occurences of strcat to strncat. Again, no risk here, the
 | 
						||
	buffer lentgh was carefully chosen, the data was validated and supplied
 | 
						||
	by the starting user.
 | 
						||
 | 
						||
	* src/dns.c:
 | 
						||
	Change a sprintf to a snprintf and enlarge a buffer a bit. This is pure
 | 
						||
	paranoia (alrhough makes code review easier for others), because a.) the
 | 
						||
	lengths were carefully chosen so that no overrun could occur and
 | 
						||
	b.) this was locally supplied data.
 | 
						||
 | 
						||
2001-05-21  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/RedHat/Makefile.am:
 | 
						||
	Add a missing semicolon in  the RedHat rc Makefile.am (discovered by
 | 
						||
	Christian Engstler).
 | 
						||
 | 
						||
2001-05-19  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* HACKING: Remove the mostly outdated HACKING file.
 | 
						||
 | 
						||
	* src/debug.c:
 | 
						||
	Catch a corner case in the allocation debug helpers: realloc() with a
 | 
						||
	size of 0 is effectively a free operation. To my knowledge, this is
 | 
						||
	not done in the pdnsd sources, however.
 | 
						||
 | 
						||
	* src/test/test.sh:
 | 
						||
	Use the correct error function, forgotten in last commit.
 | 
						||
 | 
						||
	* src/test/clnt-test.sh, src/test/srv-test.sh, src/test/test.sh:
 | 
						||
	Misc small improvements in the regression test scripts, mostly
 | 
						||
	adding configuration variables and common error handlers.
 | 
						||
	Comment a little on the tests that are done in clnt-test.sh
 | 
						||
 | 
						||
	* src/rr_types.c: Fix a typo in a comment.
 | 
						||
 | 
						||
	* src/cache.c, src/debug.c, src/dns_answer.c, src/dns_query.c, src/error.h, src/hash.c, src/list.c, src/main.c, src/status.c, src/thread.c, src/thread.h:
 | 
						||
	New ANSI variadic debug macros (finally), which print a timestamp and
 | 
						||
	a thread ID now for easier debugging with many parallel queries.
 | 
						||
	It should be considered to make those inline functions instead. However,
 | 
						||
	we have the advantage that we use printf in place here and benefit
 | 
						||
	from parameter checking without specifying obscure function attributes.
 | 
						||
 | 
						||
	* src/rc/SuSE/.cvsignore, src/test/.cvsignore, src/rc/.cvsignore, src/rc/Debian/.cvsignore, src/rc/RedHat/.cvsignore, contrib/.cvsignore, doc/.cvsignore, src/.cvsignore, src/pdnsd-ctl/.cvsignore, .cvsignore:
 | 
						||
	Brush up the rotten (pre-autoconf!) .cvsignore files and add some where
 | 
						||
	necessary.
 | 
						||
 | 
						||
2001-05-17  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/RedHat/Makefile.am, src/rc/RedHat/pdnsd.in, configure.in, pdnsd.spec.in:
 | 
						||
	Red Hat rc script and RPM improvements by Christian Engstler.
 | 
						||
 | 
						||
2001-05-12  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c:
 | 
						||
	Fix a place missed when converting rr_info.
 | 
						||
 | 
						||
	* version: It's 1.1.4, finally.
 | 
						||
 | 
						||
	* src/rr_types.c, version:
 | 
						||
	Change some class values in the rr type structure to better values.
 | 
						||
	Bump beta version.
 | 
						||
 | 
						||
2001-05-10  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/cache.c, src/dns_answer.c, src/dns_query.c:
 | 
						||
	Fix a signedness bug that could cause erraneous 0 ttls to be returned.
 | 
						||
	Add some debug messages, and do some minor fixups.
 | 
						||
 | 
						||
2001-05-09  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/cache.c, src/rr_types.c:
 | 
						||
	Fix some bugs in the new conflict resolution code and make it more
 | 
						||
	complete.
 | 
						||
 | 
						||
	* src/cache.c, version:
 | 
						||
	Add conflict resolution code. This needs a bit more checking, and
 | 
						||
	the tables might still need to be tweaked.
 | 
						||
	Bump version.
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/Makefile.am, src/cache.c, src/cache.h, src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/consts.c, src/consts.h, src/debug.c, src/dns.c, src/dns_answer.c, src/dns_answer.h, src/dns_query.c, src/dns_query.h, src/error.c, src/error.h, src/hash.c, src/hash.h, src/helpers.c, src/helpers.h, src/icmp.c, src/icmp.h, src/list.c, src/main.c, src/netdev.c, src/netdev.h, src/rr_types.c, src/rr_types.h, src/servers.c, src/servers.h, src/status.c, src/status.h, src/thread.c, src/thread.h, configure.in, version:
 | 
						||
	Remove the old infrastructure that theoretically could have allowed for
 | 
						||
	multiple cache subsystems. This ability was never used, and if it should,
 | 
						||
	the caching should probably be split into two layers, a higher level
 | 
						||
	common one and the actual caching backends.
 | 
						||
	src/cacheing/cache.c and src/cacheing/native/*.[ch] were repo-copied to
 | 
						||
	src/.
 | 
						||
	Substitute "conf.h" with <conf.h> for includes.
 | 
						||
	Purge records a little more often (when adding records, and when
 | 
						||
	retrieving from the cache). Handle cache_size properly when using
 | 
						||
	purge_cent.
 | 
						||
	Introduce some infrastructure in rr_types.[ch] for a record conflict
 | 
						||
	checker which is to be introduced shortly to enforce cache consistency
 | 
						||
	even in the purge_cache=off case.
 | 
						||
 | 
						||
2001-05-04  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/RedHat/pdnsd.in, src/rc/SuSE/pdnsd.in, src/rc/Debian/pdnsd.in:
 | 
						||
	Revert the last commit. It breaks the rc scripts by spamming them with
 | 
						||
	make style variable expansions.
 | 
						||
 | 
						||
	* src/rc/SuSE/pdnsd.in, src/rc/RedHat/pdnsd.in, src/rc/Debian/pdnsd.in, AUTHORS, THANKS:
 | 
						||
	Fix a rc script bug spotted by Frank Elsner, and add him to AUTHORS and
 | 
						||
	THANKS.
 | 
						||
 | 
						||
2001-05-01  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* version: Bump version to 1.1.4p2.
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/status.c:
 | 
						||
	Fix some bogons and remove some unneeded code in the pdnsd-ctl
 | 
						||
	interface.
 | 
						||
	Fix spelling and line length bugs.
 | 
						||
 | 
						||
2001-04-30  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/conf-parse.y, src/status.c:
 | 
						||
	Some corrections for the authrec config file and the pdnsd-ctl noauth
 | 
						||
	support.
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c:
 | 
						||
	Fix wrong argv index (using getopt changed the indices).
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/dns.c, src/dns.h, src/dns_query.c, src/status.c, THANKS, version, AUTHORS:
 | 
						||
	Accumulated changes that should go in before 1.1.4:
 | 
						||
	- merge Andrew M. Bishop's patch that adds a server label option
 | 
						||
	- make local records authoritative for the domain by default, and add
 | 
						||
	  the authrec option to change this
 | 
						||
	- add the auth keyword to the pdnsd-ctl source option to support that
 | 
						||
	- fix a bug in the conf-parse.y grammar causing a shift/reduce conflict
 | 
						||
	- sync up AUTHORS and THANKS: add Andrew M. Bishop, Kevin A. Burton and
 | 
						||
	  Michael Steinl
 | 
						||
	- bump version to 1.1.4p1
 | 
						||
 | 
						||
	* src/conff.c, src/main.c:
 | 
						||
	Fix two small bugs: the wrong element of argv was used for the pidfile
 | 
						||
	option, which could cause pdnsd to segfault, and C_INCLUDED was always
 | 
						||
	used in slist_add, regardless of the tp parameter.
 | 
						||
 | 
						||
	* src/helpers.c:
 | 
						||
	Fix a bogon discovered by Michael Steiner:  the fread() return value
 | 
						||
	was tested against bytes, not the number of items.
 | 
						||
 | 
						||
	* src/hash.c, src/hash.h, src/cache.c:
 | 
						||
	purge_cache used to walk over the cache quite inefficiently when it was
 | 
						||
	called from add_cache. Add a lazy mode for purge_cache which uses the
 | 
						||
	rrset_l to be efficient in this special case.
 | 
						||
	Add some #ifdef'ed-out-by-default code to debug the hash function.
 | 
						||
 | 
						||
2001-04-12  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* NEWS: Add NEWS entry for 1.1.3.
 | 
						||
 | 
						||
	* src/dns.c, src/helpers.c, src/icmp.c, contrib/Makefile.am, contrib/README, version:
 | 
						||
	IPv6, ICMP and build fixes. It's 1.1.3 now!
 | 
						||
 | 
						||
	* src/debug.c, src/debug.h: Add the new debug support files.
 | 
						||
 | 
						||
	* src/test/clnt-test.sh, src/cache.c, src/cache.h, src/error.h, src/list.c, src/list.h, src/main.c, src/status.c, src/status.h, src/Makefile.am, src/conf-parse.y, src/conff.h, src/dns.c, src/dns_answer.c, src/dns_query.c:
 | 
						||
	Add allocation debug support. Some small cleanups before the upcoming
 | 
						||
	1.1.3 release.
 | 
						||
 | 
						||
	* src/dns_query.h, src/helpers.c, src/list.c, src/conff.c, src/dns.c, src/dns_answer.c, src/dns_query.c:
 | 
						||
	Lots of small bugfixes, cleanups, style and spelling fixes.
 | 
						||
 | 
						||
	* src/test/clnt-test.sh: Fix nc arguments.
 | 
						||
 | 
						||
	* src/test/clnt-test.sh, src/test/srv-test.sh, src/test/test.sh:
 | 
						||
	Add regression test scripts.
 | 
						||
 | 
						||
2001-04-11  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/cache.c, src/servers.c, src/dns_answer.c, src/helpers.c, src/helpers.h, src/icmp.c, src/main.c:
 | 
						||
	Further cleanups and bug, style and spelling fixes.
 | 
						||
 | 
						||
	* configure.in: Use -g again in the CFLAGS for a while.
 | 
						||
 | 
						||
	* version: Beta version bump.
 | 
						||
 | 
						||
	* src/rc/SuSE/pdnsd.in:
 | 
						||
	killproc does not seem to take the full path, but only the process name
 | 
						||
	(which is what one would expect).
 | 
						||
 | 
						||
	* src/hash.c, src/netdev.c, src/rr_types.c, src/status.c, src/conf-parse.y, src/conff.c, src/helpers.c:
 | 
						||
	Misc. smaller fixes, and fixes on the new features. Also clean up style
 | 
						||
	and spelling in some places.
 | 
						||
 | 
						||
	* src/dns_answer.c:
 | 
						||
	Bring the glibc pthread_cleanup_push/pthread_cleanup_pop return bug
 | 
						||
	workaround into the main tree.
 | 
						||
	Without this, a return between those two macros would cause pdnsd
 | 
						||
	to crash on system using a glibc between 2.1.2 and 2.2.2 (and possibly
 | 
						||
	others). This could e.g. be cause by a TCP connect() port scan.
 | 
						||
 | 
						||
2001-04-10  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c:
 | 
						||
	Minor fixes, direct error messages to stderr.
 | 
						||
 | 
						||
	* src/list.c, src/list.h: Add the new list implementations.
 | 
						||
 | 
						||
	* src/cache.c, src/cache.h, src/conf-parse.y, src/dns.c, src/dns_answer.c, src/dns_query.c, src/helpers.c, src/helpers.h, src/conf-lex.l.in:
 | 
						||
	Introduce rhnlen and rhncpy and make use of it instead of kluged-up
 | 
						||
	strcpy/strlen in the appropriate places.
 | 
						||
	Check that incoming names contain only legal characters in
 | 
						||
	decompress_name, return RC_FORMAT otherwise (this would result in
 | 
						||
	wrong handling only, but not in a security hole).
 | 
						||
	Reorganzie compose_answer and make it more correct for multiple
 | 
						||
	questions. Get rid of the algorithm that tries to add a higher
 | 
						||
	level name server; this might be readded in another place somewhen.
 | 
						||
	Use some more da_* instead of hand-built lists.
 | 
						||
	Some style cleanups.
 | 
						||
 | 
						||
	* src/rc/RedHat/Makefile.am:
 | 
						||
	Add K45pdnsd links for rc6.d (reboot) and rc0.d (halt) following a
 | 
						||
	suggestion by Stas Sergeev.
 | 
						||
 | 
						||
2001-04-06  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/cache.h, src/error.h, src/helpers.c, src/helpers.h, src/main.c, src/servers.c, src/status.c, src/conf-parse.y, src/conff.c, src/conff.h, src/dns.c, src/dns.h, src/dns_answer.c, src/dns_query.c, src/Makefile.am, version:
 | 
						||
	Bump alpha version; introduce a generic dynamic array type and make use
 | 
						||
	of it to ged rid of some ugly casts and redundant code.
 | 
						||
	Minor fixes.
 | 
						||
 | 
						||
	* src/icmp.h, src/ipvers.h, src/conff.h, src/consts.h, src/dns.h, src/dns_answer.h, src/dns_query.h, src/helpers.h:
 | 
						||
	Use macros without an underscore as first character to protect the
 | 
						||
	headers. Underscores are reserved and should not be used in the
 | 
						||
	application name space.
 | 
						||
 | 
						||
	* src/error.h: Add PDNSD_ASSERT, change style a little.
 | 
						||
 | 
						||
2001-04-03  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/hash.c, src/netdev.c, src/servers.c, src/helpers.c, src/icmp.c, src/main.c:
 | 
						||
	Another slew of small bugfixes, minor updates and small fixes.
 | 
						||
 | 
						||
	* src/rr_types.c, src/consts.c:
 | 
						||
	Update rr_types.c copyright date, consts.c should have a rcsid string.
 | 
						||
 | 
						||
	* src/rr_types.c: cvs add rr_types.c.
 | 
						||
 | 
						||
	* src/dns.h, src/helpers.h, src/ipvers.h, src/rr_types.h, src/status.h, src/conf-parse.y, src/conff.h:
 | 
						||
	cvs add rr_types.h that got missed before, update copyright dates,
 | 
						||
	remove some old config cruft, some minor fixups.
 | 
						||
 | 
						||
	* src/conff.c, src/consts.c, src/dns_answer.c, src/error.c, src/conf-lex.l.in, src/conf-parse.y:
 | 
						||
	Update copyright dates, fix some minor bugs. Update copyright dates.
 | 
						||
	cvs add missed consts.c.
 | 
						||
 | 
						||
2001-03-28  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/cache.c, src/hash.c, src/error.c, src/servers.c, src/dns_answer.c, version:
 | 
						||
	Bump version to 1.1.3p4
 | 
						||
	Fix some non-critical locking issues (none of them could be fatal).
 | 
						||
	Adjust copyright dates.
 | 
						||
 | 
						||
	* src/hash.c: Make the hash compare case insensitive.
 | 
						||
 | 
						||
2001-03-25  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* contrib/Makefile.am: Add Id tag to Makefile.am
 | 
						||
 | 
						||
	* src/cache.c, src/dns_answer.c, src/icmp.c:
 | 
						||
	Some more type fixes overlooked in last commit.
 | 
						||
 | 
						||
	* src/conf-parse.y, src/conff.h, src/dns.h, src/dns_answer.c, src/dns_query.c, src/icmp.c:
 | 
						||
	More type cleanups. Use time_t for time specifications throughout, and
 | 
						||
	make lengths singed longs. Cast cleanup in icmp.c to fix alpha
 | 
						||
	unalinged access faults.
 | 
						||
 | 
						||
	* contrib/dhcp2pdnsd, contrib/pdnsd_dhcp.pl, contrib/save_ram.pl, contrib/Makefile.am, contrib/README, configure.in, version, Makefile.am:
 | 
						||
	It's 1.1.3p3 now.
 | 
						||
	Change the contrib infrastructure: there is a Makfile.am in contrib/
 | 
						||
	now. Rename Marko Stolle's pdnsd_update.pl to pdnsd_dhcp.pl and bring
 | 
						||
	it up to date (adding the rc script and save_ram.pl).
 | 
						||
 | 
						||
	* src/helpers.c, src/dns.c, src/dns_query.c, AUTHORS, THANKS:
 | 
						||
	Bring in Bjoern Fischer's changes to make pdnsd conserve the case of
 | 
						||
	cached names, and add him to AUTHORS and THANKS.
 | 
						||
 | 
						||
	* configure.in: The gdbm backend is discontinued.
 | 
						||
 | 
						||
	* src/cache.c, src/hash.c:
 | 
						||
	Cleanup and small bugfixes of the cache code (esp. locking).
 | 
						||
 | 
						||
	* AUTHORS, THANKS, file-list.base.in, pdnsd.spec.in:
 | 
						||
	SuSE fixes by Christian Engstler.
 | 
						||
	Add him to AUTHORS, THANKS.
 | 
						||
 | 
						||
2001-03-14  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_query.c:
 | 
						||
	Fix a bug that could cause servers that were not used in the first
 | 
						||
	parallel query not to be used at all (failure would be returned
 | 
						||
	instead).
 | 
						||
 | 
						||
2001-03-13  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/icmp.c: Add define for ip_p equivalent on Linux.
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/cache.c, src/dns_query.c, src/icmp.c, src/status.c, src/conf-parse.y, src/dns_answer.c, version:
 | 
						||
	Bump alpha version, more alignment fixes. All casts should be correct
 | 
						||
	now.
 | 
						||
 | 
						||
2001-03-12  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c, src/dns_query.c, AUTHORS, THANKS:
 | 
						||
	Add the alpha fixes by P.J. Bostley, and add him to THANKS and AUTHORS.
 | 
						||
 | 
						||
2001-03-10  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns.h, src/helpers.h:
 | 
						||
	Remove prototype for removed function strtolower.
 | 
						||
	Use unit16_t and uint32_t instead of unsinged short/long for dns
 | 
						||
	protocol structures.
 | 
						||
 | 
						||
2001-02-25  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/status.c, src/conf-lex.l.in, src/conf-parse.y, AUTHORS, Makefile.am, version:
 | 
						||
	Add MX and CNAME for rr sections in the config file and MX setting
 | 
						||
	for pdnsd-ctl.
 | 
						||
	Typo fixes.
 | 
						||
 | 
						||
	* src/netdev.c: Two more fixes.
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/cache.c, src/dns.c, src/main.c:
 | 
						||
	More small robustness fixes.
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/netdev.c, src/status.c, src/status.h, src/conf-parse.y, src/helpers.c, src/main.c, configure.in, version, Makefile.am, NEWS:
 | 
						||
	A batch of robustness fixes. Move the status socket to the cache
 | 
						||
	directory. Various cleanups.
 | 
						||
	It's 1.3 now (hopefully to be released soon).
 | 
						||
 | 
						||
2001-02-21  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/main.c, src/conf-lex.l.in:
 | 
						||
	Fix breakage of the -mtu option and the query_method option (the parser
 | 
						||
	would not recognize constants that contained underscores).
 | 
						||
 | 
						||
2001-02-20  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* contrib/README, contrib/pdnsd_dhcp.pl, AUTHORS, Makefile.am, THANKS, file-list.base.in:
 | 
						||
	Add Marko Stolle's pdnsd_update.pl DHCP update script, add him to THANKS,
 | 
						||
	and bring a contrib/ directory in place.
 | 
						||
 | 
						||
2001-02-15  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c, configure.in, version:
 | 
						||
	Some minor build & misc fixes. Bump version to 1.1.2a and release a
 | 
						||
	version with the spec file fixes to get proper Red Hat RPM's.
 | 
						||
 | 
						||
2001-02-09  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* NEWS: Bring NEWS up to date.
 | 
						||
 | 
						||
	* src/icmp.c: Do not close the socket on error.
 | 
						||
 | 
						||
	* pdnsd.spec.in: Add spec file fixes for man pages by Sourav K. Mandal
 | 
						||
 | 
						||
2001-02-07  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* version: It is now 1.1.2.
 | 
						||
 | 
						||
	* src/dns_query.c, src/main.c, Makefile.am, THANKS:
 | 
						||
	Fix a too strict length checking that could cause SERVFAIL to be returned
 | 
						||
	when the server returned NXDOMAIN. Add Markus Storm to THANKS (he has
 | 
						||
	reported this bug and supplied helpful information).
 | 
						||
	Minor tweaking in main.c.
 | 
						||
	Remove emptying of GZIP_ENV in Makefile.am (this normally contains --best).
 | 
						||
 | 
						||
2001-01-27  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* AUTHORS, THANKS:
 | 
						||
	Add Michael Wiedmann to AUTHORS and THANKS for his pdnsd-ctl.8 man page.
 | 
						||
 | 
						||
	* doc/Makefile.am, doc/pdnsd-ctl.8, configure.in, Makefile.am:
 | 
						||
	Add the pdnsd-ctl man page contributed by Michael Wiedmann. For this to
 | 
						||
	build in a correct way, add doc/Makefile.am and move all doc and
 | 
						||
	pdnsd.conf.sample related stuff in there.
 | 
						||
 | 
						||
2001-01-25  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/main.c: Removed unneeded for the non-O_NOFOLLOW case.
 | 
						||
 | 
						||
2001-01-24  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/main.c:
 | 
						||
	Add a fchown and a fchmod to the new non-O_NOFOLLOW case (not yet used).
 | 
						||
 | 
						||
	* src/conf-parse.y, src/main.c, src/status.c: Misc small fixups.
 | 
						||
 | 
						||
	* version: It's called 1.1.1 now.
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/status.c, src/main.c:
 | 
						||
	Fix command line parsing. Add code to securely create pid files under
 | 
						||
	OSs that do not support the O_NOFOLLOW flag (those OSs are not supported
 | 
						||
	yet, though).
 | 
						||
	Fix a possible race condition in socket creation/chmod. We now create
 | 
						||
	a directory in /tmp (or whatever TEMPDIR was set) to hold the socket.
 | 
						||
 | 
						||
	* src/dns.c, src/dns_answer.c, src/icmp.c, src/main.c, src/status.c:
 | 
						||
	Another slew of copyright notice upgrades.
 | 
						||
 | 
						||
	* version, configure.in:
 | 
						||
	Bump beta revision, fix typo (missing $) in configure.in
 | 
						||
 | 
						||
	* src/dns.c, src/dns_answer.c, src/status.c:
 | 
						||
	Silence BSD compile time warnings.
 | 
						||
 | 
						||
	* configure.in:
 | 
						||
	Cleanup, add autoconf code for building pdnsd on FreeBSD-CURRENT with the
 | 
						||
	new additionally-linked libc_r.
 | 
						||
 | 
						||
2001-01-16  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c, src/icmp.c, version:
 | 
						||
	Bump beta revision, fix a comment. Also, generate ping id's using pdnsd's
 | 
						||
	random wrappers instead of using rand() for paranoia.
 | 
						||
 | 
						||
2001-01-15  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/helpers.c, configure.in: Improve wording.
 | 
						||
 | 
						||
	* src/helpers.c: Update copyright year (forgotten in last commit).
 | 
						||
 | 
						||
	* src/dns_answer.c, src/helpers.c, src/main.c, acconfig.h, configure.in, version:
 | 
						||
	Bump versions. Small fixes (move socket intitializations from
 | 
						||
	udp_server_thread to init_udp_sockets to prevent warning when startup
 | 
						||
	takes long.
 | 
						||
	Make arc4random an option for a query id RNG and make it the default
 | 
						||
	on FreeBSD.
 | 
						||
 | 
						||
2000-12-07  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/conf-parse.y, src/main.c, version:
 | 
						||
	We are at 1.1.1p1. Removed the exec-uptest security warning printef if no
 | 
						||
	explicit user is given in the strict_setuid case (it is not needed there,
 | 
						||
	and confuses users).
 | 
						||
 | 
						||
2000-11-28  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/cache.c, src/helpers.c:
 | 
						||
	Converted cache locks to use condition vars and have lock contention
 | 
						||
	prevention. Added comments where not converted.
 | 
						||
 | 
						||
2000-11-25  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* AUTHORS, THANKS, pdnsd.spec.in:
 | 
						||
	Added spec file patches by Bernd Leibing and added him to AUTHORS and
 | 
						||
	THANKS.
 | 
						||
 | 
						||
2000-11-21  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/SuSE/Makefile.am: Fixed a hopefully last SuSE rpm build bug.
 | 
						||
 | 
						||
	* src/rc/SuSE/Makefile.am:
 | 
						||
	Another one: allow rc.conf manipulation to fail for a clean
 | 
						||
	rpm build (SuSE only).
 | 
						||
 | 
						||
	* file-list.base.in:
 | 
						||
	Last-minute fix: correct filelist for rpm build to reflect the new name
 | 
						||
	for the sample configuration.
 | 
						||
 | 
						||
	* version: It's 1.1.0 now.
 | 
						||
 | 
						||
2000-11-18  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/cache.c, src/dns_query.c, version:
 | 
						||
	Fixed a condition where the cache code did not give up a lock.
 | 
						||
	Made the udp code use connect().
 | 
						||
	Some small changes.
 | 
						||
 | 
						||
2000-11-16  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* version: Calling it 1.1.0b3.
 | 
						||
 | 
						||
2000-11-15  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/test/Makefile.am, src/pdnsd-ctl/Makefile.am, src/cache.c, src/Makefile.am, src/dns_answer.c, src/error.h, src/icmp.c, src/icmp.h, src/main.c, src/netdev.c, src/servers.c, src/thread.c, Makefile.am, configure.in, version:
 | 
						||
	Enabled new rr support by default (some resolvers don't seem to like not
 | 
						||
	supported answers - not our bug, but well).
 | 
						||
	Made some globals volatile to avoid being bitten by optimisations.
 | 
						||
 | 
						||
2000-11-12  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* TODO, version: Called it the first beta.
 | 
						||
 | 
						||
2000-11-11  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/cache.c, src/conf-lex.l.in, src/conf-parse.y, doc/pdnsd.conf.in:
 | 
						||
	renanmed rrneg to neg in the config file.
 | 
						||
	Misc small fixes.
 | 
						||
	pdnsd-ctl record xxx inval will now also invalidate local records.
 | 
						||
 | 
						||
	* src/conf-lex.l.in, src/conf-parse.y, src/dns_answer.c, src/status.c, pdnsd.spec.in:
 | 
						||
	Added --sysconfdir=/etc as argument to configure in the spec file.
 | 
						||
	Implemented the new rrneg config file section.
 | 
						||
 | 
						||
	* src/test/Makefile.am, src/pdnsd-ctl/Makefile.am, src/pdnsd-ctl/pdnsd-ctl.c, src/cache.c, src/cache.h, src/status.c, src/status.h, TODO:
 | 
						||
	Added the neg option to pdnsd-ctl.
 | 
						||
 | 
						||
	* src/cache.c, src/Makefile.am, src/conf-lex.l.in, src/consts.h, src/dns.c, src/dns.h, src/dns_answer.c, src/dns_query.c, src/helpers.c, src/main.c, configure.in:
 | 
						||
	Assorted fixes. The new features should be stabilized by now, will
 | 
						||
	integrate the missing few features now.
 | 
						||
	Also actived the tcp server by default.
 | 
						||
 | 
						||
2000-11-07  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c, src/dns_query.c, src/icmp.c, src/ipvers.h, THANKS, TODO:
 | 
						||
	Fixed a possible memory and socket leak reported by Erich Reitz.
 | 
						||
	Implemented udp source address discovery for FreeBSD.
 | 
						||
 | 
						||
	* src/dns_query.c: Part 2 of yesterdays fix.
 | 
						||
 | 
						||
2000-11-06  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_query.c, version:
 | 
						||
	Fixed a bug reported by Erich Reitz: pdnsd could leak fd's and memory if
 | 
						||
	queries timed out.
 | 
						||
 | 
						||
	* src/cache.c, src/cache.h, src/Makefile.am, src/dns_answer.c, src/dns_query.c, TODO, configure.in:
 | 
						||
	Sorted out some bugs for the new neg cacheing.
 | 
						||
 | 
						||
2000-11-05  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/cache.c, src/dns_query.c, TODO:
 | 
						||
	Negative cacheing support is now present, but largely untested.
 | 
						||
 | 
						||
	* src/conff.c, TODO:
 | 
						||
	The output of pdnsd-ctl status is now complete with all currently
 | 
						||
	supported options.
 | 
						||
 | 
						||
	* src/conf-parse.y, src/conff.c, src/conff.h, src/consts.h, src/conf-lex.l.in:
 | 
						||
	Added the config file options for the nefative cacheing support.
 | 
						||
 | 
						||
2000-11-04  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/cache.c, src/cache.h, src/conf-parse.y, src/dns.c, src/dns_query.c, src/status.c, version:
 | 
						||
	The new cache infrastructure for negative cacheing is in place.
 | 
						||
	Using and testing it remains.
 | 
						||
 | 
						||
	* src/cache.c, src/cache.h:
 | 
						||
	First changes to support negative cacheing. This should not break
 | 
						||
	anything, but the cache file format will be incompatible.
 | 
						||
 | 
						||
	* src/main.c, src/dns_answer.c:
 | 
						||
	init_udp_socket() and init_tcp_socket() are now called after
 | 
						||
	daemonizing on FreeBSD, as bind wants to lock the fd which
 | 
						||
	can cause later calls to fail after an exit.
 | 
						||
 | 
						||
2000-11-03  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_query.c, src/icmp.c, src/servers.c:
 | 
						||
	Minor bugfixes and repository cleanup.
 | 
						||
 | 
						||
2000-11-02  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/icmp.c, TODO, version:
 | 
						||
	Called it 1.0.16p4. Fixed some compatability problems with the new code;
 | 
						||
	the ipv4 implementation seems to be fairly stable, the ipv6 one needs
 | 
						||
	some testing with dest unreach messages.
 | 
						||
 | 
						||
	* src/icmp.c, src/main.c:
 | 
						||
	Rewrote large parts of the ping implementation to be more portable.
 | 
						||
 | 
						||
2000-11-01  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* acconfig.h, configure.in, version:
 | 
						||
	Some config fixes, version to 1.0.16p3. SOCKET_LOCKING should be
 | 
						||
	off by default, as sendmsg can block.
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl.c, src/error.h, configure.in:
 | 
						||
	Removed -W* arguments from CFLAGS that were implied by -Wall.
 | 
						||
 | 
						||
	* src/thread.c, configure.in:
 | 
						||
	Added some more safety tests to configure.in, and made it give
 | 
						||
	an error on some conditions. Also made configure do poll and usleep
 | 
						||
	detectione.
 | 
						||
 | 
						||
	* src/cache.h, src/test/Makefile.am, src/dns_answer.c, src/error.c, src/error.h, src/helpers.c, src/main.c, src/servers.c, src/status.c, src/thread.c, src/thread.h, src/Makefile.am:
 | 
						||
	Code cleanup. Beautified some macros, and moved the thread
 | 
						||
	specific things from error.[ch] over to the new thread.[ch].
 | 
						||
	Also introduced usleep_r which tries to be thread safe for
 | 
						||
	different Unices.
 | 
						||
 | 
						||
2000-10-31  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl, src/pdnsd-ctl/pdnsd-ctl.c:
 | 
						||
	The pdnsd-ctl binary got into cvs. Fixed that.
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl, src/cache.c, src/cache.h, src/error.c, src/helpers.c, src/main.c, version:
 | 
						||
	Another set of FreeBSD compatability patches. This seems to catch
 | 
						||
	most of the problems, and pdnsd should be useable with libc_r now.
 | 
						||
 | 
						||
2000-10-30  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/pdnsd-ctl, src/conff.c, src/dns_answer.c, src/dns_query.c, src/helpers.c, src/icmp.c, src/main.c, AUTHORS, Makefile.am, THANKS, configure.in, version:
 | 
						||
	FreeBSD fixes, mostly contributed by Roman Shterenzon.
 | 
						||
 | 
						||
2000-10-25  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/pdnsd-ctl/Makefile.am, src/pdnsd-ctl/pdnsd-ctl:
 | 
						||
	pdnsd-ctl was not in cvs.
 | 
						||
 | 
						||
	* src/dns_query.c, src/error.h, configure.in: Some fixups for 1.0.15.
 | 
						||
 | 
						||
2000-10-23  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c, src/dns_query.c, configure.in:
 | 
						||
	Several fixes for pdnsd to work better when it receives error replys.
 | 
						||
 | 
						||
	* src/dns.c, src/dns_answer.c:
 | 
						||
	Fixed another memory leak on an error path in dns_answer.c and did
 | 
						||
	a pointer signedness fixup in dns.c
 | 
						||
 | 
						||
2000-10-21  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c, AUTHORS:
 | 
						||
	Applied a patch by Paul Wagland that fixes some spelling mistakes
 | 
						||
	and some memory leaks on error paths.
 | 
						||
 | 
						||
	* src/dns_query.c, src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/dns_answer.c, NEWS, version:
 | 
						||
	Bug fixes. Added the randomize_recs option and turned it on
 | 
						||
	by default.
 | 
						||
 | 
						||
2000-10-20  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/helpers.c, src/dns.c, src/dns_query.c:
 | 
						||
	Fixes for the paranoid option to work with root servers
 | 
						||
	properly.
 | 
						||
 | 
						||
	* src/dns_query.c, src/dns.h, src/dns_answer.c, AUTHORS, THANKS:
 | 
						||
	Applied a patch by Paul Wagland for bind9-compatability and added
 | 
						||
	him to AUTHORS and THANKS.
 | 
						||
 | 
						||
2000-10-19  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c, NEWS, version:
 | 
						||
	Another POLL_* fix. It is now called 1.0.14.
 | 
						||
 | 
						||
	* src/dns_answer.c, src/dns_query.c, src/icmp.c: BSD build fixes.
 | 
						||
 | 
						||
	* src/dns_query.c:
 | 
						||
	Made p_recurdive_query return immediately if a query returns
 | 
						||
	NXDOMAIN.
 | 
						||
 | 
						||
	* src/dns_query.c, Makefile.am:
 | 
						||
	Some bugifixes. It is now called 1.0.13. Releasing.
 | 
						||
 | 
						||
	* src/cache.c, src/dns_query.c, AUTHORS, NEWS:
 | 
						||
	Updated AUTHORS and NEWS. Made destroy_cache() lock the cache so
 | 
						||
	that no thread can access the cache afterwards (could lead to
 | 
						||
	crashes).
 | 
						||
 | 
						||
	* src/helpers.c, NEWS, THANKS:
 | 
						||
	Integrated a security fix contributed by Olaf Kirch: when
 | 
						||
	changing user IDs, pdnsd did not reinitialize the supplementary
 | 
						||
	group list, meaning that the process still had the privileges
 | 
						||
	of the supplementary groups the original user was member of.
 | 
						||
 | 
						||
	* src/conf-lex.l.in, src/conf-parse.y, Makefile.am, TODO, version:
 | 
						||
	Introduced the par_queries option.
 | 
						||
 | 
						||
	* src/dns_answer.c, src/dns_query.c, TODO:
 | 
						||
	Updated TODO, did some fixups for string handling.
 | 
						||
 | 
						||
	* HACKING: Added HACKING with some comments about coding style.
 | 
						||
 | 
						||
2000-10-18  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c, src/dns_query.c, src/error.h, src/main.c, TODO:
 | 
						||
	Revieved and fixed the new dns_query.c-poll/select loops.
 | 
						||
 | 
						||
	* src/test/tping.c, src/dns_query.c, src/icmp.c:
 | 
						||
	Fixed the new poll/select ping support.
 | 
						||
 | 
						||
2000-10-17  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_query.c, src/icmp.c, TODO:
 | 
						||
	Got rid of the O_NONBLOCK loop in the icmp.c ping implementation.
 | 
						||
	Beta tesing pending.
 | 
						||
 | 
						||
	* src/rc/Debian/Makefile.am, src/conff.c, src/conff.h, src/dns_query.c, src/dns_query.h, THANKS, TODO, acconfig.h, configure.in:
 | 
						||
	Corrected the Debian rc script (bug reported by Michael M<>ller).
 | 
						||
	Got rid of the nonblocking socket things in dns_query.c, and
 | 
						||
	using poll/select now.
 | 
						||
	Testing (esp. --no-poll) remains.
 | 
						||
 | 
						||
	* src/dns_answer.c:
 | 
						||
	Got rid of O_NONBLOCK read loops in dns_answer.c, using poll/select
 | 
						||
	now instead (after one issue about boundaries was cleared up).
 | 
						||
 | 
						||
2000-10-16  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/SuSE/Makefile.am, src/rc/RedHat/Makefile.am, src/rc/Debian/Makefile.am:
 | 
						||
	The generated rc scripts do not need to be in the distribution.
 | 
						||
 | 
						||
	* src/conff.c, src/main.c:
 | 
						||
	Fixed a server structure members in conff.c. Only delete the socket
 | 
						||
	if we are in status pipe mode now.
 | 
						||
 | 
						||
	* src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/dns_answer.c, src/dns_query.c, acconfig.h, configure.in:
 | 
						||
	Added the --enable-tcp-subseq and --with-tcp-qtimeout configure
 | 
						||
	options, added the tcp_qtimeout conf file option, tested things.
 | 
						||
	1.0.12 is ready for release.
 | 
						||
 | 
						||
2000-10-15  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c, TODO, acconfig.h:
 | 
						||
	Added TCP timeouts to the answer code. Still need an option in the
 | 
						||
	conf file and documentation for that (besides beta testing).
 | 
						||
 | 
						||
	* src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/consts.h, src/dns_query.c, src/helpers.c, src/helpers.h, NEWS, TODO:
 | 
						||
	Introduced domain inclusion/exclusion lists in the server section
 | 
						||
	(new options include=, exclude=, policy=).
 | 
						||
 | 
						||
2000-10-14  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/dns_answer.c, src/main.c, NEWS, TODO, version:
 | 
						||
	Upped version, updated NEWS and TODO and implemented a process
 | 
						||
	count limit.
 | 
						||
 | 
						||
2000-10-13  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/Debian/pdnsd.in, src/main.c:
 | 
						||
	Added the --pdnsd-user option, and made the Debian rc script
 | 
						||
	use it rather than trying to parse the config file itself.
 | 
						||
 | 
						||
2000-10-11  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/SuSE/pdnsd, src/rc/SuSE/pdnsd.in, src/rc/RedHat/pdnsd, src/rc/RedHat/pdnsd.in, src/rc/Debian/pdnsd, src/rc/Debian/pdnsd.in, AUTHORS, THANKS, configure.in:
 | 
						||
	Added the 'configure'-able rc scripts contributed by Carsten Block
 | 
						||
	and added him to THANKS and AUTHORS.
 | 
						||
 | 
						||
	* src/main.c:
 | 
						||
	Added O_NOFOLLOW to the pidfile open() call (if it is defined)
 | 
						||
	to prevent users creating files as the pdnsd user (using links)
 | 
						||
	if the admin put the pidfile in a world-writeable directory
 | 
						||
	against all good advice.
 | 
						||
	This is not a bug fix! Admins were not, and are still not supposed
 | 
						||
	to put the pidfile in a directory that is writeable for untrusted
 | 
						||
	users!
 | 
						||
 | 
						||
2000-10-10  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* THANKS: Added Milan P. Stanic to THANKS.
 | 
						||
 | 
						||
	* src/main.c:
 | 
						||
	Fixed a missing O_WRONLY in the open() call for pidfile operation.
 | 
						||
 | 
						||
2000-10-08  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/Makefile.am, src/dns.c, src/dns_answer.c, configure.in, version, acconfig.h:
 | 
						||
	Released 1.0.11.
 | 
						||
	Two security fixes in dns.c and dns_answer.c, and misc. smaller issues.
 | 
						||
 | 
						||
	* src/Makefile.am, src/conf-parse.y, src/dns_answer.c, src/dns_query.c, src/icmp.c, src/servers.c, AUTHORS, THANKS, TODO, acconfig.h, configure.in, version:
 | 
						||
	1.0.10 was released some time ago ;-)
 | 
						||
	This had some IPv6 fixes.
 | 
						||
	Also fixed minor bug when using SOCKET_LOCKING.
 | 
						||
 | 
						||
2000-08-28  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/dns_answer.c: Fixed a parameter mismatch in getsockopt()
 | 
						||
 | 
						||
	* Makefile.am:
 | 
						||
	Applied Sourav K. Mandal's rpm build patch to the toplevel
 | 
						||
	Makefile.am
 | 
						||
 | 
						||
2000-08-27  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/conf-lex.l.in, src/conf-parse.y, src/consts.h, src/servers.c, version:
 | 
						||
	Added diald support. It's now called 1.0.9.
 | 
						||
 | 
						||
	* src/conf-parse.y, src/conff.c, src/netdev.c, pdnsd.spec.in:
 | 
						||
	Fixed some ugly typos in conf-parse.y and netdev.c.
 | 
						||
	Since I have no further bug reports and these bugs make some
 | 
						||
	things inconvenient, I will release 1.0.9 immediately.
 | 
						||
 | 
						||
2000-08-26  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* pdnsd.spec.in: small spec fix.
 | 
						||
 | 
						||
	* NEWS, configure.in: Last fixups for 1.0.8. Released it.
 | 
						||
 | 
						||
	* Makefile.am: Set mode and owner for cache file.
 | 
						||
 | 
						||
	* src/conf-parse.y, src/dns_answer.c, src/netdev.c, acconfig.h, configure.in, version:
 | 
						||
	Misc fixes. Hopefully fixed the UDP socket problems under Linux SMP.
 | 
						||
 | 
						||
2000-08-20  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/cache.c, src/dns_answer.c, AUTHORS, THANKS, configure.in, pdnsd.spec.in, version:
 | 
						||
	Build fixes by Alexandre Nunes, spec fixes (does now set distro for
 | 
						||
	configure), first attempt at an "error in udp send"-fix, and fix
 | 
						||
	for a problem with having records for the root domain in the disk
 | 
						||
	cache file.
 | 
						||
 | 
						||
2000-08-13  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/netdev.h, src/servers.c, src/status.c, src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/consts.h, src/dns.c, src/dns.h, src/main.c, src/netdev.c, AUTHORS, THANKS:
 | 
						||
	Some minor fixes. Integrated the ppp device patch by Ron Yorston.
 | 
						||
 | 
						||
2000-08-12  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* configure.in:
 | 
						||
	configure.in was missing in repository. Also removed debugging
 | 
						||
	flag for build.
 | 
						||
 | 
						||
	* src/main.c: Made the pid file handling safe for directories.
 | 
						||
 | 
						||
	* src/dns.c: Part II of the last fix.
 | 
						||
 | 
						||
	* src/dns.c:
 | 
						||
	Fixed a nasty bug in decompress_name which would produce errors very
 | 
						||
	rarely. That was a off-by-one bug, but on the safe side (no overflow,
 | 
						||
	stopping one by too early).
 | 
						||
 | 
						||
	* src/main.c:
 | 
						||
	Fixed several possible problems with strncat(). None of these was
 | 
						||
	critical or involved remote data.
 | 
						||
 | 
						||
2000-08-08  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/main.c: Changed FreeBSD signal latency to 250 ms.
 | 
						||
 | 
						||
	* src/main.c, acconfig.h:
 | 
						||
	A set of last-minute FreeBSD fixes. pdnsd does now NEED linuxthreads on
 | 
						||
	BSD.
 | 
						||
 | 
						||
2000-08-07  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* version: It's now called 1.0.7.
 | 
						||
 | 
						||
	* src/main.c, doc/pdnsd.conf.in, Makefile.am: Misc build&BSD fixes.
 | 
						||
 | 
						||
	* src/conff.c, src/conf-parse.y, version:
 | 
						||
	Version set to the hopefully last beta. Fixed the proxy_only option.
 | 
						||
 | 
						||
2000-08-05  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/SuSE/Makefile.am, src/rc/RedHat/Makefile.am, src/rc/Debian/Makefile.am, src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/dns_query.c, src/status.c, doc/pdnsd.conf.in, Makefile.am, TODO:
 | 
						||
	Added the proxy_only options. Some build fixups.
 | 
						||
 | 
						||
2000-07-30  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/SuSE/Makefile.am, src/rc/RedHat/Makefile.am, src/rc/Debian/Makefile.am, src/rc/Makefile.am, src/main.c, src/status.h, AUTHORS, INSTALL, Makefile.am, TODO, version:
 | 
						||
	Many small fixups for 1.0.7.
 | 
						||
 | 
						||
2000-07-29  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/SuSE/Makefile.am, src/rc/RedHat/Makefile.am, src/rc/Debian/Makefile.am, src/rc/README, src/status.c, src/servers.c, Makefile.am, TODO, acconfig.h:
 | 
						||
	Assorted fixes.
 | 
						||
 | 
						||
	* src/cache.c, src/hash.c, src/dns.h, src/dns_answer.c, src/dns_query.c, src/icmp.c, src/ipvers.h, src/servers.c, src/servers.h, src/status.c, src/status.h, src/Makefile.am, src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/dns.c, AUTHORS, Makefile.am, THANKS:
 | 
						||
	Big heap of updates and fixes. Incorporated build changes from Sourav
 | 
						||
	K. Mandal and pcmcia SCHEME support by Stephan Boettcher.
 | 
						||
 | 
						||
2000-07-22  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/rc/Debian/pdnsd:
 | 
						||
	Applied a patch by Markus Mohr to his debian rc script, which I had
 | 
						||
	broken in some way.
 | 
						||
 | 
						||
2000-07-21  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* src/cache.c, src/main.c, src/status.c, src/status.h:
 | 
						||
	Worked on the new status socket (pdnsd-ctl) option.
 | 
						||
 | 
						||
	* src/Makefile.am, version: Upped version, fixed Makefile.am
 | 
						||
 | 
						||
	* src/cache.c, src/hash.c, src/hash.h, src/cache.h, src/Makefile.am, src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/dns.c, src/dns.h, src/dns_answer.c, src/dns_query.c, src/dns_query.h, src/helpers.c, src/helpers.h, src/ipvers.h, src/main.c, src/status.c, src/status.h, AUTHORS, Makefile.am, THANKS, acconfig.h:
 | 
						||
	Updated AUTHORS and THANKS. Merged in patches by Sourav K. Mandal
 | 
						||
	and Lyonel Vincent.
 | 
						||
 | 
						||
2000-07-20  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* doc/pdnsd.conf: Added pdnsd.conf. Well...
 | 
						||
 | 
						||
	* src/dns_query.c, src/dns_query.h, doc/pdnsd.conf:
 | 
						||
	Added some ommited files.
 | 
						||
 | 
						||
	* src/test/Makefile.am, src/test/if_up.c, src/test/is_local_addr.c, src/test/random.c, src/test/tping.c, src/rc/SuSE/Makefile.am, src/rc/SuSE/pdnsd, src/rc/RedHat/Makefile.am, src/rc/RedHat/pdnsd, src/rc/Debian/pdnsd, src/rc/Makefile.am, src/rc/README, src/Makefile.am, src/conf-lex.l.in, src/conf-parse.y, src/conff.c, src/conff.h, src/consts.h, src/dns.c, src/dns.h, src/dns_answer.c, src/dns_answer.h, src/error.c, src/error.h, src/helpers.c, src/helpers.h, src/icmp.c, src/icmp.h, src/ipvers.h, src/main.c, src/netdev.c, src/netdev.h, src/servers.c, src/servers.h, src/status.c, src/status.h, doc/pdnsd.conf.in, Makefile.am, acconfig.h, file-list.base.in, pdnsd.spec.in:
 | 
						||
	Checked in the pdnsd files at their new locations.
 | 
						||
 | 
						||
	* doc/pdnsd.conf, Makefile, a-conf.sh, cache.c, cache.h, conf.l.templ, conf.y, conff.c, conff.h, config.h.templ, consts.h, dns.c, dns.h, dns_answer.c, dns_answer.h, dns_query.c, dns_query.h, error.c, error.h, exec-flex.sh, hash.c, hash.h, helpers.c, helpers.h, icmp.c, icmp.h, ipvers.h, main.c, netdev.c, netdev.h, pdnsd-redhat.spec.templ, pdnsd-suse.spec.templ, servers.c, servers.h, status.c, status.h, version:
 | 
						||
	Removed the moved files. Will add the new ones soon.
 | 
						||
 | 
						||
2000-07-16  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* TODO: New tasks in TODO.
 | 
						||
 | 
						||
2000-07-15  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* TODO:
 | 
						||
	Updated TODO: Autoconf support was contributed by Sourav K. Mandal
 | 
						||
 | 
						||
	* conff.h, dns_query.c, ipvers.h, cache.c:
 | 
						||
	Fixed some minor bugs and a showstopper in cache.c that caused
 | 
						||
	crashes in some situations.
 | 
						||
 | 
						||
2000-07-12  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* dns_query.c, error.c, error.h, main.c:
 | 
						||
	Made pdnsd ignore SIGPIPE, which seemed to be responsible for some
 | 
						||
	crashes.
 | 
						||
	Accept (grudgingly) SOA rr's where NS ones would be The Right Thing.
 | 
						||
 | 
						||
2000-07-10  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* AUTHORS, THANKS, conff.c:
 | 
						||
	Updated AUTHORS, THANKS, and the fprintfs for the status pipe in
 | 
						||
	conff.c
 | 
						||
 | 
						||
	* TODO, config.h.templ, dns.h, dns_answer.c, dns_query.c, dns_query.h, main.c, version:
 | 
						||
	Added UDP queries and gave the user the choice between TCP and UDP
 | 
						||
	queries (UDP is the default now). Made the TCP server optional.
 | 
						||
	Fixed a authoritative record handling bug. Added pidfile support.
 | 
						||
 | 
						||
2000-07-07  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* doc/pdnsd.conf:
 | 
						||
	Inserted run_as="nobody"; again, it is The Right Thing and people
 | 
						||
	should use it.
 | 
						||
 | 
						||
	* Makefile:
 | 
						||
	The pdnsd cache directory is now created as nobody, since the
 | 
						||
	default run_as in the example pdnsd.conf is also nobody.
 | 
						||
 | 
						||
	* doc/pdnsd.conf:
 | 
						||
	Commented the run_as option out (people may run into permission
 | 
						||
	problems).
 | 
						||
 | 
						||
	* version: Upped version to 1.0.5
 | 
						||
 | 
						||
	* AUTHORS, THANKS, conf.l.templ, conf.y, conff.c, conff.h, dns_answer.c, icmp.c, icmp.h, main.c, version:
 | 
						||
	Folded in the server_ip option code as contributed by Wolfgang Ocker
 | 
						||
	and extended it to IPv6. Fixed a bug in IPv4 ping in IPv6 mode.
 | 
						||
 | 
						||
2000-07-06  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* cache.c, dns_query.c:
 | 
						||
	Killed a bug which could cause crashes with more than 2 servers.
 | 
						||
 | 
						||
	* cache.c: Fixed a bug reported by Bert Frederiks that would break the
 | 
						||
	serve_aliases option when only one character was between official
 | 
						||
	name and alias in the /etc/hosts-style file.
 | 
						||
 | 
						||
2000-07-04  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* pdnsd-suse.spec.templ: The SuSE spec now uses the new makefile rule.
 | 
						||
 | 
						||
	* Makefile, THANKS, dns_query.c, helpers.c, version:
 | 
						||
	Added people to THANKS, fixed a bug that caused uppercase hosts/
 | 
						||
	rr-section entries to be ignored in the cache, fixed the SuSE
 | 
						||
	makefile for pdnsd to run_as nobody, and other small fixups.
 | 
						||
 | 
						||
2000-07-03  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* dns_answer.c:
 | 
						||
	First change after release of 1.0.4: The questions received
 | 
						||
	are now properly written into the debug file when starting
 | 
						||
	with -g -d.
 | 
						||
 | 
						||
	* config.h.templ, dns_query.c:
 | 
						||
	Fixed a possible way to get around paranoid restrictions.
 | 
						||
 | 
						||
	* version: Set version to 1.0.4
 | 
						||
 | 
						||
	* doc/pdnsd.conf: Added an entry for the paranoid option.
 | 
						||
 | 
						||
	* cache.c, config.h.templ, dns_answer.c, dns_query.c, ipvers.h:
 | 
						||
	Revisions and fixups. The complete code revision is now complete.
 | 
						||
 | 
						||
2000-06-29  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* dns_query.c: Overhaul.
 | 
						||
 | 
						||
	* dns_answer.c, dns_query.c, config.h.templ:
 | 
						||
	Code overhault continued. dns_answer.c is finished.
 | 
						||
 | 
						||
2000-06-27  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* conff.c, dns_answer.c, icmp.c, netdev.c, servers.c, status.c:
 | 
						||
	Continued code overhaul. Fixed several bugs, and simplified some
 | 
						||
	code.
 | 
						||
 | 
						||
	* conf.l.templ, conf.y, conff.c, ipvers.h, version: Fixups.
 | 
						||
 | 
						||
2000-06-26  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* hash.c: Revised; fixed a minor bug.
 | 
						||
 | 
						||
	* cache.c: Overhauled.
 | 
						||
 | 
						||
	* dns_query.c, error.c, helpers.c, helpers.h, ipvers.h, main.c, version, dns.c:
 | 
						||
	Manual code overhaul. Numerous small patches, greatly simplified
 | 
						||
	decompress_name().
 | 
						||
 | 
						||
2000-06-25  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* config.h.templ:
 | 
						||
	Made the C random() RNG the default (using /dev/urandom, we suck up
 | 
						||
	too much randomness on high load).
 | 
						||
 | 
						||
	* error.c, error.h, icmp.c, icmp.h, main.c:
 | 
						||
	Small cleanups. Makes the testsuite compilation easier.
 | 
						||
 | 
						||
	* Makefile, config.h.templ: Preparing for release of 1.0.4.
 | 
						||
 | 
						||
2000-06-24  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* Makefile, THANKS, a-conf.sh, dns_answer.c, dns_query.c, error.c, version:
 | 
						||
	Fixed bugs with the paranoid option, connect() timeout handling, and
 | 
						||
	a incompatability in response handling that caused the glibc
 | 
						||
	resolver to misunderstand error messages pdnsd generated on unknown
 | 
						||
	query types. This bug, that was reported by James MacLean, could
 | 
						||
	for example cause ssh to hang some time.
 | 
						||
 | 
						||
	* Makefile, NEWS, conf.l.templ, conf.y, conff.c, conff.h, config.h.templ, dns.c, dns_query.c, dns_query.h, helpers.c, helpers.h, icmp.c, icmp.h, main.c:
 | 
						||
	Added the paranoid option, and modified the ping uptest so that it
 | 
						||
	works with strict_setuid. Also made strict_setuid=on the default.
 | 
						||
	1.0.4 should be out soon.
 | 
						||
 | 
						||
2000-06-23  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* doc/pdnsd.conf: Added a run_as= line, which is sensible normally.
 | 
						||
 | 
						||
	* Makefile, conf.l.templ, conf.y, conff.c, conff.h, dns_answer.c, dns_answer.h, helpers.c, helpers.h, main.c, servers.c, status.c, version:
 | 
						||
	Some fixups, added the run_as and strict_setuid security options.
 | 
						||
 | 
						||
	* THANKS: Updated.
 | 
						||
 | 
						||
	* AUTHORS, ipvers.h, main.c, netdev.c, version:
 | 
						||
	Fixed some definitions for glibc2.0-users. Repaced the return at the
 | 
						||
	end of main() with _exit(). Should not build and run OK on glibc 2.0
 | 
						||
	boxen.
 | 
						||
	Fixed a typo in netdev.c
 | 
						||
 | 
						||
	* ipvers.h:
 | 
						||
	Fixed a typo in ipvers.h to fix compile problems on systems without
 | 
						||
	an IPv6-supporting C library, and possible IPv6 problems using the
 | 
						||
	status pipe.
 | 
						||
 | 
						||
	* error.c, version:
 | 
						||
	Fixed a bug that could cause signals to be delivered to the wrong
 | 
						||
	process.
 | 
						||
 | 
						||
2000-06-22  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* version: Set version to 1.0.1.
 | 
						||
 | 
						||
	* cache.c, dns_answer.c, error.c, error.h, main.c, pdnsd-suse.spec.templ:
 | 
						||
	Fixed misc issues reported by Jonathan Hudson and Joachim Dorner, one
 | 
						||
	of them a real showstopper in cache.c.
 | 
						||
 | 
						||
	* Makefile, NEWS, README, cache.h, config.h.templ, version:
 | 
						||
	Updated things for 1.0.0 and released it finally.
 | 
						||
 | 
						||
	* AUTHORS, THANKS: Updated THANKS and AUTHORS
 | 
						||
 | 
						||
	* NEWS, a-conf.sh, cache.c, conf.l.templ, conf.y, conff.c, conff.h, dns_answer.c, dns_query.c, error.c, error.h, main.c, servers.c, status.c:
 | 
						||
	Fixed a-conf.sh and cleaned up signal handling as far as it can be
 | 
						||
	done ;-). Added the max_ttl option.
 | 
						||
 | 
						||
2000-06-21  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* dns_answer.c, error.c, error.h, main.c, servers.c, status.c:
 | 
						||
	More signal fixes. This is a real pain with LinuxThreads.
 | 
						||
 | 
						||
	* NEWS, cache.c, dns_answer.c, error.c, error.h, helpers.c, helpers.h, main.c, servers.c, status.c, version:
 | 
						||
	Fixups for signal handling. This is more than only a little tricky
 | 
						||
	using the linuxthreads library. This hopefully fixes the deadlocks
 | 
						||
	we had on signals.
 | 
						||
 | 
						||
2000-06-13  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* AUTHORS, THANKS: Updated credits.
 | 
						||
 | 
						||
	* a-conf.sh:
 | 
						||
	A primitive configure-like script intended as drop-in replacement
 | 
						||
	until autoconf support finally comes.
 | 
						||
 | 
						||
	* .cvsignore, Makefile, cache.c, dns_query.c, ipvers.h, servers.c, version:
 | 
						||
	Added a primitive configuration script as drop-in. Killed some bugs
 | 
						||
	and changed the recently added linkdown_kluge option following
 | 
						||
	suggestions from Daniel Smolik.
 | 
						||
 | 
						||
2000-06-12  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* dns_query.h, exec-flex.sh, Makefile, cache.c, conf.l.templ, conf.y, conff.c, conff.h, config.h.templ, dns_query.c:
 | 
						||
	Numerous cleanups and fixes. Implemented the linkdown_kluge option
 | 
						||
	as proposed by Daniel Smolik. Hope to get ready for 1.0.0 know.
 | 
						||
 | 
						||
2000-06-10  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* Makefile, NEWS, TODO, dns_answer.c:
 | 
						||
	Modified some stuff in dns_answer.c (if no nameserver for a knot in
 | 
						||
	the dns namespace is found now, its predecessors are tried now in
 | 
						||
	order to return accurate authority results). This will be paid with a
 | 
						||
	little more beta time, so the Makefile has developer switches again.
 | 
						||
	Corrected NEWS and TODO.
 | 
						||
 | 
						||
	* Makefile, config.h.templ, dns_answer.c, dns_query.c, dns_query.h, hash.h, helpers.c, version:
 | 
						||
	Removed some dead code, fixed some really minor bugs. Version is up
 | 
						||
	to 1.0.0p7, which is hopefully the last beta.
 | 
						||
 | 
						||
	* Makefile, config.h.templ:
 | 
						||
	Fixed things up for the 1.0.0 distribution version
 | 
						||
 | 
						||
2000-06-06  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* Makefile, config.h.templ, icmp.c, netdev.c:
 | 
						||
	Some minor comment fixes.
 | 
						||
 | 
						||
	* Makefile, TODO, main.c, version:
 | 
						||
	BSD fix in Makefile and help update. It is now called 1.0.0p6. TODO
 | 
						||
	was updated to reflect the project status.
 | 
						||
 | 
						||
	* dns_answer.c:
 | 
						||
	BSD & misc fixes. pdnsd runs now nicely on my FreeBSD 4.0 box.
 | 
						||
 | 
						||
	* dns_answer.c, ipvers.h:
 | 
						||
	Fixed IPv6 UDP dest address recovery. Also fixed a real stupid bug in
 | 
						||
	ipvers.h.
 | 
						||
 | 
						||
	* cache.h, dns_query.c, error.h:
 | 
						||
	Added DEBUG_MSG6 macros. Cleaned up requery handling.
 | 
						||
 | 
						||
	* dns.c, dns_answer.c, dns_query.c, dns_query.h:
 | 
						||
	Fixed another heap of bugs, introduced some sanity checks, no requery
 | 
						||
	on answers that have ra not set now.
 | 
						||
 | 
						||
2000-06-05  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* cache.c:
 | 
						||
	Fixed write_disk_cache.
 | 
						||
 | 
						||
	* cache.c, cache.h:
 | 
						||
	Fixes for rr handling.
 | 
						||
 | 
						||
2000-06-04  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* cache.c, dns_answer.c, dns_query.c:
 | 
						||
	Fixes again: some missing checks for rrset existence added.
 | 
						||
 | 
						||
	* cache.c, dns_answer.c, helpers.c, icmp.c:
 | 
						||
	Fixes for the new/modified code and its side effects on old code ;-)
 | 
						||
 | 
						||
	* ChangeLog.old, NEWS, cache.c, conf.l.templ, conf.y, conff.c, config.h.templ, dns.c, dns_answer.c, dns_query.c, error.c, hash.c, helpers.c, icmp.c, main.c, netdev.c, servers.c, status.c:
 | 
						||
	Folded the ChangeLog and NEWS of the 0.9.x tree back in and added NEWS for the
 | 
						||
	upcoming 1.0.0 release. Some compile fixes. Reorganized config.h.templ. Made
 | 
						||
	the inclusion of the rcsid strings into the executable optional.
 | 
						||
 | 
						||
	* cache.c, dns_answer.c:
 | 
						||
	Pile of fixes on recently added/modified code.
 | 
						||
 | 
						||
2000-06-03  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* .cvsignore, Makefile, lex.inc.h:
 | 
						||
	lex.inc.h should not be in CVS (it is automatically generated by
 | 
						||
	exec-flex.sh). It should also be deleted by 'make mclean'.
 | 
						||
 | 
						||
	* TODO, cache.c, dns_answer.c, dns_query.c, lex.inc.h:
 | 
						||
	rfc2181 conformance should be reached by now. Updated TODO. Bugfixing
 | 
						||
	remains.
 | 
						||
 | 
						||
	* doc/html/.cvsignore, doc/html/dl.html, doc/html/doc.html, doc/html/faq.html, doc/html/index.html:
 | 
						||
	Removed the html documentation from CVS. It is maintained separately.
 | 
						||
 | 
						||
	* doc/pdnsd.conf:
 | 
						||
	Added CVS/RCS $Id$ tag.
 | 
						||
 | 
						||
	* cache.h, conf.l.templ, conf.y, conff.c, conff.h, config.h.templ, consts.h, dns.c, dns.h, dns_answer.c, dns_answer.h, dns_query.c, dns_query.h, error.c, error.h, exec-flex.sh, hash.c, hash.h, helpers.c, helpers.h, icmp.c, icmp.h, ipvers.h, main.c, netdev.c, netdev.h, pdnsd-redhat.spec.templ, pdnsd-suse.spec.templ, servers.c, servers.h, status.c, status.h, version, AUTHORS, INSTALL, Makefile, NEWS, README, THANKS, TODO, cache.c:
 | 
						||
	Added CVS/RCS $Id$ tags to most files, did some cleanups, introduced
 | 
						||
	the new rrset granularity caching. The new code is still much of beta,
 | 
						||
	use with care.
 | 
						||
 | 
						||
2000-06-01  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* Makefile, cache.c, hash.c, helpers.c, icmp.c, netdev.c:
 | 
						||
	Yet another set of BSD fixes (test programs do now work for me
 | 
						||
	under FreeBSD). Some other minor fixes.
 | 
						||
 | 
						||
	* Makefile, error.c, error.h, helpers.c, helpers.h:
 | 
						||
	Transplanted kill_pdnsd from error.c to helpers.c in order to get the
 | 
						||
	tests compiled without the thread library.
 | 
						||
 | 
						||
2000-05-31  Thomas Moestl  <tmoestl@gmx.net>
 | 
						||
 | 
						||
	* pdnsd:
 | 
						||
	Ooops, executable got in.
 | 
						||
 | 
						||
	* Makefile, pdnsd:
 | 
						||
	Added test suite programs.
 | 
						||
 | 
						||
	* icmp.c, netdev.c:
 | 
						||
	All basic BSD patches have been folded in. pdnsd will now compile on
 | 
						||
	FreeBSD with (hopefully) all features.
 | 
						||
 | 
						||
	* dns_answer.c, Makefile:
 | 
						||
	Disabled udp targed address discovery for BSD builds (this sadly ist
 | 
						||
	OS specific at least for IPv4. Must be rewritten under BSD as it is
 | 
						||
	an RFC compatability issue under some circumstances)
 | 
						||
 | 
						||
	* cache.c, cache.h, conf.y, conff.c, conff.h, config.h.templ, dns_answer.c, helpers.c, icmp.c, ipvers.h, netdev.c, Makefile:
 | 
						||
	BSD include & misc build fixes. More to follow...
 | 
						||
 | 
						||
	* Makefile, cache.h:
 | 
						||
	BSD Fixes: Makefile should work with BSD make, sed command line,
 | 
						||
	sorted out naming clash in cache.h
 | 
						||
 | 
						||
	* .cvsignore:
 | 
						||
	Added ChangeLog to .cvsignore
 | 
						||
 | 
						||
	* THANKS, conff.c:
 | 
						||
	Fixed a bug reported by Jonathan Hudson and added him to THANKS
 | 
						||
 | 
						||
	* ChangeLog.old:
 | 
						||
	Added the pre-CVS ChangeLog.
 | 
						||
 | 
						||
	* .cvsignore, AUTHORS, COPYING, INSTALL, Makefile, NEWS, README, THANKS, TODO, cache.c, cache.h, conf.l.templ, conf.y, conff.c, conff.h, config.h.templ, consts.h, dns.c, dns.h, dns_answer.c, dns_answer.h, dns_query.c, dns_query.h, doc/.cvsignore, doc/html/dl.html, doc/html/doc.html, doc/html/faq.html, doc/html/index.html, doc/pdnsd.conf, doc/txt/.cvsignore, error.c, error.h, exec-flex.sh, hash.c, hash.h, helpers.c, helpers.h, icmp.c, icmp.h, ipvers.h, lex.inc.h, main.c, netdev.c, netdev.h, pdnsd-redhat.spec.templ, pdnsd-suse.spec.templ, servers.c, servers.h, status.c, status.h, version:
 | 
						||
	Initial import of pdnsd-1.0.0p3 source tree into CVS.
 | 
						||
 | 
						||
 | 
						||
	* .cvsignore, AUTHORS, COPYING, INSTALL, Makefile, NEWS, README, THANKS, TODO, cache.c, cache.h, conf.l.templ, conf.y, conff.c, conff.h, config.h.templ, consts.h, dns.c, dns.h, dns_answer.c, dns_answer.h, dns_query.c, dns_query.h, doc/.cvsignore, doc/html/dl.html, doc/html/doc.html, doc/html/faq.html, doc/html/index.html, doc/pdnsd.conf, doc/txt/.cvsignore, error.c, error.h, exec-flex.sh, hash.c, hash.h, helpers.c, helpers.h, icmp.c, icmp.h, ipvers.h, lex.inc.h, main.c, netdev.c, netdev.h, pdnsd-redhat.spec.templ, pdnsd-suse.spec.templ, servers.c, servers.h, status.c, status.h, version:
 | 
						||
	New file.
 | 
						||
 |