Mark Haines
|
4d1a7624f4
|
move 'age' into 'meta' subdict so that it is clearer that it is not part of the signed data
|
2014-10-17 15:27:11 +01:00 |
|
Erik Johnston
|
f71627567b
|
Finish implementing the new join dance.
|
2014-10-17 15:04:17 +01:00 |
|
Mark Haines
|
c8f996e29f
|
Hash the same content covered by the signature when referencing previous PDUs rather than reusing the PDU content hashes
|
2014-10-17 11:40:35 +01:00 |
|
Mark Haines
|
bb04447c44
|
Include hashes of previous pdus when referencing them
|
2014-10-16 23:25:12 +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 |
|
Mark Haines
|
66104da10c
|
Sign outgoing PDUs.
|
2014-10-16 00:09:48 +01:00 |
|
Mark Haines
|
1c445f88f6
|
persist hashes and origin signatures for PDUs
|
2014-10-15 17:09:04 +01:00 |
|
Erik Johnston
|
e7bc1291a0
|
Begin making auth use event.old_state_events
|
2014-10-15 16:06:59 +01:00 |
|
Mark Haines
|
27d0c1ecc2
|
Merge branch 'develop' into event_signing
|
2014-10-15 13:57:12 +01:00 |
|
Erik Johnston
|
80472ac198
|
Add missing package storate.state
|
2014-10-15 10:04:55 +01:00 |
|
Erik Johnston
|
5fefc12d1e
|
Begin implementing state groups.
|
2014-10-14 16:59:51 +01:00 |
|
Paul "LeoNerd" Evans
|
13b560971e
|
Make sure to return an empty JSON object ({}) from presence PUT/POST requests rather than an empty string ("") because most deserialisers won't like the latter
|
2014-10-14 16:48:15 +01:00 |
|
Mark Haines
|
9aed791fc3
|
SYN-103: Ignore the 'origin' key in received EDUs. Instead take the origin from the transaction itself
|
2014-10-14 16:44:27 +01:00 |
|
Mark Haines
|
3dac27a8a9
|
Storage for pdu signatures
|
2014-10-14 14:58:31 +01:00 |
|
Mark Haines
|
f74e850b5c
|
remove debugging logging for signing requests
|
2014-10-14 11:46:13 +01:00 |
|
Mark Haines
|
34034af1c9
|
Better response message when signature is missing or unsupported
|
2014-10-13 16:47:23 +01:00 |
|
Mark Haines
|
07639c79d9
|
Respond with more helpful error messages for unsigned requests
|
2014-10-13 16:39:15 +01:00 |
|
Mark Haines
|
25d80f35f1
|
Raise a SynapseError if the authorisation header is missing or malformed
|
2014-10-13 15:53:18 +01:00 |
|
Mark Haines
|
75e517a2da
|
Remove debug logging, raise a proper SynapseError if the auth header is missing
|
2014-10-13 15:41:20 +01:00 |
|
Mark Haines
|
6684855767
|
Verify signatures for server2server requests
|
2014-10-13 14:37:46 +01:00 |
|
Mark Haines
|
10ef8e6e4b
|
SYN-75 sign at the request level rather than the transaction level
|
2014-10-13 11:49:55 +01:00 |
|
Mark Haines
|
cecda27d73
|
Merge branch 'develop' into server2server_signing
|
2014-10-13 11:06:36 +01:00 |
|
Mark Haines
|
984e207b59
|
Merge branch develop into server2server_signing
Conflicts:
synapse/app/homeserver.py
|
2014-10-13 10:58:50 +01:00 |
|
Mark Haines
|
693d0b8f45
|
Replace on_send_callback with something a bit clearer so that we can sign messages
|
2014-10-13 10:49:04 +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 |
|
David Baker
|
9435830351
|
Merge branch 'master' into develop
|
2014-10-02 14:11:17 +01:00 |
|
David Baker
|
d694619a95
|
Fix ncorrect ports in documentation and add notes on how generate-config also generates certs bound to whatever hostname you give with --generate-config.
SYN-87 #resolved
|
2014-10-02 14:09:27 +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 |
|
Mark Haines
|
099083ea6b
|
Merge remote-tracking branch 'origin/master' into develop
|
2014-10-02 10:46:41 +01:00 |
|
David Baker
|
7a322b6326
|
Update README setup instructions to be correct. Make synapse spit out explanatory note when generating config to tell people to look at it and customise it.
|
2014-10-02 10:43:22 +01:00 |
|
Mark Haines
|
c8d67beb9c
|
remove "red", "blue" and "green" server_name mappings
|
2014-10-01 15:52:07 +01:00 |
|
Mark Haines
|
9605593d11
|
Merge branch 'develop' into server2server_signing
Conflicts:
synapse/storage/__init__.py
tests/rest/test_presence.py
|
2014-09-30 17:55:06 +01:00 |
|
Mark Haines
|
b95a178584
|
SYN-75 Verify signatures on server to server transactions
|
2014-09-30 15:15:10 +01:00 |
|
Erik Johnston
|
fbf6320614
|
pyflakes cleanup
|
2014-09-30 12:38:38 +01:00 |
|
Erik Johnston
|
e06adc6d7e
|
SYN-2: Allow server admins to delete room aliases
|
2014-09-30 11:31:42 +01:00 |
|
Erik Johnston
|
7151615260
|
Update docstring
|
2014-09-29 15:35:54 +01:00 |
|
Erik Johnston
|
1550ab9e2f
|
SYN-48: Delete dead code
|
2014-09-29 15:04:47 +01:00 |
|
Erik Johnston
|
1132663cc7
|
SYN-48: Fix typo. Get the whois for requested user rather tahan the requester
|
2014-09-29 15:04:04 +01:00 |
|
Erik Johnston
|
3ccb17ce59
|
SYN-48: Implement WHOIS rest servlet
|
2014-09-29 14:59:52 +01:00 |
|
Erik Johnston
|
c65306f877
|
Add auth check to test if a user is an admin or not.
|
2014-09-29 13:35:38 +01:00 |
|
Erik Johnston
|
f7d80930f2
|
SYN-48: Track User-Agents as well as IPs for client devices.
|
2014-09-29 13:35:15 +01:00 |
|
Erik Johnston
|
0fdf308874
|
Track the IP users connect with. Add an admin column to users table.
|
2014-09-26 16:36:24 +01:00 |
|
David Baker
|
ec5fb77a66
|
Just use a yaml list for turn servers
|
2014-09-25 19:18:32 +02:00 |
|
Erik Johnston
|
3b0fb6aae8
|
Bump version and changelog
|
2014-09-25 18:05:06 +01:00 |
|
Erik Johnston
|
37bfe44046
|
Merge branch 'deletions' of github.com:matrix-org/synapse into develop
|
2014-09-25 17:02:53 +01:00 |
|
Erik Johnston
|
dcadfbbd4a
|
Don't strip out null's in serialized events, as that is not need anymore and it's not in the spec (yet)
|
2014-09-25 17:00:17 +01:00 |
|
Erik Johnston
|
69ddec6589
|
Don't strip of False values from events when serializing
|
2014-09-25 16:49:02 +01:00 |
|
Erik Johnston
|
c818aa13eb
|
Add LIMIT to scalar subquery
|
2014-09-25 15:51:21 +01:00 |
|
Erik Johnston
|
ba87eb6753
|
Fix bug where we tried to insert state events with null state key
|
2014-09-25 14:45:27 +01:00 |
|
David Baker
|
c58eb0d5a3
|
Merge branch 'turn' into develop
|
2014-09-25 13:09:56 +01:00 |
|
Erik Johnston
|
1ca51c8586
|
SYN-46: An invite received from fedearation didn't wake up the event stream for the invited user.
|
2014-09-25 13:01:05 +01:00 |
|
David Baker
|
a31bf77776
|
Make turn server endpoint return an empty object if no turn servers to
match the normal response. Don't break if the turn_uris option isn't
present.
|
2014-09-25 11:24:49 +02:00 |
|
Mark Haines
|
52ca867670
|
Sign federation transactions
|
2014-09-24 17:25:41 +01:00 |
|
Erik Johnston
|
72eb360f2d
|
Don't set the room name to be the room alias on room creation if the client didn't supply a name
|
2014-09-24 16:59:57 +01:00 |
|
David Baker
|
7dc7c53029
|
The REST API spec only alows for returning a single server so name the
endpoint appropriately.
|
2014-09-24 17:28:47 +02:00 |
|
Erik Johnston
|
327dcc98e3
|
SYN-70: And fix another bug where I can't type
|
2014-09-24 16:19:29 +01:00 |
|
Erik Johnston
|
87deaf1658
|
SYN-70: Fix typo
|
2014-09-24 16:15:58 +01:00 |
|
David Baker
|
4553651138
|
Oops
|
2014-09-24 17:04:33 +02:00 |
|
David Baker
|
5383ba5587
|
rename endpoint to better reflect what it is and allow specifying multiple uris
|
2014-09-24 16:01:36 +01:00 |
|
Erik Johnston
|
70899d3ab2
|
Rename deletions to redactions
|
2014-09-24 15:27:59 +01:00 |
|
David Baker
|
b42b0d3fe5
|
Use standard base64 encoding with padding to get the same result as
coturn.
|
2014-09-24 15:29:24 +02:00 |
|
Erik Johnston
|
7d9a84a445
|
Make deleting deletes not undelete
|
2014-09-24 14:18:08 +01:00 |
|
Erik Johnston
|
1e6c5b205c
|
Fix bug where we didn't correctly pull out the event_id of the deletion
|
2014-09-24 13:29:20 +01:00 |
|
Erik Johnston
|
4e79b09dd9
|
Fill out the prune_event method.
|
2014-09-24 11:37:14 +01:00 |
|
Erik Johnston
|
4354590a69
|
Add v4 deltas to current sql.
|
2014-09-24 11:06:41 +01:00 |
|
Paul "LeoNerd" Evans
|
a7d53227de
|
Bugfix for older Pythons that lack hmac.compare_digest()
|
2014-09-23 19:07:16 +01:00 |
|
Mark Haines
|
bf4b224fcf
|
Fix a few pyflakes errors in the server_key_resource
|
2014-09-23 18:43:34 +01:00 |
|
Mark Haines
|
e3117a2a23
|
Add a _matrix/key/v1 resource with the verification keys of the local server
|
2014-09-23 18:43:34 +01:00 |
|
Mark Haines
|
c6a8e7d9b9
|
Read signing keys using methods from syutil. convert keys that are in the wrong format
|
2014-09-23 18:43:34 +01:00 |
|
David Baker
|
c96ab4fcbb
|
The config is not hierarchical
|
2014-09-23 19:17:24 +02:00 |
|
Erik Johnston
|
efea61dc50
|
Rename 'pruned' to 'pruned_because'
|
2014-09-23 17:40:58 +01:00 |
|
Erik Johnston
|
bc250a6afa
|
SYN-12: Implement auth for deletion by adding a 'delete_level' on the ops levels event
SYN-12 # comment Auth has been added.
|
2014-09-23 17:36:24 +01:00 |
|
David Baker
|
14ed6799d7
|
Add support for TURN servers as per the TURN REST API (http://tools.ietf.org/html/draft-uberti-behave-turn-rest-00)
|
2014-09-23 17:16:13 +01:00 |
|
Paul "LeoNerd" Evans
|
c0673c50e6
|
Merge branch 'jira/SYN-60' into develop
|
2014-09-23 16:15:54 +01:00 |
|
Paul "LeoNerd" Evans
|
c03176af59
|
Send an HMAC(SHA1) protecting the User ID for the ReCAPTCHA bypass, rather than simply the secret itself, so it's useless if that HMAC leaks
|
2014-09-23 15:58:44 +01:00 |
|
Erik Johnston
|
932b376b4e
|
Add prune_event method
|
2014-09-23 15:37:32 +01:00 |
|
Kegan Dougal
|
0c4ae63ad5
|
Implemented /rooms/$roomid/state API.
|
2014-09-23 15:35:58 +01:00 |
|
Erik Johnston
|
b99f6eb904
|
Make sure we don't persist the 'pruned' key
|
2014-09-23 15:29:27 +01:00 |
|
Erik Johnston
|
78af6bbb98
|
Add m.room.deletion. If an event is deleted it will be returned to clients 'pruned', i.e. all client specified keys will be removed.
|
2014-09-23 15:28:32 +01:00 |
|
Paul "LeoNerd" Evans
|
537c7e1137
|
Config values are almost never 'None', but they might be empty string. Detect their presence by truth
|
2014-09-23 15:18:59 +01:00 |
|
Paul "LeoNerd" Evans
|
5f16439752
|
Make sure the config actually /has/ a captcha_bypass_secret set before trying to compare it
|
2014-09-23 15:16:47 +01:00 |
|
Paul "LeoNerd" Evans
|
3a8a94448a
|
Allow a (hidden undocumented) key to m.login.recaptcha to specify a shared secret to allow bots to bypass the ReCAPTCHA test (SYN-60)
|
2014-09-23 14:29:08 +01:00 |
|
Erik Johnston
|
176e3fd141
|
Bump versions and changelog
|
2014-09-22 17:42:09 +01:00 |
|
Erik Johnston
|
231afe464a
|
Add a deletions table
|
2014-09-22 13:42:52 +01:00 |
|
Erik Johnston
|
28bcd01e8d
|
SYN-47: Fix bug where we still returned events for rooms we had left.
SYN-47 #resolve
|
2014-09-19 14:45:21 +01:00 |
|
Kegan Dougal
|
3fa01be9e4
|
formatting
|
2014-09-19 12:04:26 +01:00 |
|
Erik Johnston
|
e0f060d89b
|
Merge branch 'master' of github.com:matrix-org/synapse into develop
|
2014-09-18 16:22:14 +01:00 |
|
Erik Johnston
|
380852b58e
|
Bump Changelog and version
|
2014-09-18 16:20:53 +01:00 |
|
Erik Johnston
|
79a5fb469b
|
Merge branch 'master' of github.com:matrix-org/synapse into develop
|
2014-09-18 14:52:19 +01:00 |
|
Erik Johnston
|
9fd0c74e90
|
Bump changelog and versions
|
2014-09-18 14:46:23 +01:00 |
|
Erik Johnston
|
335e5d131c
|
Merge branch 'test-sqlite-memory' of github.com:matrix-org/synapse into develop
Conflicts:
tests/handlers/test_profile.py
|
2014-09-18 14:31:47 +01:00 |
|
Paul "LeoNerd" Evans
|
4571cf7baa
|
Merge branch 'develop' into test-sqlite-memory
|
2014-09-17 18:27:47 +01:00 |
|
Erik Johnston
|
10b4291b54
|
Bump versions
|
2014-09-17 17:49:01 +01:00 |
|
Kegan Dougal
|
c707b7d128
|
SYWEB-3 : Added 'visibility' key to rooms returned via /initialSync
|
2014-09-17 16:09:07 +01:00 |
|
Paul "LeoNerd" Evans
|
9973298e2a
|
Print expected-vs-actual data types on typecheck failure from check_json()
|
2014-09-17 15:27:45 +01:00 |
|
Erik Johnston
|
b6818fd4d2
|
SYN-40: When a user updates their displayname or avatar update all their join events for all the rooms they are currently in.
|
2014-09-17 15:05:14 +01:00 |
|
Kegan Dougal
|
c099b36af3
|
Comment out password reset for now, until the mechanism is fully discussed (IS token auth vs HS auth)
|
2014-09-16 13:32:33 +01:00 |
|
Kegan Dougal
|
cc83b06cd1
|
Added support for the HS to send emails. Use it to send password resets. Added email_smtp_server and email_from_address config args. Added emailutils.
|
2014-09-16 12:36:39 +01:00 |
|
Kegan Dougal
|
5f30a69a9e
|
Added PasswordResetRestServlet. Hit the IS to confirm the email/user. Need to send email.
|
2014-09-16 11:22:40 +01:00 |
|
Erik Johnston
|
1e4b971f95
|
Fix bug where we didn't always get 'prev_content' key
|
2014-09-15 17:43:46 +01:00 |
|
Erik Johnston
|
40d2f38abe
|
Fix bug where we incorrectly calculated 'age_ts' from 'age' key rather than the reverse. Don't transmit age_ts to clients for now.
|
2014-09-15 16:55:39 +01:00 |
|
Erik Johnston
|
59516a8bb1
|
Correctly handle receiving 'missing' Pdus from federation, rather than just discarding them.
|
2014-09-15 16:40:44 +01:00 |
|
Erik Johnston
|
e639a3516d
|
Improve logging in federation handler.
|
2014-09-15 16:24:03 +01:00 |
|
Erik Johnston
|
6ac0b4ade8
|
Fix 'age' key to update on retries
|
2014-09-15 16:24:03 +01:00 |
|
Kegan Dougal
|
34d7896b06
|
More helpful 400 error messages.
|
2014-09-15 16:05:51 +01:00 |
|
Kegan Dougal
|
2c00e1ecd9
|
Be consistent when associating keys with login types for registration/login.
|
2014-09-15 15:38:29 +01:00 |
|
Kegan Dougal
|
14bc4ed59f
|
Merge branch 'develop' of github.com:matrix-org/synapse into registration-api-changes in preparation for re-merge to develop.
|
2014-09-15 15:27:58 +01:00 |
|
Kegan Dougal
|
04fbda46dd
|
Make captcha work again with the new registration logic.
|
2014-09-15 14:52:39 +01:00 |
|
Paul "LeoNerd" Evans
|
b0406b9ead
|
Merge remote-tracking branch 'origin/develop' into test-sqlite-memory
|
2014-09-15 14:15:10 +01:00 |
|
Erik Johnston
|
5bd9369a62
|
Correctly handle the 'age' key in events and pdus
|
2014-09-15 13:26:11 +01:00 |
|
Kegan Dougal
|
285ecaacd0
|
Split out password/captcha/email logic.
|
2014-09-15 12:42:36 +01:00 |
|
Kegan Dougal
|
34878bc26a
|
Added LoginType constants. Created general structure for processing registrations.
|
2014-09-15 10:23:20 +01:00 |
|
Erik Johnston
|
afb7f173cf
|
Bump version and change log
|
2014-09-12 18:13:05 +01:00 |
|
Erik Johnston
|
14975ce5bc
|
Fix bug where we relied on the current_state_events being updated when we are handling type specific persistence
|
2014-09-12 17:57:02 +01:00 |
|
Erik Johnston
|
667e747ed1
|
Fix bug where we no longer stored user_id on Pdus
|
2014-09-12 17:56:21 +01:00 |
|
Paul "LeoNerd" Evans
|
1c51c8ab7d
|
Merge remote-tracking branch 'origin/develop' into test-sqlite-memory
Conflicts:
synapse/storage/pdu.py
|
2014-09-12 17:20:06 +01:00 |
|
Erik Johnston
|
39e3fc69e5
|
Make the state resolution use actual power levels rather than taking them from a Pdu key.
|
2014-09-12 17:11:09 +01:00 |
|
Erik Johnston
|
b42fe05c51
|
Fix bug where we incorrectly removed a remote host from the list of hosts in a room when any user from that host left that room even if they weren't the last user from that host in that room
|
2014-09-12 17:11:09 +01:00 |
|
Erik Johnston
|
ca1ae7cf9b
|
Fix bug where we didn't return a tuple when expected.
|
2014-09-12 17:11:09 +01:00 |
|
Paul "LeoNerd" Evans
|
aa525e4a63
|
More accurate docs / clearer paramter names in RoomMemberStore
|
2014-09-12 16:43:49 +01:00 |
|
Paul "LeoNerd" Evans
|
a87eac4308
|
Revert recent changes to RoomMemberStore
|
2014-09-12 15:51:51 +01:00 |
|
Paul "LeoNerd" Evans
|
a840ff8f3f
|
Now don't need the other logger.debug() call in _execute
|
2014-09-12 14:38:27 +01:00 |
|
Paul "LeoNerd" Evans
|
1c20249884
|
Logging of all SQL queries via the 'synapse.storage.SQL' logger
|
2014-09-12 14:37:55 +01:00 |
|
Paul "LeoNerd" Evans
|
e53d77b501
|
Add a .runInteraction() method on SQLBaseStore itself to wrap the .db_pool
|
2014-09-12 14:28:07 +01:00 |
|
Paul "LeoNerd" Evans
|
249e8f2277
|
Add a better _store_room_member_txn() method that takes separated fields instead of an event object; also add FIXME comment about a big bug in the logic
|
2014-09-11 18:52:35 +01:00 |
|
Paul "LeoNerd" Evans
|
aaf9ab68c6
|
Rename _store_room_member_txn to _store_room_member_from_event_txn so we can create another, more sensible function of that name
|
2014-09-11 18:44:04 +01:00 |
|
Paul "LeoNerd" Evans
|
55397f6347
|
prepare_database() on db_conn, not plain name, so we can pass in the connection from outside
|
2014-09-10 16:23:58 +01:00 |
|
Paul "LeoNerd" Evans
|
2faffc52ee
|
Make sure not to open our TCP ports until /after/ the DB is nicely prepared ready for use
|
2014-09-10 16:16:24 +01:00 |
|
Paul "LeoNerd" Evans
|
6c1f0055dc
|
No need for a tiny run() function any more, just use reactor.run() directly
|
2014-09-10 16:07:44 +01:00 |
|
Paul "LeoNerd" Evans
|
ce55a8cc4b
|
Move database preparing code out of homserver.py into storage where it belongs
|
2014-09-10 15:42:15 +01:00 |
|
Erik Johnston
|
a75f8686ba
|
Fix bug where we used an unbound local variable if we ended up rolling back the persist_event transaction
|
2014-09-09 16:27:59 +01:00 |
|
Erik Johnston
|
e062f2dfa8
|
Apparently we can't do txn.rollback(), so raise and catch an exception instead.
|
2014-09-08 22:37:19 +01:00 |
|
Kegan Dougal
|
76fe7d4eba
|
Added num_joined_users key to /publicRooms for each room. Show this information in the webclient.
|
2014-09-08 12:15:29 -07:00 |
|
Erik Johnston
|
942d8412c4
|
Handle the case where we don't have a common ancestor
|
2014-09-08 20:13:27 +01:00 |
|
Erik Johnston
|
83ce57302d
|
Fix bug in state handling where we incorrectly identified a missing pdu. Update tests to catch this case.
|
2014-09-08 19:50:59 +01:00 |
|
Erik Johnston
|
c0577ea87a
|
Rollback if we try and insert duplicate events
|
2014-09-08 18:34:18 +01:00 |
|
Erik Johnston
|
768ff1a850
|
Fix race in presence handler where we evicted things from cache while handling a key therein
|
2014-09-08 11:28:50 +02:00 |
|
Erik Johnston
|
7735aad9d6
|
Bump version and changelog
|
2014-09-08 11:28:50 +02:00 |
|
Erik Johnston
|
2205aba3ed
|
Fix bug where we used an event_id as a pdu_id
|
2014-09-06 07:41:51 +01:00 |
|
Kegan Dougal
|
1a298aad9c
|
Added captcha support on both the HS and web client.
Merge branch 'captcha' of github.com:matrix-org/synapse into develop
|
2014-09-05 23:32:51 -07:00 |
|
Kegan Dougal
|
b5749c75d9
|
Reload captchas when they fail. Cleanup on success.
|
2014-09-05 23:08:39 -07:00 |
|
Kegan Dougal
|
3ea6f01b4e
|
80 chars please
|
2014-09-05 22:55:29 -07:00 |
|
Kegan Dougal
|
37e53513b6
|
Add config opion for XFF headers when performing ReCaptcha auth.
|
2014-09-05 22:51:11 -07:00 |
|
Kegan Dougal
|
1829b55bb0
|
Captchas now work on registration. Missing x-forwarded-for config arg support. Missing reloading a new captcha on the web client / displaying a sensible error message.
|
2014-09-05 19:18:23 -07:00 |
|
Erik Johnston
|
6d19fe1481
|
Fix generation of event ids so that they are consistent between local and remote ids
|
2014-09-06 02:48:13 +01:00 |
|
Erik Johnston
|
781ff713ba
|
When getting a state event also include the previous content
|
2014-09-06 02:23:36 +01:00 |
|
Kegan Dougal
|
0b9e1e7b56
|
Added a captcha config to the HS, to enable registration captcha checking and for the recaptcha private key.
|
2014-09-05 17:58:06 -07:00 |
|
Erik Johnston
|
f47f42090d
|
Add support for inviting people when you create a room
|
2014-09-06 01:10:07 +01:00 |
|
Erik Johnston
|
480438eee6
|
Validate power levels event changes. Change error messages to be more helpful. Fix bug where we checked the wrong power levels
|
2014-09-05 21:54:16 +01:00 |
|