diff options
author | Harald Hoyer <harald@redhat.com> | 2019-05-29 17:04:14 +0200 |
---|---|---|
committer | Harald Hoyer <harald@redhat.com> | 2019-05-29 17:16:18 +0200 |
commit | 90ae7206f3ac989c6bc435c03badadcd25976eef (patch) | |
tree | 7742a67098d96d101d5cdcee5fea3931e0b35428 /pkg/varlinkapi/transfers.go | |
parent | 8649dbdc11bc14feb59794d76ba197771d8a6d51 (diff) | |
download | podman-90ae7206f3ac989c6bc435c03badadcd25976eef.tar.gz podman-90ae7206f3ac989c6bc435c03badadcd25976eef.tar.bz2 podman-90ae7206f3ac989c6bc435c03badadcd25976eef.zip |
Fix the varlink upgraded calls
Although an upgraded call is requested, the server has to send at least
one reply (can be an error) and the client has to check the reply,
before assuming an upgraded connection.
Signed-off-by: Harald Hoyer <harald@redhat.com>
Diffstat (limited to 'pkg/varlinkapi/transfers.go')
-rw-r--r-- | pkg/varlinkapi/transfers.go | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/pkg/varlinkapi/transfers.go b/pkg/varlinkapi/transfers.go index 96f76bcdc..24a91a86f 100644 --- a/pkg/varlinkapi/transfers.go +++ b/pkg/varlinkapi/transfers.go @@ -29,6 +29,12 @@ func (i *LibpodAPI) SendFile(call iopodman.VarlinkCall, ftype string, length int return call.ReplyErrorOccurred(err.Error()) } + // FIXME return parameter + if err = call.ReplySendFile("FIXME_file_handle"); err != nil { + // If an error occurs while sending the reply, return the error + return err + } + writer := bufio.NewWriter(outputFile) defer writer.Flush() @@ -60,9 +66,10 @@ func (i *LibpodAPI) ReceiveFile(call iopodman.VarlinkCall, filepath string, dele } // Send the file length down to client - // Varlink connection upraded + // Varlink connection upgraded if err = call.ReplyReceiveFile(fileInfo.Size()); err != nil { - return call.ReplyErrorOccurred(err.Error()) + // If an error occurs while sending the reply, return the error + return err } reader := bufio.NewReader(fs) |