[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Rdiff-backup-commits] Changes to rdiff-backup/rdiff_backup/fs_abilities
From: |
Ben Escoto |
Subject: |
[Rdiff-backup-commits] Changes to rdiff-backup/rdiff_backup/fs_abilities.py |
Date: |
Thu, 20 Oct 2005 16:20:32 -0400 |
Index: rdiff-backup/rdiff_backup/fs_abilities.py
diff -u rdiff-backup/rdiff_backup/fs_abilities.py:1.16
rdiff-backup/rdiff_backup/fs_abilities.py:1.17
--- rdiff-backup/rdiff_backup/fs_abilities.py:1.16 Wed Aug 17 04:11:23 2005
+++ rdiff-backup/rdiff_backup/fs_abilities.py Thu Oct 20 20:20:29 2005
@@ -43,6 +43,7 @@
carbonfile = None # True if Mac Carbon file data is supported.
name = None # Short string, not used for any technical purpose
read_only = None # True if capabilities were determined
non-destructively
+ high_perms = None # True if suid etc perms are (read/write) supported
def __init__(self, name = None):
"""FSAbilities initializer. name is only used in logging"""
@@ -89,7 +90,8 @@
('Hard linking',
self.hardlinks),
('fsync()
directories', self.fsync_dirs),
('Directory inc
permissions',
- self.dir_inc_perms)])
+ self.dir_inc_perms),
+ ('High-bit
permissions', self.high_perms)])
add_boolean_list([('Access control lists', self.acls),
('Extended attributes',
self.eas),
('Mac OS X style resource
forks',
@@ -149,6 +151,7 @@
self.set_dir_inc_perms(subdir)
self.set_resource_fork_readwrite(subdir)
self.set_carbonfile()
+ self.set_high_perms_readwrite(subdir)
if override_chars_to_quote is None:
self.set_chars_to_quote(subdir)
else: self.chars_to_quote = override_chars_to_quote
if use_ctq_file: self.compare_chars_to_quote(rbdir)
@@ -378,6 +381,16 @@
return
self.resource_forks = 0
+ def set_high_perms_readwrite(self, dir_rp):
+ """Test for writing high-bit permissions like suid"""
+ tmp_rp = dir_rp.append("high_perms")
+ tmp_rp.touch()
+ try:
+ tmp_rp.chmod(07000)
+ tmp_rp.chmod(07777)
+ except (OSError, IOError), e: self.high_perms = 0
+ else: self.high_perms = 1
+ tmp_rp.delete()
def get_fsabilities_readonly(desc_string, rp):
"""Return an FSAbilities object with given description_string
- [Rdiff-backup-commits] Changes to rdiff-backup/rdiff_backup/fs_abilities.py,
Ben Escoto <=
- [Rdiff-backup-commits] Changes to rdiff-backup/rdiff_backup/fs_abilities.py, Ben Escoto, 2005/10/20
- [Rdiff-backup-commits] Changes to rdiff-backup/rdiff_backup/fs_abilities.py, Ben Escoto, 2005/10/24
- [Rdiff-backup-commits] Changes to rdiff-backup/rdiff_backup/fs_abilities.py, Ben Escoto, 2005/10/25
- [Rdiff-backup-commits] Changes to rdiff-backup/rdiff_backup/fs_abilities.py, Ben Escoto, 2005/10/25
- [Rdiff-backup-commits] Changes to rdiff-backup/rdiff_backup/fs_abilities.py, Ben Escoto, 2005/10/26
- [Rdiff-backup-commits] Changes to rdiff-backup/rdiff_backup/fs_abilities.py, Ben Escoto, 2005/10/30