| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Kill off redundant SynapseRequestFactory
We already get the Site via the Channel, so there's no need for a dedicated
RequestFactory: we can just use the right constructor.
* Workaround for error when fetching notary's own key
As a notary server, when we return our own keys, include all of our signing
keys in verify_keys.
This is a workaround for #6596.
|
|
|
|
|
|
| |
This looks like it got half-killed back in #888.
Fixes #6567.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove redundant python2 support code
`str.decode()` doesn't exist on python3, so presumably this code was doing
nothing
* Filter out pushers with corrupt data
When we get a row with unparsable json, drop the row, rather than returning a
row with null `data`, which will then cause an explosion later on.
* Improve logging when we can't start a pusher
Log the ID to help us understand the problem
* Make email pusher setup more robust
We know we'll have a `data` member, since that comes from the database. What we
*don't* know is if that is a dict, and if that has a `brand` member, and if
that member is a string.
|
| |
|
| |
|
|\
| |
| |
| | |
erikj/make_database_class
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\ |
|
| |
| |
| | |
Signed-Off-By: Filip Štědronský <g@regnarg.cz>
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Guess I only tested this on python 2 :/
Fixes #6419.
|
| | |
|
| | |
|
| |\
| | |
| | | |
Only do `rc_login` ratelimiting on succesful login.
|
| | | |
|
| | |
| | |
| | |
| | | |
Co-Authored-By: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Co-Authored-By: Brendan Abolivier <babolivier@matrix.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We were doing this in a number of places which meant that some login
code paths incremented the counter multiple times.
It was also applying ratelimiting to UIA endpoints, which was probably
not intentional.
In particular, some custom auth modules were calling
`check_user_exists`, which incremented the counters, meaning that people
would fail to login sometimes.
|
| |\ \
| | | |
| | | | |
Fix exception when OpenGraph tag values are ints
|
| | | | |
|
| |\ \ \
| | |/ /
| |/| /
| | |/ |
|
| | |
| | |
| | |
| | | |
Co-Authored-By: Brendan Abolivier <babolivier@matrix.org>
Co-Authored-By: Erik Johnston <erik@matrix.org>
|
| | |
| | |
| | |
| | | |
... to stop people causing DoSes with malicious web pages
|
| |/
|/| |
|
|\ \
| | |
| | | |
Implement MSC2326 (label based filtering)
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The `http_proxy` and `HTTPS_PROXY` env vars can be set to a `host[:port]` value which should point to a proxy.
The address of the proxy should be excluded from IP blacklists such as the `url_preview_ip_range_blacklist`.
The proxy will then be used for
* push
* url previews
* phone-home stats
* recaptcha validation
* CAS auth validation
It will *not* be used for:
* Application Services
* Identity servers
* Outbound federation
* In worker configurations, connections from workers to masters
Fixes #4198.
|
| | |
| | |
| | | |
* update version of black and also fix the mypy config being overridden
|
| | |
| | |
| | | |
Replace every instance of `logger.warn` with `logger.warning` as the former is deprecated.
|
|\ \ \
| | | |
| | | | |
Port receipt and read markers to async/wait
|
| |/ / |
|
|/ / |
|
| | |
|
|/
|
|
|
| |
Using % will cause the string to be generated even if debugging
is off.
|
|\ |
|
| |\ |
|
| | |\
| | | |
| | | | |
Move rest/admin to use async/await.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |\ \
| | | | |
| | | | | |
make version optional in body of e2e backup version update
|
| | | | |
| | | | |
| | | | |
| | | | | |
to agree with latest version of the MSC
|
| | | |/
| | |/|
| | | | |
Now, the CAS server can return an attribute stating what's the desired displayname, instead of using the username directly.
|
| | | | |
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
This fixed the weirdness of 400 vs 404 as http status code in the case
the filter id is not known by the server.
As e.g. matrix-js-sdk expects 404 to catch this situation this leads
to unwanted behaviour.
|
| | |
| | |
| | | |
Fixes #6109
|
| | |
| | |
| | | |
This prevents us logging "Responding to media request with responder %s".
|
| | |
| | |
| | |
| | |
| | |
| | | |
Pillow will use nearest neighbour as the resampling algorithm if the
source image is either 1-bit or a color palette using 8 bits. If we
convert to RGB before scaling, we'll probably get a better result.
|
| | |
| | |
| | |
| | | |
Use room_stats and room_state for room directory search
|
| | |\
| | | |
| | | | |
Add some helpful opentracing tags and remove get_user_by_req span
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
This will make it easier to search for sending event requests.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Doing a password reset via SMS has never worked, and in any case is a silly
idea because msisdn recycling is a thing.
See also matrix-org/matrix-doc#2303.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If email or msisdn verification aren't supported, let's stop advertising them
for registration.
Fixes #6100.
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
because, frankly, it looked like it was written by an axe-murderer.
This should be a non-functional change, except that where `m.login.dummy` was
previously advertised *before* `m.login.terms`, it will now be advertised
afterwards. AFAICT that should have no effect, and will be more consistent with
the flows that involve passing a 3pid.
|
| | |\ |
|
| | | |
| | | |
| | | | |
Add a m.separate_add_and_bind flag set to True. See MSC2290's Backward Compatibility section for details.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Adds a flag to /versions' unstable_features section indicating that this Synapse understands what an id_access_token is, as per MSC2264.
Fixes #5927
|
| | | |
| | | |
| | | |
| | | |
| | | | |
As MSC2263 states, m.require_identity_server must be set to false when it does not require an identity server to be provided by the client for the purposes of email registration or password reset.
Adds an m.require_identity_server flag to /versionss unstable_flags section. This will advertise that Synapse no longer needs id_server as a parameter.
|
| | | |
| | | |
| | | | |
First part of solving #6076
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Implements MSC2290. This PR adds two new endpoints, /unstable/account/3pid/add and /unstable/account/3pid/bind. Depending on the progress of that MSC the unstable prefix may go away.
This PR also removes the blacklist on some 3PID tests which occurs in #6042, as the corresponding Sytest PR changes them to use the new endpoints.
Finally, it also modifies the account deactivation code such that it doesn't just try to deactivate 3PIDs that were bound to the user's account, but any 3PIDs that were bound through the homeserver on that user's account.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes #6066
This register endpoint should be disabled if registration is disabled, otherwise we're giving anyone the ability to check if a username exists on a server when we don't need to be.
Error code is 403 (Forbidden) as that's the same returned by /register when registration is disabled.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
(#6074)
Remove trailing slash ability from the password reset submit_token endpoint. Since we provide the link in an email, and have never sent it with a trailing slash, there's no point for us to accept them on the endpoint.
|
| | | |
| | | |
| | | | |
As per [MSC2290](https://github.com/matrix-org/matrix-doc/pull/2290/files#diff-05cde9463e9209b701312b3baf2fb2ebR151), we're dropping the bind parameter from `/account/3pid`. This endpoint can now only be used for adding threepid's to the user's account on the homeserver.
|
| | | | |
|
| | | |
| | | |
| | | | |
Removes the POST method from `/password_reset/<medium>/submit_token/` as it's only used by phone number verification which Synapse does not support yet.
|
| | |\| |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a redo of https://github.com/matrix-org/synapse/pull/5897 but with `id_access_token` accepted.
Implements [MSC2134](https://github.com/matrix-org/matrix-doc/pull/2134) plus Identity Service v2 authentication ala [MSC2140](https://github.com/matrix-org/matrix-doc/pull/2140).
Identity lookup-related functions were also moved from `RoomMemberHandler` to `IdentityHandler`.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We want to assign unique mxids to saml users based on an incrementing
suffix. For that to work, we need to record the allocated mxid in a separate
table.
|
| |\ \ \
| | | |/
| | |/| |
|
|\ \ \ \
| | |/ /
| |/| | |
|
| | | |
| | | |
| | | | |
Co-Authored-By: Erik Johnston <erik@matrix.org>
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
server to handle 3pid validation (#5987)
This is a combination of a few different PRs, finally all being merged into `develop`:
* #5875
* #5876
* #5868 (This one added the `/versions` flag but the flag itself was actually [backed out](https://github.com/matrix-org/synapse/commit/891afb57cbdf9867f2848341b29c75d6f35eef5a#diff-e591d42d30690ffb79f63bb726200891) in #5969. What's left is just giving /versions access to the config file, which could be useful in the future)
* #5835
* #5969
* #5940
Clients should not actually use the new registration functionality until https://github.com/matrix-org/synapse/pull/5972 is merged.
UPGRADE.rst, changelog entries and config file changes should all be reviewed closely before this PR is merged.
|
| | | | |
|
| | | |
| | | |
| | | | |
Implements `POST /_matrix/client/r0/account/3pid/unbind` from [MSC2140](https://github.com/matrix-org/matrix-doc/blob/dbkr/tos_2/proposals/2140-terms-of-service-2.md#post-_matrixclientr0account3pidunbind).
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ /
|/| | |
|
|\| | |
|
| | |
| | |
| | | |
Removes the `bind_email` and `bind_msisdn` parameters from the `/register` C/S API endpoint as per [MSC2140: Terms of Service for ISes and IMs](https://github.com/matrix-org/matrix-doc/pull/2140/files#diff-c03a26de5ac40fb532de19cb7fc2aaf7R107).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Ensure the list media admin API is always available
This API is required for some external media repo implementations to operate (mostly for doing quarantine operations on a room).
* changelog
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Ensure an auth instance is available to ListMediaInRoom
Fixes https://github.com/matrix-org/synapse/issues/5737
* Changelog
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove all the "double return" statements which were a result of us removing all the instances of
```
defer.returnValue(...)
return
```
statements when we switched to python3 fully.
|
| | |
| | |
| | | |
Trace device list changes.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* fix thumbnail storage location
Signed-off-by: Lorenz Steinert <lorenz@steinerts.de>
* Add changelog file.
Signed-off-by: Lorenz Steinert <lorenz@steinerts.de>
* Update Changelog
Signed-off-by: Lorenz Steinert <lorenz@steinerts.de>
|
| | |
| | |
| | | |
This reverts commit 4765f0cfd95f6160f32c75481651d125f343cd58.
|
| | |
| | |
| | |
| | |
| | | |
Python will return a tuple whether there are parentheses around the returned values or not.
I'm just sick of my editor complaining about this all over the place :)
|
| | |
| | |
| | |
| | |
| | | |
Adds a flag to `/versions`' `unstable_features` section indicating that this Synapse understands what an `id_access_token` is, as per https://github.com/matrix-org/synapse/issues/5927#issuecomment-523566043
Fixes #5927
|
|\| | |
|
| |\ \
| | | |
| | | | |
Add GET method to admin API /users/@user:dom/admin
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
|
| |\ \ \
| | | | |
| | | | | |
Add config option to sign remote key query responses with a separate key.
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| | |_|/ /
| |/| | | |
public_base_url is actually public_baseurl
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Aaron Raimist <aaron@raim.ist>
|
| |/ / /
| | | |
| | | | |
Admin API: Set adminship of a user
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Awesome-Technologies/remove_shared_secret_registration
Remove shared secret registration
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This type of registration was probably never used. It only includes the
user name in the HMAC but not the password.
Shared secret registration is still available via
client/r0/admin/register.
Signed-off-by: Manuel Stahl <manuel.stahl@awesome-technologies.de>
|
| | | |
| | | |
| | | |
| | | | |
This reverts commit 3320aaab3a9bba3f5872371aba7053b41af9d0a0.
|
| | | | |
|
| | | |
| | | |
| | | | |
Add opentracing tags and logs for e2e keys
|
| |/ / |
|
| |/
| |
| |
| |
| | |
Fixes #5833
The emailconfig code was attempting to pull incorrect config file names. This corrects that, while also marking a difference between a config file variable that's a filepath versus a str containing HTML.
|
| | |
|
| |
| |
| |
| |
| | |
Part of fixing matrix-org/sytest#652
Sytest PR: matrix-org/sytest#667
|
| | |
|
| | |
|
| | |
|
|\| |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Bugfixes
--------
- Fix a regression introduced in v1.2.0rc1 which led to incorrect labels on some prometheus metrics. ([\#5734](https://github.com/matrix-org/synapse/issues/5734))
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Fix servlet metric names
Co-Authored-By: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
* Remove redundant check
* Cover all return paths
|
| |/ |
|
|/ |
|
|
|
|
|
|
|
| |
(#5629)
Fixes #5594
Forbid viewing relations on an event once it has been redacted.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First of all, let's get rid of `TOKEN_NOT_FOUND_HTTP_STATUS`. It was a hack we
did at one point when it was possible to return either a 403 or a 401 if the
creds were missing. We always return a 401 in these cases now (thankfully), so
it's not needed.
Let's also stop abusing `AuthError` for these cases. Honestly they have nothing
that relates them to the other places that `AuthError` is used, other than the
fact that they are loosely under the 'Auth' banner. It makes no sense for them
to share exception classes.
Instead, let's add a couple of new exception classes: `InvalidClientTokenError`
and `MissingClientTokenError`, for the `M_UNKNOWN_TOKEN` and `M_MISSING_TOKEN`
cases respectively - and an `InvalidClientCredentialsError` base class for the
two of them.
|
|
|
|
|
|
|
| |
A fix for PR #5626, which returned the original event content as part of a call to /relations.
Only problem was that we were attempting to aggregate the relations on top of it when we did so. We now set bundle_aggregations to False in the get_event call.
We also do this when pulling the relation events as well, because edits of edits are not something we'd like to support here.
|
|
|
| |
When asking for the relations of an event, include the original event in the response. This will mostly be used for efficiently showing edit history, but could be useful in other circumstances.
|
|
|
|
|
|
|
|
| |
Nothing uses this now, so we can remove the dead code, and clean up the
API.
Since we're changing the shape of the return value anyway, we take the
opportunity to give the method a better name.
|
|
|
|
|
|
|
|
| |
* Factor out some redundant code in the login impl
Also fixes a redundant access_token which was generated during jwt login.
* changelog
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* SAML2 Improvements and redirect stuff
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
* Code cleanups and simplifications.
Also: share the saml client between redirect and response handlers.
* changelog
* Revert redundant changes to static js
* Move all the saml stuff out to a centralised handler
* Add support for tracking SAML2 sessions.
This allows us to correctly handle `allow_unsolicited: False`.
* update sample config
* cleanups
* update sample config
* rename BaseSSORedirectServlet for consistency
* Address review comments
|
| |\ |
|
| | | |
|
| | | |
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | | |
Also: share the saml client between redirect and response handlers.
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
|
| |_|_|/
|/| | |
| | | | |
Fixes #5582
|
| | | | |
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Fix JWT login with register
Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
* Add pyjwt conditional dependency
Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
* Added changelog file
Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
* Improved changelog description
Signed-off-by: Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Don't log exception when failing to fetch remote content.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
In particular, let's not log stack traces when we stop processing
becuase the response body was too large.
|
|\ \ \ \ |
|
| |/ / / |
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
Moves the warning about password resets being disabled to the point where a user actually tries to reset their password. Is this an appropriate place for it to happen?
Also removed the disabling of msisdn password resets when you don't have an email config, as that just doesn't make sense.
Also change the error a user receives upon disabled passwords to specify that only email-based password reset is disabled.
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
matrix-org/babolivier/account_validity_send_mail_auth
Don't check whether the user's account is expired on /send_mail requests
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
identity server (#5377)
Sends password reset emails from the homeserver instead of proxying to the identity server. This is now the default behaviour for security reasons. If you wish to continue proxying password reset requests to the identity server you must now enable the email.trust_identity_server_for_password_resets option.
This PR is a culmination of 3 smaller PRs which have each been separately reviewed:
* #5308
* #5345
* #5368
|
| | |
| | |
| | | |
* Update _matrix/client/versions to reference support for r0.5.0
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
matrix-org/rav/server_keys/09_improve_notary_server
Fixes for the key-notary server
|
| | | |
| | | |
| | | |
| | | | |
... else we're guaranteed to time out.
|
|/ / / |
|
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes a bug which were causing the "event_format" field to be
ignored in the filter of requests to the `/messages` endpoint of the
CS API.
Signed-off-by: Eisha Chen-yen-su <chenyensu0@gmail.com>
|
|\ \
| | |
| | | |
Show correct error when logging out and access token is missing
|
| | |
| | |
| | |
| | | |
Signed-off-by: Aaron Raimist <aaron@raim.ist>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Aaron Raimist <aaron@raim.ist>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Aaron Raimist <aaron@raim.ist>
|
| | | |
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| | |
Fix error when downloading thumbnail with width/height param missing
Fixes #2748
Signed-off-by: Aaron Raimist <aaron@raim.ist>
|
|\ \
| | |
| | | |
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
|
| |/ / |
|
|/ /
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
Land basic reaction and edit support.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |_|/
|/| | |
Re-order registration stages to do msisdn & email auth last
|
| |\ \
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | | |
|
| |_|_|/
|/| | | |
|
| | | | |
|
|/ / / |
|
| |/
|/|
| |
| | |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Rather than copying-and-pasting the same four lines hundreds of times
|
| |
|
|
|
|
| |
It doesn't really belong under rest/client/v1 any more.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
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.
|
| |\| | |
| | | | |
| | | | | |
Move some rest endpoints to client reader
|
| | | | | |
|
| |/ / / |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | | |
Remove presence list support as per MSC 1819
|
| |\ \ \
| | | | |
| | | | | |
Implement MSC1915 - 3PID unbind APIs
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| |/ / /
| | | |
| | | |
| | | | |
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.
|
| |/ /
| | |
| | |
| | | |
Remove log line for password.
|
| |/
|/| |
|
|/ |
|
|
|
|
|
| |
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.
|
|\
| |
| | |
Fixup shutdown room API
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
We still populate it, as it can still be accessed via the admin API.
|
|
|
| |
Add two ratelimiters on login (per-IP address and per-userID).
|
|
|
|
| |
fixes https://github.com/vector-im/riot-web/issues/3155
|
|
|
|
|
|
|
|
| |
Currently the explanation message is sent to the abuse room before any
users are forced joined, which means it tends to get lost in the backlog
of joins.
So instead we send the message *after* we've forced joined everyone.
|
| |
|
|
|
|
| |
This reverts commit d7dbad3526136cfc9fdbd568635be5016fb637db.
|
| |
|
|\
| |
| | |
Add 'server_version' endpoint to admin API
|
| |
| |
| |
| |
| | |
This is required because the 'Server' HTTP header is not always
passed through proxies.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Rate-limiting for registration
* Add unit test for registration rate limiting
* Add config parameters for rate limiting on auth endpoints
* Doc
* Fix doc of rate limiting function
Co-Authored-By: babolivier <contact@brendanabolivier.com>
* Incorporate review
* Fix config parsing
* Fix linting errors
* Set default config for auth rate limiting
* Fix tests
* Add changelog
* Advance reactor instead of mocked clock
* Move parameters to registration specific config and give them more sensible default values
* Remove unused config options
* Don't mock the rate limiter un MAU tests
* Rename _register_with_store into register_with_store
* Make CI happy
* Remove unused import
* Update sample config
* Fix ratelimiting test for py2
* Add non-guest test
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix parsing of Content-Disposition headers
TIL: filenames in content-dispostion headers can contain semicolons, and aren't
%-encoded.
* fix python2 incompatibility
* Fix docstrings
|
|
|
|
|
|
|
|
| |
* Don't log stack trace when client has gone away during media download
* Newsfile
* Fixup newsfile
|
|
|
|
|
|
|
|
| |
* add trivial clarification about jemalloc
* switch from google.com to recaptcha.net
because https://developers.google.com/recaptcha/docs/faq#can-i-use-recaptcha-globally
|
|
|
|
|
|
|
|
|
|
| |
* Move RegistrationHandler init to HomeServer
* Move post registration actions to RegistrationHandler
* Add post regisration replication endpoint
* Newsfile
|
|\
| |
| | |
Split out registration to worker
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This allows registration to be handled by a worker, though the actual
write to the database still happens on master.
Note: due to the in-memory session map all registration requests must be
handled by the same worker.
|