rdiff-backup-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/rpath.py [r1-


From: dean gaudet
Subject: [Rdiff-backup-commits] rdiff-backup CHANGELOG rdiff_backup/rpath.py [r1-0]
Date: Sun, 05 Nov 2006 01:19:37 +0000

CVSROOT:        /cvsroot/rdiff-backup
Module name:    rdiff-backup
Branch:         r1-0
Changes by:     dean gaudet <dgaudet>   06/11/05 01:19:37

Modified files:
        .              : CHANGELOG 
        rdiff_backup   : rpath.py 

Log message:
        Set symlink permissions properly.  (Patch from Andrew Ferguson.)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/CHANGELOG?cvsroot=rdiff-backup&only_with_tag=r1-0&r1=1.147.2.18&r2=1.147.2.19
http://cvs.savannah.gnu.org/viewcvs/rdiff-backup/rdiff_backup/rpath.py?cvsroot=rdiff-backup&only_with_tag=r1-0&r1=1.87.2.2&r2=1.87.2.3

Patches:
Index: CHANGELOG
===================================================================
RCS file: /cvsroot/rdiff-backup/rdiff-backup/CHANGELOG,v
retrieving revision 1.147.2.18
retrieving revision 1.147.2.19
diff -u -b -r1.147.2.18 -r1.147.2.19
--- CHANGELOG   21 Feb 2006 04:10:38 -0000      1.147.2.18
+++ CHANGELOG   5 Nov 2006 01:19:37 -0000       1.147.2.19
@@ -1,6 +1,8 @@
 New in v1.0.5 (????/??/??)
 --------------------------
 
+Set symlink permissions properly.  (Patch from Andrew Ferguson.)
+
 Fix a traceback due to an off-by-1 error in "--remove-older-than nB".
 
 Fix a security violation when restoring from a remote repository.

Index: rdiff_backup/rpath.py
===================================================================
RCS file: /cvsroot/rdiff-backup/rdiff-backup/rdiff_backup/rpath.py,v
retrieving revision 1.87.2.2
retrieving revision 1.87.2.3
diff -u -b -r1.87.2.2 -r1.87.2.3
--- rdiff_backup/rpath.py       22 Nov 2005 22:45:12 -0000      1.87.2.2
+++ rdiff_backup/rpath.py       5 Nov 2006 01:19:37 -0000       1.87.2.3
@@ -95,7 +95,12 @@
 
        if rpin.isreg(): copy_reg_file(rpin, rpout, compress)
        elif rpin.isdir(): rpout.mkdir()
-       elif rpin.issym(): rpout.symlink(rpin.readlink())
+       elif rpin.issym():
+               # some systems support permissions for symlinks, but
+               # only by setting at creation via the umask
+               os.umask(0777 - rpin.getperms())
+               rpout.symlink(rpin.readlink())
+               os.umask(077)   # restore rdiff-backup standard umask
        elif rpin.ischardev():
                major, minor = rpin.getdevnums()
                rpout.makedev("c", major, minor)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]