PR #229 - Merge branch 'fix_127' of https://github.com/ThomasWaldmann/attic into merge

This commit is contained in:
Thomas Waldmann 2015-03-09 22:08:15 +01:00
commit 8aebdd6c5b
1 changed files with 9 additions and 3 deletions

View File

@ -59,7 +59,10 @@ class RepositoryServer(object):
if not data:
return
unpacker.feed(data)
for type, msgid, method, args in unpacker:
for unpacked in unpacker:
if not (isinstance(unpacked, tuple) and len(unpacked) == 4):
raise Exception("Unexpected RPC data format.")
type, msgid, method, args = unpacked
method = method.decode('ascii')
try:
if not method in self.rpc_methods:
@ -191,7 +194,10 @@ class RemoteRepository(object):
if not data:
raise ConnectionClosed()
self.unpacker.feed(data)
for type, msgid, error, res in self.unpacker:
for unpacked in self.unpacker:
if not (isinstance(unpacked, tuple) and len(unpacked) == 4):
raise Exception("Unexpected RPC data format.")
type, msgid, error, res = unpacked
if msgid in self.ignore_responses:
self.ignore_responses.remove(msgid)
else:
@ -331,4 +337,4 @@ class RepositoryCache:
def cache_if_remote(repository):
if isinstance(repository, RemoteRepository):
return RepositoryCache(repository)
return repository
return repository