Browse Source

Remove Python version from `/_synapse/admin/v1/server_version` (#16380)

There's no reason to expose the full Python version over what is
frequently a public API.
tags/v1.94.0rc1
MomentQYC 7 months ago
committed by GitHub
parent
commit
5725712d47
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 12 deletions
  1. +1
    -0
      changelog.d/16380.removal
  2. +6
    -4
      docs/admin_api/version_api.md
  3. +1
    -5
      synapse/rest/admin/__init__.py
  4. +1
    -3
      tests/rest/admin/test_admin.py

+ 1
- 0
changelog.d/16380.removal View File

@@ -0,0 +1 @@
Remove Python version from `/_synapse/admin/v1/server_version`.

+ 6
- 4
docs/admin_api/version_api.md View File

@@ -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).

@@ -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.

+ 1
- 5
synapse/rest/admin/__init__.py View File

@@ -16,7 +16,6 @@
# limitations under the License.

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

@@ -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


+ 1
- 3
tests/rest/admin/test_admin.py View File

@@ -42,9 +42,7 @@ class VersionTestCase(unittest.HomeserverTestCase):
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):


Loading…
Cancel
Save