X-Git-Url: https://git.distorted.org.uk/~mdw/zone/blobdiff_plain/a2267e14628e71bdac3a67f1aca1686ee03eccc4..74962377fb06e415d2abe35833aa89c04090bde9:/zone.lisp diff --git a/zone.lisp b/zone.lisp index d25986a..1324f70 100644 --- a/zone.lisp +++ b/zone.lisp @@ -580,12 +580,14 @@ nconc (list k v))) ,@',zf))))))) +(export 'map-host-addresses) (defun map-host-addresses (func addr &key (family *address-family*)) "Call FUNC for each address denoted by ADDR (a `host-parse' address)." (dolist (a (host-addrs (host-parse addr family))) (funcall func a))) +(export 'do-host) (defmacro do-host ((addr spec &key (family *address-family*)) &body body) "Evaluate BODY, binding ADDR to each address denoted by SPEC." `(dolist (,addr (host-addrs (host-parse ,spec ,family))) @@ -819,7 +821,7 @@ :ttl (zr-ttl zr) :data (zr-name zr)) (setf (gethash name seen) t)))))))))) -(defzoneparse (:multi) (name data rec :zname zname :ttl ttl) +(defzoneparse :multi (name data rec :zname zname :ttl ttl) ":multi (((NET*) &key :start :end :family :suffix) . REC) Output multiple records covering a portion of the reverse-resolution @@ -953,7 +955,8 @@ $TTL ~2@*~D~2%" (setf (char copy at) #\.)) copy))) (format stream "~ -~A~30TIN SOA~40T~A ~A ( +~A~30TIN SOA~40T~A ( +~55@A~60T ;administrator ~45T~10D~60T ;serial ~45T~10D~60T ;refresh ~45T~10D~60T ;retry