anchor.diff:  
   ;; client contexts -- basically information about which clients have been authenticated
   (defstruct des-context 
  -  fullname nickname timestamp key)
  +  fullname nickname timestamp key window)
   
   (defvar *des-contexts* (make-cyclic-buffer 10))
   
  -(defun add-des-context (fullname timestamp key)
  +(defun add-des-context (fullname timestamp key window)
     (let ((c (make-des-context :fullname fullname
   			     :nickname (random (expt 2 32))
   			     :timestamp timestamp
  -			     :key key)))
  +			     :key key
  +			     :window window)))
       (cyclic-push *des-contexts* c)
       c))
   
  
positive.code: FULLNAME and KEY must be provided."
    (make-opaque-auth :auth-des 
  		    (if nickname
  			(make-xunion :adn-nickname nickname)
  			(let ((c (make-dh-cipher public-key)))
  			  (make-xunion 
  			   :adn-fullname 
  			   (make-authdes-fullname 
  			    :name fullname
  			    :key (dh-encrypt c conversation-key)
  
negative.code: ;; verifier should now be the encryted timestamp and encrypted window verifier.
  
  (defxenum authdes-namekind 
    (:fullname 0)
    (:nickname 1))
  
  (defxstruct authdes-fullname ()
    (name :string)
  