Mercurial > emacs
comparison lisp/server.el @ 105090:b9e58ef2bdb6
* server.el (server-ensure-safe-dir): Pass 'integer
to `file-attributes', as suggested.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Fri, 18 Sep 2009 16:55:21 +0000 |
parents | 68150c643e2e |
children | 84836b2f2c93 |
comparison
equal
deleted
inserted
replaced
105089:30c99a719e21 | 105090:b9e58ef2bdb6 |
---|---|
447 Creates the directory if necessary and makes sure: | 447 Creates the directory if necessary and makes sure: |
448 - there's no symlink involved | 448 - there's no symlink involved |
449 - it's owned by us | 449 - it's owned by us |
450 - it's not readable/writable by anybody else." | 450 - it's not readable/writable by anybody else." |
451 (setq dir (directory-file-name dir)) | 451 (setq dir (directory-file-name dir)) |
452 (let ((attrs (file-attributes dir))) | 452 (let ((attrs (file-attributes dir 'integer))) |
453 (unless attrs | 453 (unless attrs |
454 (letf (((default-file-modes) ?\700)) (make-directory dir t)) | 454 (letf (((default-file-modes) ?\700)) (make-directory dir t)) |
455 (setq attrs (file-attributes dir))) | 455 (setq attrs (file-attributes dir 'integer))) |
456 ;; Check that it's safe for use. | 456 ;; Check that it's safe for use. |
457 (unless (and (eq t (car attrs)) (eql (nth 2 attrs) (user-uid)) | 457 (unless (and (eq t (car attrs)) (eql (nth 2 attrs) (user-uid)) |
458 (or (eq system-type 'windows-nt) | 458 (or (eq system-type 'windows-nt) |
459 (zerop (logand ?\077 (file-modes dir))))) | 459 (zerop (logand ?\077 (file-modes dir))))) |
460 (error "The directory %s is unsafe" dir)))) | 460 (error "The directory %s is unsafe" dir)))) |