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))