username not url decoded in backend (at least rsync)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Duplicity |
Fix Released
|
Medium
|
Unassigned |
Bug Description
there is a long bug conversation at duply's bugtracker
https:/
summary
rsync backend does not use url decoded parsed_url.username but splits it itself from parsed_url.netloc. This leads to rsync asking for password because it does not decode the username, so it ends up unknown.
a quick test here actually showed that rsync behaved similar like ssh treating everything from protocol:// up to the last @ as username e.g. rsync:/
so using the url decoded parsed_url.username would solve this. ALternativly and cleaner would probably be using env vars, see rsync manpage
USER or LOGNAME
The USER or LOGNAME environment variables are used to determine the
default username sent to an rsync daemon. If neither is set, the username
defaults to "nobody".
I didn't check but probably other commandline backends suffer from the same problem (except ssh).
regards ede/duply.net
Changed in duplicity: | |
importance: | Undecided → Medium |
milestone: | none → 0.6.09 |
status: | New → Fix Committed |
Changed in duplicity: | |
milestone: | 0.6.09 → none |
status: | Fix Committed → Fix Released |
Here they come .. Changes are
backend.py _persist) , popen(_persist), both are now interface compatible wrappers to new functions subprocess_ popen(_ persist) popen(_ persist) shows STDOUT/ERR output on error and returns exitcode, stdout, stderr and uses subprocess.popen which exists only since python 2.4
- always urldecode password form url
- url_parse port for rsync now, silently ignore rsyncd syntax parse error, alternate port for rsyncd is determined by rsyncbackend
- deprecated os.system, os.popen functions namely run_command(
- subprocess_
rsyncbackend.py
- rsyncd authenfication support (should be mentioned in manpage, that this only includes plain rsync and rsync+ssh needs key authentification or ssh-agent or the like)
- alternate port support for rsyncd and rsync over ssh
..ede