# HG changeset patch # User RhodeCode Admin # Date 2023-03-22 13:00:21 # Node ID e378f012b761133bd8f9227131306bcb0a28bdd5 # Parent 59dabacee7f3ed0456340cb0bb4097f6cde67e0f deps: bumped msgpack to latest release and by default use byte only protocol diff --git a/requirements.txt b/requirements.txt --- a/requirements.txt +++ b/requirements.txt @@ -17,7 +17,7 @@ importlib-metadata==6.0.0 mercurial==6.3.3 mock==5.0.1 more-itertools==9.1.0 -msgpack-python==0.5.6 +msgpack==1.0.5 orjson==3.8.7 psutil==5.9.4 py==1.11.0 diff --git a/vcsserver/hooks.py b/vcsserver/hooks.py --- a/vcsserver/hooks.py +++ b/vcsserver/hooks.py @@ -57,7 +57,7 @@ class HooksHttpClient(object): raise response = connection.getresponse() try: - return msgpack.load(response, raw=False) + return msgpack.load(response) except Exception: response_data = response.read() log.exception('Failed to decode hook response json data. ' diff --git a/vcsserver/http_main.py b/vcsserver/http_main.py --- a/vcsserver/http_main.py +++ b/vcsserver/http_main.py @@ -317,7 +317,7 @@ class HTTPApplication(object): def _vcs_view_params(self, request): remote = self._remotes[request.matchdict['backend']] - payload = msgpack.unpackb(request.body, use_list=True, raw=False) + payload = msgpack.unpackb(request.body, use_list=True) method = payload.get('method') params = payload['params'] @@ -447,7 +447,7 @@ class HTTPApplication(object): def status_view(self, request): import vcsserver - return {'status': 'OK', 'vcsserver_version': str(vcsserver.__version__), + return {'status': 'OK', 'vcsserver_version': safe_str(vcsserver.__version__), 'pid': os.getpid()} def service_view(self, request): @@ -475,7 +475,7 @@ class HTTPApplication(object): resp = { 'id': payload.get('id'), 'result': dict( - version=vcsserver.__version__, + version=safe_str(vcsserver.__version__), config=server_config, app_config=app_config, environ=environ, @@ -492,7 +492,8 @@ class HTTPApplication(object): ct = response.content_type if ct == response.default_content_type: response.content_type = 'application/x-msgpack' - return msgpack.packb(value) + + return msgpack.packb(value, use_bin_type=False) return _render def set_env_from_config(self, environ, config): @@ -578,7 +579,7 @@ class HTTPApplication(object): repo_name = environ['HTTP_X_RC_REPO_NAME'] packed_config = base64.b64decode( environ['HTTP_X_RC_REPO_CONFIG']) - config = msgpack.unpackb(packed_config, raw=False) + config = msgpack.unpackb(packed_config) environ['PATH_INFO'] = environ['HTTP_X_RC_PATH_INFO'] self.set_env_from_config(environ, config)