From: mdw Date: Mon, 13 Feb 2006 12:05:04 +0000 (+0000) Subject: New zone entry type :net X-Git-Url: https://git.distorted.org.uk/~mdw/zone/commitdiff_plain/a15288b4daf489d5c5f0a4f9551d11c6c34b9f9d?ds=sidebyside New zone entry type :net Automatically puts in records for the interesting factoids about the network. --- diff --git a/zone.lisp b/zone.lisp index 90867ea..83ad3b9 100644 --- a/zone.lisp +++ b/zone.lisp @@ -40,6 +40,7 @@ #:*default-mx-priority* #:*default-zone-admin* #:zone-find #:zone-parse #:zone-write #:zone-create #:defzone #:defrevzone #:zone-save + #:defzoneparse #:zone-parse-host #:timespec-seconds #:make-zone-serial)) (in-package #:zone) @@ -810,6 +811,19 @@ ZONE-RECORD: (rec :name (zone-parse-host a zname) :type :cname :data name))) +(defzoneparse :net (name data rec) + ":net (NETWORK*)" + (dolist (net (listify data)) + (let ((n (net-get-as-ipnet net))) + (rec :name (zone-parse-host "net" name) + :type :a + :data (ipnet-net n)) + (rec :name (zone-parse-host "mask" name) + :type :a + :data (ipnet-mask n)) + (rec :name (zone-parse-host "broadcast" name) + :type :a + :data (ipnet-broadcast n))))) (defzoneparse (:rev :reverse) (name data rec) ":reverse ((NET :bytes BYTES) ZONE*)"