Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Remove Python version from /_synapse/admin/v1/server_version (#16380)
Browse files Browse the repository at this point in the history
There's no reason to expose the full Python version over what is
frequently a public API.
  • Loading branch information
MomentQYC authored Oct 2, 2023
1 parent d40a939 commit 5725712
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 12 deletions.
1 change: 1 addition & 0 deletions changelog.d/16380.removal
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Remove Python version from `/_synapse/admin/v1/server_version`.
10 changes: 6 additions & 4 deletions docs/admin_api/version_api.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Version API

This API returns the running Synapse version and the Python version
on which Synapse is being run. This is useful when a Synapse instance
This API returns the running Synapse version.
This is useful when a Synapse instance
is behind a proxy that does not forward the 'Server' header (which also
contains Synapse version information).

Expand All @@ -15,7 +15,9 @@ It returns a JSON body like the following:

```json
{
"server_version": "0.99.2rc1 (b=develop, abcdef123)",
"python_version": "3.7.8"
"server_version": "0.99.2rc1 (b=develop, abcdef123)"
}
```

*Changed in Synapse 1.94.0:* The `python_version` key was removed from the
response body.
6 changes: 1 addition & 5 deletions synapse/rest/admin/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
# limitations under the License.

import logging
import platform
from http import HTTPStatus
from typing import TYPE_CHECKING, Optional, Tuple

Expand Down Expand Up @@ -107,10 +106,7 @@ class VersionServlet(RestServlet):
PATTERNS = admin_patterns("/server_version$")

def __init__(self, hs: "HomeServer"):
self.res = {
"server_version": SYNAPSE_VERSION,
"python_version": platform.python_version(),
}
self.res = {"server_version": SYNAPSE_VERSION}

def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
return HTTPStatus.OK, self.res
Expand Down
4 changes: 1 addition & 3 deletions tests/rest/admin/test_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,7 @@ def test_version_string(self) -> None:
channel = self.make_request("GET", self.url, shorthand=False)

self.assertEqual(200, channel.code, msg=channel.json_body)
self.assertEqual(
{"server_version", "python_version"}, set(channel.json_body.keys())
)
self.assertEqual({"server_version"}, set(channel.json_body.keys()))


class QuarantineMediaTestCase(unittest.HomeserverTestCase):
Expand Down

0 comments on commit 5725712

Please sign in to comment.