| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Fix error when downloading thumbnail with width/height param missing
Fixes #2748
Signed-off-by: Aaron Raimist <aaron@raim.ist>
|
|
|
|
|
|
|
|
|
|
| |
When we receive a soft failed event we, correctly, *do not* update the
forward extremity table with the event. However, if we later receive an
event that references the soft failed event we then need to remove the
soft failed events prev events from the forward extremities table,
otherwise we just build up forward extremities.
Fixes #5269
|
|
|
| |
Fixes #5271.
|
|
|
|
| |
Signed-off-by: Aaron Raimist <aaron@raim.ist>
|
|\
| |
| | |
Ensure that server_keys fetched via a notary server are correctly signed.
|
| |
| |
| |
| | |
In particular, don't give up on the first failure.
|
| | |
|
| |
| |
| |
| |
| | |
Fixes #4414.
|
|\ \
| | |
| | | |
Fix schema update for account validity
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix logging for room stats background update
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix error code for invalid parameter
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Aaron Raimist <aaron@raim.ist>
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
The list of server names was redundant, since it was equivalent to the keys on
the server_to_deferred map. This reduces the number of large lists being passed
around, and has the benefit of deduplicating the entries in `wait_on`.
|
| | | |
| | | |
| | | | |
Signed-off-by: Tulir Asokan <tulir@maunium.net>
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Don't bundle aggregations with events in /sync or /events or state queries
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
As we'll send down the annotations too anyway, so this just ends up
confusing clients.
|
|\ \ \ \
| | |_|/
| |/| | |
Factor out KeyFetchers from KeyRing
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Rather than have three methods which have to have the same interface,
factor out a separate interface which is provided by three implementations.
I find it easier to grok the code this way.
|
|/ / /
| | |
| | |
| | |
| | | |
Replaces DEFAULT_ROOM_VERSION constant with a method that first checks the config, then returns a hardcoded value if the option is not present.
That hardcoded value is now located in the server.py config file.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a first step to checking that the key is valid at the required moment.
The idea here is that, rather than passing VerifyKey objects in and out of the
storage layer, we instead pass FetchKeyResult objects, which simply wrap the
VerifyKey and add a valid_until_ts field.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Pass time_added_ms into process_v2_response
* Simplify process_v2_response
We can merge old_verify_keys into verify_keys, and reduce the number of dicts
flying around.
|
| | |
| | |
| | |
| | |
| | | |
These were never used, and poking arbitary data into objects from other
packages seems confusing at best.
|
| | |
| | |
| | |
| | |
| | | |
Storing server keys hammered the database a bit. This replaces the
implementation which stored a single key, with one which can do many updates at
once.
|
| | |
| | |
| | |
| | |
| | | |
I was staring at this function trying to figure out wtf it was actually
doing. This is (hopefully) a non-functional refactor which makes it a bit
clearer.
|
| | | |
|
|\ \ \ |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
This reverts commit c31e375ade1b59a7fe38628337e9e1aa3de91feb.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
requests 2.22.0 as been released supporting urllib3 1.25.2
Signed-off-by: Marcus Hoffmann <bubu@bubu1.eu>
|
|\| | | |
|
| | | | |
|
| | | |
| | | |
| | | | |
* expose SlavedProfileStore to ClientReaderSlavedStore
|
|\| | | |
|
| |\ \ \ |
|
| | | | | |
|
| |/ / /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | | |
Only count aggregations from distinct senders
|
| | | | |
| | | | |
| | | | |
| | | | | |
As a user isn't allowed to send a single emoji more than once.
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Block attempts to annotate the same event twice
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | | |
Implements https://github.com/matrix-org/matrix-doc/pull/2002.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When considering the candidates to be forward-extremities, we must exclude soft
failures.
Hopefully fixes #5090.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Pin eliot to <1.8 on python 3.5.2
Fixes https://github.com/matrix-org/synapse/issues/5199
* Add support for 'markers' to python_dependencies
* tell xargs not to strip quotes
|
|\ \ \ \ \
| |_|_|/ /
|/| | | /
| | |_|/
| |/| | |
matrix-org/babolivier/account_validity_expiration_date
Add startup background job for account validity
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
If account validity is enabled in the server's configuration, this job will run at startup as a background job and will stick an expiration date to any registered account missing one.
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
If we remove support for a particular room version, we should behave more
gracefully. This should make client requests fail with a 400 rather than a 500,
and will ignore individiual PDUs in a federation transaction, rather than the
whole transaction.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit ce5bcefc609db40740c692bd53a1ef84ab675e8c.
This caused:
```
Traceback (most recent call last):
File "/usr/local/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/local/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/synapse/src/synapse/app/client_reader.py", line 32, in <module>
from synapse.replication.slave.storage import SlavedProfileStore
ImportError: cannot import name 'SlavedProfileStore' from 'synapse.replication.slave.storage' (/home/synapse/src/synapse/replication/slave/storage/__init__.py)
error starting synapse.app.client_reader('/home/synapse/config/workers/client_reader.yaml') (exit code: 1); see above for logs
```
|
| | |
| | |
| | | |
Implements MSC1884
|
| | | |
|
|\ \ \
| | | |
| | | | |
Land basic reaction and edit support.
|
| | |/
| |/| |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | | |
* fix mapping of return values for get_or_register_3pid_guest
|
|\ \ \
| | | |
| | | | |
Make generating SQL bounds for pagination generic
|
| | | | |
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
This will allow us to reuse the same structure when we paginate e.g.
relations
|
| | |
| | |
| | | |
* expose SlavedProfileStore to ClientReaderSlavedStore
|
|\ \ \
| | |/
| |/| |
Add an option to disable per-room profiles
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Re-order registration stages to do msisdn & email auth last
|
| |\ \
| | | |
| | | |
| | | | |
dbkr/add_dummy_flow_to_recaptcha_only
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
dbkr/add_dummy_flow_to_recaptcha_only
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It's more natural for the user if the bit that takes them away
from the registration flow comes last. Adding the dummy stage allows
us to do the stages in this order without the ambiguity.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This allows the client to complete the email last which is more
natual for the user. Without this stage, if the client would
complete the recaptcha (and terms, if enabled) stages and then the
registration request would complete because you've now completed a
flow, even if you were intending to complete the flow that's the
same except has email auth at the end.
Adding a dummy auth stage to the recaptcha-only flow means it's
always unambiguous which flow the client was trying to complete.
Longer term we should think about changing the protocol so the
client explicitly says which flow it's trying to complete.
vector-im/riot-web#9586
|
| | | | |
| | | | |
| | | | |
| | | | | |
users (#3484)
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
matrix-org/dbkr/only_check_threepid_not_in_use_if_actually_registering
Only check 3pids not in use when registering
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We checked that 3pids were not already in use before we checked if
we were going to return the account previously registered in the
same UI auth session, in which case the 3pids will definitely
be in use.
https://github.com/vector-im/riot-web/issues/9586
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| |_|_|_|_|/
|/| | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Allow client event serialization to be async
|
| | | | | | |
| | | | | | |
| | | | | | | |
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
| | | | | | | |
|
| | |/ / / /
| |/| | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Expose DataStore._get_events as get_events_as_list
|
| | | | | | |
| | | | | | |
| | | | | | | |
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | | |
This is in preparation for reaction work which requires it.
|
|/ / / / / |
|
| | | | |
| | | | |
| | | | |
| | | | | |
items off HomeserverConfig (#5171)
|
|/ / / / |
|
| |_|/
|/| | |
|
| |/
|/| |
|
|/
|
| |
Prevents a SynapseError being raised inside of a IResolutionReceiver and instead opts to just return 0 results. This thus means that we have to lump a failed lookup and a blacklisted lookup together with the same error message, but the substitute should be generic enough to cover both cases.
|
|
|
|
| |
Accidentally went straight to develop
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows the client to complete the email last which is more
natual for the user. Without this stage, if the client would
complete the recaptcha (and terms, if enabled) stages and then the
registration request would complete because you've now completed a
flow, even if you were intending to complete the flow that's the
same except has email auth at the end.
Adding a dummy auth stage to the recaptcha-only flow means it's
always unambiguous which flow the client was trying to complete.
Longer term we should think about changing the protocol so the
client explicitly says which flow it's trying to complete.
https://github.com/vector-im/riot-web/issues/9586
|
|
|
|
| |
... mostly to fix pep8 fails
|
|
|
| |
Fixes #3951.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CS API (#5083)
This commit adds two config options:
* `restrict_public_rooms_to_local_users`
Requires auth to fetch the public rooms directory through the CS API and disables fetching it through the federation API.
* `require_auth_for_profile_requests`
When set to `true`, requires that requests to `/profile` over the CS API are authenticated, and only returns the user's profile if the requester shares a room with the profile's owner, as per MSC1301.
MSC1301 also specifies a behaviour for federation (only returning the profile if the server asking for it shares a room with the profile's owner), but that's currently really non-trivial to do in a not too expensive way. Next step is writing down a MSC that allows a HS to specify which user sent the profile query. In this implementation, Synapse won't send a profile query over federation if it doesn't believe it already shares a room with the profile's owner, though.
Groups have been intentionally omitted from this commit.
|
|\
| |
| | |
Limit in flight DNS requests
|
| |
| |
| |
| |
| |
| |
| | |
This is to work around a bug in twisted where a large number of
concurrent DNS requests cause it to tight loop forever.
c.f. https://twistedmatrix.com/trac/ticket/9620#ticket
|
| |
| |
| |
| |
| | |
Follow-up to #5124
Also added a bunch of checks to make sure everything (both the stuff added on #5124 and this PR) works as intended.
|
|\ \
| | |
| | | |
Ratelimit 3pid invites
|
| | | |
|
| |\ \
| | | |
| | | |
| | | | |
erikj/ratelimit_3pid_invite
|
| | | |
| | | |
| | | |
| | | |
| | | | |
We do ratelimit sending the 3PID invite events, but that happens after
spamming the identity server.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This endpoint isn't much use for its intended purpose if you first need to get
yourself an admin's auth token.
I've restricted it to the `/_synapse/admin` path to make it a bit easier to
lock down for those concerned about exposing this information. I don't imagine
anyone is using it in anger currently.
|
|\ \ \ \ |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| | | | | |
| | | | | | |
Blacklist 0.0.0.0 and :: by default for URL previews
|
| | | | | | |
|
| | | | | | |
|
| |\ \ \ \ \
| | |/ / / /
| |/| | | | |
Use SystemRandom for token generation.
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add some limitations to alias creation
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Rather than copying-and-pasting the same four lines hundreds of times
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
It doesn't really belong under rest/client/v1 any more.
|
| | | | | | | |
|
|/ / / / / / |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* Add a default .m.rule.tombstone push rule
In support of MSC1930: https://github.com/matrix-org/matrix-doc/pull/1930
* changelog
* Appease the changelog linter
|
|\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | | |
Improve logging when event-signature checking fails
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|/ / / / /
| | | | |
| | | | |
| | | | | |
Fixes #5102
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
babolivier/account_expiration
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Send out emails with links to extend an account's validity period
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Make sure we're not registering the same 3pid twice
|
| | | |/ / / /
| | |/| | | | |
|
| |\ \ \ \ \ \
| | | |_|_|/ /
| | |/| | | | |
Remove usage of request.postpath
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This is an undocumented variable in twisted, and relies on the servlet
being mounted in the right way.
This also breaks getting push rules on workers.
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
VersionRestServlet doesn't take a param
|
| | | | | | | | |
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Using systemd-python allows for logging to the systemd journal,
as is documented in: `synapse/contrib/systemd/log_config.yaml`.
Signed-off-by: Silke Hofstra <silke@slxh.eu>
|
| |\| | | | |
| | | | | | |
| | | | | | | |
Move some rest endpoints to client reader
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix schema upgrade when dropping tables
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We need to drop tables in the correct order due to foreign table
constraints (on `application_services`), otherwise the DROP TABLE
command will fail.
Introduced in #4992.
|
| | |_|_|_|_|/
| |/| | | | |
| | | | | | | |
Avoid sending syntax errors from the manhole to sentry.
|
| |\ \ \ \ \ \
| | |/ / / / /
| |/| | | | | |
Add time-based account expiration
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Rewrite Datastore.get_server_verify_keys
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Rewrite this so that it doesn't hammer the database.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
since we're pulling everything out of KeyStore anyway, we may as well simplify
it.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
There's no point in collecting a merged dict of keys: it is sufficient to
consider just the new keys which have been fetched by the most recent
key_fetch_fns.
|
| |/ / / / / / |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
These have been unused since #4120, and with the demise of perspectives, it is
unlikely that they will ever be used again.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
add context to phonehome stats
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix from_server buglet in get_keys_from_perspectives
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
make sure we store the name of the server the keys came from, rather than the
origin server, after doing a fetch-from-perspectives.
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Tables dropped:
* application_services,
* application_services_regex,
* transaction_id_to_pdu,
* stats_reporting
* current_state_resets
* event_content_hashes
* event_destinations
* event_edge_hashes
* event_signatures
* feedback
* room_hosts
* state_forward_extremities
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Cleanups in the Keyring
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
It's easier to check it in the caller than to complicate the interface with an
extra param.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Make this just return the key dict, rather than a single-entry dict mapping the
server name to the key dict. It's easy for the caller to get the server name
from from the response object anyway.
|
| | | | | | | | |
|
| | |_|/ / / /
| |/| | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* rewrite & simplify
* changelog
* cleanup potential sql injection
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Add delete group admin API
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Prevent kick events from succeeding if the user is not currently in the room.
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* Do not double encode fallback redirect URL
Signed-off-by: Marcel Fabian Krüger <zauguin@gmail.com>
|
| |/ / / / / |
|
| | | | | |
| | | | | |
| | | | | | |
Remove presence list support as per MSC 1819
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Implement MSC1915 - 3PID unbind APIs
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We assume, as we did before, that users bound their threepid to one of
the trusted identity servers. So we simply fill the new table with all
threepids in `user_threepids` joined with the trusted identity servers.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
By default the homeserver will use the identity server used during the
binding of the 3PID to unbind the 3PID. However, we need to allow
clients to explicitly ask the homeserver to unbind via a particular
identity server, for the case where the 3PID was bound out of band from
the homeserver.
Implements MSC915.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This changes the behaviour from using the server specified trusted
identity server to using the IS that used during the binding of the
3PID, if known.
This is the behaviour specified by MSC1915.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This will then be used to know which IS to default to when unbinding the
threepid.
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Make starting pushers faster during start up
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We start all pushers on start up and immediately start a background
process to fetch push to send. This makes start up incredibly painful
when dealing with many pushers.
Instead, let's do a quick fast DB check to see if there *may* be push to
send and only start the background processes for those pushers. We also
stagger starting up and doing those checks so that we don't try and
handle all pushers at once.
|
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Transfers the m.room.related_groups state event on room upgrade.
|
| |/ / / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
As requested by @andrewshadura
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Hopefully this time we really will fix #4422.
We need to make sure that the cache on
`get_rooms_for_user_with_stream_ordering` is invalidated *before* the
SyncHandler is notified for the new events, and we can now do so reliably via
the `events` stream.
|
| |\ \ \ \ \ \
| | | |_|/ / /
| | |/| | | | |
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
Collect all the things that make room-versions different to one another into
one place, so that it's easier to define new room versions.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Combine the CurrentStateDeltaStream into the EventStream
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
... as a precursor to combining it with the CurrentStateDelta stream.
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Refactors to replication stream row update/parsing
|
| | |\ \ \ \ \ \
| | | |/ / / / /
| | |/| | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We're about to turn it straight into a JSON object anyway so building a
ROW_TYPE is a bit pointless, and reduces flexibility in the update_function.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This will allow individual stream classes to override how a row is parsed.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Remove log line for password.
|
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This PR allows password provider modules to bind email addresses when a user is registering and is motivated by matrix-org/matrix-synapse-ldap3#58
|
| |\ \ \ \ \ \ \
| | |_|/ / / / /
| |/| | | | | | |
Use event streams to calculate presence
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Primarily this fixes a bug in the handling of remote users joining a
room where the server sent out the presence for all local users in the
room to all servers in the room.
We also change to using the state delta stream, rather than the
distributor, as it will make it easier to split processing out of the
master process (as well as being more flexible).
Finally, when sending presence states to newly joined servers we filter
out old presence states to reduce the number sent. Initially we filter
out states that are offline and have a last active more than a week ago,
though this can be changed down the line.
Fixes #3962
|
| |\ \ \ \ \ \ \
| | | |/ / / / /
| | |/| | | | | |
Split up replication.tcp.streams into smaller files
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| |/ / / / / / |
|
| |/ / / / / |
|
| |_|_|/ /
|/| | | | |
|
| |_|/ /
|/| | | |
|
| |/ /
|/| | |
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| | |
Adds a new method, check_3pid_auth, which gives password providers
the chance to allow authentication with third-party identifiers such
as email or msisdn.
|
| | |
|
| |
| |
| | |
Redo of https://github.com/matrix-org/synapse/pull/4840
|
| |
| |
| |
| |
| |
| |
| |
| | |
`__str__` depended on `self.addr`, which was absent from
ClientReplicationStreamProtocol, so attempting to call str on such an object
would raise an exception.
We can calculate the peer addr from the transport, so there is no need for addr
anyway.
|
| |
| |
| |
| |
| | |
Make sure that they are sent correctly over the replication stream.
Fixes: #4898
|
| | |
|
|\ \
| | |
| | | |
Fix yaml warnings by using safe_load
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
(#4840)
As per #3622, we remove trailing slashes from outbound federation requests. However, to ensure that we remain backwards compatible with previous versions of Synapse, if we receive a HTTP 400 with `M_UNRECOGNIZED`, then we are likely talking to an older version of Synapse in which case we retry with a trailing slash appended to the request path.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|