zone.lisp: Sink `&allow-other-keys' until after the keyword arguments.
[zone] / zone.lisp
index bd3cd3f..a1e74b7 100644 (file)
--- a/zone.lisp
+++ b/zone.lisp
   min-ttl
   serial)
 
-(export 'zone-text-name)
-(defun zone-text-name (zone)
-  (princ-to-string (zone-name zone)))
-
 (export 'mx)
 (defstruct (mx (:predicate mxp))
   "Mail-exchange record information."
   name
   records)
 
+(export 'zone-text-name)
+(defun zone-text-name (zone)
+  (princ-to-string (zone-name zone)))
+
 ;;;--------------------------------------------------------------------------
 ;;; Zone defaults.  It is intended that scripts override these.
 
                                      :ttl ttl :records (cdr r))
                                     sub)))
                         (t
-                         (error "Unexpected record form ~A" (car r))))))))
+                         (error "Unexpected record form ~A" r)))))))
 
           (process (rec dom ttl)
             ;; Recursirvely process the record list REC, with a list DOM of
 (defmacro defrevzone (head &body zf)
   "Define a reverse zone, with the correct name."
   (destructuring-bind (nets &rest args
-                           &key &allow-other-keys
-                                (family '*address-family*)
-                                prefix-bits)
+                           &key (family '*address-family*)
+                                prefix-bits
+                                &allow-other-keys)
       (listify head)
     (with-gensyms (ipn)
       `(dolist (,ipn (net-parse-to-ipnets ',nets ,family))
       (rec :type :txt
           :data (nreverse things)))))
 
-(defenum sshfp-algorithm () (:rsa 1) (:dsa 2) (:ecdsa 3))
+(defenum sshfp-algorithm () (:rsa 1) (:dsa 2) (:ecdsa 3) (:ed25519 4))
 (defenum sshfp-type () (:sha-1 1) (:sha-256 2))
 
 (export '*sshfp-pathname-defaults*)