Commit graph

69 commits

Author SHA1 Message Date
Neil Alexander
1110f830c6
More refactoring to remove saramajetstream 2021-11-03 14:28:40 +00:00
Neil Alexander
e745a7663f
Fix topic naming 2021-11-03 12:05:25 +00:00
Neil Alexander
6b835b83bf
Roomserver input API queuing using NATS 2021-11-03 11:41:51 +00:00
Neil Alexander
73d6964fb4
Merge branch 'master' into add-nats-support 2021-11-02 17:36:22 +00:00
Ryan W
1cd4d50181
Added .well-known/matrix/server endpoint ()
* Added .well-known/matrix/server endpoint

Signed-off-by: Ryan Whittington <twentybitdev@gmail.com>

* Replaced tabs with spaces

Signed-off-by: Ryan Whittington <twentybitdev@gmail.com>
2021-09-10 10:05:31 +01:00
Ryan W
a624eab309
- Removed double imports ()
- Lower cased error messages

Signed-off-by: Ryan Whittington <twentybitdev@gmail.com>

Co-authored-by: kegsay <kegan@matrix.org>
2021-09-08 17:31:03 +01:00
Neil Alexander
ff21675c5b
Cross-signing fixes, notifications via sync, federation ()
* Initial work on signing key update EDUs

* Fix build

* Produce/consume EDUs

* Producer logging

* Only produce key change notifications for local users

* Better naming

* Try to notify sync

* Enable feature

* Use key change topic

* Don't bother verifying signatures, validate key lengths if we can, notifier fixes

* Copyright notices

* Remove tests from whitelist until 

* Some review comment fixes

* Update to matrix-org/gomatrixserverlib@f9416ac

* Remove unneeded parameter
2021-08-17 13:44:30 +01:00
Neil Alexander
eb0efa4636
Cross-signing groundwork ()
* Cross-signing groundwork

* Update to 

* Fix gobind builds, which stops unit tests in CI from yelling

* Some changes from review comments

* Fix build by passing in UIA

* Update to matrix-org/gomatrixserverlib@bec8d22

* Process master/self-signing keys from devices call

* nolint

* Enum-ify the key type in the database

* Process self-signing key too

* Fix sanity check in device list updater

* Fix check

* Fix sytest, hopefully

* Fix build
2021-08-04 17:56:29 +01:00
kegsay
e3df612953
Add tracing to user API ()
Use the trace version in tests so we can just implement the required API functions.
2021-08-03 11:23:25 +01:00
kegsay
32538640db
Key backups (1/2) : Add E2E session backup metadata tables ()
* Initial key backup paths and userapi API

* Fix unit tests

* Add key backup table

* Glue REST API to database

* Linting

* use writer on sqlite
2021-07-27 12:47:32 +01:00
Till Faelligen
a7ad4c182f Revert changes made to streams 2021-07-26 12:08:35 +02:00
Till Faelligen
a833f5764a Merge branch 'master' of https://github.com/matrix-org/dendrite into add-nats-support 2021-07-24 11:27:24 +02:00
Neil Alexander
e2e1a966e1
Merge branch 'master' into add-nats-support 2021-07-20 10:36:13 +01:00
S7evinK
5094bc89bf
Set MaxFileSizeBytes <= 0 to unlimited ()
* Revert "Set MaxFileSizeBytes <= 0 to "unlimited" ()"

This reverts commit 9ed0440421.

* Actually allow unlimited upload

Signed-off-by: Till Faelligen <tfaelligen@gmail.com>

Co-authored-by: kegsay <kegan@matrix.org>
2021-07-19 17:58:51 +01:00
S7evinK
b954343d73
Fix DNS CacheLifetime ()
Signed-off-by: Till Faelligen <tfaelligen@gmail.com>
2021-07-16 19:42:53 +01:00
Neil Alexander
5e07ebfa8f
Update nats.go dependency 2021-07-15 09:58:32 +01:00
Neil Alexander
af49ce17a7
Restore storage/retention 2021-07-14 15:45:46 +01:00
Neil Alexander
0f65b8a621
Try to use in-memory for CI 2021-07-14 15:25:15 +01:00
Neil Alexander
ee6bfe24f5
Try to sane default on jetstream base path 2021-07-14 15:22:25 +01:00
Neil Alexander
ec4e0302c0
Disable interest policies 2021-07-14 14:50:17 +01:00
Neil Alexander
74735e7cd5
Config tweaks, make random jetstream storage path for CI 2021-07-14 14:26:14 +01:00
Neil Alexander
48322bc2b2
Various other refactoring 2021-07-14 14:06:14 +01:00
Neil Alexander
4c45de81b3
Jetstream package 2021-07-14 13:34:42 +01:00
Neil Alexander
beb2ddf03d
Make sure NATS uses own persistent directory (TODO: make this configurable) 2021-07-14 10:23:04 +01:00
Neil Alexander
e2d562257c
Try setting up with NATS 2021-07-13 13:34:41 +01:00
Neil Alexander
913e4e651f
Merge branch 'add-nats-support' of github.com:s7evink/dendrite into add-nats-support 2021-07-12 14:02:09 +01:00
Neil Alexander
a478b1682c
Merge branch 'master' into add-nats-support 2021-07-12 14:01:28 +01:00
kegsay
1ed732cc78
Implement /_synapse/admin/v1/register ()
* Implement /_synapse/admin/v1/register

This is implemented identically to Synapse, so scripts which work
with Synapse should work with Dendrite.

```
    Test 27 POST /_synapse/admin/v1/register with shared secret... OK
    Test 28 POST /_synapse/admin/v1/register admin with shared secret... OK
    Test 29 POST /_synapse/admin/v1/register with shared secret downcases capitals... OK
    Test 30 POST /_synapse/admin/v1/register with shared secret disallows symbols... OK
```

Sytest however has `implementation_specific => "synapse"` which stops these
tests from running.

* Add missing muxes to gobind

* Linting
2021-07-09 16:52:31 +01:00
Till Faelligen
341351c75a Update saramajetstream 2021-07-09 08:16:33 +02:00
Neil Alexander
fc5f8e1743
Merge branch 'master' into add-nats-support 2021-07-08 10:12:28 +01:00
Till Faelligen
0c88ac6158 Use all configured NATS addresses 2021-07-04 22:11:00 +02:00
Till Faelligen
c575f5501f Merge branch 'master' of https://github.com/matrix-org/dendrite into add-nats-support 2021-07-02 20:21:17 +02:00
Neil Alexander
b7a2d369c0
Change how servers are selected for missing auth/prev events ()
* Change how servers are selected for missing auth/prev events

* Shuffle order

* Move ServersInRoomProvider into api package
2021-06-30 12:05:58 +01:00
S7evinK
9ed0440421
Set MaxFileSizeBytes <= 0 to "unlimited" ()
* Set MaxFileSizeBytes < 0 to "unlimited"

Signed-off-by: Till Faelligen <tfaelligen@gmail.com>

* int64 overflows later in mediaapi/routing/upload.go[doUpload]

* Prevent int overflow when uploading
2021-06-14 14:12:03 +01:00
bodqhrohro
c488d3db75
Fix SIGSEGV in IsInterestedInRoomID ()
* Avoid crash on non-compiled room regex

Roughly fixes  (actual compiling still needed)

Signed-off-by: Bohdan Horbeshko <bodqhrohro@gmail.com>

* Compile regexes for all namespaces

Deadheres the regex compiling from building larger regexes for possibly
exclusive namespaces only. A complete fix for , so regexes for
rooms namespaces and other non-whitelisted namespaces can be used
more safely.

Signed-off-by: Bohdan Horbeshko <bodqhrohro@gmail.com>

* Appservice config: handle regexp parsing errors

Signed-off-by: diamondburned <datutbrus@gmail.com>
Signed-off-by: Bohdan Horbeshko <bodqhrohro@gmail.com>

Co-authored-by: Kegsay <kegan@matrix.org>
2021-06-07 09:13:40 +01:00
Till Faelligen
f7cfa24027 Add missing error check
Keep typing events for at least one minute
2021-06-04 20:37:14 +02:00
Till Faelligen
07208d2dd7 Merge branch 'master' into add-nats-support 2021-06-04 15:51:16 +02:00
Till Faelligen
43642af194 Don't change Addresses in Defaults 2021-05-30 17:40:09 +02:00
Till Faelligen
1c430f4552 Fix addresses 2021-05-30 15:11:28 +02:00
Till Faelligen
f6b5b2c52f Add NATS JetStream support
Update shopify/sarama
2021-05-30 14:51:56 +02:00
Michael Telatynski
4691adc8f8
Update MSC2946 implementation for stable spaces ()
Now that MSC1772 passed FCP its identifiers have stabilised
This outright drops support for experimental spaces but that's what you get for being on the bleeding edge
2021-05-18 15:17:37 +01:00
Bruce MacDonald
d27607af78
Implement OpenID module () ()
* Implement OpenID module ()

- Unrelated: change Riot references to Element in client API routing

Signed-off-by: Bruce MacDonald <contact@bruce-macdonald.com>

* OpenID module tweaks ()

- specify expiry is ms rather than vague ts
- add OpenID token lifetime to configuration
- use Go naming conventions for the path params
- store plaintext token rather than hash
- remove openid table sqllite mutex

* Add default OpenID token lifetime ()

* Update dendrite-config.yaml

Co-authored-by: Kegsay <kegsay@gmail.com>
Co-authored-by: Kegsay <kegan@matrix.org>
2021-04-07 13:26:20 +01:00
Kegsay
af41f6d454
Add Sentry support ()
* Add Sentry support

* Use HTTP Sentry properly maybe

* Capture panics

* Log fed Sentry stuff correctly

* British english linter
2021-03-24 10:25:24 +00:00
Kegan Dougal
e865a1507a Make sure the component max open conns doesn't exceed 100 2021-03-08 14:50:37 +00:00
Kegsay
850abb1dde
Make bcrypt cost configurable () 2021-03-08 13:19:02 +00:00
Neil Alexander
c3ad2cca49
Fix database default connection limits for CI () 2021-03-08 13:18:29 +00:00
Neil Alexander
6aa262ead8
Use default transport for AS traffic ()
* Use default transport for AS traffic

* Update gmsl and use default client

* Remove replace

* Fix go.sum

* Update gomatrixserverlib

* Go back to appservices managing their own HTTP clients because argh

* Add missing context
2021-03-05 16:40:32 +00:00
Will Hunt
fe021d3742
Treat the sender_localpart as an exclusive namespace of one user () 2021-03-05 14:57:42 +00:00
Neil Alexander
1ad96e2e2d
Tweak AS registration check and AS component HTTP clients ()
* Tweak AS registration check

* Check appservice usernames using correct function

* Update sytest-whitelist

* Use gomatrixserverlib.Client since that allows us to disable TLS validation using the config

* Add appservice-specific client and ability to control TLS validation for appservices only

* Set timeout on appservice client

* Review comments

* Remove dead code

* Enforce LoginTypeApplicationService after all

* Check correct auth type field
2021-03-05 10:40:27 +00:00
Neil Alexander
d15836e260
Increase gocyclo complexity to 25 (and remove all but 2 golint directives related to it) () 2021-03-03 14:35:57 +00:00