Commit Graph

330 Commits

Author SHA1 Message Date
Paul "LeoNerd" Evans
274d137b00 Extra verbosity on logging of received presence info 2014-12-02 20:51:28 +00:00
Paul "LeoNerd" Evans
307f94dcbe Squash room_ids list to a set() to remove duplicates - with TODO marker as I have no idea /why/ the dups are happening in the first place 2014-12-02 20:51:12 +00:00
Erik Johnston
9d53228158 Change DomainSpecificString so that it doesn't use a HomeServer object 2014-12-02 10:42:28 +00:00
Erik Johnston
027542e2e5 Fix bugs when joining a remote room that has dodgy event graphs. This should also fix the number of times a HS will trigger a GET /event/ 2014-11-27 16:02:26 +00:00
Erik Johnston
0294fba042 on_receive_pdu takes more args 2014-11-27 14:46:33 +00:00
Erik Johnston
07699b5871 Change the way we get missing auth and state events 2014-11-27 14:31:43 +00:00
Erik Johnston
b8849c8cbf Re-sign events when we return them via federation as a temporary hack to work around the problem where we reconstruct events differently than when they were signed 2014-11-27 13:53:31 +00:00
Erik Johnston
00ab5cd6f2 Attempt to fix bug where we 500d an event stream due to trying to cancel a timer twice 2014-11-26 18:04:33 +00:00
Erik Johnston
858e87ab0d Add a workaround for bug where some initial join events don't reference creation events in their auth_events 2014-11-26 16:29:03 +00:00
Erik Johnston
6c485c282d Catch exceptions when trying to add an entry to rooms tables 2014-11-26 16:06:20 +00:00
Erik Johnston
3598c11c8d Correctly handle the case where we get an event for an unknown room, which turns out we are actually in 2014-11-26 10:41:08 +00:00
Erik Johnston
64fc859dac Fix bugs in invite/join dances.
We now do more implement more of the auth on the events so that we
don't reject valid events.
2014-11-25 17:59:49 +00:00
Erik Johnston
4bd0ab76c6 We don't always want to Auth get_persisted_pdu 2014-11-24 12:56:17 +00:00
Mark Haines
fd40a80a68 Return 404 M_NOT_FOUND when trying to look up a room alias that doesn't exist 2014-11-21 15:11:48 +00:00
Paul "LeoNerd" Evans
5f19c55731 SYN-58: Allow passing explicit limit=0 to initialSync to request no messages at all; missing still implies default 10 2014-11-20 19:33:45 +00:00
Mark Haines
610c2ea131 Fix pep8 and pyflakes warnings 2014-11-20 18:00:10 +00:00
David Baker
f1c7f8e813 Merge branch 'develop' into http_client_refactor 2014-11-20 17:49:48 +00:00
David Baker
e377d33652 Separate out the matrix http client completely because just about all of its code it now separate from the simple case we need for standard HTTP(S) 2014-11-20 17:41:56 +00:00
Mark Haines
db9ce032a4 Fix pep8 codestyle warnings 2014-11-20 17:26:36 +00:00
Mark Haines
32090aee16 Add a few missing yields, Move deferred lists inside PreserveLoggingContext because they don't interact well with the logging contexts 2014-11-20 16:24:00 +00:00
David Baker
20326054da Oops, I removed this param. 2014-11-20 15:24:38 +00:00
David Baker
dc60eee50e Refactor the HTTP clients a little. 2014-11-20 13:53:34 +00:00
Mark Haines
dcb99e4972 SYN-153: Fix formatting of federation error message 2014-11-20 09:58:23 +00:00
Erik Johnston
415ddf59bb Don't add a 'prev' key to m.room.member messages 2014-11-19 17:59:51 +00:00
Paul "LeoNerd" Evans
03dc63f6c8 Initialise UserPresenceCache instances to always contain a 'presence' key 2014-11-19 17:31:46 +00:00
Mark Haines
8993affdc0 SYN-153: Raise 404 if room alias is not found 2014-11-19 17:14:14 +00:00
Mark Haines
97c7c34f6f Preserve logging context in a few more places, drop the logging context after it has been stashed to reduce potential for confusion 2014-11-19 16:37:43 +00:00
Mark Haines
54c438d8d3 Remove unused variable 2014-11-18 16:46:12 +00:00
Paul "LeoNerd" Evans
75e95c45a2 Rename message handler's new snapshot_room to room_initial_sync() as that better suits its purpose 2014-11-18 16:02:44 +00:00
Paul "LeoNerd" Evans
e9f587ecba Merge remote-tracking branch 'origin/develop' into room-initial-sync 2014-11-18 15:48:30 +00:00
Mark Haines
b01dd76be1 SYN-149: Enable auth for events added during room creation since they should pass auth checks 2014-11-18 15:42:53 +00:00
Mark Haines
ae9c2ab165 SYN-149: Send join event immediately after the room create event 2014-11-18 15:29:48 +00:00
Paul "LeoNerd" Evans
33d328d967 Include room members' presence in room initialSync 2014-11-18 15:28:58 +00:00
Paul "LeoNerd" Evans
759db7d7d5 Added ability to .get_state() from the PresenceHandler by returning a complete m.presence event 2014-11-18 15:25:55 +00:00
Paul "LeoNerd" Evans
4c18e08036 Don't expect all _user_cachemap entries to definitely contain a "last_active" key 2014-11-18 15:10:11 +00:00
Mark Haines
a5b88c489e Split out sending the room alias events from creating the alias so that we can do them in the right point when creating a room 2014-11-18 15:03:13 +00:00
Paul "LeoNerd" Evans
17f977a9de Include 'messages' snapshot in room initialSync 2014-11-18 14:07:51 +00:00
Paul "LeoNerd" Evans
31a049eb69 Merge branch 'develop' into room-initial-sync
Conflicts:
	synapse/handlers/message.py
2014-11-17 16:59:24 +00:00
Mark Haines
cf45e57d9c SYN-148: Add the alias after creating the room 2014-11-17 16:37:33 +00:00
Mark Haines
2eaf689f71 These lines aren't doing anything 2014-11-17 10:41:35 +00:00
Mark Haines
cb4b6c844a Merge PDUs and Events into one object 2014-11-14 21:25:02 +00:00
Mark Haines
8c2b5ea7c4 Fix PDU and event signatures 2014-11-14 19:11:04 +00:00
Mark Haines
de1ec90133 Validate signatures on incoming events 2014-11-14 19:11:04 +00:00
Erik Johnston
b2596c660b Add a few more comments to the federation handler 2014-11-12 16:20:30 +00:00
Erik Johnston
6fea478d2e Fix bugs with invites/joins across federatiom.
Both in terms of auth and not trying to fetch missing PDUs for invites,
joins etc.
2014-11-12 11:24:11 +00:00
Erik Johnston
61ecb13bf0 PEP8ify 2014-11-11 18:00:13 +00:00
Erik Johnston
37900a92db Only allow people in a room to look up room state. 2014-11-11 17:55:32 +00:00
Erik Johnston
3db2c0d43e Rename annotate_state_groups to annotate_event_with_state 2014-11-11 16:58:53 +00:00
Erik Johnston
5ff0bfb81d Fix bug where we /always/ created a new state group 2014-11-11 14:16:41 +00:00
Paul "LeoNerd" Evans
c23afed39a Include room membership in room initialSync 2014-11-10 19:34:47 +00:00
Paul "LeoNerd" Evans
1fd8139138 Put room state in room initialSync output - I guess this is right; I really can't find any other tests similar... 2014-11-10 19:29:58 +00:00
Paul "LeoNerd" Evans
269f80bf8e Have room initialSync return the room's room_id 2014-11-10 19:02:19 +00:00
Erik Johnston
a8e565eca8 Add an EventValidator. Fix bugs in auth ++ storage 2014-11-10 18:25:42 +00:00
Erik Johnston
5d439b127b PEP8 2014-11-10 13:46:44 +00:00
Erik Johnston
003668cfaa Add auth to the various server-server APIs 2014-11-10 13:37:24 +00:00
Erik Johnston
6447db063a Fix backfill to work. Add auth to backfill request 2014-11-10 11:59:51 +00:00
Erik Johnston
65f846ade0 Notify users about invites. 2014-11-10 11:15:02 +00:00
Erik Johnston
07286a73b1 Use current state to get room hosts, rather than querying the database 2014-11-07 16:03:31 +00:00
Erik Johnston
02c3b1c9e2 Add '/event_auth/' federation api 2014-11-07 15:35:53 +00:00
Erik Johnston
d2fb2b8095 Implement invite part of invite join dance 2014-11-07 13:41:00 +00:00
Erik Johnston
3b4dec442d Return auth chain when handling send_join 2014-11-07 11:22:12 +00:00
Erik Johnston
49948d72f3 Fix joining over federation 2014-11-07 10:53:38 +00:00
Erik Johnston
bf6b72eb55 Start implementing auth chains 2014-11-07 10:53:38 +00:00
Erik Johnston
351c64e99e Amalgamate all power levels.
Remove concept of reqired power levels, something similiar can be done
using the new power level event.
2014-11-06 16:59:13 +00:00
Erik Johnston
233969bb58 Update to use replaces_state rather than prev_state 2014-11-06 15:25:03 +00:00
Erik Johnston
4317c8e583 Implement new replace_state and changed prev_state
`prev_state` is now a list of previous state ids, similiar to
prev_events. `replace_state` now points to what we think was replaced.
2014-11-06 15:10:55 +00:00
Erik Johnston
96c001e668 Fix auth checks to all use the given old_event_state 2014-11-05 11:07:54 +00:00
Erik Johnston
dfb3d21a6d Fix room handler tests 2014-11-04 17:12:39 +00:00
Erik Johnston
da4a09f977 Don't bother locking 2014-11-04 16:51:23 +00:00
Erik Johnston
2a49f177fe On AuthError, raise a FederationError 2014-11-04 15:10:43 +00:00
Erik Johnston
aa76bf39ab Remove unused imports 2014-11-04 14:14:02 +00:00
Erik Johnston
ad6eacb3e9 Rename PDU fields to match that of events. 2014-11-03 13:06:58 +00:00
Erik Johnston
7249785bcb Sign events we create. 2014-11-03 11:33:28 +00:00
Erik Johnston
7a07263281 Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization 2014-11-03 10:17:37 +00:00
Erik Johnston
1c6825cc7a Use python logger, not the twisted logger 2014-11-03 10:16:28 +00:00
Erik Johnston
21fe249d62 Actually don't store any PDUs 2014-10-31 10:47:34 +00:00
Erik Johnston
f2de2d644a Move the impl of backfill to use events. 2014-10-31 09:59:02 +00:00
Erik Johnston
12ce441e67 Convert event ids to be of the form :example.com 2014-10-30 17:00:11 +00:00
Erik Johnston
da511334d2 Make federation return the old current state, so that we can use it to do auth 2014-10-30 11:53:35 +00:00
Erik Johnston
ef9c4476a0 Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization 2014-10-30 11:18:28 +00:00
Mark Haines
7d709542ca Fix pep8 warnings 2014-10-30 11:10:17 +00:00
Erik Johnston
e7858b6d7e Start filling out and using new events tables 2014-10-29 16:59:24 +00:00
Paul "LeoNerd" Evans
b1ee6fd7ed Fix an off-by-one bug in presence event stream pagination; this might be responsible for any number of bug reports 2014-10-29 16:16:01 +00:00
Paul "LeoNerd" Evans
d6bcffa929 Construct a source-specific 'SourcePaginationConfig' to pass into get_pagination_rows; meaning each source doesn't have to care about its own name any more 2014-10-29 16:16:01 +00:00
Paul "LeoNerd" Evans
c5a25f610a Remove redundant (and incorrect) presence pagination fetching code 2014-10-29 16:16:01 +00:00
Mark Haines
4841b6d4ba Remove duplicate join_event from create_room 2014-10-27 16:55:51 +00:00
Erik Johnston
bb4a20174c Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization
Conflicts:
	synapse/federation/transport.py
	synapse/handlers/message.py
2014-10-27 10:20:44 +00:00
Mark Haines
4be99c2989 Add get_json method to 3pid http client. Better logging for errors in 3pid requests 2014-10-20 14:10:08 +01:00
Erik Johnston
bf8cdda2f5 It doesn't want a dict 2014-10-17 20:10:34 +01:00
Erik Johnston
b3b1961496 Fix bug where people could join private rooms 2014-10-17 19:37:41 +01:00
Erik Johnston
5ffe5ab43f Use state groups to get current state. Make join dance actually work. 2014-10-17 18:56:42 +01:00
Mark Haines
456017e0ae SPEC-7: Don't stamp event contents with 'hsob_ts' 2014-10-17 16:55:55 +01:00
Erik Johnston
f71627567b Finish implementing the new join dance. 2014-10-17 15:04:17 +01:00
Erik Johnston
1116f5330e Start implementing the invite/join dance. Continue moving auth to use event.state_events 2014-10-16 16:56:51 +01:00
Erik Johnston
e7bc1291a0 Begin making auth use event.old_state_events 2014-10-15 16:06:59 +01:00
Mark Haines
b9cdc443d7 Fix pyflakes errors 2014-10-02 14:37:30 +01:00
Mark Haines
574377636e Add a keyword argument to get_json to avoid retrying on DNS failures. Rather than passing MatrixHttpClient.RETRY_DNS_LOOKUP_FAILURES as a fake query string parameter 2014-10-02 14:26:13 +01:00
Mark Haines
4f11518934 Split PlainHttpClient into separate clients for talking to Identity servers and talking to Capatcha servers 2014-10-02 14:03:26 +01:00
Erik Johnston
e06adc6d7e SYN-2: Allow server admins to delete room aliases 2014-09-30 11:31:42 +01:00
Erik Johnston
3ccb17ce59 SYN-48: Implement WHOIS rest servlet 2014-09-29 14:59:52 +01:00