Commit graph

2370 commits

Author SHA1 Message Date
Till beed39a8f4
Fix pq: invalid input syntax for integer when trying to get a numeric localpart (#2505)
* Match at least once

* Add the test
2022-05-31 11:27:04 +02:00
Neil Alexander 9f8b3136b2
Fix bugs in resolve-state tool 2022-05-30 15:11:48 +01:00
Neil Alexander fb52b6cedc
Sort resolve-state output 2022-05-30 14:38:50 +01:00
Neil Alexander 9869dc2cbe
Update readme 2022-05-30 11:11:21 +01:00
Neil Alexander 247604979a
Add missing indexes to federation API destination queues (#2502)
* Add missing indexes to federation API destination queues

* Fix duplicate name
2022-05-30 11:01:20 +01:00
Neil Alexander 500124dd18
Add support for room version 10 (update to matrix-org/gomatrixserverlib#315) 2022-05-30 09:50:23 +01:00
Tommie Gannert b8844fb1e2 Fix a lint warning. 2022-05-27 23:08:53 +02:00
Tommie Gannert ffa527340a Fix a lint error. 2022-05-27 23:00:44 +02:00
Tommie Gannert f814f9bdf1 Fall back to numeric localpart if there is no suggested username.
Fixes https://github.com/matrix-org/dendrite/issues/2498.
2022-05-27 22:29:20 +02:00
Tommie Gannert 09f0dca6aa Refactor SSO configuration.
It makes more sense to base provider defaults on brand. Type is not
1:1 to brand.

Splits apart OIDC and OAuth2 to match actual specs.
2022-05-27 22:15:52 +02:00
Tommie Gannert d351a48379 Fix a golangci-lint issue. 2022-05-27 19:37:41 +02:00
Tommie Gannert 9292bb42c1 Replace SSO discovery URL with an environment variable from Complement. 2022-05-27 19:31:08 +02:00
Tommie Gannert 80fa0bcb4c Enable SSO in CI. 2022-05-27 19:30:30 +02:00
Tommie Gannert ac706be242 Improve error reporting for OAuth2 SSO requests. 2022-05-27 19:30:05 +02:00
Tommie Gannert 6663882cf2 Fix OAuth2 user info credentials and add HTTP error handling. 2022-05-27 18:09:41 +02:00
Tommie Gannert 43bac75c5f Fix callback URL building in SSOCallback.
It ended up without scheme and host. Do what SSORedirect does instead.
2022-05-27 12:31:38 +02:00
Tommie Gannert 618e18f259 Change cookie oidc_nonce to SameSite=None.
https://github.com/matrix-org/dendrite/issues/1297#issuecomment-1139357227
2022-05-27 09:58:31 +02:00
Neil Alexander b541f3043f
Add support for MSC3787 and org.matrix.msc3787 room version (update to matrix-org/gomatrixserverlib#310) 2022-05-26 15:08:17 +01:00
Neil Alexander 45c4c00672
Version 0.8.6 (#2497) 2022-05-26 13:01:04 +01:00
Neil Alexander 9e46d5025a
Upgrade various dependencies (#2496)
* Upgrade various dependencies

* Yaml dependency too
2022-05-26 12:34:43 +01:00
Neil Alexander 5a878b6e14
Update to matrix-org/gomatrixserverlib#314 2022-05-26 11:52:39 +01:00
Neil Alexander 9eb4fec33b
Make logging output for state deletions a bit better 2022-05-26 10:38:46 +01:00
Tommie Gannert 83bac7df36 Disables the SSO SyTest.
Requires a configuration change in SyTest.
2022-05-25 19:25:32 +02:00
Tommie Gannert 46b4abd4cf golangci-lint fixes. 2022-05-25 19:05:16 +02:00
Tommie Gannert 6de730b2ee Fixes for SSO.
* Verbose logging.
* Cookie needs a path.
* Configurable callback URL.
* Various sanity checks.
2022-05-25 18:33:11 +02:00
Tommie Gannert 73e83c2b51 Fix SSO table initialization. 2022-05-25 18:32:03 +02:00
Brandon 015465d496
Update 1_planning.md (#2467)
* Update 1_planning.md

Modes section of the planning component of the documentation rewritten for grammar and clarity.

* Update 1_planning.md

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2022-05-25 17:17:02 +01:00
Neil Alexander 6940c7c7dd
Try to spot state deletions when they happen (#2489) 2022-05-25 16:40:31 +01:00
Neil Alexander ff53398635
Mark room versions 8 and 9 as stable 2022-05-25 16:39:51 +01:00
Neil Alexander ac4d0072cf
Fix using the remote provided event from /send_join (#2490) 2022-05-25 14:31:07 +01:00
Neil Alexander 9ce3898d03
Fix the resolve-state tool 2022-05-25 13:37:15 +01:00
Neil Alexander 81843e8836
Restricted join support on /make_join, /send_join (#2478)
* Add `QueryRestrictedJoinAllowed`

* Add `Resident` flag to `QueryRestrictedJoinAllowedResponse`

* Check restricted joins on federation API

* Return `Restricted` to determine if the room was restricted or not

* Populate `AuthorisedVia` properly

* Sign the event on `/send_join`, return it in the `/send_join` response in the `"event"` key

* Kick back joins with invalid authorising user IDs, use event from `"event"` key if returned in `RespSendJoin`

* Use invite helper in `QueryRestrictedJoinAllowed`

* Only use users with the power to invite, change error bubbling a bit

* Placate the almighty linter

One day I will nuke `gocyclo` from orbit and everything in the world will be much better for it.

* Review comments
2022-05-25 10:05:30 +01:00
Tommie Gannert 58233c790a Split SSO into OAuth2 and OIDC. Add OIDC discovery.
GitHub implements OAuth2, but not OpenID Connect.

This means it needs more magic constants than those that can do OIDC
discovery (and where Userinfo is in OIDC-compatible.)

Fixes the HTTP client to have a timeout.
2022-05-25 01:17:08 +02:00
Neil Alexander d621dd2986
Allow authing invited user in rooms with "restricted" join rule (update to matrix-org/gomatrixserverlib#313) 2022-05-24 11:08:28 +01:00
Neil Alexander ead0112aa1
Fix join_authorised_via_users_server key name in SendEvent 2022-05-24 10:22:26 +01:00
Neil Alexander 7379b02b70
Give PL100 to invited users in trusted_private_chat preset (#2485) 2022-05-24 10:10:25 +01:00
Neil Alexander c83837e684
Strip join_authorised_by_users_server when updating membership events using /rooms/{roomID}/state (#2482) 2022-05-24 09:11:23 +01:00
Aaron Ogle 20844942a8
Handle invite in appservice roomserver consumer (#2476)
Signed-off-by: Aaron Ogle <aaron@geekgonecrazy.com>
2022-05-24 09:07:33 +01:00
Neil Alexander 4472267901
Preserve content from /make_join as well as supplied content in the request (#2481) 2022-05-23 17:54:01 +01:00
Neil Alexander 8a7567c652
Fix control flow related to joining restricted v8/v9 rooms (update to matrix-org/gomatrixserverlib#312) 2022-05-23 17:49:48 +01:00
Tommie Gannert a6b13a703d Add automatic registration of SSO accounts. 2022-05-23 18:16:54 +02:00
Tommie Gannert 03cf5a5c08 Replace ThreePID lookups with the new SSO lookups. 2022-05-23 17:55:38 +02:00
Tommie Gannert c3f7945284 Add SSO UserAPI endpoints.
This is mostly copied from the ThirdPID, but with a primary key that
matches OpenID Connect nomenclature. There's a namspace to ensure
other SSO solutions can be supported, but there's only one namespace
defined for now.
2022-05-23 17:42:36 +02:00
Tommie Gannert c9ad7206c8 Enable SyTest "login types include SSO" 2022-05-23 16:25:29 +02:00
Tommie Gannert c1c2a0448c Disable m.login.token if there are no enabled login methods to use it. 2022-05-23 16:25:29 +02:00
Tommie Gannert 43989aa017 Support for m.login.sso.
This is forked from @anandv96's #1374. Closes #1297.
2022-05-23 16:25:29 +02:00
Neil Alexander b5a497a0c0
Allow defers to run in TestMain in federation API tests 2022-05-23 14:54:43 +01:00
Neil Alexander 028963af1c
Update to matrix-org/gomatrixserverlib#311 (#2479)
* Update to matrix-org/gomatrixserverlib#311

* Update to squash commit
2022-05-23 14:26:56 +01:00
Tommie Gannert 1d6501ae30 Ensure every HTTP server context has a timeout.
Code that uses http.NewRequestWithContext will see the same deadline.
2022-05-23 08:37:39 +02:00
Till a53c9300aa
Fix /deactivate (#2474)
* Fix /deactivate

* Update test to correctly check the expected response
2022-05-20 13:27:11 +02:00