X-Git-Url: https://git.distorted.org.uk/~mdw/zone/blobdiff_plain/a567a3bce51edcee4bd83afd9eea82ea42b2ce1f..f4decf40ece4ec98a4a6531a28f9fec84f99a0ca:/zone.lisp diff --git a/zone.lisp b/zone.lisp index c830a11..611a6ac 100644 --- a/zone.lisp +++ b/zone.lisp @@ -379,46 +379,6 @@ until (zerop (logand mask (ash #xff (* 8 i)))) collect (logand #xff (ash net (* -8 i)))))))) -(defun zone-cidr-delegation (data name ttl list) - "Given :cidr-delegation info DATA, for a record called NAME and the current - TTL, write lots of CNAME records to LIST." - (destructuring-bind - (net &key bytes) - (listify (car data)) - (setf net (zone-parse-net net name)) - (unless bytes - (setf bytes (ipnet-changeable-bytes (ipnet-mask net)))) - (dolist (map (cdr data)) - (destructuring-bind - (tnet &optional tdom) - (listify map) - (setf tnet (zone-parse-net tnet name)) - (unless (ipnet-subnetp net tnet) - (error "~A is not a subnet of ~A." - (ipnet-pretty tnet) - (ipnet-pretty net))) - (unless tdom - (setf tdom - (join-strings #\. - (list (zone-cidr-delg-default-name tnet bytes) - name)))) - (setf tdom (string-downcase tdom)) - (dotimes (i (ipnet-hosts tnet)) - (let* ((addr (ipnet-host tnet i)) - (tail (join-strings #\. - (loop - for i from 0 below bytes - collect - (logand #xff - (ash addr (* 8 i))))))) - (collect (make-zone-record - :name (join-strings #\. - (list tail name)) - :type :cname - :ttl ttl - :data (join-strings #\. (list tail tdom))) - list))))))) - ;;;-------------------------------------------------------------------------- ;;; Serial numbering. @@ -538,6 +498,7 @@ ((:data ,tdata) ,data) ((:ttl ,tttl) ,ttl) ((:make-ptr-p ,tmakeptrp) nil)) + #+cmu (declare (optimize ext:inhibit-warnings)) (collect (make-zone-record :name ,tname :type ,ttype :data ,tdata