[Box Backup] TLSReadFailed
Ben Summers
boxbackup@fluffy.co.uk
Sun, 13 Mar 2005 11:25:01 +0000
On 12 Mar 2005, at 18:43, Chris Wilson wrote:
> Hi Ben and all,
>
> I'm currently working on implementing restore functionality in Boxi,
> and hope to have it ready for a new release within a week or so.
> However, I have come across some interesting issues on which I would
> like to ask your help.
>
> Firstly, I'm not sure that I understand the difference between the Get
> and Restore commands in bbackupquery, but it appears that Get only
> works on files, and Restore only works on directories? If so, could
> they not be combined into a single command that works on either files
> or directories?
If you look at the code, restore is very different from get. Get just
retrieves file data, and decodes it. Restore is a restartable recursive
process which operates on directories of files.
>
> Secondly, if I try to Restore a file (not a directory) by object ID
> using bbackupquery, then the program aborts with a TLSReadFailed error
> and no further information. An exception object seems to have been
> sent from the server (a BadDirectoryFormat exception) but bbackupquery
> ignored it and threw a protocol error. Is this worth fixing? It seems
> like a bug to me.
You are asking the server to read a file object, and interpret it as a
directory. BadDirectoryFormat seems a perfectly reasonable error to
throw.
>
> Thirdly, if the server throws any kind of exception, which results in
> a TLSReadFailed on the client, the stream becomes unusable after that
> point and must be closed. This is rather annoying for interactive
> applications. Would it be hard to fix the client to handle exceptions
> properly and keep the stream alive?
Yes, I can see that would be annoying. It won't be very difficult to
propagate exceptions from the server to the client properly, and then
allow it to continue being used.
Ben