Note that these fixes are only needed when backing up unix to windows.
Windows to windows or windows to unix shouldn't need this. Well, actually,
the Security.py patch is probably needed in all these cases.
My issues:
o The now famous fsync issue:
I just included the same patch here that is already being used.
o Files with asterisks (*) and other bad characters:
I had a file named "*.xxx" that was causing the backup to fail.
Turns out there's a pretty bad bug in the get_ctq_from_fsas logic where the
regex used wants to quote all characters except a-z, underscore, space,
period, and dash. But the faulty regex also includes all ASCII chars BETWEEN
a space and a period. Bad regex: "^a-z0-9_ .-" Good regex: "^a-z0-9_ .-".
Putting the dash at the end makes it not be a range special character. This
appears twice in fs_abilities.py. The second one includes "A-Z" (uppercase
chars) too.
o DOS device files ("aux", "prn", etc) caused backup to fail.
Any file on linux that was named aux or aux.XXX or prn[.XXX] or con[.XXX] or
nul[.XXX] or com[0-9][.XXX] or lpt[12][.XXX] would cause the backup to fail.
I created a patch that tests the file system abilities and escapes these
names if necessary by quoting the first character of the name. So, "aux" is
converted to ";097ux".
This was the biggest change. I've only tested it when backing up unix on to
windows. Restore works too.
o Security.py exception
FilenameMapping.set_init_quote_vals was missing from the list of methods that
can be called remotely.
The four patches can be downloaded here:
http://www.visiwave.com/download/rdiff_backup/rpath.py.patch
http://www.visiwave.com/download/rdiff_backup/Security.py.patch
http://www.visiwave.com/download/rdiff_backup/FilenameMapping.py.patch
http://www.visiwave.com/download/rdiff_backup/fs_abilities.py.patch
Regards,
marc
_______________________________________________
rdiff-backup-users mailing list at address@hidden
http://lists.nongnu.org/mailman/listinfo/rdiff-backup-users
Wiki URL: http://rdiff-backup.solutionsfirst.com.au/index.php/RdiffBackupWiki