1
0
Commit Graph

430 Commits

Author SHA1 Message Date
Andrew Morgan
48e7f210c6 Merge commit 'a3f11567d' into dinsic
* commit 'a3f11567d':
  Replace all remaining six usage with native Python 3 equivalents (#7704)
2020-08-03 16:15:34 -07:00
Andrew Morgan
a7d49db74f Merge branch 'release-v1.15.0' of github.com:matrix-org/synapse into dinsic-release-v1.15.x
* 'release-v1.15.0' of github.com:matrix-org/synapse: (55 commits)
  1.15.0
  Fix some attributions
  Update CHANGES.md
  1.15.0rc1
  Revert "1.15.0rc1"
  1.15.0rc1
  Fix bug in account data replication stream. (#7656)
  Convert the registration handler to async/await. (#7649)
  Accept device information at the login fallback endpoint. (#7629)
  Convert user directory handler and related classes to async/await. (#7640)
  Add an option to disable autojoin for guest accounts (#6637)
  Clarifications to the admin api documentation (#7647)
  Update to the stable SSO prefix for UI Auth. (#7630)
  Fix type information on `assert_*_is_admin` methods (#7645)
  Remove some unused constants. (#7644)
  Typo fixes.
  Allow new users to be registered via the admin API even if the monthly active user limit has been reached (#7263)
  Add device management to admin API (#7481)
  Attempt to fix PhoneHomeStatsTestCase.test_performance_100 being flaky. (#7634)
  Support CS API v0.6.0 (#6585)
  ...
2020-06-24 12:07:41 +01:00
Andrew Morgan
7da71b701e Prevent M_USER_IN_USE from being raised by registration methods until after email has been verified (#48)
* Just ignore the `username` parameter on registration as it's not used by DINUM
* Have `/register/available` always return `true`
2020-06-22 12:47:09 +01:00
Andrew Morgan
6708163271 Performance improvements to marking expired users as inactive (#47)
This is a performance-related improvement to #13, which queried and hid active *and* already inactive users, one-by-one. This PR updates the code to query only **active**, expired users, all at once, and then mark them as inactive, all at once.
2020-06-19 16:14:37 +01:00
Dagfinn Ilmari Mannsåker
a3f11567d9 Replace all remaining six usage with native Python 3 equivalents (#7704) 2020-06-16 08:51:47 -04:00
Andrew Morgan
cde3bda815 Merge branch 'release-v1.14.0' of github.com:matrix-org/synapse into dinsic-release-v1.14.x
* 'release-v1.14.0' of github.com:matrix-org/synapse: (108 commits)
  Fix typo in PR link
  Update debian changelog
  1.14.0
  Improve changelog wording
  1.14.0rc2
  Fix sample config docs error (#7581)
  Fix up comments
  Fix specifying cache factors via env vars with * in name. (#7580)
  Don't apply cache factor to event cache. (#7578)
  Ensure ReplicationStreamer is always started when replication enabled. (#7579)
  Remove the changes to the debian changelog
  Not full release yet, this is rc1
  Merge event persistence move changelog entries
  More changelog fix
  Changelog fixes
  1.14.0
  Replace device_27_unique_idx bg update with a fg one (#7562)
  Fix incorrect exception handling in KeyUploadServlet.on_POST (#7563)
  Fix recording of federation stream token (#7564)
  Simplify reap_monthly_active_users (#7558)
  ...
2020-06-10 17:26:48 +01:00
Andrew Morgan
e8a7a853f8 Merge branch 'release-v1.13.0' of github.com:matrix-org/synapse into dinsic-release-v1.14.x
* 'release-v1.13.0' of github.com:matrix-org/synapse: (257 commits)
  Update changelog based on feedback.
  Move warnings in the changelog and re-iterate changes to branches.
  1.13.0
  update dh-virtualenv (#7526)
  1.13.0rc3
  Hash passwords earlier in the registration process (#7523)
  1.13.0rc2
  1.13.0rc2
  Stop `get_joined_users` corruption from custom statuses (#7376)
  Do not validate that the client dict is stable during UI Auth. (#7483)
  Fix new flake8 errors (#7489)
  Don't UPGRADE database rows
  RST indenting
  Put rollback instructions in upgrade notes
  Fix changelog typo
  Oh yeah, RST
  Absolute URL it is then
  Fix upgrade notes link
  Provide summary of upgrade issues in changelog. Fix )
  Move next version notes from changelog to upgrade notes
  ...
2020-06-10 16:58:10 +01:00
Andrew Morgan
f4e6495b5d Performance improvements and refactor of Ratelimiter (#7595)
While working on https://github.com/matrix-org/synapse/issues/5665 I found myself digging into the `Ratelimiter` class and seeing that it was both:

* Rather undocumented, and
* causing a *lot* of config checks

This PR attempts to refactor and comment the `Ratelimiter` class, as well as encourage config file accesses to only be done at instantiation. 

Best to be reviewed commit-by-commit.
2020-06-05 10:47:20 +01:00
Olof Johansson
fe434cd3c9 Fix a bug in automatic user creation with m.login.jwt. (#7585) 2020-06-01 12:55:07 -04:00
Erik Johnston
06a02bc1ce Convert sending mail to async/await. (#7557)
Mainly because sometimes the email push code raises exceptions where the
stack traces have gotten lost, which is hopefully fixed by this.
2020-05-22 13:41:11 +01:00
Andrew Morgan
225c165087 Allow expired accounts to logout (#7443) 2020-05-14 16:32:49 +01:00
Andrew Morgan
3fb2ea9932 apply linting 2020-05-14 11:51:16 +01:00
Patrick Cloke
5d64fefd6c Do not validate that the client dict is stable during UI Auth. (#7483)
This backs out some of the validation for the client dictionary and logs if
this changes during a user interactive authentication session instead.
2020-05-13 14:26:44 -04:00
Patrick Cloke
0ad6d28b0d Rework UI Auth session validation for registration (#7455)
Be less strict about validation of UI authentication sessions during
registration to match client expecations.
2020-05-08 16:08:58 -04:00
Patrick Cloke
627b0f5f27 Persist user interactive authentication sessions (#7302)
By persisting the user interactive authentication sessions to the database, this fixes
situations where a user hits different works throughout their auth session and also
allows sessions to persist through restarts of Synapse.
2020-04-30 13:47:49 -04:00
Richard van der Hoff
c2e1a2110f Fix limit logic for EventsStream (#7358)
* Factor out functions for injecting events into database

I want to add some more flexibility to the tools for injecting events into the
database, and I don't want to clutter up HomeserverTestCase with them, so let's
factor them out to a new file.

* Rework TestReplicationDataHandler

This wasn't very easy to work with: the mock wrapping was largely superfluous,
and it's useful to be able to inspect the received rows, and clear out the
received list.

* Fix AssertionErrors being thrown by EventsStream

Part of the problem was that there was an off-by-one error in the assertion,
but also the limit logic was too simple. Fix it all up and add some tests.
2020-04-29 12:30:36 +01:00
Brendan Abolivier
2e3b9a0fcb Revert "Revert "Merge pull request #7315 from matrix-org/babolivier/request_token""
This reverts commit 1adf6a5587.
2020-04-23 11:23:53 +02:00
Zay11Zay
f1097e7720 Fix the parameters of a test fixture (#7243) 2020-04-14 15:37:28 -04:00
Andrew Morgan
ac978ab3da Default PL100 to enable encryption in a room (#7230) 2020-04-09 18:45:38 +01:00
Patrick Cloke
b85d7652ff Do not allow a deactivated user to login via SSO. (#7240) 2020-04-09 13:28:13 -04:00
Richard van der Hoff
6486c96b65 Merge pull request #7157 from matrix-org/rev.outbound_device_pokes_tests
Add tests for outbound device pokes
2020-03-30 13:59:07 +01:00
Richard van der Hoff
b7da598a61 Always whitelist the login fallback for SSO (#7153)
That fallback sets the redirect URL to itself (so it can process the login
token then return gracefully to the client). This would make it pointless to
ask the user for confirmation, since the URL the confirmation page would be
showing wouldn't be the client's.
2020-03-27 20:24:52 +00:00
Dirk Klimpel
8327eb9280 Add options to prevent users from changing their profile. (#7096) 2020-03-27 19:15:23 +00:00
Dirk Klimpel
e8e2ddb60a Allow server admins to define and enforce a password policy (MSC2000). (#7118) 2020-03-26 16:51:13 +00:00
Patrick Cloke
1c1242acba Validate that the session is not modified during UI-Auth (#7068) 2020-03-26 07:39:34 -04:00
Richard van der Hoff
28d9d6e8a9 Remove spurious "name" parameter to default_config
this is never set to anything other than "test", and is a source of unnecessary
boilerplate.
2020-03-24 18:33:49 +00:00
Richard van der Hoff
39230d2171 Clean up some LoggingContext stuff (#7120)
* Pull Sentinel out of LoggingContext

... and drop a few unnecessary references to it

* Factor out LoggingContext.current_context

move `current_context` and `set_context` out to top-level functions.

Mostly this means that I can more easily trace what's actually referring to
LoggingContext, but I think it's generally neater.

* move copy-to-parent into `stop`

this really just makes `start` and `stop` more symetric. It also means that it
behaves correctly if you manually `set_log_context` rather than using the
context manager.

* Replace `LoggingContext.alive` with `finished`

Turn `alive` into `finished` and make it a bit better defined.
2020-03-24 14:45:33 +00:00
Andrew Morgan
756fe3c0be Remove special casing of m.room.aliases events (#7034)
* commit '60724c46b':
  Remove special casing of `m.room.aliases` events (#7034)
2020-03-24 14:36:49 +00:00
Andrew Morgan
959b119d58 v1.11.1
* commit 'fd983fad9':
  v1.11.1
  Fix wrong handler being used in SAML handler
  Factor out complete_sso_login and expose it to the Module API
  Add a whitelist for the SSO confirmation step.
  Add a confirmation step to the SSO login flow
2020-03-24 13:42:54 +00:00
Andrew Morgan
e87e413151 Validate the alt_aliases property of canonical alias events (#6971)
* commit '7dcbc33a1':
  Validate the alt_aliases property of canonical alias events (#6971)
2020-03-24 13:38:59 +00:00
Andrew Morgan
35d74a232c Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)
* commit '509e381af':
  Clarify list/set/dict/tuple comprehensions and enforce via flake8 (#6957)
  changelog
  Increase MAX_EVENTS_BEHIND for replication clients
2020-03-24 13:16:43 +00:00
Andrew Morgan
7236385fd2 Merge pull request #6949 from matrix-org/rav/list_room_aliases_peekable
* commit '2fb7794e6':
  changelog
  Make room alias lists peekable
  Add `allow_departed_users` param to `check_in_room_or_world_readable`
  Refactor the membership check methods in Auth
2020-03-24 13:15:15 +00:00
Andrew Morgan
a86ad65fbd Move MSC2432 stuff onto unstable prefix (#6948)
* commit '880aaac1d':
  Move MSC2432 stuff onto unstable prefix (#6948)
2020-03-24 13:14:59 +00:00
Andrew Morgan
2f7adc625e Implement GET /_matrix/client/r0/rooms/{roomId}/aliases (#6939)
* commit 'adfaea8c6':
  Implement GET /_matrix/client/r0/rooms/{roomId}/aliases (#6939)
2020-03-24 13:13:59 +00:00
Andrew Morgan
ed2f00559f Raise the default power levels for invites, tombstones and server acls (#6834)
* commit '3404ad289':
  Raise the default power levels for invites, tombstones and server acls (#6834)
2020-03-23 18:01:36 +00:00
Andrew Morgan
35b1d7816b MSC2260: Block direct sends of m.room.aliases events (#6794)
* commit '184303b86':
  MSC2260: Block direct sends of m.room.aliases events (#6794)
2020-03-23 17:03:12 +00:00
Andrew Morgan
169a5854fa Fix /events/:event_id deprecated API. (#6731)
* commit '74b74462f':
  Fix `/events/:event_id` deprecated API. (#6731)
2020-03-23 11:38:15 +00:00
Andrew Morgan
1e34631d1a Add local_current_membership table (#6655)
* commit '28c98e51f':
  Add `local_current_membership` table (#6655)
2020-03-23 11:34:19 +00:00
Andrew Morgan
061c671c6c Quarantine media by ID or user ID (#6681)
* commit '1177d3f3a':
  Quarantine media by ID or user ID (#6681)
2020-03-23 11:33:54 +00:00
Andrew Morgan
194287c2ec Merge pull request #6553 from matrix-org/babolivier/fix-context-filter
* commit '631653036':
  Incorporate review
  Update changelog.d/6553.bugfix
  Lint
  Add test case
  Changelog
  Update the documentation of the filtering function
  Use the filtered version of an event when responding to /context requests for that event
2020-03-19 19:16:47 +00:00
Andrew Morgan
1964f11955 Add option to allow profile queries without sharing a room (#6523)
* commit 'bfb95654c':
  Add option to allow profile queries without sharing a room (#6523)
2020-03-19 19:15:45 +00:00
Andrew Morgan
fe97d69358 Merge pull request #6504 from matrix-org/erikj/account_validity_async_await
* commit '31905a518':
  Newsfile
  Port handlers.account_validity to async/await.
  Port handlers.account_data to async/await.
2020-03-19 17:57:34 +00:00
Andrew Morgan
2beae00b3b Merge pull request #6484 from matrix-org/erikj/port_sync_handler
* commit 'a9b393340':
  Fixup functions to consistently return deferreds
  Newsfile
  Port SyncHandler to async/await
2020-03-19 17:13:08 +00:00
Andrew Morgan
9120098a37 Merge pull request #6482 from matrix-org/erikj/port_rest_v1
* commit 'af5d0ebc7':
  Newsfile
  Fixup tests
  Port rest/v1 to async/await
2020-03-19 16:34:10 +00:00
Andrew Morgan
00f1c3b40d Merge pull request #6329 from matrix-org/babolivier/context_filters
* commit 'c530f9af4':
  Un-remove room purge test
  Incorporate review
  Format changelog
  Update changelog since this isn't going to be featured in 1.6.0
  Also filter state events
  Only filter if a filter was provided
  Update copyright
  Lint
  Update copyrights
  Changelog
  Add tests for /search
  Merge labels tests for /context and /messages
  Add test case
  Filter events_before and events_after in /context requests
2020-03-19 16:18:41 +00:00
Andrew Morgan
e66b3e22df Add ephemeral messages support (MSC2228) (#6409)
* commit '54dd5dc12':
  Add ephemeral messages support (MSC2228) (#6409)
2020-03-19 16:08:16 +00:00
Andrew Morgan
603166f13c Fix: Pillow error when uploading RGBA image (#3325) (#6241)
* commit '81731c6e7':
  Fix: Pillow error when uploading RGBA image (#3325) (#6241)
  Add User-Interactive Auth to /account/3pid/add (#6119)
  Lint
  Changelog
  Discard retention policies when retrieving state
  blacklist more tests
  Newsfile
  Add tests
  Propagate reason in remotely rejected invites
  MSC2367 Allow reason field on all member events
2020-03-19 16:07:29 +00:00
Andrew Morgan
b8344cabcd Merge pull request #6358 from matrix-org/babolivier/message_retention
* commit 'd31f69afa':
  clean up buildkite output
  Don't restrict the tests to v1 rooms
  Fix worker mode
  Fix 3PID invite exchange
  Lint again
  Lint again
  Lint
  Don't apply retention policy based filtering on state events
  Implement per-room message retention policies
2020-03-18 17:22:33 +00:00
Andrew Morgan
2de57b8969 Remove assertion and provide a clear warning on startup for missing public_baseurl (#6379)
* commit 'ce578031f':
  Remove assertion and provide a clear warning on startup for missing public_baseurl (#6379)
2020-03-18 16:35:27 +00:00
Andrew Morgan
cc7e4cb952 Merge pull request #6392 from matrix-org/babolivier/fix-1623
* commit '78cfc05fc':
  Lint
  Changelog
  Test if a purge can make /messages return 500 responses
2020-03-18 16:32:15 +00:00