summaryrefslogtreecommitdiff
path: root/net/py-dns
AgeCommit message (Collapse)AuthorFilesLines
2006-06-02Mark as Python 2.2+, since explicit integer division is used (//).joerg1-1/+3
2006-02-05Recursive revision bump / recommended bump for gettext ABI change.joerg1-1/+2
2005-04-11Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used.tv1-2/+1
2005-04-09Update py-dns to 1.3.3.gson3-8/+29
Summary of changes since 1.2.0: * dns/rdtypes/ANY/TXT.py (TXT.from_text): The masterfile parser incorrectly rejected TXT records where a value was not quoted. * dns/message.py: Added make_response(), which creates a skeletal response for the specified query. Added opcode() and set_opcode() convenience methods to the Message class. Added the request_payload attribute to the Message class. * dns/zone.py (from_xfr): dns.zone.from_xfr() in relativization mode incorrectly set zone.origin to the empty name. * dns/name.py (Name.to_wire): The 'file' parameter to Name.to_wire() is now optional; if omitted, the wire form will be returned as the value of the function. * dns/message.py (Message.find_rrset): find_rrset() now uses an index, vastly improving the from_wire() performance of large messages such as zone transfers. * dns/query.py: sending queries to a nameserver via IPv6 now works. * dns/inet.py (af_for_address): Add af_for_address(), which looks at a textual-form address and attempts to determine which address family it is. * dns/query.py: the default for the 'af' parameter of the udp(), tcp(), and xfr() functions has been changed from AF_INET to None, which causes dns.inet.af_for_address() to be used to determine the address family. If dns.inet.af_for_address() can't figure it out, we fall back to AF_INET and hope for the best. * dns/rdtypes/ANY/NSEC.py (NSEC.from_text): The NSEC text format does not allow specifying types by number, so we shouldn't either. * dns/renderer.py: the renderer module didn't import random, causing an exception to be raised if a query id wasn't provided when a Renderer was created. * dns/resolver.py (Resolver.query): the resolver wasn't catching dns.exception.Timeout, so a timeout erroneously caused the whole resolution to fail instead of just going on to the next server. * dns/rdtypes/ANY/LOC.py (LOC.from_text): LOC milliseconds values were converted incorrectly if the length of the milliseconds string was less than 3. * dns/update.py (Update.delete): We erroneously specified a "deleting" value of dns.rdatatype.NONE instead of dns.rdataclass.NONE when the thing being deleted was either an Rdataset instance or an Rdata instance. * dns/rdtypes/ANY/SSHFP.py: Added support for the proposed SSHFP RR type. * dns/rdata.py (from_text): The masterfile reader did not accept the unknown RR syntax when used with a known RR type. * dns/name.py (from_text): dns.name.from_text() did not raise an exception if a backslash escape ended prematurely. * dns/zone.py (_MasterReader._rr_line): The masterfile reader erroneously treated lines starting with leading whitespace but not having any RR definition as an error. It now treats them like a blank line (which is not an error). * Added support for new DNSSEC types RRSIG, NSEC, and DNSKEY. * dns/query.py (_connect): Windows returns EWOULDBLOCK instead of EINPROGRESS when trying to connect a nonblocking socket. * dns/rdtypes/ANY/LOC.py (LOC.to_wire): We encoded and decoded LOC incorrectly, since we were interpreting the values of altitiude, size, hprec, and vprec in meters instead of centimeters. * dns/rdtypes/IN/WKS.py (WKS.from_wire): The WKS protocol value is encoded with just one octet, not two! * dns/resolver.py (Cache.maybe_clean): The cleaner deleted items from the dictionary while iterating it, causing a RuntimeError to be raised. Thanks to Mark R. Levinson for the bug report, regression test, and fix.
2005-02-24Add RMD160 digests.agc1-1/+2
2004-07-22add python as categoryrecht1-2/+2
ok'd a while back at pkgsrcCon by agc and wiz
2004-02-23Update py-dns to 1.2.0 and bl3ify.minskim2-7/+7
Changes in 1.2.0: - Timeout support has been overhauled. It now works on Python 2.2 as well as 2.3, and the total time spent processing a query is now much more controllable than before since the timeout is now on the whole query instead of just on individual network calls. - The master file reader now gives the filename and line number of the offending input when a syntax error occurs. - $INCLUDE is now supported in DNS master files. Processing of $INCLUDE can also be disabled if desired. - BIND 8 style TTLs, e.g. "1w2d3h4m5s", are accepted when reading a master file, but will never be emitted. - Basic zone sanity checks are made after a zone is loaded. Specifically, the zone must have SOA and NS rdatasets at its origin.
2003-09-21Add USE_BUILDLINK2 so this picks up a proper dependjmc1-1/+2
2003-09-14hange extension.mk to also install optimized files for distutils packages.recht1-3/+66
Inspired by FreeBSD "ports". Fix the PLISTs accordingly. Also, while at it, remove now obsolete compileall.py calls in post-install targets and insure that extension.mk is in included before builinlinks of other Python modules. Discussed with/ok'ed by drochner@.
2003-08-18Update py-dns to 1.1.0.gson3-7/+15
Summary of changes from 1.0.0: * Message sections are now lists of RRsets, not lists of nodes. * Nodes no longer have names; owner names are associated with nodes in the Zone object's nodes dictionary. * Many tests have been added to the test suite; dnspython 1.0.0 had 47 tests, 1.1.0 has 275. The improved testing uncovered a number of bugs, all of which have been fixed. * The NameDict class provides a dictionary whose keys are DNS names. In addition to behaving like a normal Python dictionary, it also provides the get_deepest_match() method. If, for example, you had a dictionary containing the keys foo.com and com, then get_deepest_match() of the name a.b.foo.com would match the foo.com key. * A new Renderer class for those applications which want finer control over the DNS wire format message generation process. * Support for a "TooBig" exception if the size of wire format output exceeds a specified limit. * Zones now have find_rrset() and find_rdataset() convenience methods. They let you retrieve rdata with the specified name and type in one call, e.g.: rrset = zone.find_rrset('foo', 'mx') * Other new zone convenience methods include: find_node(), delete_node(), delete_rdataset(), replace_rdataset(), iterate_rdatasets(), and iterate_rdatas(). * get_ variants of find_ methods are provided; the difference is that get_ methods return None if the desired object doesn't exist, whereas the find_ methods raise an exception. * Zones now have a to_file() method. * The message and zone from_file() methods allow Unicode filenames on platforms (and versions of python) which support them. Universal newline support is also used if available. * The Zone class now implements more of the standard mapping interface. E.g. you can say zone.keys(), zone.get('name'), zone.iteritems(), etc. __iter__() has been changed to iterate the keys rather than values to match the standard mapping interface's behavior. * Rdatasets support more set operations * Zone and Node factories may be specified, allowing applications to subclass Zone or Node and yet still use the algorithms which build zones from master files or AXFR data. * dns.ipv6.inet_ntoa() now minimizes the text representation of IPv6 addresses in the usual way, e.g. "0000:0000:0000:0000:0000:0000:0000:0001" is minimized to "::1". * dns.query functions now take an optional address family parameter. All known bugs from 1.0.0 are fixed in this release.
2003-07-17s/netbsd.org/NetBSD.org/grant1-2/+2
2003-07-01Make MASTER_SITES refer to a location which the dnspython author saysgson1-2/+2
will work even after the release is no longer current.
2003-06-30Update py-dns to 1.0.0. Fixes pkg/22020.gson2-7/+7
Changes from 1.0.0b3: * dns/rdata.py: Rdatas now implement rich comparisons instead of __cmp__. * dns/name.py: Names now implement rich comparisons instead of __cmp__. * dns/inet.py (inet_ntop): Always use our code, since the code in the socket module doesn't support AF_INET6 conversions if IPv6 sockets are not available on the system. * dns/resolver.py (Answer.__init__): A dangling CNAME chain was not raising NoAnswer. * Added a simple resolver Cache class. * Added an expiration attribute to answer instances.
2003-06-29Import dnspython-1.0.0b3.gson4-0/+147
dnspython is a DNS toolkit for Python. It provides both high and low level access to DNS. The high level classes perform queries for data of a given name, type, and class, and return an answer set. The low level classes allow direct manipulation of DNS zones, messages, names, and records.