Roger Price
2009-Jul-26 20:39 UTC
DeltaCopy puts unwanted TAB character into rsync command
Imran Hussain writes Tue Dec 6 19:54:06 GMT 2005> I have written an rsync wrapper for Windows called DeltaCopy. > (http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp). It is > written in Borland C++ Builder and source is also available on the > net. Let me know if someone has any suggestions/comments.Hello Imran, I have a Windows PC running Vista Family Premium Edition SP2. I installed DeltaCopy and set it up to make a test backup to an openSUSE Linux 11.0 server running rsync 3.0.2. The test fails because the rsync command created by DeltaCopy is badly formed: it has an unwanted TAB after the module name. Executing: rsync.exe -v -rlt -z --delete "/cygdrive/M/Documents de Michel/Documents/Test backup/" "michel at clubmicrolag.net::Michel-MD1695 /Test backup/" @ERROR: Unknown module 'Michel-MD1695 ' rsync error: error starting client-server protocol (code 5) at /home/lapo/packaging/rsync-3.0.4-1/src/rsync-3.0.4/main.c(1504) [sender=3.0.4] The TAB appears to come from the server as part of the server reply to the query for the list of modules. Each module name is followed by a TAB even though there are no comment lines in rsyncd.conf on the server. I have run DeltaCopy on Windows XP against the same server without problems, so DeltaCopy is capable of trimming the TAB at least on some occasions. How can I get rid of this TAB? Any suggestions would be much appreciated. Roger
Roger Price
2009-Aug-11 08:00 UTC
DeltaCopy puts unwanted TAB character into rsync command
I have found a workaround for this problem - use short module
names, <15 bytes.
I placed the following sequence of module declarations in
/etc/rsyncd.conf
[123456789abcdef0]
path = /dev/null
[123456789abcdef]
path = /dev/null
[123456789abcde]
path = /dev/null
[123456789abcd]
path = /dev/null
[123456789abc]
path = /dev/null
[123456789ab]
path = /dev/null
The command rsync rsyncd://mysite.net returned the following module
listing, shown here in emacs hexl-mode :
00000120: 3132 3334 3536 3738 3941 4243 4445 4630 123456789ABCDEF0
00000130: 090a 3132 3334 3536 3738 3941 4243 4445 ..123456789ABCDE
00000140: 4609 0a31 3233 3435 3637 3839 4142 4344 F..123456789ABCD
00000150: 4520 090a 3132 3334 3536 3738 3941 4243 E ..123456789ABC
00000160: 4420 2009 0a31 3233 3435 3637 3839 4142 D ..123456789AB
00000170: 4320 2020 090a 3132 3334 3536 3738 3941 C ..123456789A
00000180: 4220 2020 2009 0a B ..
In the first two cases, the module name has 15 or more bytes and is
followed directly by a TAB (09). In the other four cases, the
module name is 14 or fewer bytes, and is padded out with spaces
(20).
Only when the module name is followed by a space is DeltaCopy able
to extract the module name correctly. When the user selects "..."
to see a list of available modules (virtual directory), the TABs are
visible as thick vertical lines. See
http://rogerprice.org/DeltaCopy+TAB.png
Roger
On Sun, 26 Jul 2009, Roger Price wrote:
> The test fails because the rsync command created by DeltaCopy is badly
> formed: it has an unwanted TAB after the module name.
>
> Executing: rsync.exe -v -rlt -z --delete
> "/cygdrive/M/Documents de Michel/Documents/Test backup/"
> "mchel at clubmicrolag.net::Michel-MD1695 /Test backup/"
>
> @ERROR: Unknown module 'Michel-MD1695 '
> rsync error: error starting client-server protocol (code 5) at
> /home/lapo/packaging/rsync-3.0.4-1/src/rsync-3.0.4/main.c(1504)
> [sender=3.0.4]
>
> The TAB appears to come from the server as part of the server reply to the
> query for the list of modules. Each module name is followed by a TAB even
> though there are no comment lines in rsyncd.conf on the server.