Timo Kösters
8db7d2c025
Merge branch 'asonix/encourage-reqwest-reuse' into 'next'
...
Re-use a basic reqwest client in all possible cases
See merge request famedly/conduit!265
2022-02-04 11:27:41 +00:00
Jonas Platte
d23d6fbb37
Upgrade Ruma
2022-02-03 20:24:02 +01:00
Jonas Platte
92571d961f
Remove mutation from default_config and set default log_level to off
2022-02-03 19:55:54 +01:00
Andrei Vasiliu
4bbff69a24
Merge remote-tracking branch 'origin/next' into command-refactor
...
Fixed conflict with commit 78502aa6b1
2022-02-03 13:12:55 +02:00
Aode (lion)
1059f35fdc
use pre-constructed client for well-known requests also
2022-01-27 10:37:04 -06:00
Jonas Platte
9c2000cb89
Upgrade Ruma
2022-01-27 16:25:42 +01:00
Andrei Vasiliu
7505548b94
Merge remote-tracking branch 'refs/remotes/origin/next' into command-refactor
...
Resolved conflict for the new list_local_users command
2022-01-22 14:29:50 +02:00
Timo Kösters
f88523988e
improvement: use jemalloc for lower memory usage
2022-01-21 17:54:05 +01:00
Andrei Vasiliu
57979da28c
Change structopt to clap, remove markdown dependency
2022-01-21 17:35:26 +02:00
Timo Kösters
5d3ba5c628
Merge branch 'WIP_persy_batch_next' into 'next'
...
feat: Integration with persy using background ops
See merge request famedly/conduit!231
2022-01-21 15:31:46 +00:00
Andrei Vasiliu
f244c0e2ce
Merge remote-tracking branch 'refs/remotes/origin/next' into command-refactor
2022-01-21 10:19:17 +02:00
Andrei Vasiliu
e378bc4a2c
Refactor admin commands to use structopt
2022-01-21 10:17:50 +02:00
Timo Kösters
ab4f3bd06c
Merge branch 'lib-main' into 'next'
...
Clean up mod and use statements in lib.rs and main.rs
See merge request famedly/conduit!258
2022-01-20 12:32:39 +00:00
Jonas Platte
ff5fec9e74
Raise minimum supported Rust version to 1.56
2022-01-20 13:19:51 +01:00
Timo Kösters
d4eb3e3295
fix: rocksdb does not use zstd compression unless we disable everything else
2022-01-19 07:09:25 +01:00
Timo Kösters
ee8e72f7a8
feat: implement server ACLs
2022-01-17 14:35:38 +01:00
Tglman
c1cd4b5e26
chore: set the released version of persy in Cargo.toml
2022-01-15 14:17:15 +00:00
Tglman
1cc41937bd
refactor:use generic watcher in persy implementation
2022-01-15 14:17:15 +00:00
Tglman
ab15ec6c32
feat: Integration with persy using background ops
2022-01-15 14:17:15 +00:00
Timo Kösters
077e9ad438
improvement: memory usage for caches
2022-01-13 22:44:25 +01:00
Timo Kösters
fa6d7f7ccd
feat: database backend selection at runtime
2022-01-13 22:42:22 +01:00
Timo Kösters
b1d9ec3efc
fix: atomic increment
2022-01-13 22:28:18 +01:00
Timo Kösters
a30b588ede
rocksdb as default
2022-01-13 22:10:50 +01:00
Timo Kösters
1d647a1a9a
improvement: allow rocksdb again
2022-01-13 22:10:43 +01:00
Jonas Platte
349865d3cc
Upgrade Ruma
2022-01-13 11:44:23 +01:00
Timo Kösters
0ec26b7e96
Merge branch 'next' into 'next'
...
refactor:moved key watch wake logic to specific module
See merge request famedly/conduit!238
2022-01-13 10:27:56 +00:00
Tglman
a889e884e6
refactor:moved key watch wake logic to specific module
2021-12-23 23:17:43 +00:00
Jonas Platte
aba95b20f3
Upgrade Ruma
2021-12-23 17:40:42 +01:00
Jonas Platte
34d3f74f36
Use Arc for EventIds in PDUs
...
Upgrades Ruma again to make this work.
2021-12-16 13:55:24 +01:00
Jonas Platte
892a0525f2
Upgrade Ruma
2021-12-15 13:00:37 +01:00
Timo Kösters
afa5d449c6
Merge branch 'better-multiarch-building-the-second-attempt' into 'next'
...
CI: New Multiarch builds and Docker images + cargo clippy/test output now integrated into GitLab
Closes #145
See merge request famedly/conduit!225
2021-11-21 17:34:09 +00:00
Jonas Zohren
2fff720df3
CI: New Multiarch builds and Docker images + cargo clippy/test output now integrated into GitLab
2021-11-21 17:34:08 +00:00
Moritz Bitsch
9fccbb014a
Implement TURN server authentication with hmac
...
This is a prefered method to allow limited access to the TURN server
2021-11-12 12:43:15 +00:00
Nyaaori
bbe16f8467
Update Ruma
2021-10-24 00:45:02 +00:00
Nyaaori
55d78b1914
Bump Ruma version to fix M_BAD_JSON on login
2021-10-16 00:45:51 +00:00
Jonas Platte
09895a20c8
Upgrade Ruma
...
Co-authored-by: Timo Kösters <timo@koesters.xyz>
2021-10-13 10:16:45 +02:00
Jonas Platte
979ec6b4fa
Upgrade ruma
2021-09-13 20:55:13 +02:00
Jonas Platte
5821b8e705
Remove unused dependencies
2021-09-07 15:41:01 +02:00
Timo Kösters
7cd7f1923f
chore: update dependencies
2021-09-01 22:31:25 +02:00
Timo Kösters
43d693ca19
revert Arc<EventId> commit
2021-09-01 22:30:11 +02:00
Timo Kösters
875b345a5f
docs: update readme and version
2021-09-01 22:18:19 +02:00
Timo Kösters
4b39d7cb64
fix: batch key fetching
2021-09-01 20:02:34 +02:00
Jonathan de Jong
69df9a0145
add tls
2021-08-30 20:18:48 +02:00
Devin Ragotzy
9bff276fa9
Use Arc<EventId> in place of most EventIds
2021-08-27 20:20:14 +02:00
Timo Kösters
d485eb5a24
chore: bump dependencies
2021-08-26 14:38:25 +02:00
Timo Kösters
dd87066546
improvement: more efficient auth chain cache
2021-08-24 21:55:18 +02:00
Timo Kösters
30b309b708
Merge branch 'speed' into 'master'
...
Better E2EE and faster incoming event handling
See merge request famedly/conduit!163
2021-08-24 18:16:56 +00:00
Timo Kösters
81e056417c
improvement: better e2ee over fed, faster incoming event handling
2021-08-24 19:52:05 +02:00
Jonas Zohren
b6e755f67e
Only apply max. optimizations in CI builds.
...
The average german man has a life expectancy of 78.7 years, or 689884.2 hours.
Assuming that Timo is 20 years old, he has rougly 514564.2 hours left on planet earth.
Also assuming that cross release builds took him 25 minutes before,
but 2-2.5x of that with the current release compilation config he wasted roughly an hour waiting for it to complete.
If he continued to work on Conduit for 20 more years (or 175320 hours),
and makes a release compilation about once per day, this means 7305 hours or 304 days wasted waiting for the rust compiler.
By cutting that back down to the original settings, he get's 182 days of his life back.
That's about 0.63% of his remaining life.
182 joyful days he can spend with family and loved ones.
2021-08-22 21:05:32 +00:00
Timo Kösters
33481ec062
Merge branch 'statediffs' into 'master'
...
Statediffs
See merge request famedly/conduit!145
2021-08-21 13:05:38 +00:00
Timo Kösters
46d8a46e1f
improvement: faster incoming transaction handling
2021-08-19 11:01:43 +02:00
Jonas Zohren
9c3a8edcae
Use full optimizations for master and faster config else
...
Signed-off-by: Jonas Zohren <git-pbkyr@jzohren.de>
2021-08-14 21:41:27 +02:00
Timo Kösters
df727688ef
remove rocksdb
2021-08-04 21:17:40 +02:00
Timo Kösters
5df6b8cd5f
improvement: better account data implementation
2021-07-30 16:08:24 +02:00
Timo Kösters
5c776e9ba7
feat: heed db backend (LMDB)
2021-07-29 23:11:53 +02:00
Timo Kösters
5e924227b6
feat: add threadpool for iterator threads, bug fixes, tracing_flame support
2021-07-29 08:49:28 +02:00
Timo Kösters
f0ac7ed933
chore: update ruma again
2021-07-20 15:25:17 +02:00
Timo Kösters
0f8ecdc625
fix: state res fixes
2021-07-20 15:25:17 +02:00
Timo Kösters
cfaa900e83
improvement: auth chain cache
2021-07-20 15:25:16 +02:00
Timo Kösters
f5273f7eb1
improvement: upgrade ruma and implement blurhashes
2021-07-20 15:25:16 +02:00
Timo Kösters
0fcefa4125
fix: ruma
2021-07-20 15:25:16 +02:00
Jonathan de Jong
661101c9ae
add sled cache_capacity back
2021-07-15 13:29:08 +02:00
Jonathan de Jong
15471d9ac4
update rocket and lock
2021-07-14 11:28:24 +02:00
Jonathan de Jong
9d4fa9a220
Sqlite
2021-07-14 07:07:08 +00:00
Timo Kösters
5711467ad9
Merge branch 'state-res-closure' into 'master'
...
Remove auth_cache using a closure to fetch events in state-res
See merge request famedly/conduit!108
2021-07-02 10:56:21 +00:00
Devin Ragotzy
c30cc50a0b
Switch ruma to a commit from next
2021-07-02 06:40:40 -04:00
Aiden McClelland
b2d5516058
add support for arbitrary proxies
2021-07-01 12:41:12 -06:00
Devin Ragotzy
98f1480e2b
Remove auth_cache using a closure to fetch events in state-res
2021-06-30 12:54:19 +02:00
Timo Kösters
05821d6fd5
improvement: pdu cache, /sync cache
2021-06-30 10:31:34 +02:00
Jonas Platte
f6046871f4
Upgrade Ruma
2021-06-17 20:12:36 +02:00
Timo Kösters
cd4bc520d8
improvement: feature flags for sled, rocksdb
2021-06-12 15:13:04 +02:00
Timo Kösters
d0ee823254
feat: swappable database backend
2021-06-09 22:21:52 +02:00
Damian Poddebniak
bb7a4220d3
Fix ruma dependency
2021-06-04 20:18:03 +02:00
Timo Kösters
5b5cc0574e
feat: implement /claim, handle to-device events
2021-05-28 13:46:15 +02:00
Vadim Zeitlin
0f16a79888
Specify the minimum required Rust version in the manifest
...
Also mention it in the deployment guide.
2021-05-27 23:32:33 +02:00
Timo Kösters
daa1fc90a7
fix: state resolution bugs
2021-05-27 10:48:17 +02:00
Timo Kösters
acfd0aef27
Merge branch 'cargo-deb-packaging-update' into 'master'
...
Update cargo-deb packaging for recent changes
See merge request famedly/conduit!61
2021-05-22 09:03:43 +00:00
Timo Kösters
09157b2096
improvement: federation get_keys and optimize signingkey storage
...
- get encryption keys over federation
- optimize signing key storage
- rate limit parsing of bad events
- rate limit signature fetching
- dependency bumps
2021-05-21 13:25:24 +02:00
Timo Kösters
24793891e0
feat: implement GET /presence
2021-05-14 11:05:41 +02:00
Timo Kösters
f62258ba35
improvement: bug fixes and refactors
...
- power level content override adds to the default event instead of
replacing it
- sending code refactored to make edus possible
- remove presence events when restarting conduit
- remove room_id field from read receipts over /sync
- handle incoming read receipts
- fix array bounds bug in server_server.rs
2021-05-12 20:15:24 +02:00
Jonas Platte
a0457000ff
Upgrade Ruma
2021-05-08 01:54:28 +02:00
Jonas Platte
c28eba1e5b
Bump ruma
2021-04-29 21:05:29 +02:00
Jonas Platte
5be5c9e9f0
Bump ruma
2021-04-26 19:02:32 +02:00
Timo Kösters
2fc1ec2ad5
fix: logging
2021-04-24 13:34:35 +02:00
Jonas Platte
d8b484beed
Upgrade ruma
2021-04-24 12:22:36 +02:00
Timo Kösters
23f81bfaf7
chore: update dependencies
2021-04-24 12:18:19 +02:00
Timo Kösters
6e84d317b2
improvement: update ruma
2021-04-24 12:17:44 +02:00
Paul van Tilburg
5bf43a4d7e
Generate conduit.toml instead of debian environment file
...
Only generate this file once. I am not sure what to do with future
upgrades yet.
2021-04-22 21:52:40 +02:00
Paul van Tilburg
ab58609d3d
No longer use/support a local environment file
2021-04-16 22:07:58 +02:00
Gabriel Souza Franco
0b56589dce
feat: add handling of tls cert for delegated hosts
2021-04-15 22:07:27 -03:00
Timo Kösters
04b08d4505
chore: bump stateres
2021-04-14 17:46:17 +02:00
Timo Kösters
abddfc2d2a
Merge remote-tracking branch 'famedly/master' into develop
2021-04-14 10:26:28 +02:00
Timo Kösters
5951294638
feat: join cursed rooms
...
this removes several restrictions and tries to continue verifying a pdu
event if some auth events fail (it drops/ignores bad pdus)
2021-04-14 09:39:06 +02:00
Timo Kösters
8b40e0a85f
improvement: fetch signing keys in parallel when joining a room
2021-04-13 22:54:01 +02:00
Timo Kösters
b4f79b77ba
feat: reject invites over federation
2021-04-13 17:41:14 +02:00
Timo Kösters
8773e5013d
feat: incoming invites over federation
2021-04-11 21:04:31 +02:00
Timo Kösters
044e65afcc
fix: move back to sled stable
2021-04-11 10:12:05 +02:00
Timo Kösters
84f4ce73e5
fix: membership deserializing
2021-04-09 21:45:22 +02:00
Timo Kösters
51aa6448bc
fix: use sled main to avoid deadlock
2021-04-07 17:58:33 +02:00
Jonas Platte
fe744c856f
Upgrade ruma
...
… and refactor push rule code along the way.
2021-04-06 17:38:53 +02:00
Timo Kösters
c213769d9f
improvement: refactor state res and fix a few bugs in the process
2021-03-25 23:55:40 +01:00
Timo Kösters
3ea7d162db
fix: various improvements and fixes
2021-03-23 12:59:27 +01:00
Timo Kösters
363c629faf
fix: signature key fetching, optimize push sending
2021-03-22 14:04:41 +01:00
Timo Kösters
d4c76f4654
chore: update ruma
2021-03-18 19:38:08 +01:00
Timo Kösters
5cb15551f3
improvement: use db compression
2021-03-18 13:13:08 +01:00
Timo Kösters
21f785d530
Merge branch 'correct-sendtxn' into pushers
2021-03-15 09:56:04 +01:00
Timo Kösters
6da40225bb
improvement: make state res actually work
2021-03-13 16:30:12 +01:00
Timo Kösters
7bc58461cd
fix: avoid illegal instruction crash
...
see https://github.com/spacejam/sled/issues/1232
2021-03-12 16:22:35 +01:00
Devin Ragotzy
d0df8b495c
Merge remote-tracking branch 'upstream/master' into correct-sendtxn
2021-03-04 08:39:16 -05:00
Timo Kösters
105f893cf3
chore: bump other dependencies to make it work
2021-03-04 12:29:08 +01:00
Rudi Floren
f4039902d8
Bump Rocket to current HEAD
2021-03-03 22:42:10 +01:00
Timo Kösters
4155a47db1
feat: opentelemetry/jaeger support
2021-03-02 15:08:54 +01:00
Devin Ragotzy
0dd8a15c49
Fix leaves not being replaced by correct eventId in membership
...
Update ruma
2021-02-27 16:09:22 -05:00
Devin Ragotzy
6fd3e1d1dd
Append state event that pass resolution to DB, update to tokio 1.1
2021-02-23 17:21:01 -05:00
Devin Ragotzy
66af1ff695
Update ruma and rocket to latest git rev and tokio to 1.0
...
Ruma updated the event signing validation code and there was a dep
resolving failure with serde rocket and tokio so I updated rocket latest and
tokio 1.0 to fix.
2021-02-23 17:20:52 -05:00
Devin Ragotzy
8de0d9f9ce
Remove StateStore trait from state-res collect events needed
2021-02-09 15:21:41 -05:00
Devin Ragotzy
4b9976aa74
Update state-res, use the new Event trait
...
This also bumps ruma to latest and removes js_int infavor of the ruma
re-export
2021-02-09 15:19:47 -05:00
Devin Ragotzy
4a92a29b56
State resolution outline for /send
2021-02-09 15:18:47 -05:00
Timo Kösters
d49911c5e0
Add 'm.login.token' authentication
2021-02-07 17:38:45 +01:00
Timo Kösters
2d7012cdb1
Merge branch 'appservices' into 'master'
...
Appservices
Closes #29
See merge request famedly/conduit!11
2021-02-07 12:24:28 +00:00
Timo Kösters
fd3fb3a7ed
Merge remote-tracking branch 'famedly/master' into appservices
2021-02-03 12:54:37 +01:00
Jonas Platte
6de5b3c2a0
Update repository link in crate metadata
2021-02-02 18:14:00 +01:00
Devin Ragotzy
73124629b7
Add general rules matching for pusher, calc unread msgs
2021-01-29 21:48:35 -05:00
Devin Ragotzy
cd0c5c0566
Append state event that pass resolution to DB, update to tokio 1.1
2021-01-29 11:20:33 -05:00
Devin Ragotzy
a897608025
Roll back tokio and rocket update since ruma's request is at 0.2 tokio
2021-01-18 19:59:08 -05:00
Devin Ragotzy
00436a32b0
Update ruma and rocket to latest git rev and tokio to 1.0
...
Ruma updated the event signing validation code and there was a dep
resolving failure with serde rocket and tokio so I updated rocket latest and
tokio 1.0 to fix.
2021-01-18 19:36:44 -05:00
Devin Ragotzy
8a035880f0
Remove StateStore trait from state-res collect events needed
2021-01-14 14:30:24 +01:00
Devin Ragotzy
9e83d2b2d5
Update state-res, use the new Event trait
...
This also bumps ruma to latest and removes js_int infavor of the ruma
re-export
2021-01-14 14:30:19 +01:00
Devin Ragotzy
690c066064
State resolution outline for /send
2021-01-14 14:28:32 +01:00
Timo Kösters
2cf6fd57b7
improvement: don't send pdus to appservices if it isn't interested
...
TODO: we need to send pdus if a user of the appservice is in the room
but not the appservice user itself
2020-12-23 19:41:54 +01:00
Timo Kösters
6e5b35ea92
feat: implement appservices
...
this also reverts some stateres changes
2020-12-08 12:59:20 +01:00
Timo Kösters
45086b54b3
improvement: upgrade dependencies, fix timeline reload bug
2020-12-05 21:04:34 +01:00
Devin Ragotzy
164b1633d8
Update ruma to latest, renamed server keys and removed PduStub
2020-12-05 17:44:54 +01:00
Devin Ragotzy
acd144e934
Fix get_closest_parent and cleanup federation/send/:txn
2020-12-05 17:37:10 +01:00
Devin Ragotzy
db8a0c5d69
Add closest_parent method to Rooms Db insert in order /send pdus
2020-12-05 17:37:07 +01:00
Devin Ragotzy
96dd3b2880
Update ruma to latest, fix unstable origin feature in ruma
2020-12-05 17:37:07 +01:00
Paul van Tilburg
1b4a79d47c
Add and install README.Debian
...
This file documents how the packaging is organized and how to
configure and use it. It also details what the default deployment
is like.
2020-11-24 14:42:20 +01:00
Paul van Tilburg
f72554de10
Split config into a Debian and local part
...
* The Debian part will be generated and managed by Debconf and configure
homeserver name, address and port
* The local part will just be a config file that shows the other
configuration options
Added the address configuration and moved the config generation
from the config to the postinst script.
2020-11-24 14:42:18 +01:00
Paul van Tilburg
79692db45d
First version of cargo-deb packaging setup
2020-11-24 14:38:15 +01:00
Timo Kösters
6b3934e31d
feat: configurable cache capacity
2020-10-23 14:38:12 +02:00
Timo
a2dbc6fe6d
Change license to Apache-2.0
2020-10-18 13:47:52 +02:00
Timo Kösters
151ef07fb3
docs: cross compile
2020-10-18 09:04:11 +02:00
Timo Kösters
e08dfd982b
improvement: look at SRV record when sending requests
2020-09-23 12:04:02 +02:00
Timo
d1099e9224
Update dependencies
2020-09-14 14:36:49 +02:00
Timo Kösters
12a8c9badd
fix: join rooms over federation
2020-09-12 21:30:07 +02:00
Timo Kösters
1e8fbd8d50
Update ruma version
2020-09-08 17:32:03 +02:00
Devin Ragotzy
f46c2d1eec
Fix review issues, move state-res to spec-comp branch
2020-08-27 20:11:53 -04:00
Devin Ragotzy
cb68bf9e0c
Use ring crate to generate StatHashes when saving stateid/statehash
2020-08-23 16:43:21 -04:00
Devin Ragotzy
c4f5a0a631
Keep track of State at event for state resolution
...
feat: first steps towards joining rooms over federation
Add state-res as a dependency of conduit
Add reverse_topological_power_sort before append_pdu
Implement statehashstatid_pduid tree for keeping track of state
Clean up implementation of state_hash as key for tracking state
2020-08-23 16:43:21 -04:00
Timo
f23fb32e95
fix: set limited to true when skipping messages in /sync
2020-08-23 16:14:09 +02:00