From a15288b4daf489d5c5f0a4f9551d11c6c34b9f9d Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Mon, 13 Feb 2006 12:05:04 +0000 Subject: [PATCH] New zone entry type :net Organization: Straylight/Edgeware From: mdw Automatically puts in records for the interesting factoids about the network. --- zone.lisp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/zone.lisp b/zone.lisp index 90867ea..83ad3b9 100644 --- a/zone.lisp +++ b/zone.lisp @@ -40,6 +40,7 @@ (defpackage #:zone #:*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 @@ (defzoneparse :alias (name data rec :zname zname) (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*)" -- [mdw]