Commit Graph

388 Commits

Author SHA1 Message Date
Kegan Dougal
10afd895c4 Edited /presence REST servlet to raise SynapseErrors to return a standard error response, rather than a string. 2014-09-03 11:56:47 +01:00
Kegan Dougal
c54d8df504 Update API docs to use 'presence' key not 'state'. Fixed error messages when setting presence. 2014-09-03 11:45:30 +01:00
Kegan Dougal
acfabfff9c Fixed /presence APIs to urldecode user IDs. 2014-09-03 11:31:48 +01:00
Kegan Dougal
65693e9e15 Fixed GET /events/$id to be not broken. 2014-09-03 11:24:45 +01:00
Mark Haines
bf10cf5f1a move contentrepo class to it's own file 2014-09-03 11:10:44 +01:00
Kegan Dougal
2385d396c3 URL decode user IDs for /profile REST path segments. 2014-09-03 11:05:29 +01:00
Paul "LeoNerd" Evans
da3e04df8b Rename the 'do_users_share_a_room' to something slightly less verb-sounding 2014-09-03 10:40:48 +01:00
Paul "LeoNerd" Evans
967b45bc1a Allow optional non-suppression of exceptions through the Distributor 2014-09-03 10:40:21 +01:00
Paul "LeoNerd" Evans
ddf3ca7ab3 Neater is_presence_visible() code 2014-09-03 10:40:21 +01:00
Erik Johnston
ddc16d8642 Merge branch 'master' into develop 2014-09-03 09:46:39 +01:00
Kegan Dougal
c77add6d21 Add ban support: /rooms/$roomid/ban with { user_id : foo } 2014-09-03 09:43:32 +01:00
Mark Haines
c6eafdfbaf Add copyright notices and fix pyflakes errors 2014-09-03 09:43:11 +01:00
Mark Haines
112c7ea315 Set status message for ratelimit error responses 2014-09-03 09:37:44 +01:00
Mark Haines
30ad0c5674 Merge branch 'ratelimiting' into develop 2014-09-03 09:15:52 +01:00
Mark Haines
683596f91e Raise LimitExceedError when the ratelimiting is throttling requests 2014-09-03 08:58:48 +01:00
Mark Haines
780548b577 rate limiting for message sending 2014-09-02 18:22:15 +01:00
Mark Haines
0a1260b03a Add ratelimiting config 2014-09-02 18:00:15 +01:00
Mark Haines
c7a7cdf734 Add ratelimiting function to basehandler 2014-09-02 17:57:04 +01:00
Erik Johnston
e166e29e87 Bump version and changelog 2014-09-02 16:57:10 +01:00
Erik Johnston
235f686da9 Update default endpoint port to match the default ports in the config 2014-09-02 16:56:57 +01:00
Erik Johnston
464e1fcfa5 Merge branch 'master' of github.com:matrix-org/synapse into release-v0.2.0
Conflicts:
	synapse/notifier.py
	webclient/room/room-controller.js
	webclient/room/room.html
2014-09-02 15:26:11 +01:00
Mark Haines
dd2cd9312a Test ratelimiter 2014-09-02 15:16:26 +01:00
Paul "LeoNerd" Evans
aa337f588c Order matters when adding REST servlets 2014-09-02 12:53:36 +01:00
Erik Johnston
4b8244fbf8 Fix bug where we didn't correctly store the ops power levels event. 2014-09-02 12:12:14 +01:00
David Baker
5c778f2f15 Add rest endpoint for the whole user profile 2014-09-02 11:49:17 +01:00
Paul "LeoNerd" Evans
d9d6fbb085 Safer handling of incoming presence EDUs that may or maynot contain 'presence' or 'state' 2014-09-02 11:17:43 +01:00
Mark Haines
436b3c7d0c Ratelimiter object 2014-09-02 11:16:21 +01:00
Paul "LeoNerd" Evans
7b56a7a3cb 'continue' to go to the next item in a for loop, not 'break' 2014-09-02 11:15:46 +01:00
Erik Johnston
10e7821461 By default, only room ops can change the name and topic. 2014-09-02 11:11:47 +01:00
Mark Haines
cf890e9d43 Remove option for disabling webclient because it was confusing 2014-09-02 11:09:41 +01:00
Erik Johnston
db02021aba Implement auth for kicking. 2014-09-02 10:58:33 +01:00
Erik Johnston
ed25abe05f Add message to assertion 2014-09-02 10:58:33 +01:00
Erik Johnston
08d2f902dd Default HTTP and HTTPS ports to 8008 and 8448 2014-09-02 10:58:33 +01:00
Mark Haines
45570e4695 os.makedirs is almost but not entirely unlike mkdir -p 2014-09-02 10:58:05 +01:00
Mark Haines
64b341cc10 Fix typo when reading TLS config 2014-09-02 10:54:56 +01:00
Mark Haines
30572e28c2 Make the config directory if the directory doesn't exisit when generating config 2014-09-02 10:52:25 +01:00
Mark Haines
d45f89c95b More helpful error messages for missing config 2014-09-02 10:49:11 +01:00
Erik Johnston
040d985908 Add support for setting room name and topic when creating rooms 2014-09-02 10:02:14 +01:00
Matthew Hodgson
68a04b9282 given everything's apparently gone https:// by default for c-s, change this hardcoding... 2014-09-01 23:28:43 +01:00
Mark Haines
399e004884 Add unsecure listener port to homeserver 2014-09-01 22:38:52 +01:00
Mark Haines
79650f795f enable ECDHE ciphers 2014-09-01 22:29:44 +01:00
Paul "LeoNerd" Evans
270d302834 Reënable presence visibility permission checking now it's not used on redundant code paths 2014-09-01 22:15:02 +01:00
Paul "LeoNerd" Evans
32fdf8efd6 No need to test is_presence_visible in _start_polling_local because we know it will be by when it's called 2014-09-01 22:15:02 +01:00
Matthew Hodgson
61e28cdb6f specify metavars in argparse 2014-09-01 22:11:08 +01:00
Mark Haines
6fd730c96b Use yaml for config file 2014-09-01 20:44:51 +01:00
Erik Johnston
48142a01dd Don't set a 'default' key in the creation event 2014-09-01 20:39:43 +01:00
Mark Haines
8b69468e5f Use pregenerated DH params when generating config 2014-09-01 20:35:18 +01:00
Erik Johnston
bcfaaf7da6 That was a breaking db change. You need to recreate the databases. (In reality, it's enough to just run the im.sql through your db and change the schema version) 2014-09-01 20:34:07 +01:00
Erik Johnston
6d28560626 Don't put required power levels on permission state events 2014-09-01 20:27:45 +01:00
Erik Johnston
f452899fe2 Merge branch 'develop' of github.com:matrix-org/synapse into room_config 2014-09-01 19:57:28 +01:00
Mark Haines
5452a8ee29 Fix SSL for federation http client 2014-09-01 18:43:08 +01:00
Mark Haines
a53946a8a1 Enable SSL for s2s http client 2014-09-01 18:30:00 +01:00
Erik Johnston
b8ab9f1c0a Add all the necessary checks to make banning work. 2014-09-01 18:24:56 +01:00
Erik Johnston
3faa2ae78c Merge branch 'develop' of github.com:matrix-org/synapse into room_config 2014-09-01 18:21:29 +01:00
Mark Haines
6200630904 Add server TLS context factory 2014-09-01 17:55:35 +01:00
Mark Haines
46dcb0d890 Merge branch 'develop' into server2server_tls 2014-09-01 16:31:09 +01:00
Mark Haines
ef6a8e4f32 Listen using SSL 2014-09-01 16:30:43 +01:00
Paul "LeoNerd" Evans
1c6ab2d759 Bump a user's presence last_active time every time they send a message to a room 2014-09-01 16:16:35 +01:00
Erik Johnston
db7109c43b Add beginnings of ban support. 2014-09-01 16:15:34 +01:00
Paul "LeoNerd" Evans
fd696f1243 Perform room unit tests with 'local' users actually in the right domain ;) 2014-09-01 15:58:30 +01:00
Mark Haines
f5755bcadf Merge branch 'develop' into server2server_tls 2014-09-01 15:51:44 +01:00
Mark Haines
9ea1de432d Fix homeserver config parsing 2014-09-01 15:51:15 +01:00
Paul "LeoNerd" Evans
468d94c920 Rename API-visible 'mtime' presence field to 'last_active'; slightly different semantics 2014-09-01 15:39:50 +01:00
Paul "LeoNerd" Evans
02f4e3b3ff Rename 'state' presence key to the much more obvious 'presence'; maintain a legacy 'state' copy for now 2014-09-01 14:45:41 +01:00
Erik Johnston
865469f233 Implement power level lists, default power levels and send_evnet_level/add_state_level events. 2014-09-01 14:39:09 +01:00
Erik Johnston
10efca1a74 Merge branch 'develop' of github.com:matrix-org/synapse into room_config 2014-09-01 13:41:44 +01:00
Mark Haines
a9512d0994 Merge branch 'develop' into server2server_tls 2014-09-01 13:29:17 +01:00
Mark Haines
3eb45eba0e Merge branch 'develop' into server2server_tls 2014-08-31 16:08:20 +01:00
Mark Haines
d9ebe531ed Add config tree to synapse. Add support for reading config from a file 2014-08-31 16:06:39 +01:00
Matthew Hodgson
2b7918bd6f missed a s#/matrix#/_matrix/g 2014-08-31 14:54:58 +01:00
Matthew Hodgson
8fe912d95c change the world: make the default matrix API URL prefix /_matrix rather than /matrix to make it easier for existing websites to mount a HS in their namespace without collisions.
perl -pi -e 's#/matrix#/_matrix#g' ./cmdclient/console.py ./docs/client-server/howto.rst ./docs/client-server/specification.rst ./docs/client-server/swagger_matrix/directory ./docs/client-server/swagger_matrix/events ./docs/client-server/swagger_matrix/login ./docs/client-server/swagger_matrix/presence ./docs/client-server/swagger_matrix/profile ./docs/client-server/swagger_matrix/registration ./docs/client-server/swagger_matrix/rooms ./docs/server-server/specification.rst ./graph/graph.py ./jsfiddles/create_room_send_msg/demo.js ./jsfiddles/event_stream/demo.js ./jsfiddles/example_app/demo.js ./jsfiddles/register_login/demo.js ./jsfiddles/room_memberships/demo.js ./synapse/api/urls.py ./tests/federation/test_federation.py ./tests/handlers/test_presence.py ./tests/handlers/test_typing.py ./tests/rest/test_events.py ./tests/rest/test_presence.py ./tests/rest/test_profile.py ./tests/rest/test_rooms.py ./webclient/components/fileUpload/file-upload-service.js ./webclient/components/matrix/matrix-service.js
2014-08-31 14:51:37 +01:00
Paul "LeoNerd" Evans
93407cf7cf Bugfixes on presence pushes on user joining:
* No need to inform clients of status of remote users; as that will
   arrive in due course anyway. We don't -have- the state currently, so
   we'd only send an unknown message

 * Remember to bump the presence serial for the event source, so the
   notifiers will wake up and report it
2014-08-29 19:53:33 +01:00
Paul "LeoNerd" Evans
a8e8d1d06c Renamed get_current_token_part to get_current_key 2014-08-29 19:15:23 +01:00
Paul "LeoNerd" Evans
eec67a675f Have EventSource's get_new_events_for_user() API work only on keys within that source, not overall eventstream tokens 2014-08-29 19:13:55 +01:00
Paul "LeoNerd" Evans
6797c7f1b1 TypingNotificationEventSource has to return proper tokens, not int 0 2014-08-29 19:00:55 +01:00
Paul "LeoNerd" Evans
4bfdec1eb2 Rename 'events_key' to 'room_key' so it matches the name of the event source 2014-08-29 19:00:55 +01:00
David Baker
7b79c0f08f v0.1.2 2014-08-29 18:13:34 +01:00
Paul "LeoNerd" Evans
6dd50da54e Define a new event stream data source for typing notifications (currently null) 2014-08-29 17:39:33 +01:00
Paul "LeoNerd" Evans
f85a3757cf Avoid hardcoding names of individual stream token keys in its own implementation; this at least reduces the number of places in source code the individual parts are stored 2014-08-29 17:31:39 +01:00
Paul "LeoNerd" Evans
d4145abd33 Use str.join() properly 2014-08-29 17:17:11 +01:00
Paul "LeoNerd" Evans
20d0db6cfb Move the *EventSource classes into the handlers they relate to, so it's easier to find the code 2014-08-29 17:10:28 +01:00
Erik Johnston
52203edbce Version bump for bug fix. 2014-08-29 16:15:20 +01:00
Erik Johnston
f07f538ac7 When notifying listeners, don't do so in a serial fashion 2014-08-29 16:01:01 +01:00
Erik Johnston
463b95f0c2 Bump version and change log 2014-08-29 15:36:53 +01:00
Erik Johnston
1118f02689 Start adding storage for new events. 2014-08-29 15:18:30 +01:00
Erik Johnston
8e2d4c6da5 Merge branch 'develop' of github.com:matrix-org/synapse into room_config 2014-08-29 14:22:04 +01:00
Erik Johnston
ee06023573 Get the equalities right. 2014-08-29 13:28:06 +01:00
Erik Johnston
47fb286184 Merge branch 'presence_logging' into develop 2014-08-29 12:10:00 +01:00
Erik Johnston
5dd38d579b Fix a couple of bugs in presence handler related to pushing updatesto the correct user. Fix presence tests. 2014-08-29 12:08:33 +01:00
Erik Johnston
8113eb7c79 Turn of trace_function logging 2014-08-28 18:45:00 +01:00
Erik Johnston
aaf4fd98ee Only poll remote users if they are in our presence list, rather than in a common room 2014-08-28 18:43:03 +01:00
Mark Haines
722c19d033 Fix FederationHandler to event.origin 2014-08-28 18:32:44 +01:00
Mark Haines
d7ae9b90a0 Add store for server certificates and keys 2014-08-28 18:19:47 +01:00
Erik Johnston
1b7686329e Don't query the rooms members table so much by using the new notifier api that allows you to specify room_ids to notify. 2014-08-28 17:43:15 +01:00
Paul "LeoNerd" Evans
2c7c12bc6e Initial room event stream token must be s0, not s1, or everyone will miss the very first room event 2014-08-28 17:39:34 +01:00
Erik Johnston
54d0a75573 Merge branch 'develop' of github.com:matrix-org/synapse into presence_logging
Conflicts:
	synapse/handlers/presence.py
2014-08-28 16:52:46 +01:00
Erik Johnston
a8d318cf82 Up timeout to 10 minutes 2014-08-28 16:44:09 +01:00
Paul "LeoNerd" Evans
efc5f3440d Only send presence "poll"/"unpoll" EDUs when changing from/to zero remotes 2014-08-28 16:43:55 +01:00
Paul "LeoNerd" Evans
b1da3fa0a7 Avoid AlreadyCalledError from EDU sending failures 2014-08-28 16:19:16 +01:00
Paul "LeoNerd" Evans
c46c806126 Re-enable presence, un-skip presence tests 2014-08-28 16:00:14 +01:00