From 79de73685bc6b25607833b04aa8f619ebb381945 Mon Sep 17 00:00:00 2001 From: Martin Hostettler Date: Mon, 22 Aug 2016 19:50:53 +0200 Subject: [PATCH] remote: Change exception message for unexpected RPC data format to indicate dataflow direction don't print stacktraces to clean up error messages when sshing into a forces command to borg serve. --- borg/remote.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/borg/remote.py b/borg/remote.py index 5c42b58a1..debb003fe 100644 --- a/borg/remote.py +++ b/borg/remote.py @@ -37,6 +37,14 @@ class InvalidRPCMethod(Error): """RPC method {} is not valid""" +class UnexpectedRPCDataFormatFromClient(Error): + """Borg {}: Got unexpected RPC data format from client.""" + + +class UnexpectedRPCDataFormatFromServer(Error): + """Got unexpected RPC data format from server.""" + + class RepositoryServer: # pragma: no cover rpc_methods = ( '__len__', @@ -87,7 +95,7 @@ class RepositoryServer: # pragma: no cover if not (isinstance(unpacked, tuple) and len(unpacked) == 4): if self.repository is not None: self.repository.close() - raise Exception("Unexpected RPC data format.") + raise UnexpectedRPCDataFormatFromClient(__version__) type, msgid, method, args = unpacked method = method.decode('ascii') try: @@ -328,7 +336,7 @@ This problem will go away as soon as the server has been upgraded to 1.0.7+. self.unpacker.feed(data) for unpacked in self.unpacker: if not (isinstance(unpacked, tuple) and len(unpacked) == 4): - raise Exception("Unexpected RPC data format.") + raise UnexpectedRPCDataFormatFromServer() type, msgid, error, res = unpacked if msgid in self.ignore_responses: self.ignore_responses.remove(msgid)