anchor.diff:        (loop
            do (let ((socket (sockets:accept-connection server :wait t)))
                 (when (> (read-sequence user-buffer socket) 0)
  -                (write-byte (if (can-login-p (buffer-to-string user-buffer))
  -                                1
  -                                0)
  -                            socket)
  +                (let ((user (buffer-to-string user-buffer)))
  +                  (write-byte (if (and (can-login-p user)
  +                                       (regenerate-token user))
  +                                  1
  +                                  0)
  +                              socket))
                   (close socket)))))))
   
   (defun buffer-to-string (buffer)
  
positive.code: (defvar *fingerprint-length* 5)
  (defvar *fingerprint* #(82 111 98 105 110))
  (defvar *token-length* 128)
  
  (defun main (&rest args)
    (declare (ignore args))
  
negative.code:         (timing-safe-compare user-token device-token *token-length*)))))
  
  (defun read-user-token (user)
    (read-token (merge-pathnames user *user-tokens-path*)))
  
  (defun read-device-token (device)
    (read-token device 5))
  