mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-17 08:44:03 +01:00
Synapse 0.99.3.2 (2019-05-03)
============================= Internal Changes ---------------- - Ensure that we have `urllib3` <1.25, to resolve incompatibility with `requests`. ([\#5135](https://github.com/matrix-org/synapse/issues/5135)) -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEv27Axt/F4vrTL/8QOSor00I9eP8FAlzMgZwACgkQOSor00I9 eP8Pxgf7BtwM5LrC/xGFKkE62U7bX4jE5EJ9gt+keN9+l5hnB75nBzyXpk0FY/CO lWOWeT3S0Nfkx5CqVjZ9I9Q83W3CAzcRO6Og3w4QRieoW74T/biCizIsYxHSjgeA LzwdGMMRtcoccxvi9uNgJID2LNsVHazNUKuGJNoqCXeeCkmmunSHbAb8TI9Cz7mU 0Ul8oZV8zoOaf/Nzzh7WJJ+YsxprfGmUVD1ssWYzZvGotPw/wdAhlJJA3pzjAeBZ o94q/IMvA7baTEBUzAzMcJCEfxEueA9j/93eYJ4/dQcS6sqMN2GMTTaiXthkf2vQ 9w+SgbvJqQG14lTJqPOYTHS1oud6PA== =3ooI -----END PGP SIGNATURE----- Merge tag 'v0.99.3.2' Synapse 0.99.3.2 (2019-05-03) ============================= Internal Changes ---------------- - Ensure that we have `urllib3` <1.25, to resolve incompatibility with `requests`. ([\#5135](https://github.com/matrix-org/synapse/issues/5135))
This commit is contained in:
commit
9b86d3dee6
9 changed files with 84 additions and 19 deletions
20
CHANGES.md
20
CHANGES.md
|
@ -1,3 +1,23 @@
|
||||||
|
Synapse 0.99.3.2 (2019-05-03)
|
||||||
|
=============================
|
||||||
|
|
||||||
|
Internal Changes
|
||||||
|
----------------
|
||||||
|
|
||||||
|
- Ensure that we have `urllib3` <1.25, to resolve incompatibility with `requests`. ([\#5135](https://github.com/matrix-org/synapse/issues/5135))
|
||||||
|
|
||||||
|
|
||||||
|
Synapse 0.99.3.1 (2019-05-03)
|
||||||
|
=============================
|
||||||
|
|
||||||
|
Security update
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This release includes two security fixes:
|
||||||
|
|
||||||
|
- Switch to using a cryptographically-secure random number generator for token strings, ensuring they cannot be predicted by an attacker. Thanks to @opnsec for identifying and responsibly disclosing this issue! ([\#5133](https://github.com/matrix-org/synapse/issues/5133))
|
||||||
|
- Blacklist 0.0.0.0 and :: by default for URL previews. Thanks to @opnsec for identifying and responsibly disclosing this issue too! ([\#5134](https://github.com/matrix-org/synapse/issues/5134))
|
||||||
|
|
||||||
Synapse 0.99.3 (2019-04-01)
|
Synapse 0.99.3 (2019-04-01)
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
|
|
12
debian/changelog
vendored
12
debian/changelog
vendored
|
@ -1,3 +1,15 @@
|
||||||
|
matrix-synapse-py3 (0.99.3.2) stable; urgency=medium
|
||||||
|
|
||||||
|
* New synapse release 0.99.3.2.
|
||||||
|
|
||||||
|
-- Synapse Packaging team <packages@matrix.org> Fri, 03 May 2019 18:56:20 +0100
|
||||||
|
|
||||||
|
matrix-synapse-py3 (0.99.3.1) stable; urgency=medium
|
||||||
|
|
||||||
|
* New synapse release 0.99.3.1.
|
||||||
|
|
||||||
|
-- Synapse Packaging team <packages@matrix.org> Fri, 03 May 2019 16:02:43 +0100
|
||||||
|
|
||||||
matrix-synapse-py3 (0.99.3) stable; urgency=medium
|
matrix-synapse-py3 (0.99.3) stable; urgency=medium
|
||||||
|
|
||||||
[ Richard van der Hoff ]
|
[ Richard van der Hoff ]
|
||||||
|
|
|
@ -55,7 +55,8 @@ RUN apt-get update -qq -o Acquire::Languages=none \
|
||||||
python3-pip \
|
python3-pip \
|
||||||
python3-setuptools \
|
python3-setuptools \
|
||||||
python3-venv \
|
python3-venv \
|
||||||
sqlite3
|
sqlite3 \
|
||||||
|
libpq-dev
|
||||||
|
|
||||||
COPY --from=builder /dh-virtualenv_1.1-1_all.deb /
|
COPY --from=builder /dh-virtualenv_1.1-1_all.deb /
|
||||||
|
|
||||||
|
|
|
@ -506,11 +506,12 @@ uploads_path: "DATADIR/uploads"
|
||||||
# height: 600
|
# height: 600
|
||||||
# method: scale
|
# method: scale
|
||||||
|
|
||||||
# Is the preview URL API enabled? If enabled, you *must* specify
|
# Is the preview URL API enabled?
|
||||||
# an explicit url_preview_ip_range_blacklist of IPs that the spider is
|
|
||||||
# denied from accessing.
|
|
||||||
#
|
#
|
||||||
#url_preview_enabled: false
|
# 'false' by default: uncomment the following to enable it (and specify a
|
||||||
|
# url_preview_ip_range_blacklist blacklist).
|
||||||
|
#
|
||||||
|
#url_preview_enabled: true
|
||||||
|
|
||||||
# List of IP address CIDR ranges that the URL preview spider is denied
|
# List of IP address CIDR ranges that the URL preview spider is denied
|
||||||
# from accessing. There are no defaults: you must explicitly
|
# from accessing. There are no defaults: you must explicitly
|
||||||
|
@ -520,6 +521,12 @@ uploads_path: "DATADIR/uploads"
|
||||||
# synapse to issue arbitrary GET requests to your internal services,
|
# synapse to issue arbitrary GET requests to your internal services,
|
||||||
# causing serious security issues.
|
# causing serious security issues.
|
||||||
#
|
#
|
||||||
|
# (0.0.0.0 and :: are always blacklisted, whether or not they are explicitly
|
||||||
|
# listed here, since they correspond to unroutable addresses.)
|
||||||
|
#
|
||||||
|
# This must be specified if url_preview_enabled is set. It is recommended that
|
||||||
|
# you uncomment the following list as a starting point.
|
||||||
|
#
|
||||||
#url_preview_ip_range_blacklist:
|
#url_preview_ip_range_blacklist:
|
||||||
# - '127.0.0.0/8'
|
# - '127.0.0.0/8'
|
||||||
# - '10.0.0.0/8'
|
# - '10.0.0.0/8'
|
||||||
|
@ -530,7 +537,7 @@ uploads_path: "DATADIR/uploads"
|
||||||
# - '::1/128'
|
# - '::1/128'
|
||||||
# - 'fe80::/64'
|
# - 'fe80::/64'
|
||||||
# - 'fc00::/7'
|
# - 'fc00::/7'
|
||||||
#
|
|
||||||
# List of IP address CIDR ranges that the URL preview spider is allowed
|
# List of IP address CIDR ranges that the URL preview spider is allowed
|
||||||
# to access even if they are specified in url_preview_ip_range_blacklist.
|
# to access even if they are specified in url_preview_ip_range_blacklist.
|
||||||
# This is useful for specifying exceptions to wide-ranging blacklisted
|
# This is useful for specifying exceptions to wide-ranging blacklisted
|
||||||
|
|
|
@ -24,6 +24,7 @@ DISTS = (
|
||||||
"ubuntu:xenial",
|
"ubuntu:xenial",
|
||||||
"ubuntu:bionic",
|
"ubuntu:bionic",
|
||||||
"ubuntu:cosmic",
|
"ubuntu:cosmic",
|
||||||
|
"ubuntu:disco",
|
||||||
)
|
)
|
||||||
|
|
||||||
DESC = '''\
|
DESC = '''\
|
||||||
|
|
|
@ -27,4 +27,4 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
__version__ = "0.99.3"
|
__version__ = "0.99.3.2"
|
||||||
|
|
|
@ -186,17 +186,21 @@ class ContentRepositoryConfig(Config):
|
||||||
except ImportError:
|
except ImportError:
|
||||||
raise ConfigError(MISSING_NETADDR)
|
raise ConfigError(MISSING_NETADDR)
|
||||||
|
|
||||||
if "url_preview_ip_range_blacklist" in config:
|
if "url_preview_ip_range_blacklist" not in config:
|
||||||
self.url_preview_ip_range_blacklist = IPSet(
|
|
||||||
config["url_preview_ip_range_blacklist"]
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
raise ConfigError(
|
raise ConfigError(
|
||||||
"For security, you must specify an explicit target IP address "
|
"For security, you must specify an explicit target IP address "
|
||||||
"blacklist in url_preview_ip_range_blacklist for url previewing "
|
"blacklist in url_preview_ip_range_blacklist for url previewing "
|
||||||
"to work"
|
"to work"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.url_preview_ip_range_blacklist = IPSet(
|
||||||
|
config["url_preview_ip_range_blacklist"]
|
||||||
|
)
|
||||||
|
|
||||||
|
# we always blacklist '0.0.0.0' and '::', which are supposed to be
|
||||||
|
# unroutable addresses.
|
||||||
|
self.url_preview_ip_range_blacklist.update(['0.0.0.0', '::'])
|
||||||
|
|
||||||
self.url_preview_ip_range_whitelist = IPSet(
|
self.url_preview_ip_range_whitelist = IPSet(
|
||||||
config.get("url_preview_ip_range_whitelist", ())
|
config.get("url_preview_ip_range_whitelist", ())
|
||||||
)
|
)
|
||||||
|
@ -260,11 +264,12 @@ class ContentRepositoryConfig(Config):
|
||||||
#thumbnail_sizes:
|
#thumbnail_sizes:
|
||||||
%(formatted_thumbnail_sizes)s
|
%(formatted_thumbnail_sizes)s
|
||||||
|
|
||||||
# Is the preview URL API enabled? If enabled, you *must* specify
|
# Is the preview URL API enabled?
|
||||||
# an explicit url_preview_ip_range_blacklist of IPs that the spider is
|
|
||||||
# denied from accessing.
|
|
||||||
#
|
#
|
||||||
#url_preview_enabled: false
|
# 'false' by default: uncomment the following to enable it (and specify a
|
||||||
|
# url_preview_ip_range_blacklist blacklist).
|
||||||
|
#
|
||||||
|
#url_preview_enabled: true
|
||||||
|
|
||||||
# List of IP address CIDR ranges that the URL preview spider is denied
|
# List of IP address CIDR ranges that the URL preview spider is denied
|
||||||
# from accessing. There are no defaults: you must explicitly
|
# from accessing. There are no defaults: you must explicitly
|
||||||
|
@ -274,6 +279,12 @@ class ContentRepositoryConfig(Config):
|
||||||
# synapse to issue arbitrary GET requests to your internal services,
|
# synapse to issue arbitrary GET requests to your internal services,
|
||||||
# causing serious security issues.
|
# causing serious security issues.
|
||||||
#
|
#
|
||||||
|
# (0.0.0.0 and :: are always blacklisted, whether or not they are explicitly
|
||||||
|
# listed here, since they correspond to unroutable addresses.)
|
||||||
|
#
|
||||||
|
# This must be specified if url_preview_enabled is set. It is recommended that
|
||||||
|
# you uncomment the following list as a starting point.
|
||||||
|
#
|
||||||
#url_preview_ip_range_blacklist:
|
#url_preview_ip_range_blacklist:
|
||||||
# - '127.0.0.0/8'
|
# - '127.0.0.0/8'
|
||||||
# - '10.0.0.0/8'
|
# - '10.0.0.0/8'
|
||||||
|
@ -284,7 +295,7 @@ class ContentRepositoryConfig(Config):
|
||||||
# - '::1/128'
|
# - '::1/128'
|
||||||
# - 'fe80::/64'
|
# - 'fe80::/64'
|
||||||
# - 'fc00::/7'
|
# - 'fc00::/7'
|
||||||
#
|
|
||||||
# List of IP address CIDR ranges that the URL preview spider is allowed
|
# List of IP address CIDR ranges that the URL preview spider is allowed
|
||||||
# to access even if they are specified in url_preview_ip_range_blacklist.
|
# to access even if they are specified in url_preview_ip_range_blacklist.
|
||||||
# This is useful for specifying exceptions to wide-ranging blacklisted
|
# This is useful for specifying exceptions to wide-ranging blacklisted
|
||||||
|
|
|
@ -69,6 +69,14 @@ REQUIREMENTS = [
|
||||||
"attrs>=17.4.0",
|
"attrs>=17.4.0",
|
||||||
|
|
||||||
"netaddr>=0.7.18",
|
"netaddr>=0.7.18",
|
||||||
|
|
||||||
|
# requests is a transitive dep of treq, and urlib3 is a transitive dep
|
||||||
|
# of requests, as well as of sentry-sdk.
|
||||||
|
#
|
||||||
|
# As of requests 2.21, requests does not yet support urllib3 1.25.
|
||||||
|
# (If we do not pin it here, pip will give us the latest urllib3
|
||||||
|
# due to the dep via sentry-sdk.)
|
||||||
|
"urllib3<1.25",
|
||||||
]
|
]
|
||||||
|
|
||||||
CONDITIONAL_REQUIREMENTS = {
|
CONDITIONAL_REQUIREMENTS = {
|
||||||
|
|
|
@ -24,14 +24,19 @@ _string_with_symbols = (
|
||||||
string.digits + string.ascii_letters + ".,;:^&*-_+=#~@"
|
string.digits + string.ascii_letters + ".,;:^&*-_+=#~@"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# random_string and random_string_with_symbols are used for a range of things,
|
||||||
|
# some cryptographically important, some less so. We use SystemRandom to make sure
|
||||||
|
# we get cryptographically-secure randoms.
|
||||||
|
rand = random.SystemRandom()
|
||||||
|
|
||||||
|
|
||||||
def random_string(length):
|
def random_string(length):
|
||||||
return ''.join(random.choice(string.ascii_letters) for _ in range(length))
|
return ''.join(rand.choice(string.ascii_letters) for _ in range(length))
|
||||||
|
|
||||||
|
|
||||||
def random_string_with_symbols(length):
|
def random_string_with_symbols(length):
|
||||||
return ''.join(
|
return ''.join(
|
||||||
random.choice(_string_with_symbols) for _ in range(length)
|
rand.choice(_string_with_symbols) for _ in range(length)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue