summaryrefslogtreecommitdiffstats
path: root/daemon/base64.c
Commit message (Collapse)AuthorAgeFilesLines
* Coverity: Remove unreachable code.Richard W.M. Jones2011-06-131-2/+0
| | | | (cherry picked from commit 9160eec4fbf12643d8d5fa13465066822b2fed92)
* proto: Fix both-ends-cancel case.Richard W.M. Jones2011-03-211-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case where both ends cancel at the same time (eg. both ends realize there are errors before or during the transfer), previously we skipped sending back an error from the daemon, on the spurious basis that the library would not need it (the library is cancelling because of its own error). However this is wrong: we should always send back an error message from the daemon in order to preserve synchronization of the protocol. A simple test case is: $ guestfish -N fs -m /dev/sda1 upload nosuchfile / libguestfs: error: open: nosuchfile: No such file or directory libguestfs: error: unexpected procedure number (66/282) (Notice two things: there are errors at both ends, and the loss of synchronization). After applying this commit, the loss of synchronization does not occur and we just see the library error: $ guestfish -N fs -m /dev/sda1 upload nosuchfile / libguestfs: error: open: nosuchfile: No such file or directory The choice of displaying the library or the daemon error is fairly arbitrary in this case -- it would be valid to display either or even to combine them into one error. Displaying the library error only makes the code considerably simpler. This commit also (re-)enables a test for this case. Cherry picked and rebased from commit f4d996fd26762053d68f46de5790aae893f03d38.
* daemon: Don't use ../src path to include generator_protocol.hRichard W.M. Jones2010-11-031-1/+1
| | | | | This file is already hard-linked into the current directory, so the relative path is not required.
* base64-in: Ignore garbage characters in input.Richard Jones2010-06-021-1/+1
| | | | | | | | On RHEL 5 you have to specify the -i option to get the external 'base64' command to ignore \n characters. (The Fedora version seems to ignore these characters anyway). Add this option so the tests can pass on RHEL 5.
* New APIs: base64-in and base64-out for uploading/downloading base64 content.Richard Jones2010-04-191-0/+150