- Jan 18, 2021
-
-
Erik Johnston authored
-
Erik Johnston authored
-
Patrick Cloke authored
...instead of just creating the exception object and doing nothing with it.
-
Richard van der Hoff authored
* Factor out a common TestHtmlParser Looks like I'm doing this in a few different places. * Improve OIDC login test Complete the OIDC login flow, rather than giving up halfway through. * Ensure that OIDC login works with multiple OIDC providers * Fix bugs in handling clientRedirectUrl - don't drop duplicate query-params, or params with no value - allow utf-8 in query-params
-
Patrick Cloke authored
setuptools 51.0.0 dropped support for Python 3.5.
-
Patrick Cloke authored
-
- Jan 15, 2021
-
-
Erik Johnston authored
We do this by allowing a single iteration to process multiple rooms at a time, as there are often a lot of really tiny rooms, which can massively slow things down.
-
Richard van der Hoff authored
I don't think there's any need to use canonicaljson here. Fixes: #4475.
-
Richard van der Hoff authored
This is the final step for supporting multiple OIDC providers concurrently. First of all, we reorganise the config so that you can specify a list of OIDC providers, instead of a single one. Before: oidc_config: enabled: true issuer: "https://oidc_provider" # etc After: oidc_providers: - idp_id: prov1 issuer: "https://oidc_provider" - idp_id: prov2 issuer: "https://another_oidc_provider" The old format is still grandfathered in. With that done, it's then simply a matter of having OidcHandler instantiate a new OidcProvider for each configured provider.
-
Patrick Cloke authored
Protecting media stops it from being quarantined when e.g. all media in a room is quarantined. This is useful for sticker packs and other media that is uploaded by server administrators, but used by many people.
-
Patrick Cloke authored
Previously this code generated unreferenced `Deferred` instances which caused "Unhandled Deferreds" errors to appear in error situations.
-
Richard van der Hoff authored
`distutils` is pretty much deprecated these days, and replaced with `setuptools`. It's also annoying because it's you can't `pip install` it, and it's hard to figure out which debian package we should depend on to make sure it's there. Since we only use it for a tiny function anyway, let's just vendor said function into our codebase.
-
Patrick Cloke authored
-
Richard van der Hoff authored
* make the OIDC bits of the test work at a higher level - via the REST api instead of poking the OIDCHandler directly. * Move it to test_login.py, where I think it fits better.
-
Richard van der Hoff authored
Again in preparation for handling more than one OIDC provider, add a new caveat to the macaroon used as an OIDC session cookie, which remembers which OIDC provider we are talking to. In future, when we get a callback, we'll need it to make sure we talk to the right IdP. As part of this, I'm adding an idp_id and idp_name field to the OIDC configuration object. They aren't yet documented, and we'll just use the old values by default.
-
Eric Eastwood authored
-
- Jan 14, 2021
-
-
Erik Johnston authored
We passed in a graph to `sorted_topologically` which didn't have an entry for each node (as we dropped nodes with no edges).
-
Erik Johnston authored
-
Erik Johnston authored
-
Erik Johnston authored
t was doing a sequential scan on `destination_rooms`, which took minutes.
-
Erik Johnston authored
-
Richard van der Hoff authored
The idea here is that we will have an instance of OidcProvider for each configured IdP, with OidcHandler just doing the marshalling of them. For now it's still hardcoded with a single provider.
-
Tim Leung authored
A reactor was being passed instead of a whitelist for the BlacklistingAgentWrapper used by the WellyKnownResolver. This coulld cause exceptions when attempting to connect to IP addresses that are blacklisted, but in reality this did not have any observable affect since this code is not used for IP literals.
-
- Jan 13, 2021
-
-
Richard van der Hoff authored
If a user tries to do UI Auth via SSO, but uses the wrong account on the SSO IdP, try to give them a better error. Previously, the UIA would claim to be successful, but then the operation in question would simply fail with "auth fail". Instead, serve up an error page which explains the failure.
-
Richard van der Hoff authored
* Add complete test for UI-Auth-via-SSO. * review comments
-
Patrick Cloke authored
Removes a bare `except Exception` clause and replaces it with catching a specific exception around the portion that might throw.
-
Richard van der Hoff authored
-
Patrick Cloke authored
-
Patrick Cloke authored
This checks that the domain given to `DomainSpecificString.is_valid` (e.g. `UserID`, `RoomAlias`, etc.) is of a valid form. Previously some validation was done on the localpart (e.g. the sigil), but not the domain portion.
-
Richard van der Hoff authored
Some light refactoring of OidcHandler, in preparation for bigger things: * remove inheritance from deprecated BaseHandler * add an object to hold the things that go into a session cookie * factor out a separate class for manipulating said cookies
-
Erik Johnston authored
-
- Jan 12, 2021
-
-
Dirk Klimpel authored
This only applies if the user's data is to be erased.
-
Richard van der Hoff authored
If we have integrations with multiple identity providers, when the user does a UI Auth, we need to redirect them to the right one. There are a few steps to this. First of all we actually need to store the userid of the user we are trying to validate in the UIA session, since the /auth/sso/fallback/web request is unauthenticated. Then, once we get the /auth/sso/fallback/web request, we can fish the user id out of the session, and use it to look up the external id mappings, and hence pick an SSO provider for them.
-
Marcus authored
It is expected that the proxy would be on a private IP address so the configured proxy should be connected to regardless of the IP range blacklist.
-
Patrick Cloke authored
-
Richard van der Hoff authored
Homeserver.get_ip_from_request() used to be a bit more complicated, but now it is totally redundant. Let's get rid of it.
-
Richard van der Hoff authored
SynapseRequest is in danger of becoming a bit of a dumping-ground for "useful stuff relating to Requests", which isn't really its intention (its purpose is to override render, finished and connectionLost to set up the LoggingContext and write the right entries to the request log). Putting utility functions inside SynapseRequest means that lots of our code ends up requiring a SynapseRequest when there is nothing synapse-specific about the Request at all, and any old twisted.web.iweb.IRequest will do. This increases code coupling and makes testing more difficult. In short: move get_user_agent out to a utility function.
-
- Jan 11, 2021
-
-
David Teller authored
For remote users, only the rooms which the server knows about are returned. Local users have all of their joined rooms returned.
-
Erik Johnston authored
-
Dirk Klimpel authored
-