Commit graph

70 commits

Author SHA1 Message Date
2088f0a869 Implement client ban and unban endpoints 2021-08-26 22:09:45 +02:00
bb7c3b07e9 Implement client kick endpoint 2021-08-26 14:32:24 +02:00
07d3326c07 Create function to add a single event to a room 2021-08-26 11:08:54 +02:00
ae860a768c Implement client leave endpoint
Add documentation and type specs
2021-08-26 11:01:19 +02:00
a1475c1a46 Fix updating joined rooms when event is inserted in history 2021-08-25 16:44:39 +02:00
658efa228f Implement client join endpoint 2021-08-25 12:25:14 +02:00
941eb685b4 Also remove joined rooms associations
Add some more documentation to room server
2021-08-25 11:46:35 +02:00
bcc6cbb24b Implement client invite endpoint
Refactor room server to automatically determine auth events
Add documentation in various places
2021-08-25 01:27:03 +02:00
6f8c224d50 Implement client joined rooms endpoint
Track which rooms a local account has joined
Add some documentation to modules
2021-08-23 12:59:12 +02:00
9d40f8bc8b Add some documentation 2021-08-22 15:19:48 +02:00
a44595bb99 Implement state_ids federation endpoint 2021-08-22 12:19:47 +02:00
ba3e290bf1 Implement federation room state snapshot endpoint 2021-08-21 21:39:28 +02:00
e510c3bb6a Implement retrieving a single event over federation
Fix url encoding during homeserver signature check
2021-08-21 11:25:36 +02:00
1881b7f3d6 Add more type checking 2021-08-19 23:42:24 +02:00
4b60a145ca Split Identifier struct into seperate types 2021-08-19 16:31:03 +02:00
24f0657710 Fix get_action_power_level for redact and kick actions 2021-08-18 23:23:47 +02:00
58d3e17259 Add dialyzer dependency
Add typespecs to several functions
2021-08-18 23:22:04 +02:00
7b011123f8 Fix prev events not being hashed and signed during room creation. 2021-08-18 19:04:09 +02:00
1781575e75 Calculate and set event id using reference hash 2021-08-18 13:54:18 +02:00
8696b0fb96 Restructure router rules 2021-08-17 22:50:15 +02:00
02edff90e7 Add function to query whether server participates in a room
Move from integer timestamps to datetimes
2021-08-16 19:30:47 +02:00
5d75244bc0 Add common struct to represent matrix identifiers
Use identifier struct in profile query validation
2021-08-16 14:29:01 +02:00
46231b9b09 Sign body contents for federation request if present 2021-08-14 17:15:02 +02:00
be9860f7d0 Create tesla middleware for adding signature to federation requests
Change repo structure
2021-08-14 15:20:42 +02:00
214293323c Fix urlencoded path in federation client signature check 2021-08-13 20:44:35 +02:00
c5de486dba Handle enacl exceptions during signature checks
Fix usage of undecoded signing key during server authentication
Fix several bugs in profile query endpoint
2021-08-13 17:36:34 +02:00
ff3dd38369 Verify signatures of signing keys 2021-08-13 13:45:10 +02:00
fb59fee754 Add schemas and functions to query signing keys from servers 2021-08-13 00:45:07 +02:00
e6b3c4752d Fix server signature verification 2021-08-10 18:02:53 +02:00
33b64d80f5 Add code for verifying homeservers' signatures on API requests 2021-08-08 19:20:10 +02:00
f50f08061c Restructure code base 2021-08-06 23:14:27 +02:00
1e53776a8d Add federation API
Add signing keys fed API request
2021-08-06 22:03:34 +02:00
ef9ae82e75 Add endpoint to get server publishing keys 2021-08-06 15:52:03 +02:00
38af22fea6 Add function to sign event
Add signing server to perform signing
Add enacl library to perform ed25519 crypto
2021-08-05 13:30:46 +02:00
0c40c26bca Add function to calculate content hash of an event
Add function to redact an event
2021-08-04 15:28:27 +02:00
1a5b66a3d7 Add alias creation endpoint 2021-07-30 15:56:24 +02:00
f033b88121 Fix create room API endpoint 2021-07-29 22:06:02 +02:00
9e02d5b95c Refactor room server
Serialize and save room state in database
Get room state from database when creating a room server
2021-07-29 16:59:40 +02:00
65368dc2d4 Extract authorization functions from state resolution
Add function to get room server's pid
2021-07-28 17:23:48 +02:00
ee4c41ce77 Implement most authorization rules for state resolution 2021-07-27 17:19:08 +02:00
dc12575923 Save preset events when creating room 2021-07-27 12:55:36 +02:00
3c93ddd768 Save name and topic events when creating room 2021-07-26 23:42:35 +02:00
e284b3e21a Add several checks before processing an event for state resolution 2021-07-26 19:47:38 +02:00
857aabd007 Add creator join event when creating room
Fix event set format bug in state resolution
2021-07-26 11:50:18 +02:00
d3c16dd7aa Save state set in database 2021-07-25 17:39:22 +02:00
8a5bba72fb Add forward extremities to rooms 2021-07-25 14:57:52 +02:00
937204b73a Map from state pair to event struct in state sets 2021-07-24 22:54:03 +02:00
dd7000e069 Add validation of auth events for events 2021-07-24 22:08:01 +02:00
b9156ed8b3 Resolve state when inserting create room event
Cleanup code
2021-07-24 00:13:12 +02:00
135df49d1b Improve database usage for state resolution 2021-07-23 22:50:09 +02:00