rdiff-backup: Bad request for function: rpath.make_file_dict

Step-by-Step descriptions of how to do things.
Post Reply
User avatar
^rooker
Site Admin
Posts: 1481
Joined: Fri Aug 29, 2003 8:39 pm

rdiff-backup: Bad request for function: rpath.make_file_dict

Post by ^rooker »

[PROBLEM]
I was trying to set up a remote backup using rdiff, when I ran into the following error, because I was running 2 different versions of rdiff-backup:
Warning: Local version 1.2.8 does not match remote version 1.1.15.
Sending back exception
Warning Security Violation!
Bad request for function: rpath.make_file_dict
with arguments: ['/']
of type <class 'rdiff_backup.Security.Violation'>:
File "/var/lib/python-support/python2.5/rdiff_backup/connection.py", line 333, in answer_request
Security.vet_request(request, argument_list)
File "/var/lib/python-support/python2.5/rdiff_backup/Security.py", line 221, in vet_request
raise_violation(request, arglist)
File "/var/lib/python-support/python2.5/rdiff_backup/Security.py", line 206, in raise_violation
arglist))

Exception '
Warning Security Violation!
Bad request for function: rpath.make_file_dict
with arguments: ['/']
' raised of class '<class 'rdiff_backup.Security.Violation'>':
File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 304, in error_check_Main
try: Main(arglist)
File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 321, in Main
rps = map(SetConnections.cmdpair2rp, cmdpairs)
File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 78, in cmdpair2rp
return rpath.RPath(conn, filename).normalize()
File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 884, in __init__
else: self.setdata()
File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 908, in setdata
self.data = self.conn.rpath.make_file_dict(self.path)
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 450, in __call__
return apply(self.connection.reval, (self.name,) + args)
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 370, in reval
if isinstance(result, Exception): raise result

Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 30, in <module>
rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 304, in error_check_Main
try: Main(arglist)
File "/usr/lib/pymodules/python2.6/rdiff_backup/Main.py", line 321, in Main
rps = map(SetConnections.cmdpair2rp, cmdpairs)
File "/usr/lib/pymodules/python2.6/rdiff_backup/SetConnections.py", line 78, in cmdpair2rp
return rpath.RPath(conn, filename).normalize()
File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 884, in __init__
else: self.setdata()
File "/usr/lib/pymodules/python2.6/rdiff_backup/rpath.py", line 908, in setdata
self.data = self.conn.rpath.make_file_dict(self.path)
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 450, in __call__
return apply(self.connection.reval, (self.name,) + args)
File "/usr/lib/pymodules/python2.6/rdiff_backup/connection.py", line 370, in reval
if isinstance(result, Exception): raise result
rdiff_backup.Security.Violation:
Warning Security Violation!
Bad request for function: rpath.make_file_dict
with arguments: ['/']
Unfortunately, the server I'm trying to backup is running Ubuntu Hardy 8.08.1 - and has no newer version than v1.1.15 (neither hardy-updates, nor hardy-backports).

So now, I was trying to find a way to make this backup work, without having to upgrade our stable production server.

Thanks to an answer by a user in a forum, I was pointed to andol's launchpad PPA repository, that contains recent rdiff-backup versions for different Ubuntu builds:
https://launchpad.net/~rdiff-backup-pkgs/+archive/ppa

I just added it to my apt-sources and updated rdiff-backup to v1.2.8 on hardy.
Jumping out of an airplane is not a basic instinct. Neither is breathing underwater. But put the two together and you're traveling through space!
Post Reply