Mercurial > emacs
comparison lisp/net/tramp-smb.el @ 108077:93125d6fab29
Implement SELINUX backends.
* net/tramp.el (tramp-file-name-handler-alist): Add
`file-selinux-context' and `set-file-selinux-context'.
(tramp-handle-file-selinux-context)
(tramp-handle-set-file-selinux-context): New defuns.
(tramp-handle-copy-file, tramp-do-copy-or-rename-file): Handle
PRESERVE-SELINUX-CONTEXT.
* net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Add
`file-selinux-context' and `set-file-selinux-context'.
(tramp-gvfs-handle-file-selinux-context)
(tramp-gvfs-handle-set-file-selinux-context): New defuns.
(tramp-gvfs-handle-copy-file): Handle PRESERVE-SELINUX-CONTEXT.
* net/ange-ftp.el (ange-ftp-copy-file):
* net/tramp-fish.el (tramp-fish-handle-copy-file):
* net/tramp-imap.el (tramp-imap-handle-copy-file):
* net/tramp-smb.el (tramp-smb-handle-copy-file): Add
PRESERVE-SELINUX-CONTEXT.
author | Michael Albinus <michael.albinus@gmx.de> |
---|---|
date | Fri, 23 Apr 2010 16:12:05 +0200 |
parents | 2e763e444bc2 |
children | 2ee48fcc701c |
comparison
equal
deleted
inserted
replaced
108076:269804f5b53b | 108077:93125d6fab29 |
---|---|
162 (file-attributes . tramp-smb-handle-file-attributes) | 162 (file-attributes . tramp-smb-handle-file-attributes) |
163 (file-directory-p . tramp-smb-handle-file-directory-p) | 163 (file-directory-p . tramp-smb-handle-file-directory-p) |
164 (file-executable-p . tramp-smb-handle-file-exists-p) | 164 (file-executable-p . tramp-smb-handle-file-exists-p) |
165 (file-exists-p . tramp-smb-handle-file-exists-p) | 165 (file-exists-p . tramp-smb-handle-file-exists-p) |
166 (file-local-copy . tramp-smb-handle-file-local-copy) | 166 (file-local-copy . tramp-smb-handle-file-local-copy) |
167 (file-remote-p . tramp-handle-file-remote-p) | |
168 (file-modes . tramp-handle-file-modes) | 167 (file-modes . tramp-handle-file-modes) |
169 (file-name-all-completions . tramp-smb-handle-file-name-all-completions) | 168 (file-name-all-completions . tramp-smb-handle-file-name-all-completions) |
170 (file-name-as-directory . tramp-handle-file-name-as-directory) | 169 (file-name-as-directory . tramp-handle-file-name-as-directory) |
171 (file-name-completion . tramp-handle-file-name-completion) | 170 (file-name-completion . tramp-handle-file-name-completion) |
172 (file-name-directory . tramp-handle-file-name-directory) | 171 (file-name-directory . tramp-handle-file-name-directory) |
174 ;; `file-name-sans-versions' performed by default handler. | 173 ;; `file-name-sans-versions' performed by default handler. |
175 (file-newer-than-file-p . tramp-smb-handle-file-newer-than-file-p) | 174 (file-newer-than-file-p . tramp-smb-handle-file-newer-than-file-p) |
176 (file-ownership-preserved-p . ignore) | 175 (file-ownership-preserved-p . ignore) |
177 (file-readable-p . tramp-smb-handle-file-exists-p) | 176 (file-readable-p . tramp-smb-handle-file-exists-p) |
178 (file-regular-p . tramp-handle-file-regular-p) | 177 (file-regular-p . tramp-handle-file-regular-p) |
178 (file-remote-p . tramp-handle-file-remote-p) | |
179 ;; `file-selinux-context' performed by default handler. | |
179 (file-symlink-p . tramp-handle-file-symlink-p) | 180 (file-symlink-p . tramp-handle-file-symlink-p) |
180 ;; `file-truename' performed by default handler. | 181 ;; `file-truename' performed by default handler. |
181 (file-writable-p . tramp-smb-handle-file-writable-p) | 182 (file-writable-p . tramp-smb-handle-file-writable-p) |
182 (find-backup-file-name . tramp-handle-find-backup-file-name) | 183 (find-backup-file-name . tramp-handle-find-backup-file-name) |
183 ;; `find-file-noselect' performed by default handler. | 184 ;; `find-file-noselect' performed by default handler. |
188 (make-directory . tramp-smb-handle-make-directory) | 189 (make-directory . tramp-smb-handle-make-directory) |
189 (make-directory-internal . tramp-smb-handle-make-directory-internal) | 190 (make-directory-internal . tramp-smb-handle-make-directory-internal) |
190 (make-symbolic-link . tramp-smb-handle-make-symbolic-link) | 191 (make-symbolic-link . tramp-smb-handle-make-symbolic-link) |
191 (rename-file . tramp-smb-handle-rename-file) | 192 (rename-file . tramp-smb-handle-rename-file) |
192 (set-file-modes . tramp-smb-handle-set-file-modes) | 193 (set-file-modes . tramp-smb-handle-set-file-modes) |
194 ;; `set-file-selinux-context' performed by default handler. | |
193 (set-file-times . ignore) | 195 (set-file-times . ignore) |
194 (set-visited-file-modtime . ignore) | 196 (set-visited-file-modtime . ignore) |
195 (shell-command . ignore) | 197 (shell-command . ignore) |
196 (substitute-in-file-name . tramp-smb-handle-substitute-in-file-name) | 198 (substitute-in-file-name . tramp-smb-handle-substitute-in-file-name) |
197 (unhandled-file-name-directory . tramp-handle-unhandled-file-name-directory) | 199 (unhandled-file-name-directory . tramp-handle-unhandled-file-name-directory) |
323 (t | 325 (t |
324 (tramp-run-real-handler | 326 (tramp-run-real-handler |
325 'copy-directory (list dirname newname keep-date parents))))))) | 327 'copy-directory (list dirname newname keep-date parents))))))) |
326 | 328 |
327 (defun tramp-smb-handle-copy-file | 329 (defun tramp-smb-handle-copy-file |
328 (filename newname &optional ok-if-already-exists keep-date preserve-uid-gid) | 330 (filename newname &optional ok-if-already-exists keep-date |
331 preserve-uid-gid preserve-selinux-context) | |
329 "Like `copy-file' for Tramp files. | 332 "Like `copy-file' for Tramp files. |
330 KEEP-DATE is not handled in case NEWNAME resides on an SMB server. | 333 KEEP-DATE is not handled in case NEWNAME resides on an SMB server. |
331 PRESERVE-UID-GID is completely ignored." | 334 PRESERVE-UID-GID is completely ignored." |
332 (setq filename (expand-file-name filename) | 335 (setq filename (expand-file-name filename) |
333 newname (expand-file-name newname)) | 336 newname (expand-file-name newname)) |