Commit graph

78 commits

Author SHA1 Message Date
Neil Alexander
9bc0731ec4
Merge branch 'master' into nats 2021-12-03 17:35:36 +00:00
Neil Alexander
61406a6747
Cherry-pick removal of unused HTTP client from #2061
Co-authored-by: Tommie Gannert <tommie@gannert.se>
2021-12-03 17:30:14 +00:00
S7evinK
08a0278760
Add missing HTTP mode for userapi (#1982)
* Add missing internal api endpoint

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

* Add missing performKeyBackup endpoint

* Add missing http mode for userapi

* Fix failing tests

* Add error checks

* Fix sytest

* Update startup logic for HTTP mode

* Use userImpl for AS (annoying)

* Don't send device list updates for appservice devices

* Fix build

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2021-12-03 17:18:35 +00:00
S7evinK
25dcf80180
Ratelimit requests to /media/r0/download|upload (#2020)
* Add /media/r0/config handler

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

* Add rate limiting to media api

* Rename variable

* Add passing tests

* Don't send multiple headers

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2021-11-24 12:55:44 +00:00
Neil Alexander
95476d36ca
Merge branch 'master' into nats 2021-11-24 12:04:32 +00:00
Neil Alexander
c9419e51af
Don't populate config defaults where it doesn't make sense (#2058)
* Don't populate config defaults where it doesn't make sense

* Fix dendritejs builds
2021-11-24 11:57:39 +00:00
Neil Alexander
843139c4f1
Merge branch 'master' into nats 2021-11-24 11:00:21 +00:00
Neil Alexander
ec716793eb
Merge federationapi, federationsender, signingkeyserver components (#2055)
* Initial federation sender -> federation API refactoring

* Move base into own package, avoids import cycle

* Fix build errors

* Fix tests

* Add signing key server tables

* Try to fold signing key server into federation API

* Fix dendritejs builds

* Update embedded interfaces

* Fix panic, fix lint error

* Update configs, docker

* Rename some things

* Reuse same keyring on the implementing side

* Fix federation tests, `NewBaseDendrite` can accept freeform options

* Fix build

* Update create_db, configs

* Name tables back

* Don't rename federationsender consumer for now
2021-11-24 10:45:23 +00:00
Neil Alexander
8cc6937fef
Async and sync roomserver input 2021-11-08 13:02:08 +00:00
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 (#1988)
* 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 (#1989)
- 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 (#1974)
* 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 matrix-org/sytest#1117

* 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 (#1953)
* Cross-signing groundwork

* Update to matrix-org/gomatrixserverlib#274

* 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 (#1948)
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 (#1943)
* 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 (#1876)
* Revert "Set MaxFileSizeBytes <= 0 to "unlimited" (#1875)"

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 (#1926)
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 (#1911)
* 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 (#1892)
* 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" (#1875)
* 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 (#1846)
* Avoid crash on non-compiled room regex

Roughly fixes #1845 (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 #1845, 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 (#1859)
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