io-reauthenticate.lisp 617 B

1234567891011121314151617
  1. (in-package :hurd-translator)
  2. (def-io-interface :io-reauthenticate ((file port)
  3. (rend-port port))
  4. (with-lookup protid file
  5. (let ((new-protid (new-protid *translator*
  6. (get-user protid)
  7. (open-node protid))))
  8. (with-port-deallocate (new-right (get-send-right new-protid))
  9. (with-port-deallocate (rendezvous rend-port)
  10. (let ((new-user (user-reauth +auth-server+ rendezvous new-right t)))
  11. (when new-user
  12. (setf (user new-protid) new-user))
  13. t))))))