[Box Backup] Non-ASCII file and folder names crash Boxi at restore but not at backup

Achim boxbackup@boxbackup.org
Thu, 23 Apr 2009 12:52:44 +0200


Hello Chris: 

(for now without attachments, since they are too big for the list until
James approves the original message)

Please find below a description of my best stab at corner cases for the
international characters in Boxi and Box Backup. Turns out that with some
methodological testing, there are quite a few areas of improvement in both
applications, and not only in Boxi.

I also enclose the source backup files with international filenames in an
archive and a couple of screenshots so that somebody else can run the tests
as well. The use cases are classified by location, path and file names that
can be either in ASCII (A) or non-ASCII (N). Example: NAN means non-ASCII
location, ASCII path and non-ASCII file names

Versions used:
Box Backup server 0.11~rc2-5 (installed from Lenny [1] on Ubuntu 8.04
Hardy)
Box Backup client R2495
Boxi R642

Please let me know if there is anything else I can do.

Achim

[1] <http://packages.debian.org/lenny/boxbackup-server>

---- snip ----
Settings in bbackupd.conf:
BackupLocations
{
	AAA
	{
		Path = D:\testdir
	}
	ääääääää
	{
		Path = D:\testdir
	}
	testäääääääätest
	{
		Path = D:\testdir
	}
 	ANA
	{
		Path = D:\testdir.ääääääää
	}
 	AAN
	{
		Path = D:\testdir
	}
}
---- snap ----



AAA WORKS: ASCII location, ASCII path and ASCII file names
==========================================================
[..]
BackupLocations
{
	AAA
	{
		Path = D:\test
	}
}
[..]

bbackupd.exe
------------
NOTICE:  File statistics: total file size uploaded 1592322, bytes already
on server 0, encoded size 1593860



NAA BROKEN: completely non-ASCII location, ASCII path and ASCII file names
==========================================================================
[..]
BackupLocations
{
	ääääääää
	{
		Path = D:\testdir
	}
}
[..]

bbackupd.exe
------------
NOTICE:  File statistics: total file size uploaded 1592322, bytes already
on server 0, encoded size 1593860

bbackupquery.exe
----------------
query > list
00000894 -d----

Non-ASCII location results in an empty location on the server

boxi.exe
--------
Viewing and selecting of path "ääääääää" in "Restore Files" works
(see enclosed NAA correct visualisation in Boxi.png), but restoring fails
with "Boxi Error: Error: failed to finish restore: Common OSFileError
(Error accessing a file. Check permissions.)"

However, "D:\test\restore\ääääääää" as the restore target directory
is created correctly!



NAA BROKEN: partially non-ASCII location, ASCII path and ASCII file names
=========================================================================
[..]
BackupLocations
{
	testäääääääätest
	{
		Path = D:\testdir
	}
}
[..]

bbackupquery.exe
----------------
NOTICE:  File statistics: total file size uploaded 1592322, bytes already
on server 0, encoded size 1593860

bbackupquery.exe
----------------
query > list
000008a7 -d---- testtest

boxi.exe
--------
Viewing and selecting of path "testäääääääätest" in "Restore Files"
works, but restoring fails with "Boxi Error: Error: failed to finish
restore: Common OSFileError (Error accessing a file. Check permissions.)"

However, "D:\testdir\restore3\testäääääääätest" as the restore
target directory is created correctly!



ANA BROKEN: ASCII location, non-ASCII path and ASCII file names
===============================================================
[..]
BackupLocations
{
	ANA
	{
		Path = D:\testdir.ääääääää
	}
}
[..]

bbackupd.exe
----------------
WARNING: Failed to stat location path 'D:\test.', skipping location 'ANA':
No such file or directory (2)

boxi.exe
--------
Shows the correct location (see enclosed "ANA correct visualisation in
Boxi.png" and "NNA correct visualisation in Boxi.png") but no files are
backed up or even detected for backup when starting the backup. No error is
given, and no activity is taking place.



AAN Partially WORKS: ASCII location, ASCII path and non-ASCII file names
========================================================================
[..]
BackupLocations
{
 	AAN
	{
		Path = D:\testdir
	}
}
[..]

File 1: testfile.ääääääää
File 2: testääääääääfile
File 3: ääääääää
File 4: testfile.ñññ

bbackupd.exe
------------
NOTICE:  File statistics: total file size uploaded 1370754, bytes already
on server 0, encoded size 1252506

bbackupquery.exe
----------------
- restores the whole directory (via restore command) containing those files
with the correct names correctly (and all the files inside).
query > restore AAN AAN_restore
........
query > lcd AAN_restore
query > sh dir
 El volumen de la unidad D no tiene etiqueta.
 El número de serie del volumen es: D4E8-D05C

 Directorio de d:\testdir\AAN_restore

22/04/2009  13:49    <DIR>          .
22/04/2009  13:49    <DIR>          ..
05/03/2008  10:26           228.459 2nd_testfile.ääääääää
05/03/2008  10:26           228.459 HBR - The Chief Strategy Office.pdf
05/03/2008  19:26           228.459 testfile.ääääääää
05/03/2008  10:26           228.459 testfile.ñññ
05/03/2008  10:26           228.459 testfile.ññññ
05/03/2008  10:26           228.459 testfile2.ääääääää
05/03/2008  10:26           228.459 testääääääääfile
05/03/2008  10:26           228.459 ääääääää
               8 archivos      1.827.672 bytes

- fails to restore individual files (via getobject command) with correct
names:
"query > getobject 000008a5 testääääääääfile" results in local
"testfile"
"query > getobject 000008cf testfile.ññññ" results in local "testfile."

boxi.exe
--------
- messes up the displayed file names in the "Restore Files" tab (see
enclosed "AAN incorrect visualisation in Boxi.png")
- restores the directory containing those files with the correct names
correctly (and all the files inside).
- fails to restore individual files: the containing directory is created,
but the file is not. There is no error message/dialog given, except for
"Restore failed" in the "Restore Progress" Errors list