Commit graph

355 commits

Author SHA1 Message Date
Brian Meek 706e81f512 Revert "Merge upstream latest"
This reverts commit 06c319d580.
2023-02-07 17:14:27 -08:00
Brian Meek be1fd40275 Revert "Fix lint warning about ioutil deprecation"
This reverts commit 8610b4225e.
2023-02-07 17:14:27 -08:00
Brian Meek 92e468f352 Revert "Debug test failure"
This reverts commit 548029d6da.
2023-02-07 17:14:27 -08:00
Brian Meek 04d272d32a Revert "Logging the config in the error to debug CI"
This reverts commit 9d8dfcabcf.
2023-02-07 17:14:27 -08:00
Brian Meek 7df85cde1d Revert "Logging the config in the error to debug CI"
This reverts commit 39377bd048.
2023-02-07 17:14:27 -08:00
Brian Meek 13c221469b Revert "Logging the config in the error to debug CI"
This reverts commit c8f8e90446.
2023-02-07 17:14:27 -08:00
Brian Meek a610e6d043 Revert "HArdcoding the server_name while debugging while it isn't loading from the config"
This reverts commit d179b9f6f7.
2023-02-07 17:14:27 -08:00
Brian Meek a21b421156 Revert "Set the test config server_name to localhost"
This reverts commit 7fa8ee0d1a.
2023-02-07 17:14:27 -08:00
Brian Meek 7fa8ee0d1a Set the test config server_name to localhost
Signed-off-by: Brian Meek <brian@hntlabs.com>
2023-02-07 17:13:06 -08:00
Brian Meek d179b9f6f7 HArdcoding the server_name while debugging while it isn't loading from the config
Signed-off-by: Brian Meek <brian@hntlabs.com>
2023-02-07 17:13:06 -08:00
Brian Meek c8f8e90446 Logging the config in the error to debug CI
Signed-off-by: Brian Meek <brian@hntlabs.com>
2023-02-07 17:13:06 -08:00
Brian Meek 39377bd048 Logging the config in the error to debug CI
Signed-off-by: Brian Meek <brian@hntlabs.com>
2023-02-07 17:13:06 -08:00
Brian Meek 9d8dfcabcf Logging the config in the error to debug CI
Signed-off-by: Brian Meek <brian@hntlabs.com>
2023-02-07 17:13:06 -08:00
Brian Meek 548029d6da Debug test failure
Signed-off-by: Brian Meek <brian@hntlabs.com>
2023-02-07 17:13:06 -08:00
Brian Meek 8610b4225e Fix lint warning about ioutil deprecation
Signed-off-by: Brian Meek <brian@hntlabs.com>
2023-02-07 17:13:06 -08:00
Brian Meek 06c319d580 Merge upstream latest
Signed-off-by: Brian Meek <brian@hntlabs.com>
2023-02-07 17:13:06 -08:00
Tak Wai Wong 063299248b
sync fix #2838 from main 2022-11-02 13:48:55 -07:00
Till b367cfeddf
Implement /thirdparty endpoints (#2831)
Implements the following endpoints 
```
GET /_matrix/client/v3/thirdparty/protocols
GET /_matrix/client/v3/thirdparty/protocols/{protocol}
GET /_matrix/client/v3/thirdparty/location
GET /_matrix/client/v3/thirdparty/location/{protocol}
GET /_matrix/client/v3/thirdparty/user
GET /_matrix/client/v3/thirdparty/user/{protocol}
```
2022-11-02 10:17:53 +00:00
John Terzis 6059650464 message sync gating 2022-11-01 18:07:15 -07:00
Tak Wai Wong 13f5aa6026
sync upstream changes 2022-10-31 10:49:06 -07:00
Neil Alexander f10c6f26e5
Add /_dendrite/admin/downloadState/{serverName}/{roomID} admin endpoint 2022-10-31 09:13:28 +00:00
Tak Wai Wong ed8b5d09eb refresh fork with upstream 2022-10-28 15:49:31 -07:00
X. Ding 0782011f54
Add hcaptcha support besides Google ReCaptcha (#2834)
### Pull Request Checklist
This PR add support for hcaptcha.com as an alternative to Google
ReCaptcha. It also makes possible for user to customize ReCaptcha URL
when needed. (Such as use recaptcha.net instead of www.google.com)

This feature needs manual test cuz it involves 3rd party _captcha_.

Signed-off-by: `Simon Ding <dxl@plotbridge.com>`

Co-authored-by: dxl <dxl@plotbridge.com>
2022-10-28 11:25:01 +01:00
Till 444b4bbdb8
Add AS specific public room list endpoints (#2836)
Adds `PUT
/_matrix/client/v3/directory/list/appservice/{networkId}/{roomId}` and
`DELTE
/_matrix/client/v3/directory/list/appservice/{networkId}/{roomId}`
support, as well as the ability to filter `/publicRooms` on networkID
and including all networks.
2022-10-27 14:40:35 +02:00
Neil Alexander f6dea712d2
Initial support for multiple server names (#2829)
This PR is the first step towards virtual hosting by laying the
groundwork for multiple server names being configured.
2022-10-26 12:59:19 +01:00
Tak Wai Wong c4afa77636
Fix dendrite config to use env for chain_id and enable_authz (#49)
* Fix config to support env variables
2022-10-25 20:56:36 -07:00
Tak Wai Wong 8d2033418e
Merge branch 'matrix-org:main' into main 2022-10-25 17:26:39 -07:00
Till 313cb3fd19
Filter /members, return members at given point (#2827)
Makes the tests
```
Can get rooms/{roomId}/members at a given point
Can filter rooms/{roomId}/members
```
pass, by moving `/members` and `/joined_members` to the SyncAPI.
2022-10-25 12:39:10 +02:00
Tak Wai Wong db9758464d
Dendrite should only support 1 chain id (#47)
* Support 1 blockchain only

* auth check based on single chain

* use config to set the blockchain provider URL

* fix config to read from env variable

* handle 31337 in addition to 1337
2022-10-24 21:35:36 -07:00
John Terzis 36039c2efc
HNT-105 invite authz 2022-10-24 21:35:36 -07:00
Tak Wai Wong 94061b7b8d
Return an "Unauthorized" error message + refresh zion contract types (#44)
* Add unauthorized message

* update regenerated types for zion contracts
2022-10-24 21:35:36 -07:00
Tak Wai Wong 18db428c23
Figure out space vs channel from roomid (#43)
* pass in roomserver API so that we have access to the db

* interface to get db info for spaceid and channelid

* determine space or channel by querying the room db

* Add authorization check to the JOIN endpoint

* fix lint errors
2022-10-24 21:35:36 -07:00
Tak Wai Wong c5a753d6e2
Updated generated GO types for Zion Space Manager contracts (#41)
* Refresh generated types

* Added Permission enum
2022-10-24 21:35:36 -07:00
Tak Wai Wong 04a78694d1
Authorization framework for gating dendrite endpoints (#39)
* import new versions of the zion contracts

* bootstrap zion authz

* define interface for space manager contract

* instantiate spacemanager interface

* load goerli and localhost

* embed json

* remove zion interface. Use contracts directly

* split user identifiter into address and chain id

* isAllowed in routing.go

* remove permission.go

Co-authored-by: Tak Wai Wong <tak@hntlabs.com>
2022-10-24 21:24:35 -07:00
Tak Wai Wong c9ec018121
Authorization - config, interface, and default implementation (#33)
* add config yaml for enable_auth

* zion_space_manager_localhost.go

* Placeholders for authorization

* rename func and type

* re-run go mod tidy

Co-authored-by: Tak Wai Wong <tak@hntlabs.com>
2022-10-24 21:24:35 -07:00
Brian Meek 68d9300ec0
After discovering the full path using the go nm tool, properly set the ReleaseVersion in the clientapi router
Signed-off-by: Brian Meek <brian@hntlabs.com>
2022-10-24 21:20:49 -07:00
Brian Meek 93ea0f5864
Add commit ReleaseVersion to routing to return to clients in version request
Signed-off-by: Brian Meek <brian@hntlabs.com>
2022-10-24 21:18:59 -07:00
Brian Meek 4fe6a9e9da
Add commit hash to routing version API, TODO placeholder
Signed-off-by: Brian Meek <brian@hntlabs.com>
2022-10-24 21:18:59 -07:00
Brian Meek 8351e35287
Add commit hash to routing version API
Signed-off-by: Brian Meek <brian@hntlabs.com>
2022-10-24 21:18:58 -07:00
Brian Meek db91fce6f0
Add commit hash to version API
Signed-off-by: Brian Meek <brian@hntlabs.com>
2022-10-24 21:16:32 -07:00
Brian Meek cb184a7b3f
Update ReadAll to use non-deprecated version
Signed-off-by: Brian Meek <brian@hntlabs.com>
2022-10-24 19:56:49 -07:00
Tak Wai Wong 8f77585eb5
Implement EIP-4361 sign in with Ethereum (#5)
* Blacklist some sytest tests that are failing in our environment

* Commenting out test that isn't reliably passing or failing, probably a race

* refresh latest dendrite main

* refresh latest dendrite main

* dendrite implementation of eip-4361

* simplify nonce generation

Co-authored-by: Brian Meek <brian@hntlabs.com>
Co-authored-by: Tak Wai Wong <takwaiw@gmail.com>
2022-10-24 19:53:01 -07:00
Tak Wai Wong 8c4b0c3d6f
Takwaiw/dendrite publickey (#2)
* Implementation of MSC 3782 Add publickey login as a new auth type.

Co-authored-by: Tak Wai Wong <takwaiw@gmail.com>
2022-10-24 19:53:01 -07:00
Tak Wai Wong a2d0ea1be0
Implement EIP-4361 sign in with Ethereum (#5)
* Blacklist some sytest tests that are failing in our environment

* Commenting out test that isn't reliably passing or failing, probably a race

* refresh latest dendrite main

* refresh latest dendrite main

* dendrite implementation of eip-4361

* simplify nonce generation

Co-authored-by: Brian Meek <brian@hntlabs.com>
Co-authored-by: Tak Wai Wong <takwaiw@gmail.com>
2022-10-24 19:49:14 -07:00
Tak Wai Wong 3145a9dc52
Takwaiw/dendrite publickey (#2)
* Implementation of MSC 3782 Add publickey login as a new auth type.

Co-authored-by: Tak Wai Wong <takwaiw@gmail.com>
2022-10-24 19:44:47 -07:00
Tak Wai Wong 6a5b223584
Pull the fix for user_interactive crash from dendrite fork (#249)
* Fix issues with migrations not getting executed (#2628)

* Fix issues with migrations not getting executed

* Check actual postgres error

* Return error if it's not "column does not exist"

* Send-to-device/sync tweaks (#2630)

* Always delete send to device messages

* Omit empty to_device

* Tweak /sync response to omit empty values

* Add housekeeping function to delete old/expired EDUs (#2399)

* Add housekeeping function to delete old/expired EDUs

* Add migrations

* Evict EDUs from cache

* Fix queries

* Fix upgrade

* Use map[string]time.Duration to specify different expiry times

* Fix copy & paste mistake

* Set expires_at to tomorrow

* Don't allow NULL

* Add comment

* Add tests

* Use new testrig package

* Fix migrations

* Never expire m.direct_to_device

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Co-authored-by: kegsay <kegan@matrix.org>

* Remove nonce generation for eip4361 signin (#25)

Co-authored-by: Tak Wai Wong <tak@hntlabs.com>

* Fix user_interactive crash when multiple clients try to log in (#26)

* add rw locks

* lock / unlock protect other fields

Co-authored-by: Tak Wai Wong <tak@hntlabs.com>

Co-authored-by: Till <2353100+S7evinK@users.noreply.github.com>
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Co-authored-by: kegsay <kegan@matrix.org>
Co-authored-by: Tak Wai Wong <tak@hntlabs.com>
Co-authored-by: Tak Wai Wong <takwaiw@gmail.com>
2022-10-24 18:02:55 -07:00
Tak Wai Wong cc98ffb362
Tak/pull-dendrite-changes (#245)
* Fix issues with migrations not getting executed (#2628)

* Fix issues with migrations not getting executed

* Check actual postgres error

* Return error if it's not "column does not exist"

* Remove nonce generation for eip4361 signin (#25)

Co-authored-by: Tak Wai Wong <tak@hntlabs.com>
2022-10-24 17:58:05 -07:00
texuf ed906910cf
Fix lint errors
https://github.com/HereNotThere/dendrite/runs/7417009281?check_suite_focus=true
2022-10-24 17:56:49 -07:00
Tak Wai Wong b5d5f57a1c
Implement EIP-4361 sign in with Ethereum (#5)
* Blacklist some sytest tests that are failing in our environment

* Commenting out test that isn't reliably passing or failing, probably a race

* refresh latest dendrite main

* refresh latest dendrite main

* dendrite implementation of eip-4361

* simplify nonce generation

Co-authored-by: Brian Meek <brian@hntlabs.com>
Co-authored-by: Tak Wai Wong <takwaiw@gmail.com>
2022-10-24 17:43:01 -07:00
Tak Wai Wong 8ab1737e7f
Takwaiw/dendrite publickey (#2)
* Implementation of MSC 3782 Add publickey login as a new auth type.

Co-authored-by: Tak Wai Wong <takwaiw@gmail.com>
2022-10-24 17:40:09 -07:00