Commit graph

53 commits

Author SHA1 Message Date
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
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
be9860f7d0 Create tesla middleware for adding signature to federation requests
Change repo structure
2021-08-14 15:20:42 +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
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
8a2ef0d079 Add working implementation of state resolution
Add some database seeds
2021-07-23 21:00:01 +02:00
2d34f78a0b WIP room server 2021-07-21 15:50:28 +02:00
8919fe3f14 Add more events during room creation 2021-07-17 18:54:49 +02:00
bbb134679c Fix compiler warnings 2021-07-17 17:44:17 +02:00
9be94751dc Add part of room creation endpoint 2021-07-17 17:38:20 +02:00
585de861d6 Add tests for login 2021-07-13 23:16:56 +02:00
6b9c9333b8 Add more register tests 2021-07-13 19:35:02 +02:00
096c99df92 Add start of controller testing 2021-07-13 17:08:07 +02:00
598af7a884 Add endpoint for room creation 2021-07-10 23:16:00 +02:00
80c8d3a66b Add state resolution function 2021-07-05 16:12:44 +02:00
d30e49f5a9 WIP state resolution 2021-07-03 12:30:57 +02:00
c7672a1bd9 Implement logout and logout/all endpoints 2021-06-27 22:24:54 +02:00
5fe604c5a2 Implement login endpoint 2021-06-27 17:28:28 +02:00
7c73c2c424 Create schemas for JSON API endpoints 2021-06-26 22:02:18 +02:00
dac1a429b9 Implement access token authentication
Add whoami endpoint
2021-06-26 00:29:33 +02:00