From: Mark Wooding Date: Tue, 15 Apr 2014 13:02:06 +0000 (+0100) Subject: net.lisp, zone.lisp: Major overhaul for multiple address families. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/zone/commitdiff_plain/32ebbe9b0fcc1a698c6ffec760259c5f7e953a9d?hp=32ebbe9b0fcc1a698c6ffec760259c5f7e953a9d net.lisp, zone.lisp: Major overhaul for multiple address families. A lot of internals have changed, and some user-visible features have been dropped. * IP addresses and networks are now captured in CLOS objects, and the low-level details of messing with them are handled in generic functions which live in their own separate files. * `ipnet-pretty' has gone. Now `ipnet' objects are directly printable. * `ipnet-changeable-bytes' has gone; there's now `ipnet-changeable-bits' instead. * `host' and `net' objects now track multiple addresses, so accessing them is a bit different. `net-get-as-ipnet' has gone, replaced by `net-parse-to-ipnets'. Acceptable syntaxes have mostly been enhanced, with the ability to control which address families are emitted. * Slightly painfully, support for DNS lookups has been dropped -- because SBCL doesn't have a good way of doing IPv6 lookups. * The `:cidr-delegation' record parser has gone, and been replaced by `:multi', which can be used to achieve the same thing (and a number of other special effects besides). * For the sake of sanity, the `:a' record parser only produces A records. The new `:addr' parser will produce records for all address families associated with its input. ---