Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
1709 lines (1341 sloc) 51.5 KB
05/25/2019:
- 2.1.9 released
- Fix getRRsetType for empty RRSIG records.
(PR#40, Klaus Malorny <Klaus.Malorny@knipp.de>)
05/23/2019:
- Fix NPE during NameService registration.
(PR#26, Kenny Ingle <kenny.ingle@gmail.com>)
- Add japicmp Maven plugin for compatibility checks.
(PR#36, Kenny Ingle <kenny.ingle@gmail.com>)
- Fix parsing/generation of (EC)DSA signatures from/to DER.
- Fix miscount in Message.sectionToWire related to OPT records.
(PR#37, Klaus Malorny <Klaus.Malorny@knipp.de>)
- Add support for the CDS and CDNSKEY record types.
05/18/2019:
- Primary maintainer is now Ingo Bauersachs (ingo@jitsi.org)
- Move project from Sourceforge to Github.
- Cleanup Maven POM.
- Add CI und Code Coverage tools.
- Add Javadoc-Badge.
(PR#27, Kenny Ingle <kenny.ingle@gmail.com>)
10/13/2018:
- Fix Javadoc nits (David Xia <davidxia@users.sourceforge.net>)
3/20/2017:
- Change the number of CNAMEs that the Lookup code will follow,
as the previous limit (6) was not enough for www.paypal.com.
(reported by George Nikolaidis <gnikolaidis@ergobyte.gr>)
1/3/2017:
- 2.1.8 released
8/13/2016:
- Add a Message constructor taking a ByteBuffer, and convert the
DNSInput class to use a ByteBuffer internally.
(patch from Marrache Mickael <mickoo95@users.sf.net>)
- Add support for the OPENPGPKEY record.
(patch from Valentin Hauner <vh@hnr.name>)
- Add support for the SMIMEA record.
11/25/2015:
- Add support for the CAA record.
8/21/2015:
- Convert the TSIG code from using a custom HMAC implementation to
the one in javax.crypto.Mac.
(patch from Nick Sayer <nsayer@silverspringnet.com>)
4/21/2015:
- Update the URI record implementation to match the latest spec.
(patch from Anthony Kirby <anthonykirby@users.sf.net>)
2/15/2015
- 2.1.7 released
2/14/2015
- Attempt to deal with Java's poor handling of IPv4-mapped IPv6
addresses. (reported by Keshav Badruka <keshav.badruka@gmail.com>)
12/23/2014
- Add an interface for logging sent/received packets.
(based on a patch from Damian Minkov <damencho@users.sf.net>)
- Add support for the URI record.
(patch from Anthony Kirby <anthonykirby@users.sf.net>)
12/22/2014
- Fix message truncation to preserve the OPT record.
(based on a patch from Klaus Malorny <Klaus.Malorny@knipp.de>)
- Properly deal with short DSA and ECDSA keys. (original patch from
Marcos Sanz <sanz@denic.de>, with some local modifications)
- Add support for GOST (RFC 5933) to DNSSEC. Using GOST requires an
external cryptography provider, such as BouncyCastle.
(original patch from Marcos Sanz <sanz@denic.de>, with some
local modifications)
- Change the OPTRecord equals() method to check TTL, since the TTL
field holds relevant information. (based on a patch from
Dr. Christian Möller <cmoeller@users.sourceforge.net>)
- Printing an empty RRset would incorrectly throw an exception.
10/14/2013
- 2.1.6 released
- Address.getByName() and Address.getAllByName() had incomplete IPv6
support; they wouldn't issue AAAA queries.
(reported by Cédric Braem <cbr@internetvista.com>)
10/07/2013
- Improve the name server detection code for Android.
(patch from Florian Schmaus <fschmaus@gmail.com>, based on
stackoverflow.com/a/11362271/194894).
08/07/2013
- Change the edns-client-subnet option to use the officially defined
option code.
07/29/2013
- SIG(0) signatures were incorrectly generated in some cases.
(patch from Tekto <tekto@geekr.de>)
- Add NoSignature exception, thrown when attempting to validate a
SIG(0) in a message without one.
05/04/2013
- The Name(String s, Name origin) constructor copies too many labels
when origin has been created by stripping a label.
(patch from Ingo Bauersachs <ingo@jitsi.org>)
04/10/2013
- Fix Name.isAbsolute() to check that the length of the last label is
0, not that the last byte of the name is 0.
04/10/2013
- 2.1.5 released
03/18/2013
- Fix DS generation to canonicalize the DNSKEY owner name.
(patch from Ingo Bauersachs <ingo@jitsi.org>)
02/19/2013
- Add Name.canonicalize() and Name.toString() variant for omitting the
final dot in an absolute name.
01/04/2013
- 2.1.4 released
10/25/2012
- Fix the Message constructor to not raise a ClassCastException when a
SIG or TSIG record is seen in the question section.
(patch from Klaus Malorny <Klaus.Malorny@knipp.de>)
9/4/2012
- Add support for RFC 6605: Elliptic Curve Digital Signature
Algorithm (DSA) for DNSSEC. (original patch from
Marcos Sanz <sanz@denic.de>, with some local modifications)
8/31/2012
- Add support for the TLSA record type.
- Pass hostnames to InetAddress.getByAddress where possible.
(patch from Ingo Bauersachs <ingo.bauersachs@fhnw.ch>)
11/15/2011
- Fix the ZoneTransferIn object to properly report AXFRs; this was
broken by the changes in 2.1.3.
(reported by Thomas Corte <Thomas.Corte@knipp.de>)
11/3/2011
- Update DSRecord constructor from DNSKEYRecord to generate the
correct digest.
(patch from Marty Kube <marty@beavercreekconsulting.com>)
- Also update the signature of the DSRecord constructor from
DNSKEYRecord to not take the key's footprint as a parameter, as it
can be derived from the key.
10/24/2011
- 2.1.3 released
10/17/2011
- Add a callback interface to ZoneTransferIn.
(based on a patch from Nick Sayer <nsayer@silverspringnet.com>)
10/10/2011
- An exception could be thrown when attempting to look up data in the
cache for type ANY when there were only previously cached
NOERROR/NODATA responses for that name.
(reported by Niel de Wet <nieldw@gmail.com>)
7/24/2011
- 2.1.2 released
6/9/2011
- TypeBitmap.toString() failed if no bits were set.
(patch from Jeffrey Damick <Jeffrey.Damick@neustar.biz>)
5/24/2011
- TSIG.fromString() didn't handle base64-encoded secrets with /
characters. (reported by Sten <stennordstrom@users.sourceforge.net>)
5/12/2011
- Support verifying truncated TSIG signatures, as specified in RFC
4635.
5/10/2011
- Refactor EDNS Option support to allow for custom type
implementations, and add support for the Client Subnet option.
(based on a patch from Ming Zhou <mizhou@bnivideo.com>)
- Add support for the NSID EDNS option.
4/20/2011
- Add missing support for the HMAC-SHA224, HMA-SHA384, and HMAC-SHA384
TSIG algorithms. (patch from Thomas Corte <Thomas.Corte@knipp.de>)
3/9/2011
- Add support for using alternate JCA providers when generating DNSSEC
signatures (patch from Jeffrey Damick <Jeffrey.Damick@neustar.biz>)
2/9/2011
- 2.1.1 released
2/3/2011
- Add the ability to set ndots on Lookup objects, and parse the ndots
option from a resolv.conf file (patch from Oleg Tsvinev
<Oleg.Tsvinev@Reardencommerce.com>).
2/3/2011
- The 'file' command in the 'update' program didn't work correctly.
(reported by Olafur Gudmundsson <ogud@ogud.com>)
9/15/2010
- Change the Android name server detection mechanism to avoid false
positives. (patch from Ulf Dittmer)
9/9/2010
- The IXFR code didn't do serial number arithmetic correctly, and would
fail if the serial number wrapped.
(patch from Alexis MacFarlane <Alexis.MacFarlane@usc-bt.com>)
9/7/2010
- 2.1.0 released
8/17/2010
- When rendering a message, if records from the additional section did
not fit, the header counts were not properly updated.
(patch from Klaus Malorny <Klaus.Malorny@knipp.de>)
7/22/2010
- Fix LOC record parsing to allow negative altitudes.
(based on a patch from William Kocik <wkocik@verisign.com>)
7/21/2010
- The changes to TSIG verification in 2.0.6 didn't work correctly for
stream verification; specifically, the state was only set on the
first Message in the stream.
(reported by William Kocik <wkocik@verisign.com>)
5/12/2010
- Add support for determining resolver configuration on
Japanese Windows. (translation and original patch from
Brett Wooldridge <brettw@users.sourceforge.net>)
5/6/2010
- Add support for building an OSGi bundle (patch from
Markus Alexander Kuppe <lemmster@users.sourceforge.net>).
5/2/2010
- Rewrite DNSSEC support.
4/15/2010
- Fix a hang that could occur when using the dnsjava service provider
on Windows (initial patch from <jy123@users.sourceforge.net>).
11/21/2009
- 2.0.8 released
11/10/2009
- Fix the conversion of NSEC/NSEC3 bitmaps into wire format.
(Klaus Malorny <Klaus.Malorny@knipp.de>, also reported by
Tom <808131@gmail.com>).
10/01/2009
- Properly initialize the Date objects used in RRSIG (and other)
records, so that any unused fields are cleared.
(Klaus Malorny <Klaus.Malorny@knipp.de>)
9/25/2009
- 2.0.7 released
- Add support for detecting the configured nameservers on the Android
platform. (patch from Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>)
9/16/2009
- When determining the nameservers to use, if the
sun.net.dns.ResolverConfiguration class returns an empty list, ignore
it. (based on an anonymous patch).
- Make the Name, Record (and all subclasses), RRset, and Zone classes
implement Serializable.
(based on a patch from Patrick <psp294@users.sourceforge.net>)
9/15/2009
- Add a constant for the REVOKE DNSKEY flag.
(patch from Wolfgang Nagele <dreamguard@users.sourceforge.net>)
- ReverseMap.fromAddress(String) should support both IPv4 and IPv6
addresses.
(reported by Stephan Fuhrmann <stfu1und1@users.sourceforge.net>)
8/08/2009
- The escaping code for text strings should not escape semicolons.
6/23/2009
- DNSSEC signature validation incorrectly used the TTL of the records
being verified, not the original TTL from the RRSIG record, which
caused failures when verifying records returned by a caching server.
(reported by Samuel Benz <samuel.benz@switch.ch>)
6/15/2009
- Change the ResolverConfig.refresh() method to only synchronize the
assignment to currentConfig, not the code which determines the new
configuration.
6/12/2009
- The TSIG verification routines (TSIG.verify,
TSIG.StreamVerifier.verify() now update the Message object with the
status of the verification in addition to returning the status.
6/03/2009
- The lists of servers and searchlist entries in ResolverConfig should
not be static.
(Isabelle Dalmasso <isa@8x8.com>)
5/28/2009
- The canonical form of an NSEC record was incorrectly computed - the
next name should not have its case changed.
(David Blacka <davidb@verisign.com>)
- Add support for NSEC3, NSEC3PARAM, and DLV records.
(based on a patch from David Blacka <davidb@verisign.com>)
9/17/2008
- Fix LOC record rounding.
(reported by Klaus Malorny <Klaus.Malorny@knipp.de>)
8/22/2008
- Type 4 NXDOMAIN responses were incorrectly cached as referrals.
(reported by Luis Silva <luisfilsilva@gmail.com>)
8/06/2008
- Randomize the UDP source ports for outgoing queries.
(based on a patch from Derek Morr <derekmorr@psu.edu>)
4/25/2008
- Add support for the DHCID record.
4/18/2008
- The prior change to allow creating Zones from AXFR-style IXFR
ZoneTransferIn responses didn't work.
- Update the service provider to work with Java 1.6 and earlier
versions. (patch from <thelian@users.sourceforge.net>)
2/19/2008
- The Zone.removeRecord() method threw an exception if there were no
other records in the same RRset.
(reported by Yoyo Chen <yoyochen@sinter.com.tw>)
- Parsing and formatting LOC records should not depend on the current
locale. (reported by Klaus Malorny <Klaus.Malorny@knipp.de>)
1/31/2008
- When converting messages to wire format, don't include name
compression pointers greater than 2^14 - 1.
(reported by Carole Gill <cgill@silverspringnet.com>)
1/24/2008
- 2.0.6 released
1/22/2008
- Fix an off-by-2 error that could cause an infinite loop when
parsing a Name with a self-referential compression pointer.
(reported by Carole Gill <cgill@silverspringnet.com>)
- Raise an exception when an invalid label type is seen in a wire
format name. The previous behavior would incorrectly parse invalid
names, and could lead to infinite loops.
(reported by Carole Gill <cgill@silverspringnet.com>)
8/28/2007
- 2.0.5 released
- Add the ZoneTransferIn.setLocalAddress() method. (based on a patch
from <mpugge@users.sourceforge.net>)
- Build jar file with -source and -target options to provide
compatibility with older Java releases (that is, revert to
pre-2.0.4 behavior).
(reported by Stefano Bagnara <apache@bago.org>)
8/26/2007
- 2.0.4 released
- Update SPI code to work with java 6.
- Fix an argument parsing bug in the dig program, where failure to
specify both type and class would cause the specified server to
be ignored.
(reported by Stefano Bagnara <bago75@users.sourceforge.net>)
6/12/2007
- The SPFRecord constructors incorrectly created records whose
internal type field was TXT, not SPF.
(reported by Stefano Bagnara <bago75@users.sourceforge.net>)
3/7/2007
- Message.getQuestion() incorrectly handled the case where the
question section was represented by an empty list.
(reported by Karl Auer <kauer@biplane.com.au>)
2/15/2007
- Properly obey timeouts in TCPClient code when the message is
read in multiple chunks. (based on a patch from
Francesco Vivoli <fvivoli@ripe.net>)
12/4/2006
- A cache lookup for a record would incorrectly return a delegation
when records for both the queried type and NS were present.
(reported by yosukear <y_arimoto_acare@users.sourceforge.net>)
11/28/2006
- 2.0.3 released
11/27/2006
- The Zone.fromXFR() method should be able to create zones
from AXFR-style IXFR responses.
(Bill Kuker <bkuker@users.sourceforge.net>)
10/25/2006
- Make the routines that convert between the DNS and standard Java
representations of DSA signatures public.
(suggested by Klaus Malorny <Klaus.Malorny@knipp.de>)
8/3/2006
- Add a TSIG constructor that takes an algorithm as a String.
- Add support to TSIG.fromString() for specifying an algorithm.
7/30/2006
- When converting a PublicKey to a DNS record, allow the algorithm
to be specified, as RSA keys can be either of the RSA-SHA1 or
RSA-MD5 algorithms (based on a patch from
Eric <ginipginob@users.sourceforge.net>)
- When converting a PublicKey to a DNS record, allow the type (KEY
or DNSKEY) to be specified.
- Update the DNSSECVerifier code to use DNSKEY records, not KEY
records.
7/30/2006
- Added support for parsing the output of ipconfig in French .
(Frederic Bazin <fbazin@users sourceforge.net>)
7/30/2006
- If both "search" and "domain" lines are present in a resolv.conf
file, the domain line should be ignored.
7/26/2006
- Add support for the SPF record type.
7/21/2006
- DNSSEC.digestRRset could digest records in the wrong order.
(reported by David Blacka <davidb@verisignlabs.com> and
Mahendra Jain <Majain@verisign.com>)
6/26/2006
- 2.0.2 released.
6/22/2006
- Add support for the IPSECKEY record type.
5/18/2006
- The result of a Lookup that involves a CNAME should include
the queried name as one of the aliases, not the CNAME target.
(Jon Lachelt <jon.lachelt@hp.com>)
2/13/2006
- Loading zones containing RRsets with multiple records didn't work.
(reported by Olafur Gudmundsson" <ogud@ogud.com>)
1/24/2006
- AXFR requests could leak file descriptors if the connection
failed. (Can Bican <can@bican.net>)
11/30/2005
- Add a Resolver.setTimeout(int secs, int msecs) method.
(requested by Dmitry Isakbayev) <isakdim@users.sourceforge.net>)
11/30/2005
- 2.0.1 released.
11/11/2005
- The InetAddresses returned by Address.getByName() should have their
hostname copied from the input parameter.
(reported by Praveen Tammana <praveen.public@gmail.com>)
11/7/2005
- Update remaining DNSSEC code to be compliant with the current spec.
11/6/2005
- Add a Resolver.setEDNS(int level, int payloadSize, int flags,
List options) method, to allow a Resolver to automatically set
the DO flag, as well as future EDNS features.
(requested by Rick Wesson <wessorh@ar.com>)
10/25/2005
- The Master(InputStream in, Name origin) constructor should not
always fail.
- Correctly handle the case where reading a Master from an InputStream
would throw a NullPointerException if a $INCLUDE file wasn't found.
(reported by Lars Petrus <Lars.Petrus@nominum.com>)
8/22/2005
- Add Address.getByAddress(String) and
Address.getByAddress(String, family).
7/21/2005
- Zone.findExactMatch() would throw a NullPointerException if the
name didn't exist.
(reported by Hans Zandbelt <Hans.Zandbelt@telin.nl>)
7/19/2005
- Add support for binding clients to local addresses when using
a SimpleResolver. Also add the -b option to the dig program
to test this. (based on a patch by Bruno Dillenseger)
7/5/2005
- Add support to ResolverConfig for using the undocumented
sun.net.dns.ResolverConfiguration class to determine the list
of nameservers and search path; make this the default when
it works (Yannick Meudal <yannick@meudal.net>).
6/16/2005
- The inbound zone transfer code failed to treat port 0 as the
default as it claimed to. (Bill Kuker <wckits@rit.edu>)
6/15/2005
- When doing a zone transfer with a SimpleResolver object, the
timeout was not properly obeyed.
(reported by Peter Bryant <peter@pingability.com>)
6/5/2005
- Explictly register record type implementations instead of
using reflection; this should prevent hard to diagnose
problems resulting from partial compilation.
5/31/2005
- 2.0.0 released.
5/16/2005
- Fix the code to deal with TTL 0 data in the Cache.
5/15/2005
- Add unit tests for many classes. The unit tests are located
in the tests directory, which mirrors the org.xbill.DNS hierarchy.
(Matt Rutherford <rutherfo@cs.colorado.edu>)
5/7/2005
- Fix several problems with empty names.
(Matt Rutherford <rutherfo@cs.colorado.edu>)
4/23/2005
- As per RFC 2181, the maximum allowed TTL value is 0x7FFFFFFF.
Change TTL.parseTTL() to reflect this by silently clamping
larger 32 bit values.
4/22/2005
- Attempting to get the name/type/class/ttl of an empty RRset
throws an exception.
4/21/2005
- Remove RRset.getSecurity()/.setSecurity().
4/16/2005
- Change the internal representation of empty records (that is,
records in the question section of a message or meta-records
used in dynamic update).
- Minor cleanups to the Mnemonic class.
(Matt Rutherford <rutherfo@cs.colorado.edu>)
4/3/2005
- Change the Cache from being periodically cleaned to being
size-bounded. (based on a patch from several years ago
from Joseph Shraibman <jks@iname.com>).
- Remove the FindServer class.
- Added a Name Service Provider interface (dns,dnsjava).
(based on code from Paul Cowan <pwc21@yahoo.com>)
4/1/2005
- Use java.nio classes for sockets internally, which provide a
number of improvements, most visibly improved timeouts.
- Remove deprecated dns class.
- Simplify TSIG initialization; remove functions that should
have never existed.
- Remove Cache.setVerifier() and Cache.setSecurePolicy(). There
should be a way of enabling DNSSEC, but the existing code doesn't
work.
- Change the Zone constructors/factory methods to be consistent.
3/29/2005
- Use java.net.InetAddress for IPv6 addresses rather than a custom
class.
3/20/2005
- Fix several bugs in ResolverConfig on Windows.
(Brian McBarron <bmcbarron@users.sourceforge.net>)
3/15/2005
- Clean up the synchronization in the RRset class
(reported by Daniel Jensen <daniel.jensen@savvis.net>)
3/8/2005
- Support the BIND misfeature of loading zones with no explicit
TTL by using the SOA minimum field.
3/7/2005
- 1.6.6 released.
3/6/2005
- $GENERATE statements should obey the start field.
3/1/2005
- Add support for HMAC-SHA1 and HMAC-SHA256 TSIG algorithms.
(suggested by Olafur Gudmundsson <ogud@ogud.com>)
2/8/2005
- Add infrastructure for parsing the output of ipconfig on
non-English version of windows, and add support for German
and Polish. (based on a patch by Piotr Kochanski)
2/7/2005
- Add Options.refresh() (based on a patch from Th Kuhne)
- Add the ResolverConfig class, which is largely based on the
FindServer class, except that it's not all static methods.
Add the ability to refresh the current ResolverConfig, and
make FindServer use ResolverConfig.
- Add Lookup.refreshDefault (based on a patch from Th Kuhne)
- Truncated messages aren't guaranteed to parse properly, so shouldn't
throw exceptions. (reported by Caleb Richardson <caleb@everyone.net>)
- Work around a TCP bug in whatever broken nameserver Enom is using.
(reported by Caleb Richardson <caleb@everyone.net>)
2/4/2005
- 1.6.5 released.
- Records of an unknown type and length 0 weren't handled properly.
(reported by Olafur Gudmundsson <ogud@ogud.com>)
- Fixed a bug in $INCLUDE handling.
(Christian Sepulveda <christian.sepulveda@nominum.com>)
2/3/2005
- The Lookup.run() method should be usable more than once on a Lookup
object.
(reported by Joseph Shraibman <jks@iname.com>)
10/31/2004
- Add partial IPv6 support to the ReverseMap class.
(based on a patch from Th Kuhne)
7/7/2004
- Implement the $GENERATE master file directive.
6/28/2004
- Canonicalizing a name created with the Name(Name src, int n)
constructor caused an exception.
(based on a patch from Nigel Tamplin <nigel@metica.com>)
- Concatenating names caused an exception when the prefix was created
with the Name(Name src, int n) constructor.
(reported by Nigel Tamplin <nigel@metica.com>)
6/22/2004
- The DNSSEC digesting code shouldn't throw ClassCastExceptions.
(reported by Mike StJohns <Mike.StJohns@nominum.com>)
- The label count in a generated SIG/RRSIG record was off by one.
(Mike StJohns <Mike.StJohns@nominum.com>)
6/8/2004
- Rcode 4 is NOTIMP, not NOTIMPL.
6/5/2004
- Fixes to LOCRecord.
6/3/2004
- 1.6.4 released.
5/26/2004
- Properly handle text mnemonics in KEY records.
- Add support for the APL record type.
5/25/2004
- Fix a bug where parsing the text format of an NSEC record
incorrectly parsed one token too many.
5/18/2004
- 1.6.3 released.
5/11/2004
- Don't store the number of labels in a Name in a byte, as the maximum
value (128) cannot be stored in a byte.
5/9/2004
- Add support for options within an OPTRecord (loosely based on
a patch from Madhu Siddalingaiah <madhu@madhu.com>)
4/18/2004
- Add support for the SSHFP record type.
- Fix a bug in the zone code which would cause record lookups to fail.
4/10/2004
- When parsing paster files, handle the fact that class and ttl may
be in either order.
4/8/2004
- The opcode field in the DNS header was incorrectly parsed; this
would affect messages with opcodes other than QUERY.
(Madhu Siddalingaiah <madhu@madhu.com>)
3/20/2004
- 1.6.2 released.
- Lookups could return "referral" instead of "host not found" in some
cases.
3/18/2004
- Fix NullPointerExceptions caused by bad empty Record handling.
(reported by Dharmveer Jain <dharmveer_jain@yahoo.com>)
3/16/2004
- 1.6.1 released.
- When loading master files with $INCLUDE statements, the included
files should be opened relative to the current directory, not
the directory of the parent file.
3/12/2004
- Make it possible to use a Tokenizer without leaving files open.
3/4/2004 - 3/12/2004
- Add support for more record types (AFSDB, GPOS, ISDN, MB, MD, MF, MG,
MINFO, MR, NSAP, NSAP-PTR, NULL, PX, RT, WKS, X25).
3/3/2004
- Cached NXDOMAINs were ignored, which caused extra queries to
be sent (reported by Damon Hart-Davis <d@hd.org>).
2/25/2004
- Attempting to load a zone without specifying an origin failed.
2/24/2004
- 1.5.2 released.
2/3/2004
- Message.isSigned() should return true if we signed the Message
with a TSIG.
(reported by Shobana Sampath <shobanas@cisco.com>)
- Implement NSEC, DNSKEY, and RRSIG record types. (loosely based on
a patch from David Blacka <davidb@verisignlabs.com>).
- Change the representations of sections, rcodes, opcodes, flags,
and credibility to int.
1/28/2004
- Attempt to better deal with OutOfMemoryErrors when creating
threads during the resolution process.
(reported by Joseph Shraibman <jks@iname.com>)
1/27/2004
- Change the representation of a TSIG error from a byte to an int.
- Improve error messages from failed Lookups; treat SERVFAIL
as a temporary failure, not an unrecoverable error.
(Joseph Shraibman <jks@iname.com>)
1/16/2004
- The master file reader should propagate TTLs through $INCLUDE
statements. (David Blacka <davidb@verisignlabs.com>)
1/12/2004
- Add a MANIFEST to the jar file containing implementation name and
version. (Harel Efraim <harel.efraim@nominum.com>)
1/11/2004
- Fix a couple minor bugs found by FindBugs
(http://www.cs.umd.edu/~pugh/java/bugs/)
1/8/2004
- 1.5.1 released.
- LOC records weren't parsed correctly.
(reported by Harel Efraim <harel.efraim@nominum.com>)
- Lines with only whitespace in master files should be ignored.
12/15/2003
- TTLs weren't handled properly in the master file parser.
(Jack Tavares <tavares@drizzle.com>)
12/11/2003
- 1.5.0 released.
12/8/2003
- Change to the BSD license.
- Replace the deprecated Name(String) and Name(String, Name)
constructors with new versions that properly return exceptions.
12/6/2003
- Make the J2SE javadoc link a property in build.xml. (Ville Skyttä)
11/24/2003
- Lookup should check that the name, type, and class in the question
section of a response match that of the query.
- SimpleResolver should check that the message id of the response
is the same as the message id of the query. On a sufficiently
busy client, sockets can be reused fast enough that late responses
can come in, and should be ignored.
(seen by Joseph Shraibman <jks@iname.com>)
11/17/2003
- The Lookup code didn't handle CNAMEs pointing at nonexistant names.
(reported by Joseph Shraibman <jks@iname.com>)
11/11/2003
- Store a weak reference to the Cache in the CacheCleaner thread, and
kill the thread when the Cache is finalized.
(suggested by Joseph Shraibman <jks@iname.com>)
- When a Lookup uses a null cache, the temporary cache it creates
should not have a CacheCleaner thread.
(based on a suggestion by Joseph Shraibman <jks@iname.com>)
10/31/2003
- Record.hashCode() didn't return consistent hash codes, and didn't
ignore the TTL (which it should, and which Record.equals() does).
10/27/2003
- DNS TTLs and other 32 bit unsigned values are now represented as
longs, not ints. This is an API change, but allows the full range
to be used.
- Add the Serial class for serial arithmetic.
9/30/2003
- 1.4.3 released.
- Fix a bit of code that required Java 1.4.
9/29/2003
- 1.4.2 released.
9/26/2003
- A Lookup shouldn't die when receiving a referral response; it should
return an error. (reported by Elinor Chang <elinor_chang@yahoo.com>)
- A Lookup should distinguish between timeouts and other network
errors.
- When parsing IP addresses from text format, treat the presence of
a leading zero on an octet as an error. It's unclear whether
it would be treated as decimal or octal, which means it should
be fixed. (reported by Marcos Sanz/Denic <sanz@denic.de>)
9/17/2003
- Fix an off-by-one error in the Name code; labels of length 63
were not accepted (patch from David Blacka <davidb@verisignlabs.com>)
9/2/2003
- 1.4.1 released.
9/1/2003
- The Update.delete(Record) method needs to reset the TTL of the cloned
record to 0. (reported by Edwin R. Rivera <erivera@moniker.com>)
8/23/2003
- Change Record.fromString() to expect an EOL/EOF token at the end
of the string, so that extraneous tokens can be detected. The master
file parser was updated to this change.
(noticed by Bob Halley <bob.halley@nominum.com>)
8/22/2003
- Changing TXTRecord.getStrings() from returning a List of Strings
to a List of byte []'s was a bad idea. Change it back, and
add TXTRecord.getStringsAsByteArrays().
(reported by Blake Ramsdell <blake@brutesquadlabs.com>)
8/21/2003
- 1.4.0 released.
8/20/2003
- Add the ReverseMap class, which contains functions to construct
names to be used in reverse map zones.
8/13/2003
- When looking up a one label unqualified name which fails to match
all searchlist entries, don't append the root label and try again.
This is recommended by RFC 1536, section 6: "Only if the name, so
generated, returns an NXDOMAIN is the original name tried as a Fully
Qualified Domain Name. And only if it contains at least one period."
7/18/2003
- Remove lots of unused imports. (Jared Richardson <jaredr@nc.rr.com>)
7/14/2003
- Fix a long-existing bug where empty records (in update messages)
were incorrectly handled
(reported by Kevin C Miller <kevinm@andrew.cmu.edu>
6/22/2003
- DNS types and classes are now represented as ints, not shorts.
This is an API change, but allows the full type/class range
to be used.
6/18/2003
- Quoted strings didn't handle \ddd escapes.
6/17/2003
- Fix an ArrayIndexOutofBoundsException triggered by load balancing
in the ExtendedResolver.
(reported by Norbert Desautels <ndesautels@gdgsystems.com>)
6/1/2003
- Add the Name.relativize() method to convert an absolute name to
a name relative to a specified origin.
- Add the Update class, which contains helper routines used to
construct dynamic update messages.
5/28/2003
- Replace org.xbill.DNS.utils.MyStringTokenizer with
org.xbill.DNS.Tokenizer, which is a far more robust and correct
DNS tokenizer. Convert everything to use it.
- Fix text format of TXT, NAPTR, and HINFO records.
5/28/2003
- When constructing a record, check that all names are absolute.
5/27/2003
- 1.3.3 released.
4/26/2003
- The master file parser should accept BIND format TTLs.
4/10/2003
- The Inet6Address class incorrectly parsed some addresses.
(reported by steve weiland <steve@widge.net>)
4/7/2003
- Records were not sorted properly (reported by
Joseph K Shraibman <jks@akula.com>)
4/2/2003
- Fix off-by-one error in Name.compareTo (David Blacka)
3/30/2003
- Add the ZoneTransferIn class, which performs incoming AXFR/IXFR
- Make TSIG verification of multiple-message responses reentrant.
- Fix incorrect string quoting.
- Make records print on a single line by default; add the 'multiline'
option to use the more verbose format.
3/17/2003
- Make the routine that converts an IP address from a string
more efficient and correct.
(based on a patch by Sean O'Neil <SeanO@telemate.net>)
2/12/2003
- Fix an infinite loop that could occur when processing a response
containing a CNAME loop and an rcode of NOERROR.
(reported by Sean O'Neil <SeanO@telemate.net>)
1/25/2003
- Cleanup and improvements to the ExtendedResolver class.
1/23/2003
- Add the setMaxCache() method to the Cache class.
- Check for non-absolute names when creating Records.
1/21/2003
- 1.3.2 released.
1/20/2003
- Certain responses with CNAMEs weren't being properly cached.
(reported by Sean O'Neil <SeanO@telemate.net>)
- Add a 'compile' target to build.xml, and make the 'all' target
both compile and build the jar file.
(Jon Scott Stevens <jon@latchkey.com>)
12/22/2002
- Check for SecurityExceptions in the Options static initializer;
this was preventing the use of dnsjava in an unsigned applet.
(reported by Peter Westerink <peterw@us.ibm.com>).
12/15/2002
- Converting some types of records (TXT, for example) to wire format
could throw an IndexOutOfBoundsException.
- TSIG signed UDP queries weren't properly verified by jnamed.
- Add a method to render a Message with a specified maximum size -
this method will properly truncate large responses and apply
TSIG signatures.
12/14/2002
- Move additional data processing to the Record class from jnamed;
make jnamed use it, as well as the caching code.
12/9/2002
- Add the Lookup class, which is what the dns class should have been,
and make the lookup sample program use it.
12/9/2002
- When caching a message, a response object can be constructed
immediately.
12/4/2002
- 1.3.1 released.
12/3/2002
- If a subresolver of an ExtendedResolver exited by throwing
a RuntimeException, the ExtendedResolver would throw a
ClassCastException. It should rethrow the RuntimeException.
12/3/2002
- The Name code didn't handle names with non-printable characters.
(found by Serge Sozonoff <serge@globalbeach.com>)
11/28/2002
- Fix a potential deadlock in the WorkerThread class.
(found by Serge Sozonoff <serge@globalbeach.com>)
11/26/2002
- Fix a bug where looking up names without trailing dots
would fail if there was no searchlist.
10/31/2002
- Fix a bug in searchlist processing on Windows.
10/20/2002
- Record.toWire() and Record.toWireCanonical() do not need to
be declared as throwing IOException, since there's no
legitimate reason for them to throw one.
10/18/2002
- Race condition fixes and memory usage improvements to the
NameSet class, used by Cache and Zone.
10/16/2002
- 1.3.0 released.
10/11/2002
- Add Name.getLabel()
10/10/2002
- When cleaning the cache, catch ConcurrentModificationExceptions.
10/8/2002
- Cleanups to Cache.addMessage() and the Credibility code.
10/7/2002
- Fix problems with search path handling in the dns class.
- Possible race condition fixes to the Cache code.
10/6/2002
- Fix minor bugs in Name code (Bob Halley <bob.halley@nominum.com>)
10/1/2002
- Memory usage and speed improvements to the TypeMap class.
9/25/2002
- Add the verbosecache option.
- Significant memory usage improvements to the Name class.
9/23/2002
- Memory usage improvements to the ARecord class.
9/16/2002
- Support for NetWare's sys:/etc/resolv.cfg file.
(Scott Villinski <scott@villinski.com>)
9/5/2002
- When looking for an rdataset in a zone or cache, seeing a CNAME
above the name is not an error.
(reported by Andrew Houghton <aah@volunteermatch.org>)
8/31/2002
- Changed the code that dynamically loads record types; hopefully
this will solve some of the mysterious problems that I think
are related to non-English versions of Windows.
- Clean up the Name code.
8/28/2002
- Remove support for bitstring labels, since they're now deprecated.
8/16/2002
- Address.isDottedQuad didn't check to see if the input String
contained characters after an IP address.
(Marcos Sanz <sanz@denic.de>)
8/11/2002
- Querying for a nonexistant name with exactly one label didn't return.
8/10/2002
- Add Ant build script (Blake Ramsdell <blake@brutesquadlabs.com>)
8/6/2002
- The AAAARecord constructor was broken.
- The Record class now implements Comparable.
6/22/2002
- Significant speed improvements in the Record class and its
subclasses.
6/20/2002
- Add Zone.removeRecord() (based on code from Adam Cassar
<adam.cassar@netregistry.com.au>)
- Add Zone.toMasterFile() (based on code from Adam Cassar)
- Performance enhancements to the Name object.
- Add the "-t type" option to the lookup program.
6/16/2002
- Update lots of code to use Collections instead of JDK 1.1
Vectors & Hashtables.
5/28/2002
- fix some limitations of name parsing.
(reported by Tasos Kotsikonas <tasos@boldfish.com>)
5/4/2002
- added the 'sleep' and 'date' commands to the update client.
(Olafur Gudmundsson <ogud@ogud.com>)
4/29/2002
- 1.2.4 released
4/25/2002
- Add a constructor for building a zone from an array of records.
(based on code from Adam Cassar <adam.cassar@netregistry.com.au>)
4/24/2002
- Reduce the memory usage of the RRset class.
- Add a new factory method for creating a Record from a
String, rather than a pre-tokenized String.
- Reduce the memory usage of the ARecord class.
4/23/2002
- Fix potential race conditions in the RRset class.
(David Esposito <esposito@newnetco.com>)
- Fix potential race condition in the WorkerThread class when two
threads complete their run methods nearly simultaneously.
(David Esposito)
- Add a new factory method for creating a Record, where the length
of the rdata is not explicitly specified, but inferred from
data.length.
4/22/2002
- Improve name decompression by not requiring a decompression context.
3/27/2002
- Add support for the Delegation Signer (DS) record. (David Blacka)
3/22/2002
- Record.equals() did not properly canonicalize names.
- Record.equals() should ignore the TTL.
3/19/2002
- When a compressed name is parsed, it should be added to the
compression table, so that future pointers to that name work.
(reported by Blake Ramsdell <blake@brutesquadlabs.com>)
3/14/2002
- In jnamed, AXFR responses didn't have the message ID or flags
set correctly.
- jnamed failed to respond to messages signed with unknown keys.
- jnamed did not sign responses to signed AXFR queries.
1/21/2002
- Handle empty domain statements in /etc/resolv.conf. (reported
by Blake Ramsdell <blake@brutesquadlabs.com>)
1/1/2002
- Minor performance enhancments (suggested by Christopher Brind)
10/14/2001
- Add support for the DNSSEC RSA-SHA1 algorithm (David Blacka)
- Add rdataToWireCanonical() (David Blacka)
9/27/2001
- jnamed can now listen on specific addresses, with the "address"
keyword in the config file.
9/23/2001
- 1.2.3 released
9/14/2001
- Creating an Enumeration of an empty RRset caused an infinite loop.
(David Blacka <davidb@research.netsol.com>)
8/9/2001
- nsupdate compatibility and a bug fix to the update client.
(patch from David Sward <david@berzerked.org>)
8/8/2001
- The results of ANY queries were not properly cached.
8/4/2001
- 1.2.2 released
7/22/2001
- Added the -q (print query) option to dig.
- Bitstring labels are now canonicalized.
- jnamed implements the DO (DNSSEC OK) bit.
7/19/2001
- A string tokenizer bug caused TXT records with one string to be
incorrectly parsed. (David Blacka)
- Added Name.getLabelString().
7/17/2001
- Started implementing Name.compareTo(). (loosely based on a
patch from David Blacka).
7/16/2001
- Converting a AAAA record to wire format was broken.
(David Blacka)
- Inet6Address did not properly reject addresses that are too
long or too short, and also didn't properly handle addresses
with one number after a double colon.
- Key footprints were computed incorrectly. Also cache footprints
in the KEYRecord to avoid recomputation. (David Blacka)
- Added the -d flag to dig, which sets the DNSSEC OK bit.
7/13/2001
- KEY flags were incorrect (David Blacka <davidb@research.netsol.com>)
- Add routines for parsing a master file from a non-file input
source (David Blacka)
- base64.formatString() didn't work if lineLength wasn't 64.
(David Blacka)
- Add support for the DNSSEC OK extended flag (David Blacka)
- Allow the caller of a Resolver to add an OPT record to a query.
(original patch from David Blacka).
6/30/2001
- 1.2.1 released
5/23/2001
- Automatically determining name servers didn't work on Windows 2000.
4/13/2001
- Converting a Name to a String does proper character escaping.
4/7/2001
- 1.2.0 released
3/21/2001
- Only cache relevant data from answers.
- Cache negative responses more correctly.
3/14/2001
- Handle TTLs greater than 2^31.
3/10/2001
- Performance and memory improvements to the Name object.
3/7/2001
- Performance improvements to TypeMap (used by Zone and Cache).
3/6/2001
- Lots of standards compliance related fixes.
3/4/2001
- Improved class handling.
- A few minor CNAME related fixes.
2/27/2001
- Referrals weren't returned correctly from jnamed.
1/15/2001
- Fix some signed/unsigned printing issues for KEY records
(Pasi Eronen <pe@iki.fi>)
- Add routines to generate SIG(0) message signatures
(Pasi Eronen <pe@iki.fi>)
1/8/2001
- Add support for unknown RR types & classes.
12/3/2000
- The target in an MX record can be compressed.
11/18/2000
- Add jnamed.conf example to USAGE
8/27/2000
- 1.1.6 released
- The high level api wasn't properly initialized.
(Christopher Fitch <cfitch@sbti.com>)
- Added a routine to build a SIG record based on the results of
a DSA signature (Pasi Eronen <pe@iki.fi>)
8/13/2000
- Added 'clear' command to update client
- Removed some deprecated code
8/8/2000
- Invalid binary labels were not always rejected
- SRV initialization didn't work (reported by Chuck Santos
<csantos@netnumber.com>)
- jnamed failed if no Cache was specified
- The Zone object didn't handle zones with no NS records.
- Added support for the NAPTR record (Chuck Santos
<csantos@netnumber.com>)
7/17/2000
- 1.1.5 released
- CERT records were printed with a negative keytag half the time.
(reported by Jakob Schlyter <jakob@crt.se>).
- Printing a KEY record prints the key id.
(Jakob Schlyter <jakob@crt.se>)
6/25/2000
- A Cache now contains a thread that periodically removes expired
data.
6/4/2000
- update client syntax enhancement - add/delete/require/prohibit/glue
no longer require -r, -s, or -n.
6/3/2000
- update client supported prohibiting individial records, which is
not supported by dynamic update.
5/21/2000
- Win2000 support
4/15/2000
- ExtendedResolver supports load balancing of servers.
4/2/2000
- Minor fix to base64 decoding
3/22/2000
- name comparison should always be case insensitive
(Darrell Kindred <dkindred@tislabs.com>
3/5/2000
- 1.1.4 released
- added Cache.setMaxNCache(), which sets the maximum amount of time
that a negative answer is cached.
2/10/2000
- update client: add show command, catch socket exception, don't send
empty updates, assert tsig ok/failed/unsigned
2/8/2000
- 1.1.3 released
- Added lookup program
- FindServer finds a search path on Win95/WinNT
2/7/2000
- minor TKEY record updates
- FindServer should work on Win95/WinNT
- Added 'make jar' and a jar file
1/20/2000
- Added AAAA record
1/13/2000
- 1.1.2 released
- dns.setResolver() clears the cache
11/7/1999
- Added EDNS support to update client
11/2/1999
- A key starting with ':' is parsed as hex
10/28/1999
- minor TKEY fixes and TSIG updates
10/5/1999
- misc. small fixes
10/4/1999
- Missed TKEY in the type map
9/26/1999
- Added TKEY record
9/25/1999
- Diffie-Hellman key updates
9/23/1999
- dns.server and dns.search are now comma-delimited strings
9/20/1999
- 1.1 released (finally)
- Change OPT to type 41 and fixed related stuff
- Change license to LGPL
9/16/1999
- Cache & DNSSEC bug fixes
9/9/1999
- A6 record support (and IPv6 addresses)
9/6/1999
- jnamed has limited support for SIG records
9/4/1999
- res.sendAXFR() is now obsolete, just use res.send()
- jnamed (and Zone) support incoming AXFR
- Zone handles wildcards that replace multiple labels
9/2/1999
- Bitstrings are now compatible with current BIND 9
- jnamed (and Zone) support outgoing AXFR
- jnamed uses jnamed.conf by default, can specify port in config file,
returns NOTIMPL on meta-queries other than AXFR and ANY.
- DNSSEC can now verify records that came from wildcard expansion
- SimpleResolver handles AXFR REFUSED
- Lots of EDNS updates
9/1/1999
- More bitstring fixes.
- Added RP record (from Tom Scola <tscola@research.att.com>)
8/29/1999
- More bitstring label stuff. I think they work now.
_ DataByteInputStream cleanup. Should handle errors better now.
8/26/1999
- More verbose options
- TSIG badtime bug & better reporting
- Large TTL bug
- MyStringTokenizer.setNoEscapeCharacter()
8/25/1999
- Imported DNSSEC code
- New options: tsigfudge, verbosehmac, verbosemsg
- Added utils.hexdump to print a formatted dump of bytes
8/24/1999
- More bitstring label support
8/23/1999
- All data now passes through the Cache. This should help with
DNSSEC verification
- Added basic DNSSEC verification
- Fixes for handling data with TTL 0
- Started adding bitstring labels
- Added support for DNAME records (no processing yet)
8/8/1999
- Started adding global options (Options class)
8/7/1999
- Type and Class ANY should work correctly now
- jnamed and Zone handle wildcard records
- Cache returns wildcard set if name is negatively cached
- TTL can be converted into BIND format
8/6/1999
- Updates to KEYRecord - getFootprint() and renamed constants
8/2/1999
- 1.0.2 released
- WorkerThread obscure race conditions fixed (patches provided by
Tom May <tom@go2net.com>)
8/1/1999
- Added getResolver/getCache to dns class
- RRset now has deleteRR and is better synchronized
- Cache now has flushName/flushSet
- Resolver.sendAsync returns an Object instead of an int
- Socket cleanup (patches provided by Tom May <tom@go2net.com>)
- WorkerThread's idle lifetime and max threads are now configurable
- HMAC-MD5 logic bug
7/5/1999
- 1.01 released
- fixed a hang with ExtendedResolver and Exceptions
6/30/1999
- dns search path should always include a . at the end. The only
time this bug would show up is when querying for an unqualified
top level name.
6/29/1999
- update now ignores '>' at the beginning of a line, to allow
easier cut and paste from other update sessions.
6/24/1999
- Use an int instead of a short for the message section count.
It would be nice if java had unsigned types, but since messages
are also constructed from zone transfers, a larger value is useful.
6/23/1999
- AXFR TSIG bug fix
6/18/1999
- 1.0 released. Yay!
- documentation updates
- my birthday
6/15/1999
- Restructured update's help
- Added 'assert serial' to update, fixes to query keyword
- Added Record.fromWire from a byte array
- Added LOC support
6/14/1999
- Updates to multiline parser
6/11/1999
- Added Message.newUpdate to simplify sending updates
6/10/1999
- Zone file parser now handles $INCLUDE
- update now has a keyword 'zone', which sets the zone to be updated,
if it's different than the origin
- added constants for DNAME, A6, KX
- added KX support, abstracted MX code to support KX also.
6/9/1999
- update should handle timeouts
- AXFR parser should allow 1 record in the question section
6/7/1999
- Zone file parser now handles $TTL, and complains about invalid
directives.
- fixed a few parsing problems in update
- fixed null key parsing and key flags handling
6/3/1999
- added author javadoc tags
- added javadoc comments to Master. Again, not sure how I missed
this before.
5/25/1999
- 0.9.5 released
- fixed another null pointer in the cache
5/23/1999
- added javadoc comments to utils/MyStringTokenizer. Not sure how
I missed this class before.
- minor cleanups to string parsing in update
5/21/1999
- fixed comment processing in update
- fixed case bug in Section handling
5/20/1999
- 0.9.4 released
- fixed the same round-robin bug, hopefully correctly this time
5/17/1999
- 0.9.3 released
5/16/1999
- fixed a round-robin bug
5/14/1999
- 0.9.2 released
- Resolver routines now return Exceptions instead of null.
5/13/1999
- split WorkerThread into WorkerThread and ResolveThread
4/25/1999
- moved files to org.xbill.DNS
- Cache round-robins RRsets before handing them out
- changed the way ExtendedResolver decides when to send queries
- various reflection changes
4/21/1999
- minor WorkerThread fixes
4/19/1999
- 0.9.1 released
- WorkerThreads should die after 15 minutes of idle time
- Address.getByName/getAllByName handle dotted quad IP addresses
4/18/1999
- 0.9 released
- Finished javadoc-ing classes in DNS.*
- Server should work now
- Zone/Cache response updates
- Zone/Cache accesses should be more thread-safe
4/17/1999
- The Cache supports ANY queries
- More javadoc-ed classes in DNS.*
- implemented toWireCanonical for record types that need it
- Message.toString should print better output for update messages
4/16/1999
- jnamed wasn't looking up non-ANY queries correctly in a zone
- SimpleResolver should use TCP if query length is longer than UDP
packet size
- More javadoc-ed classes in DNS.*
- MyStringTokenizer moved to DNS.utils
4/15/1999
- More javadoc-ed classes in DNS.*
- Moved functions from DNS.IO to DNS.utils.base64 and DNS.Master
- Implemented search path for dns.getRecords functions
- 0.8.3 released
- Restrict number of WorkerThreads to 10
- ExtendedResolver timer code fixes
- ExtendedResolver race condition fix
4/14/1999
- ExtendedResolver reentrancy fixes
- Names are marked as qualified/unqualified
- FindServer looks for search path from -Ddns.search1, etc.
and in /etc/resolv.conf
4/13/1999
- 0.8.2 released
- More javadoc-ed classes in DNS.*
- The message ID stuff from 4/10 broke TSIG, so it's gone
- Changes to ExtendedResolver's handling of child Resolvers
- Too many threads were being created
- Threads should now have meaningful names
4/12/1999
- NameSet shouldn't be using wildcards, since it's not correct for
a cache (a name could match a wildcard and return wildcard
data before the cache learned about data for the name)
- javadoc-ed DNS.utils.* and some of DNS.*
- ExtendedResolver allows specifying Resolvers to use
- SimpleResolver and ExtendedResolver share a thread pool
- ExtendedResolver and FindServer bugfixes
- Header bug that actually caused the 0.8.1 release fixed
- bugfix release 0.8.1 released
- Messages weren't being cloned properly
- Resolver didn't handle a query to nowhere correctly
4/11/1999
- 0.8 released
- Resolver is now an interface, implemented by SimpleResolver
and ExtendedResolver.
- added ExtendedResolver, which sends multiple queries to multiple
resolvers.
- jnamed rejects non-queries
4/10/1999
- added Message.newQuery() to make building queries easier
- Record.fromWire verifies that the record length is correct
- Resolver.sendAsync() now uses worker threads rather than
starting a new thread each time.
- Multiple servers can be found by setting the dns.server<n>
properties (or from /etc/resolv.conf).
- Message/Header doesn't generate the message id until the message
is sent or the id is queried for
4/9/1999
- added setTimeout to Resolver
4/8/1999
- fixed obscure md5 bug
- made Resolver(null) and Resolver() equivalent
4/7/1999
- Added simple asynchronous interface to resolver
4/6/1999
- CERT and SIG bug fixes
4/5/1999
- data lookups should use class in addition to type
- CERT record bug fix
4/4/1999
- 0.7 released
- DNS.dns uses Cache
- Added getAny* to DNS.dns
- Cache can return information indicating partial success on lookup
4/3/1999
- Cache does negative caching
- Cache follows CNAMEs when looking for cached data
4/2/1999
- dig now understands -x
- added DNS.Address, a clone of InetAddress
- Cache can now follow CNAME chains
- Cache now expires records based on TTL and doesn't cache records
with TTL = 0.
4/1/1999
- Made Cache and Zone extend NameSet
- Created Master class to parse master files
3/31/1999
- Added first cut at Cache
- Changes to RRset to make it more useful
3/30/1999
- 0.6 released
- bug fixes to DataInputStream, jnamed
- jnamed now takes config file
- Added basic EDNS0 and TSIG support to jnamed
- Added basic EDNS0 support and IgnoreTruncation flag to Resolver
- jnamed can now return FORMERR
3/29/1999
- 0.5 released
- update client: added "echo" and "log" keywords, "file" can now
specify "-" for standard input (at the end of a config file,
for example).
- added support for BIND TTL format
- switched from CountedDataOutputStream to DataByteOutputStream,
which extends ByteArrayOutputStream. Same for Input.
Should help performance and allow more flexibility.
- minor server fix to authority section
3/28/1999
- 0.4 released
- fixed compression bug where all pointers into rdata were 0
- server sends authority records (NS or SOA)
- server now loads glue data separately from zone data, adds
authority and additional data, and deals with truncation.
- fixed a few Zone bugs
- added signatures to RRset
3/27/1999
- 0.3 released
- _res was set wrong, so the high level functions wouldn't work.
- Minor additions to CountedData(Input|Output)Stream
- Lots of DNSSEC stuff
3/26/1999
- moved constants out of dns class into other classes
3/25/1999
- 0.2 released
- conversion from base64 sometimes added extra zeroes.
- original record length was computed wrong, so tsigs didn't verify.
- master file parser didn't deal with ; delimited comments
- server now stores data in RRsets instead of individual RRs.
- various server bug fixes. Still doesn't work too well.
3/23/1999:
- 0.1 released
You can’t perform that action at this time.