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
David Baker
fe3401e037
Be more helpful and tell the user how to generate a config too.
2014-11-14 13:30:06 +00:00
David Baker
933ce76057
Adding --generate-config will not help if the user has not specified a config file.
2014-11-14 13:24:12 +00:00
Mark Haines
e903c941cb
Merge branch 'develop' into request_logging
...
Conflicts:
setup.py
synapse/storage/_base.py
synapse/util/async.py
2014-11-14 11:16:50 +00:00
Mark Haines
8d8a133c89
SYN-103: Remove "origin" and "destination" keys from edus
2014-11-13 15:49:03 +00:00
Mark Haines
e7c6d2c9d9
SYN-138: Rewrite synctl in python and include it in the python distribution
2014-11-13 14:39:30 +00:00
Erik Johnston
f04b3d5042
Store all signatures on events rather than just dropping them
2014-11-12 17:02:34 +00:00
Erik Johnston
b2596c660b
Add a few more comments to the federation handler
2014-11-12 16:20:30 +00:00
Erik Johnston
e715741abc
Update some of the docs in event_federation
2014-11-12 16:20:30 +00:00
Erik Johnston
e24d5cb97d
Document StateStore and use transactions
2014-11-12 14:33:48 +00:00
Erik Johnston
58c0ef90c9
Add indices to state group tables
2014-11-12 14:33:48 +00:00
Erik Johnston
3db0efa69f
Fix pyflake warnings and add a FIXME comment to deal with auth_chains received when joining
2014-11-12 11:27:02 +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
997ed151db
synapse.state docs.
2014-11-11 17:45:46 +00:00
Erik Johnston
3db2c0d43e
Rename annotate_state_groups to annotate_event_with_state
2014-11-11 16:58:53 +00:00
Mark Haines
a8ceeec0fd
Merge pull request #12 from matrix-org/federation_authorization
...
Federation authorization
2014-11-11 16:40:50 +00:00
Erik Johnston
092979b8cc
Fix bugs which broke federation due to changes in function signatures.
2014-11-11 14:19:13 +00:00
Erik Johnston
5ff0bfb81d
Fix bug where we /always/ created a new state group
2014-11-11 14:16:41 +00:00
Erik Johnston
2cdff00788
Fix typo in validator
2014-11-11 10:31:47 +00:00
Erik Johnston
0292d991af
Add EventValidator module
2014-11-11 08:09:28 +00:00
Matthew Hodgson
7df8c8c287
apply some cache headers to try to make the content repo less nutso
2014-11-11 05:36:39 +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
cdc1b5d629
Fix regression where we did not return redacted events.
2014-11-10 15:21:30 +00:00
Erik Johnston
5d439b127b
PEP8
2014-11-10 13:46:44 +00:00
Erik Johnston
c46088405a
Remove useless comments
2014-11-10 13:39:33 +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
407d8a5019
Fix invite auth
2014-11-10 10:35:43 +00:00
Erik Johnston
6cb6cb9e69
Tidy up some of the unused sql tables
2014-11-10 10:31:00 +00:00
Erik Johnston
1c06806f90
Finish redaction algorithm.
2014-11-10 10:21:32 +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
328dab2463
Remove /context/ request
2014-11-07 11:40:38 +00:00
Erik Johnston
97a096b507
Add hash of current state to events
2014-11-07 11:37:06 +00:00
Erik Johnston
3b4dec442d
Return auth chain when handling send_join
2014-11-07 11:22:12 +00:00
Erik Johnston
16a0815fac
Fix bug in _get_auth_chain_txn
2014-11-07 11:21:20 +00:00
Erik Johnston
3cb678f84c
Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization
2014-11-07 10:55:28 +00:00
Erik Johnston
49948d72f3
Fix joining over federation
2014-11-07 10:53:38 +00:00
Erik Johnston
8b0e96474b
Implement method to get auth_chain from a given event_id
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
8421cabb9d
Neaten things up a bit
2014-11-07 10:53:38 +00:00
Erik Johnston
46de65cab9
Don't query the DB for user power levels
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
c6766d45b5
Don't send prev_state to clients anymore
2014-11-06 15:19:00 +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
cc44ecc62f
Get correct prev_events
2014-11-05 13:23:35 +00:00
Kegan Dougal
d3a02ec038
Fix url decoding bugs with /redact and /send APIs.
2014-11-05 12:05:11 +00:00
Kegan Dougal
9f6d1b10ad
Be sure to urlencode/decode event types correctly in both the web client and HS.
2014-11-05 11:21: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
Mark Haines
dca3ba2f77
Determine webclient path by the python module it is contained in
2014-11-04 16:19:16 +00:00
Erik Johnston
a5a4ef3fd7
Fix bug in replication
2014-11-04 15:16:43 +00:00
Erik Johnston
2a49f177fe
On AuthError, raise a FederationError
2014-11-04 15:10:43 +00:00
Erik Johnston
8918422156
Move FederationError to synapse.api.errors
2014-11-04 15:10:27 +00:00
Erik Johnston
fc7b2b11a2
PEP8
2014-11-04 15:09:34 +00:00
Erik Johnston
440cbd5235
Add support for sending failures
2014-11-04 14:17:55 +00:00
Erik Johnston
d7412c4df1
Remove unused interface
2014-11-04 14:16:19 +00:00
Erik Johnston
aa76bf39ab
Remove unused imports
2014-11-04 14:14:02 +00:00
Erik Johnston
68698e0ac8
Fix bugs in generating event signatures and hashing
2014-11-03 17:51:42 +00:00
Erik Johnston
af7ae048f8
Add option to not bind to HTTPS port. This is useful if running behind an ssl load balancer
2014-11-03 15:06:40 +00:00
Erik Johnston
ad6eacb3e9
Rename PDU fields to match that of events.
2014-11-03 13:06:58 +00:00
Erik Johnston
d59aa6af25
For now, don't store txn -> pdu mappings.
2014-11-03 11:35:19 +00:00
Erik Johnston
f139c02e95
Formatting
2014-11-03 11:34:49 +00:00
Erik Johnston
7249785bcb
Sign events we create.
2014-11-03 11:33:28 +00:00
Erik Johnston
0a8b026ccf
Add 'origin' key to events
2014-11-03 11:32:42 +00:00
Erik Johnston
82a6b83524
Don't assume event has hashes key already
2014-11-03 11:32:12 +00:00
Erik Johnston
9024a19658
Remove dead code.
2014-11-03 11:31:47 +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
13fad06239
Bump version numbers and change log
2014-10-31 17:23:01 +00:00
Erik Johnston
ecabff7eb4
Sign evnets
2014-10-31 17:08:52 +00:00
Erik Johnston
80b2710e6f
Remove unused signature storage methods
2014-10-31 17:08:36 +00:00
Erik Johnston
fb3a01fa3a
Remove unused sql file.
2014-10-31 16:04:27 +00:00
Erik Johnston
d30d79b5be
Make prev_event signing work again.
2014-10-31 15:35:39 +00:00
Erik Johnston
2f39dc19a2
Remove more references to dead PDU tables
2014-10-31 14:27:14 +00:00
Erik Johnston
bfa36a72b9
Remove PDU tables.
2014-10-31 14:00:32 +00:00
Erik Johnston
946d02536b
Remove unused functions.
2014-10-31 11:45:08 +00:00
Erik Johnston
21fe249d62
Actually don't store any PDUs
2014-10-31 10:47:34 +00:00
Erik Johnston
d84f5b30b8
old_state_events should be a dict not list
2014-10-31 10:47:04 +00:00
Erik Johnston
841df4da71
Don't store any PDUs
2014-10-31 09:59:59 +00:00
Erik Johnston
f2de2d644a
Move the impl of backfill to use events.
2014-10-31 09:59:02 +00:00
Erik Johnston
4a1597f295
Fix bug in redaction auth.
...
This caused a 500 when sending a redaction due to a typo in a method
invocation.
2014-10-31 09:48:59 +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
7a756e5d9d
Remove unused 'context' variables to appease pyflakes
2014-10-30 11:15:39 +00:00
Mark Haines
7c06399512
Merge branch 'develop' into request_logging
...
Conflicts:
synapse/config/logger.py
2014-10-30 11:13:58 +00:00
Mark Haines
7d709542ca
Fix pep8 warnings
2014-10-30 11:10:17 +00:00
Mark Haines
fa955cc2a4
Pep8 and a few doc strings
2014-10-30 10:13:46 +00:00
Erik Johnston
aa80900a8e
Fix SQL so that accepts we may want to persist events twice.
2014-10-30 10:11:06 +00:00
Mark Haines
b29517bd01
Add a request-id to each log line
2014-10-30 01:21:33 +00:00
Paul "LeoNerd" Evans
beae9acfcc
Use floating-point rather than integer division to handle timeouts so that non-zero but sub-second waits don't collapse to zero
2014-10-29 17:03:02 +00:00
Erik Johnston
53216a500d
Add a run_on_reactor function
2014-10-29 17:02:22 +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
Erik Johnston
a10c2ec88d
Don't reference PDU when persisting event
2014-10-28 17:15:32 +00:00
Erik Johnston
2d1dfb3b34
Begin implementing all the PDU storage stuff in Events land
2014-10-28 16:42:35 +00:00
Erik Johnston
da1dda3e1d
Add transaction level logging and timing information. Add a _simple_delete method
2014-10-28 11:18:04 +00:00
Erik Johnston
967ce43b59
Clean up LoggingTransaction
2014-10-28 10:53:11 +00:00
Erik Johnston
8e358ef35a
Add timer to LoggingTransaction
2014-10-28 10:34:05 +00:00
Mark Haines
4841b6d4ba
Remove duplicate join_event from create_room
2014-10-27 16:55:51 +00:00
Erik Johnston
c372929ab6
Remove duplicate import
2014-10-27 16:31:39 +00:00
Erik Johnston
ad9226eeec
Merge branch 'event_signing' of github.com:matrix-org/synapse into federation_authorization
...
Conflicts:
synapse/storage/__init__.py
2014-10-27 11:58:32 +00:00
Mark Haines
5e2236f9ff
fix pyflakes warnings
2014-10-27 11:19:15 +00:00
Mark Haines
acb2d171e8
Merge branch 'develop' into event_signing
2014-10-27 11:14:11 +00:00
Kegan Dougal
f3bb3943c9
Remove test_pyflakes.
2014-10-27 11:13:04 +00:00
Mark Haines
7bd604e3be
Test pyflakes jenikns integration
2014-10-27 10:56:38 +00:00
Mark Haines
d56e389a95
Fix pyflakes warnings
2014-10-27 10:33:17 +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
15be181642
Add log message if we can't enable ECC. Require pyopenssl>=0.14 since 0.13 doesn't seem to have ECC
2014-10-24 19:27:12 +01:00
Mark Haines
db2e350e29
Wrap preparing the database in a transaction. Otherwise it will take many seconds to complete because sqlite will create a transaction per statement
2014-10-24 19:04:26 +01:00
David Baker
51edfeb3d0
Coturn's timestamps are in seconds, not milliseconds
2014-10-21 18:57:13 +01: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
Mark Haines
9c0826592c
Fix auto generating signing_keys
2014-10-18 16:56:44 +01:00
Erik Johnston
b3e6cd59a1
Bump the other version
2014-10-18 00:29:55 +02:00
Erik Johnston
ac9345b47a
Check that we have auth headers and fail nicely
2014-10-17 21:00:58 +01:00
Erik Johnston
cd198dfea8
More log lines.
2014-10-17 20:58:47 +01:00
Mark Haines
3187b5ba2d
add log line for checking verifying signatures
2014-10-17 20:56:21 +01:00
Erik Johnston
71e6a94af7
Bump version and changelog
2014-10-17 20:26:26 +01:00
Erik Johnston
5662be894e
Bump database version number.
2014-10-17 20:26:18 +01:00
Erik Johnston
bf8cdda2f5
It doesn't want a dict
2014-10-17 20:10:34 +01:00
Mark Haines
8afbece683
Remove signatures from pdu when computing hashes to use for prev pdus, make sure is_state is a boolean.
2014-10-17 19:41:32 +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
dc3c2823ac
Merge branch 'develop' into event_signing
...
Conflicts:
synapse/federation/replication.py
2014-10-17 17:33:58 +01:00
Mark Haines
82c5820767
keep 'origin_server_ts' as 'ts' in the database to avoid needlessly updating schema
2014-10-17 17:31:48 +01:00
Mark Haines
f5cf7ac25b
SPEC-7: Rename 'ts' to 'origin_server_ts'
2014-10-17 17:12:25 +01:00
Mark Haines
456017e0ae
SPEC-7: Don't stamp event contents with 'hsob_ts'
2014-10-17 16:55:55 +01:00
Mark Haines
c5cec1cc77
Rename 'meta' to 'unsigned'
2014-10-17 16:50:04 +01:00
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
Erik Johnston
9dd4570b68
Generate m.room.aliases event when the HS creates a room alias
2014-09-05 21:35:56 +01:00
Erik Johnston
982604fbf2
Empty string is not a valid JSON object, so don't return them in HTTP responses.
2014-09-05 17:13:26 +01:00
Erik Johnston
250ee2ea7d
AUth the contents of power level events
2014-09-05 17:13:19 +01:00
Erik Johnston
95037d8d9d
Change the default power levels to be 0, 50 and 100
2014-09-05 17:13:03 +01:00
Erik Johnston
300816ffa1
Bump versions. Update change logs.
2014-09-03 19:39:45 +01:00
Paul "LeoNerd" Evans
4c3512a45c
Added a TODO note about YAML modeline for editors
2014-09-03 19:30:48 +01:00
Erik Johnston
bcaea74352
Error code must be an integer
2014-09-03 19:19:24 +01:00
Erik Johnston
c9d1ee24ca
Import SynapseError
2014-09-03 19:15:55 +01:00
Erik Johnston
9b18151104
Handle timeouts slightly nicer.
2014-09-03 19:13:41 +01:00
Erik Johnston
5b645f9d34
Don't do auth for change_membership in federation handler, it doesn't work and federation doesn't do auth in general either. Add a hacky timeout when trying to join a remote room.
2014-09-03 19:08:39 +01:00
Erik Johnston
dce6395395
When creating a room and a user supplies a room_alias but no name, use the room_alias as the name.
2014-09-03 18:52:34 +01:00
David Baker
d72ce4da64
Merge branch 'develop' of github.com:matrix-org/synapse into develop
...
Conflicts:
synapse/http/client.py
2014-09-03 18:25:17 +01:00
David Baker
d6ecbbdf0a
Add support for registering with a threepid to the HS (get credentials from the client and check them against an ID server).
2014-09-03 18:22:27 +01:00
Paul "LeoNerd" Evans
d703e712f7
Add support to _simple_insert() to do INSERT OR REPLACE
2014-09-03 18:18:41 +01:00
Erik Johnston
1b491e50c9
Implement a kick api
2014-09-03 17:46:52 +01:00
Paul "LeoNerd" Evans
4081413876
Default PID file should be 'homeserver.pid' to match the other 'homeserver.*' naming convention
2014-09-03 17:34:07 +01:00
Matthew Hodgson
8a7c1d6a00
fix the copyright holder from matrix.org to OpenMarket Ltd, as matrix.org hasn't been incorporated in time for launch.
2014-09-03 17:31:57 +01:00
Mark Haines
ee2bcdec65
Limit the size of uploads
2014-09-03 17:04:16 +01:00
Kegan Dougal
beaf50f5c6
Bubble up SynapseErrors so expected failures aren't masked.
2014-09-03 16:31:01 +01:00
Kegan Dougal
581c54bebe
Add exception handling to directory servlet, so we don't 500. Mark directory API as volatile in the api docs.
2014-09-03 16:27:01 +01:00
Erik Johnston
30bcbc433a
Fix up directory server to not require uploading room hosts. Update the room hosts table with the current room hosts (if we have them) on GET.
2014-09-03 16:04:27 +01:00
Erik Johnston
b5f9d47c89
Handle new state events which don't have a common ancestor
2014-09-03 15:50:05 +01:00
Erik Johnston
e4c40158c5
Snapshot prev_state for generic events
2014-09-03 15:48:51 +01:00
Paul "LeoNerd" Evans
cda31fb755
Kill the state
...
... key from all the Presence messages
2014-09-03 15:37:10 +01:00
Paul "LeoNerd" Evans
dada11dc5f
Bugfix for back-pagination of presence
2014-09-03 15:28:03 +01:00
Kegan Dougal
7fc84c7019
Make retrying requests on DNS failures configurable, and turn off retrying only in directory.get_association
2014-09-03 14:26:52 +01:00
Paul "LeoNerd" Evans
756e171ad0
Store SQL DDL deltas as well; attempt to upgrade the database on startup if it's too old
2014-09-03 14:14:39 +01:00
Kegan Dougal
b1195c125f
hs: Updated synapse.http.client to handle DNSLookupErrors and bail immediately.
2014-09-03 13:51:17 +01:00
Paul "LeoNerd" Evans
da31b96b55
Implement presence state visibilty limiting when polling eventsource for stream
2014-09-03 13:46:52 +01:00
Paul "LeoNerd" Evans
86d6232236
Don't eat federation transmit errors during unit tests; fix remote presence EDU-sending test because of this
2014-09-03 13:46:52 +01:00
Paul "LeoNerd" Evans
061e814195
Make sure to print exceptions properly from notifier failures
2014-09-03 13:46:52 +01:00
Kegan Dougal
cd0afb85c4
Updated feedback api docs and fixed feedback content template bug
2014-09-03 13:08:17 +01:00
Kegan Dougal
dfea1730dc
apidocs: mtime_age > last_active_ago. Presence REST: Sanity check values in invite/drop arrays.
2014-09-03 12:09:20 +01:00
Erik Johnston
b50ea730b1
Merge branch 'develop' of github.com:matrix-org/synapse into develop
...
Conflicts:
synapse/http/server.py
synapse/http/content_repository.py
2014-09-03 12:01:14 +01:00
Erik Johnston
bc21350298
Add option to change content repo location
2014-09-03 11:57:23 +01:00
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
Erik Johnston
eb3094ed31
And more logging.
2014-08-28 15:58:38 +01:00
Mark Haines
7b079a26a5
Remove get_state_for_room function from federation handler
2014-08-28 15:32:38 +01:00
Mark Haines
bddc1d9fff
use @wraps to set the __name__ __module__ and __doc__ correctly for logged functions
2014-08-28 15:32:38 +01:00
Erik Johnston
e0ba81344c
Add more logging. Up the event stream timer to 10s
2014-08-28 15:30:42 +01:00
Erik Johnston
b8b52ca09d
Add logging to try and figure out what is going on with the presence stuff
2014-08-28 14:58:51 +01:00
Kegan Dougal
8d7d251c35
Support multiple login flows when deciding how to login. Updated cmdclient and spec. Webclient doesn't need updating for this.
2014-08-28 14:56:55 +01:00
Mark Haines
7acede1e42
Fix pyflakes warnings
2014-08-28 13:51:50 +01:00
Mark Haines
15ab5f5ad8
Merge backfill_ and backfill in federation handler
2014-08-28 13:45:35 +01:00
Erik Johnston
b485d622cc
Fix bug where we used UserID objects instead of strigns
2014-08-28 13:40:27 +01:00
Erik Johnston
d2bc5d6f29
Create the correct events with the right configuration when creating a new room.
2014-08-28 10:59:15 +01:00
Erik Johnston
f3f32addca
Fix typo in NullSource.get_pagination_rows. Remove unused import.
2014-08-28 10:57:53 +01:00
Paul "LeoNerd" Evans
407c86c013
Define a NullSource useful for unit-testing
2014-08-27 18:30:09 +01:00
Erik Johnston
c2b4b73751
Split out MessageHandler
2014-08-27 17:59:36 +01:00
Mark Haines
357dd1871d
Merge branch 'develop' into storage_transactions
...
Conflicts:
tests/handlers/test_federation.py
tests/handlers/test_room.py
2014-08-27 17:28:55 +01:00
Erik Johnston
410a74b0f3
If timeout=0, return immediately
2014-08-27 17:21:48 +01:00
Mark Haines
2aeaa7b77c
Merge branch 'develop' into storage_transactions
...
Conflicts:
synapse/handlers/room.py
synapse/storage/stream.py
2014-08-27 17:15:58 +01:00
Erik Johnston
7c89d5e97a
Merge branch 'develop' of github.com:matrix-org/synapse into develop
2014-08-27 17:05:48 +01:00
Erik Johnston
226025e9ca
Comments!
2014-08-27 17:04:47 +01:00
Mark Haines
f54b70520a
Return the store_id from persist_event
2014-08-27 17:03:45 +01:00
Mark Haines
1d95e78759
Merge branch 'develop' into storage_transactions
2014-08-27 16:54:12 +01:00
Mark Haines
b30358f439
add _get_room_member, fix datastore methods
2014-08-27 16:51:54 +01:00
Kegan Dougal
f64887e15c
Added RestServlet for /rooms/$roomid/initialSync
2014-08-27 16:49:01 +01:00
Erik Johnston
52cb5e6324
Remove stale FIXMEs
2014-08-27 16:44:29 +01:00