| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
This is more involved than it might otherwise be, because the current
implementation just drops its logcontexts and runs everything in the sentinel
context.
It turns out that we aren't actually using a bunch of the functionality here
(notably suppress_failures and the fact that Distributor.fire returns a
deferred), so the easiest way to fix this is actually by simplifying a bunch of
code.
|
| |
|
|
|
|
|
|
|
|
| |
This fixes #3518, and ensures that we get useful logs and metrics for lots of
things that happen in the background.
(There are certainly more things that happen in the background; these are just
the common ones I've found running a single-process synapse locally).
|
|\
| |
| | |
Resource tracking for background processes
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This introduces a mechanism for tracking resource usage by background
processes, along with an example of how it will be used.
This will help address #3518, but more importantly will give us better insights
into things which are happening but not being shown up by the request metrics.
We *could* do this with Measure blocks, but:
- I think having them pulled out as a completely separate metric class will
make it easier to distinguish top-level processes from those which are
nested.
- I want to be able to report on in-flight background processes, and I don't
think we want to do this for *all* Measure blocks.
|
|\ \
| | |
| | | |
Remove event re-signing hacks
|
| | | |
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These "temporary fixes" have been here three and a half years, and I can't find
any events in the matrix.org database where the calculated signature differs
from what's in the db. It's time for them to go away.
|
|\ \ \ \
| |_|_|/
|/| | | |
Comment dummy TURN parameters in default config
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This default config is parsed and used a base before the actual
config is overlaid, so with these values not commented out, the
code to detect when no turn params were set and refuse to generate
credentials was never firing because the dummy default was always set.
|
|\ \ \ \
| | | | |
| | | | | |
Fix visibility of events from erased users over federation
|
| | | | | |
|
| | | | | |
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
Refactor and optimze filter_events_for_server
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
for easier unit testing.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix perf regression in PR #3530
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The get_entities_changed function was changed to return all changed
entities since the given stream position, rather than only those changed
from a given list of entities. This resulted in the function incorrectly
returning large numbers of entities that, for example, caused large
increases in database usage.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Don't return unknown entities in get_entities_changed
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The stream cache keeps track of all entities that have changed since
a particular stream position, so get_entities_changed does not need to
return unknown entites when given a larger stream position.
This makes it consistent with the behaviour of has_entity_changed.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
check isort by travis
|
| | | | | | | |
|
| | | | | | | |
|
|/ / / / / / |
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Use parse and asserts from http.servlet
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
the method "assert_params_in_request" does handle dicts and not
requests. A request body has to be parsed to json before this method
can be used
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
parse_integer and parse_string can take a request and raise errors
in case we have wrong or missing params.
This PR tries to use them more to deduplicate some code and make it
better readable
|
|/ / / / / / |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Make FederationRateLimiter queue requests properly
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
popitem removes the *most recent* item by default [1]. We want the oldest.
Fixes #3524
[1]: https://docs.python.org/2/library/collections.html#collections.OrderedDict.popitem
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
Reduce set building in get_entities_changed
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This line shows up as about 5% of cpu time on a synchrotron:
not_known_entities = set(entities) - set(self._entity_to_key)
Presumably the problem here is that _entity_to_key can be largeish, and
building a set for its keys every time this function is called is slow.
Here we rewrite the logic to avoid building so many sets.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Enforce the specified API for report_event
|
| | | | | |
|
| |\ \ \ \
| |/ / / /
|/| | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Use stream cache in get_linearized_receipts_for_room
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This avoids us from uncessarily hitting the database when there has been
no change for the room
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* Use more portable syntax using attrs package.
Newer syntax
attr.ib(factory=dict)
is just a syntactic sugar for
attr.ib(default=attr.Factory(dict))
It was introduced in newest version of attrs package (18.1.0)
and doesn't work with older versions.
We should either require minimum version of attrs to be 18.1.0,
or use older (slightly more verbose) syntax.
Requiring newest version is not a good solution because
Linux distributions may have older version of attrs (17.4.0 in Fedora 28),
and requiring to build (and package)
newer version just to use newer syntactic sugar in only one test
is just too much.
It's much better to fix that test to use older syntax.
Signed-off-by: Oleg Girko <ol@infoserver.lv>
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Newer syntax
attr.ib(factory=dict)
is just a syntactic sugar for
attr.ib(default=attr.Factory(dict))
It was introduced in newest version of attrs package (18.1.0)
and doesn't work with older versions.
We should either require minimum version of attrs to be 18.1.0,
or use older (slightly more verbose) syntax.
Requiring newest version is not a good solution because
Linux distributions may have older version of attrs (17.4.0 in Fedora 28),
and requiring to build (and package)
newer version just to use newer syntactic sugar in only one test
is just too much.
It's much better to fix that test to use older syntax.
Signed-off-by: Oleg Girko <ol@infoserver.lv>
|
| |/ / / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Let's try to include time spent in the DB threads in the per-request/block cpu
usage metrics.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Factor out the resource usage tracking out to a separate object, which can be
passed around and copied independently of the logcontext itself.
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Add CPU metrics for _fetch_event_list
|
| | | | | |
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
add a Measure block on _fetch_event_list, in the hope that we can better
measure CPU usage here.
|
|\ \ \ \
| | | | |
| | | | | |
Run isort on Synapse
|
| | | | | |
|
|/ / / / |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Synapse 0.32.1 (2018-07-06)
===========================
Bugfixes
--------
- Add explicit dependency on netaddr ([#3488](https://github.com/matrix-org/synapse/issues/3488))
|
| | | | | |
|
|/| | | |
| | | | |
| | | | | |
Add explicit dependency on netaddr
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
the dependencies file, causing failures on upgrade (and presumably for new
installs).
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
... as described at
https://docs.google.com/document/d/1EttUVzjc2DWe2ciw4XPtNpUpIl9lWXGEsy2ewDS7rtw.
|
|\| | | |
| | | | |
| | | | | |
More server_name validation
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We need to do a bit more validation when we get a server name, but don't want
to be re-doing it all over the shop, so factor out a separate
parse_and_validate_server_name, and do the extra validation.
Also, use it to verify the server name in the config file.
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Reinstate lost run_on_reactor in unit test
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
a61738b removed a call to run_on_reactor from a unit test, but that call was
doing something useful, in making the function in question asynchronous.
Reinstate the call and add a check that we are testing what we wanted to be
testing.
|
|\ \ \ \
| | | | |
| | | | | |
Invalidate cache on correct thread
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Fix up auth check
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Python 3 doesn't support comparing None to ints
|
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Make sure that server_names used in auth headers are sane, and reject them with
a sensible error code, before they disappear off into the depths of the system.
|
|\ \ \ \
| |/ / /
|/| | | |
don't mix unicode strings with utf8-in-byte-strings
|
| | | | |
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
otherwise we explode with:
```
Traceback (most recent call last):
File /usr/lib/python2.7/logging/handlers.py, line 78, in emit
logging.FileHandler.emit(self, record)
File /usr/lib/python2.7/logging/__init__.py, line 950, in emit
StreamHandler.emit(self, record)
File /usr/lib/python2.7/logging/__init__.py, line 887, in emit
self.handleError(record)
File /usr/lib/python2.7/logging/__init__.py, line 810, in handleError
None, sys.stderr)
File /usr/lib/python2.7/traceback.py, line 124, in print_exception
_print(file, 'Traceback (most recent call last):')
File /usr/lib/python2.7/traceback.py, line 13, in _print
file.write(str+terminator)
File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_io.py, line 170, in write
self.log.emit(self.level, format=u{log_io}, log_io=line)
File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_logger.py, line 144, in emit
self.observer(event)
File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_observer.py, line 136, in __call__
errorLogger = self._errorLoggerForObserver(brokenObserver)
File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_observer.py, line 156, in _errorLoggerForObserver
if obs is not observer
File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_observer.py, line 81, in __init__
self.log = Logger(observer=self)
File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_logger.py, line 64, in __init__
namespace = self._namespaceFromCallingContext()
File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/logger/_logger.py, line 42, in _namespaceFromCallingContext
return currentframe(2).f_globals[__name__]
File /home/matrix/.synapse/local/lib/python2.7/site-packages/twisted/python/compat.py, line 93, in currentframe
for x in range(n + 1):
RuntimeError: maximum recursion depth exceeded while calling a Python object
Logged from file site.py, line 129
File /usr/lib/python2.7/logging/__init__.py, line 859, in emit
msg = self.format(record)
File /usr/lib/python2.7/logging/__init__.py, line 732, in format
return fmt.format(record)
File /usr/lib/python2.7/logging/__init__.py, line 471, in format
record.message = record.getMessage()
File /usr/lib/python2.7/logging/__init__.py, line 335, in getMessage
msg = msg % self.args
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 4: ordinal not in range(128)
Logged from file site.py, line 129
```
...where the logger apparently recurses whilst trying to log the error, hitting the
maximum recursion depth and killing everything badly.
|
|\ \ \
| | | |
| | | | |
Clarify "real name" in contributor requirements
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Check the state of prev_events a bit more thoroughly when coming over federation
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
add ip_range_whitelist parameter to limit where ASes can connect from
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|/ / / / |
|
| | | | |
|
|/ / / |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Revert "Try to not use as much CPU in the StreamChangeCache"
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Try to not use as much CPU in the cache
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
matrix-org/dbkr/fix_deactivate_account_multiple_pending
Fix error on deleting users pending deactivation
|
|/ / / /
| | | |
| | | |
| | | | |
Use simple_delete instead of simple_delete_one as commented
|
|\ \ \ \
| |/ / /
|/| | | |
add GDPR erase param to deactivate API
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Stop including access tokens in warnings in the log
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Tokens shouldn't be appearing the logs, valid or invalid.
Signed-off-by: Travis Ralston <travpc@gmail.com>
|
|\ \ \ \ \
| | | | | |
| | | | | | |
allow non-consented users to still part rooms (to let us autopart them)
|
| | |/ / /
| |/| | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Add fast path to _filter_events_for_server
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Most rooms have a trivial history visibility like "shared" or
"world_readable", especially large rooms, so lets not bother getting the
full membership of those rooms in that case.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix user erasure and re-enable
|
| | | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
matrix-org/rav/erasure_visibility""
This reverts commit 1d009013b3c3e814177afc59f066e02a202b21cd.
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | | |
This reverts commit ce0d911156b355c5bf452120bfb08653dad96497, reversing
changes made to b4a5d767a94f1680d07edfd583aae54ce422573e.
|
|\ \ \
| | | |
| | | | |
Fix event_push_actions tablescan when reinserting events
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Add some logging to /search and /context queries
|
| | | | |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Make _get_joined_hosts_cache cache non-iterable
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Make push actions rotation configurable
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Support hiding events from deleted users
|
| | | | |
| | | | |
| | | | |
| | | | | |
Redact any messges sent by erased users.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
to store which users have been erased
|
|\| | | |
| | | | |
| | | | | |
Simplify get_persisted_pdu
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
it doesn't make much sense to use get_persisted_pdu on the receive path: just
get the event straight from the store.
|
|\| | | |
| |/ / /
|/| | | |
remove dead filter_events_for_clients
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is only used by filter_events_for_client, so we can simplify the whole
thing by just doing one user at a time, and removing a dead storage function to
boot.
|
|\ \ \ \
| | | | |
| | | | | |
Improve StateGroupCache efficiency for wildcard lookups
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When _get_state_for_groups is given a wildcard filter, just do a complete
lookup. Hopefully this will give us the best of both worlds by not filling up
the ram if we only need one or two keys, but also making the cache still work
for the federation reader usecase.
|
|\ \ \ \
| | | | |
| | | | | |
Optimise state_group_cache update
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
(1) matrix-org-hotfixes has removed the intern calls; let's do the same here.
(2) remove redundant iteritems() so we can used an optimised db update.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Log number of events fetched from DB
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
so that we can stub it for the sentinel and not have a billion failing UTs
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When we finish processing a request, log the number of events we fetched from
the database to handle it.
[I'm trying to figure out which requests are responsible for large amounts of
event cache churn. It may turn out to be more helpful to add counts to the
prometheus per-request/block metrics, but that is an extension to this code
anyway.]
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Fix description of "python_gc_time" metric
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| |/ / / / /
|/| | | | | |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Write a clear restart indicator in logs
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
I'm fed up with never being able to find the point a server restarted in the
logs.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add error code to room creation error
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This error code is mentioned in the documentation at https://matrix.org/docs/api/client-server/#!/Room32creation/createRoom
|
| |/ / / / /
|/| | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \ |
|
| |\ \ \ \ \ \
| | |/ / / / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
SECURITY UPDATE: Prevent unauthorised users from setting state events in a room
when there is no `m.room.power_levels` event in force in the room. (PR #3397)
Discussion around the Matrix Spec change proposal for this change can be
followed at https://github.com/matrix-org/matrix-doc/issues/1304.
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | |\ \ \ \ \
| | | | | | | |
| | | | | | | | |
Adjust event auth rules when there is no PL event
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We need power levels for this test to do what it is supposed to do.
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Make it so that, before there is a power-levels event in the room, you need a
power level of at least 50 to send state.
Partially addresses https://github.com/matrix-org/matrix-doc/issues/1192
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
stop pretending that it returns a boolean, which just almost gave me a heart
attack.
|
| | | |/ / / /
| | | | | | |
| | | | | | |
| | | | | | | |
it makes it easier for me to reason about
|
| | | | | | | |
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix commandline federation_client to send the right Host header
|
| | |_|_|/ / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This appears to have stopped working since matrix.org moved to cloudflare. The
Host header should match the name of the server, not whatever is in the SRV
record.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Use the correct flag (enable_metrics) when warning about an incorrect metrics setup
|
| |/ / / / / /
| | | | | | |
| | | | | | | |
Signed-off-by: Travis Ralston <travpc@gmail.com>
|
|\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
Use the RegistryProxy for appservices too
|
|/ / / / / /
| | | | | |
| | | | | | |
Signed-off-by: Travis Ralston <travpc@gmail.com>
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Remove email addresses / phone numbers from ID servers when they're removed from synapse
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| |\ \ \ \ \ \ |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| | |_|/ / / / /
| |/| | | | | | |
|
| |\ \ \ \ \ \ \
| | | |_|/ / / /
| | |/| | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Changes in synapse v0.31.1 (2018-06-08)
=======================================
v0.31.1 fixes a security bug in the ``get_missing_events`` federation API
where event visibility rules were not applied correctly.
We are not aware of it being actively exploited but please upgrade asap.
Bug Fixes:
* Fix event filtering in get_missing_events handler (PR #3371)
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | |_|/ / /
| | |/| | | | |
|
| | | | | | | |
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Try to log more helpful info when a sig verification fails
|
| | |_|_|_|_|/
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Firstly, don't swallow the reason for the failure
Secondly, don't assume all exceptions are verification failures
Thirdly, log a bit of info about the key being used if debug is enabled
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix event filtering in get_missing_events handler
|
| |/ / / / / / |
|
|/ / / / / / |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add metrics to track appservice transactions
|
| | | | | | | |
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix event-purge-by-ts admin API
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This got completely broken in 0.30.
Fixes #3300.
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Fix federation backfill from sqlite servers
|
| |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
If this was called with a `(type, None)` entry in types (which is supposed to
return all state of type `type`), it would explode with a sql error.
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Make sure that attr is installed
|
| |/ / / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We've rcently added a dep on `attr`. I don't know why the CI didn't pick this
up, but we should make it explicit anyway.
|
|\ \ \ \ \ \ \ \
| | |_|/ / / / /
| |/| | | | | | |
|