summary refs log tree commit diff
path: root/scripts-dev/mypy_synapse_plugin.py (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-04-16Fix old-style uses of self.make_request in dinum test codeAndrew Morgan8-73/+43
2021-04-16lintAndrew Morgan3-24/+8
2021-03-23Port "Allow providing credentials to HTTPS_PROXY (#9657)" from mainline (#95)Andrew Morgan4-34/+183
* Allow providing credentials to HTTPS_PROXY (#9657) Addresses https://github.com/matrix-org/synapse-dinsic/issues/70 This PR causes `ProxyAgent` to attempt to extract credentials from an `HTTPS_PROXY` env var. If credentials are found, a `Proxy-Authorization` header ([details](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authorization)) is sent to the proxy server to authenticate against it. The headers are *not* passed to the remote server. Also added some type hints. * lint
2021-03-23Stabilise all knock-related unstable identifiers that would be in state (#96)Andrew Morgan2-5/+10
2021-03-22Port "Add support for no_proxy and case insensitive env variables" from ↵Andrew Morgan48-154/+398
mainline to dinsic (#93) This PR is simply porting https://github.com/matrix-org/synapse/pull/9372 to dinsic. I also had to bring in https://github.com/matrix-org/synapse/pull/8821 and https://github.com/matrix-org/synapse/pull/9084 for this code to work properly - a sign that we should merge mainline into dinsic again soon.
2021-03-19Remove extraneous print (#94)Andrew Morgan1-1/+0
2021-03-19Fix the pipeline to use knock v7 Complement branch (#92)Andrew Morgan1-3/+3
2021-03-19Cap mypy tests at twisted==20.3.0 (#90)Andrew Morgan1-0/+3
2021-03-18Change knock room version to v7 (#88)Andrew Morgan5-18/+18
2021-03-02Allow knock->knock transitions (#86)Andrew Morgan1-2/+0
Small change to the event auth rules that allows transitioning from knock->knock (in case you want to update your knock reason, or change profile information etc). Coincides with the same commit in [the mainline PR](https://github.com/matrix-org/synapse/pull/6739) and [this update on MSC2403](https://github.com/matrix-org/matrix-doc/pull/2403/commits/49a72862a93d814219968cff814ff63926181645).
2021-03-01change check_threepid_can_be_invited to async (#85)Mathieu Velten1-5/+2
2021-02-19Add a config option to prioritise local users in user directory search ↵Andrew Morgan4-9/+158
results (#84) * Add a config option to prioritise local users in user directory search results (#9383) This PR adds a homeserver config option, `user_directory.prefer_local_users`, that when enabled will show local users higher in user directory search results than remote users. This option is off by default. Note that turning this on doesn't necessarily mean that remote users will always be put below local users, but they should be assuming all other ranking factors (search query match, profile information present etc) are identical. This is useful for, say, University networks that are openly federating, but want to prioritise local students and staff in the user directory over other random users. * Don't mix simple and english psql query types
2021-02-17Send a ver query parameter for make_knock (#83)Andrew Morgan4-7/+33
This informs the remote server of the room versions we support. If the room we're trying to knock on has a version that is not one of our supported room versions, the remote server will return an unsupported room version error. Noticed in https://github.com/matrix-org/matrix-doc/pull/2403#discussion_r577042144 Ported from https://github.com/matrix-org/synapse/pull/6739
2021-02-10Show knock rooms in the public room directory and inform clients they can be ↵Andrew Morgan2-6/+10
knocked on (#82) This PR implements the ["Changes regarding the Public Rooms Directory"](https://github.com/Sorunome/matrix-doc/blob/soru/knock/proposals/2403-knock.md#changes-regarding-the-public-rooms-directory) section of knocking MSC2403. Specifically, it: * Allows rooms with `join_rule` "knock" to be returned by the query behind the public rooms directory * Adds the field `join_rule` to each room entry returned by a public rooms directory query, so clients can know whether to attempt a join or knock on a room This PR is a clone of [the mainline PR](https://github.com/matrix-org/synapse/pull/9359). Complement tests for this change: https://github.com/matrix-org/complement/pull/72.
2021-02-09Add knocking support (#81)Andrew Morgan34-117/+1567
Implement knocking as defined by https://github.com/matrix-org/matrix-doc/pull/2403 This is the base knocking stuff, taken from https://github.com/matrix-org/synapse/pull/6739 and does not include any public room directory changes. While knocking hasn't merged yet on mainline due to waiting on getting Complement into Synapse's CI, the code has been well-tested.
2021-02-09Add complement running monolith synapse to buildkite pipeline (#80)Andrew Morgan1-0/+36
2021-02-09Fix Python Old-Deps CI step (#79)Andrew Morgan4-5/+12
* Fix the Python 3.5 old-deps build. (#9146) setuptools 51.0.0 dropped support for Python 3.5. * Fix Python 3.5 old deps build by using a compatible pip version. (#9217) Co-authored-by: Dan Callahan <danc@element.io> pip 21.0 stopped supporting Python 3.5. Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2021-01-29Remove riot email registration backwards compatibility hackAndrew Morgan1-10/+0
This was causing a LoginError to be propagated up to the registration servlet, which was expecting a InteractiveAuthIncompleteError in order to store a password_hash from the client for the session. DINUM relies on this happening. More info here: https://github.com/matrix-org/synapse/issues/9263
2021-01-21Add a parameter to enable/disable freeze feature (#78)Mathieu Velten2-1/+10
2021-01-19Ensure we read account validity templates from custom template dir if ↵Andrew Morgan2-1/+55
provided (#77)
2021-01-18Change check_3pid_allowed to async (#76)Mathieu Velten1-13/+10
2021-01-13Add jsonschema verification for the oidc provider configRichard van der Hoff1-0/+50
2021-01-13Extract OIDCProviderConfig objectRichard van der Hoff2-62/+140
Collect all the config options which related to an OIDC provider into a single object.
2021-01-13Add basic domain validation for `DomainSpecificString.is_valid`. (#9071)Patrick Cloke3-1/+12
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.
2021-01-13Move removal warning up changelog v1.25.0 github/release-v1.25.0 release-v1.25.0Erik Johnston1-9/+9
2021-01-13Link to GH profile and fix tenseErik Johnston1-1/+1
2021-01-13Fix link in changelogErik Johnston1-1/+1
2021-01-13Preparatory refactors of OidcHandler (#9067)Richard van der Hoff3-165/+201
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
2021-01-13Fixup changelogErik Johnston1-9/+6
2021-01-13 1.25.0Erik Johnston4-4/+16
2021-01-12Remove user's avatar URL and displayname when deactivated. (#8932)Dirk Klimpel13-17/+351
This only applies if the user's data is to be erased.
2021-01-12Announce Python / PostgreSQL deprecation policies (#9085)Dan Callahan2-0/+50
Fixes #8782
2021-01-12UI Auth via SSO: redirect the user to an appropriate SSO. (#9081)Richard van der Hoff7-60/+133
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.
2021-01-12Don't apply the IP range blacklist to proxy connections (#9084)Marcus4-3/+145
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.
2021-01-12Handle bad JSON data being returned from the federation API. (#9070)Patrick Cloke3-1/+12
2021-01-12Fix failures in Debian packaging (#9079)Dan Callahan3-4/+21
Debian package builds were failing for two reasons: 1. Python versions prior to 3.7 throw exceptions when attempting to print Unicode characters under a "C" locale. (#9076) 2. We depended on `dh-systemd` which no longer exists in Debian Bullseye, but is necessary in Ubuntu Xenial. (#9073) Setting `LANG="C.UTF-8"` in the build environment fixes the first issue. See also: https://bugs.python.org/issue19846 The second issue is a bit trickier. The dh-systemd package was merged into debhelper version 9.20160709 and a transitional package left in its wake. The transitional dh-systemd package was removed in Debian Bullseye. However, Ubuntu Xenial ships an older debhelper, and still needs dh-systemd. Thus, builds were failing on Bullseye since we depended on a package which had ceased existing, but we couldn't remove it from the debian/control file and our build scripts because we still needed it for Ubuntu Xenial. We can fix the debian/control issue by listing dh-systemd as an alternative to the newer versions of debhelper. Since dh-systemd declares that it depends on debhelper, Ubuntu Xenial will select its older dh-systemd which will in turn pull in its older debhelper, resulting in no change from the status quo. All other supported releases will satisfy the debhelper dependency constraint and skip the dh-systemd alternative. Build scripts were fixed by unconditionally attempting to install dh-systemd on all releases and suppressing failures. Once we drop support for Ubuntu Xenial, we can revert most of this commit and rely on the version constraint on debhelper in debian/control. Fixes #9076 Fixes #9073 Signed-off-by: Dan Callahan <danc@element.io>
2021-01-12Kill off `HomeServer.get_ip_from_request()` (#9080)Richard van der Hoff9-52/+15
Homeserver.get_ip_from_request() used to be a bit more complicated, but now it is totally redundant. Let's get rid of it.
2021-01-12Remove SynapseRequest.get_user_agent (#9069)Richard van der Hoff9-26/+29
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.
2021-01-11Also support remote users on the joined_rooms admin API. (#8948)David Teller4-13/+57
For remote users, only the rooms which the server knows about are returned. Local users have all of their joined rooms returned.
2021-01-11Move more encryption endpoints off master (#9068)Erik Johnston3-46/+55
2021-01-11Removes unnecessary declarations in the tests for the admin API. (#9063)Dirk Klimpel7-17/+1
2021-01-11Use a chain cover index to efficiently calculate auth chain difference (#8868)Erik Johnston14-48/+1769
2021-01-11Clean up exception handling in the startup code (#9059)Richard van der Hoff4-100/+120
Factor out the exception handling in the startup code to a utility function, and fix the some logging and exit code stuff.
2021-01-11Remove old tables after schema version bump (#9055)Erik Johnston6-59/+37
These tables are unused, and can be dropped now the schema version has been bumped.
2021-01-11Ensure rejected events get added to some metadata tables (#9016)Erik Johnston4-24/+167
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2021-01-11Fix a typo in the install docs. (#9040)0xflotus2-1/+2
2021-01-11Remove unused SynapseService (#9058)Richard van der Hoff2-22/+1
2021-01-11Drop last_used column from access_tokens (#9025)Jerin J Titus3-0/+79
* Dropped last_used column from access_tokens Signed-off-by: Jerin J Titus <72017981+jerinjtitus@users.noreply.github.com>
2021-01-10fix spurious MD in README.rstMatthew Hodgson1-1/+1
2021-01-08Keycloak mapping_provider example (#9037) (#9057)Christopher Rücker2-0/+5
This PR adds the missing user_mapping_provider section in oidc.md Signed-off-by: Christopher Rücker chris-ruecker@protonmail.com
2021-01-08Fix "Starting metrics collection from sentinel context" errors (#9053)Erik Johnston3-21/+22
2021-01-08Fix validate_config on nested objects (#9054)Richard van der Hoff3-1/+55
2021-01-08Fix error handling during insertion of client IPs (#9051)Erik Johnston2-31/+24
You can't continue using a transaction once an exception has been raised, so catching and dropping the error here is pointless and just causes more errors.
2021-01-08Remove broken and unmaintained 'webserver.py' script (#9039)Richard van der Hoff2-59/+1
I'm not even sure what this was supposed to do, but the fact it has python2isms and nobody has noticed suggests it's not terribly important. It doesn't seem to have been used since ff23e5ba3764506c99d9c1c640e202fe262b65ce.
2021-01-08Run the linters on a consistent list of files (#9038)Richard van der Hoff6-17/+24
We were running some linters on some files and some on others. Extract a common setting and use it everywhere.
2021-01-07Allow running sendToDevice on workers (#9044)Erik Johnston11-105/+231
2021-01-07Support routing edu's to multiple instances (#9042)Erik Johnston2