Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix the logcontext handling in the cache wrappers (#2077) | Richard van der Hoff | 2017-03-30 | 1 | -0/+91 |
| | | | | | | | The cache wrappers had a habit of leaking the logcontext into the reactor while the lookup function was running, and then not restoring it correctly when the lookup function had completed. It's all the fault of `preserve_context_over_{fn,deferred}` which are basically a bit broken. | ||||
* | Merge pull request #2054 from matrix-org/erikj/user_iter_cursor | Erik Johnston | 2017-03-24 | 1 | -2/+2 |
|\ | | | | | Reduce some CPU work on DB threads | ||||
| * | User Cursor.__iter__ instead of fetchall | Erik Johnston | 2017-03-23 | 1 | -2/+2 |
| | | | | | | | | This prevents unnecessary construction of lists | ||||
* | | Merge pull request #2050 from matrix-org/rav/federation_backoff | Richard van der Hoff | 2017-03-23 | 3 | -1/+5 |
|\ \ | | | | | | | push federation retry limiter down to matrixfederationclient | ||||
| * | | fix tests | Richard van der Hoff | 2017-03-23 | 2 | -1/+3 |
| | | | |||||
| * | | push federation retry limiter down to matrixfederationclient | Richard van der Hoff | 2017-03-23 | 1 | -0/+2 |
| | | | | | | | | | | | | | | | rather than having to instrument everywhere we make a federation call, make the MatrixFederationHttpClient manage the retry limiter. | ||||
* | | | Merge pull request #2052 from matrix-org/rav/time_bound_deferred | Richard van der Hoff | 2017-03-23 | 1 | -0/+33 |
|\ \ \ | | | | | | | | | Fix time_bound_deferred to throw the right exception | ||||
| * | | | Fix time_bound_deferred to throw the right exception | Richard van der Hoff | 2017-03-23 | 1 | -0/+33 |
| |/ / | | | | | | | | | | | | | | | | Due to a failure to instantiate DeferredTimedOutError, time_bound_deferred would throw a CancelledError when the deferred timed out, which was rather confusing. | ||||
* | | | use jsonschema.FormatChecker for RoomID and UserID strings | pik | 2017-03-23 | 2 | -6/+13 |
| | | | | | | | | | | | | | | | | | | * use a valid filter in rest/client/v2_alpha test Signed-off-by: pik <alexander.maznev@gmail.com> | ||||
* | | | Add valid filter tests, flake8, fix typo | pik | 2017-03-23 | 1 | -5/+49 |
| | | | | | | | | | | | | Signed-off-by: pik <alexander.maznev@gmail.com> | ||||
* | | | check_valid_filter using JSONSchema | pik | 2017-03-23 | 1 | -1/+17 |
| |/ |/| | | | | | | | | | * add invalid filter tests Signed-off-by: pik <alexander.maznev@gmail.com> | ||||
* | | Fix caching of remote servers' signature keys | Richard van der Hoff | 2017-03-22 | 3 | -0/+153 |
|/ | | | | | | | | | The `@cached` decorator on `KeyStore._get_server_verify_key` was missing its `num_args` parameter, which meant that it was returning the wrong key for any server which had more than one recorded key. By way of a fix, change the default for `num_args` to be *all* arguments. To implement that, factor out a common base class for `CacheDescriptor` and `CacheListDescriptor`. | ||||
* | Merge pull request #2033 from matrix-org/erikj/repl_speed | Erik Johnston | 2017-03-21 | 1 | -1/+1 |
|\ | | | | | Don't send the full event json over replication | ||||
| * | Fix unit test | Erik Johnston | 2017-03-20 | 1 | -1/+1 |
| | | |||||
* | | Stop preserve_fn leaking context into the reactor | Richard van der Hoff | 2017-03-18 | 1 | -0/+61 |
|/ | | | | | | | | Fix a bug in ``logcontext.preserve_fn`` which made it leak context into the reactor, and add a test for it. Also, get rid of ``logcontext.reset_context_after_deferred``, which tried to do the same thing but had its own, different, set of bugs. | ||||
* | Modify test_user_sync so it doesn't look at last_active_ts over ↵ | Will Hunt | 2017-03-15 | 1 | -1/+1 |
| | | | | last_user_sync_ts | ||||
* | Aggregate event push actions | Erik Johnston | 2017-02-14 | 1 | -0/+86 |
| | |||||
* | Fix email push in pusher worker | Erik Johnston | 2017-02-02 | 2 | -12/+7 |
| | | | | | | This was broken when device list updates were implemented, as Mailer could no longer instantiate an AuthHandler due to a dependency on federation sending. | ||||
* | Remote membership tests for replication | Erik Johnston | 2017-01-31 | 1 | -43/+0 |
| | | | | | This is because it now relies of the caches stream, which only works on postgres. We are trying to test with sqlite. | ||||
* | Fix unit tests | Erik Johnston | 2017-01-30 | 1 | -4/+4 |
| | |||||
* | Fix unit tests | Erik Johnston | 2017-01-26 | 1 | -0/+17 |
| | |||||
* | Implement device key caching over federation | Erik Johnston | 2017-01-26 | 4 | -14/+27 |
| | |||||
* | Add basic implementation of local device list changes | Erik Johnston | 2017-01-25 | 2 | -2/+5 |
| | |||||
* | Insert delta of current_state_events to be more efficient | Erik Johnston | 2017-01-20 | 1 | -29/+0 |
| | |||||
* | Derive current_state_events from state groups | Erik Johnston | 2017-01-20 | 1 | -28/+17 |
| | |||||
* | Merge pull request #1818 from matrix-org/erikj/state_auth_splitout_split | Erik Johnston | 2017-01-18 | 2 | -2/+25 |
|\ | | | | | Optimise state resolution | ||||
| * | Optimise state resolution | Erik Johnston | 2017-01-17 | 2 | -2/+25 |
| | | |||||
* | | Tidy up test | Erik Johnston | 2017-01-17 | 1 | -12/+12 |
| | | |||||
* | | Speed up cache size calculation | Erik Johnston | 2017-01-17 | 2 | -16/+20 |
| | | | | | | | | | | | | | | | | | | | | | | Instead of calculating the size of the cache repeatedly, which can take a long time now that it can use a callback, instead cache the size and update that on insertion and deletion. This requires changing the cache descriptors to have two caches, one for pending deferreds and the other for the actual values. There's no reason to evict from the pending deferreds as they won't take up any more memory. | ||||
* | | Add ExpiringCache tests | Erik Johnston | 2017-01-16 | 1 | -0/+84 |
| | | |||||
* | | Optionally measure size of cache by sum of length of values | Erik Johnston | 2017-01-13 | 1 | -0/+25 |
|/ | |||||
* | Linearize updates to membership via PUT /state/ | Erik Johnston | 2017-01-09 | 2 | -3/+6 |
| | |||||
* | Fix crash in url preview when html tag has no text | Marcin Bachry | 2016-12-14 | 1 | -0/+50 |
| | | | | Signed-off-by: Marcin Bachry <hegel666@gmail.com> | ||||
* | Merge pull request #1620 from matrix-org/erikj/concurrent_room_access | Erik Johnston | 2016-12-12 | 1 | -0/+70 |
|\ | | | | | Limit the number of events that can be created on a given room concurrently | ||||
| * | Add Limiter: limit concurrent access to resource | Erik Johnston | 2016-11-10 | 1 | -0/+70 |
| | | |||||
* | | Fix unit tests | Erik Johnston | 2016-12-09 | 1 | -0/+4 |
| | | |||||
* | | Prevent user tokens being used as guest tokens (#1675) | Richard van der Hoff | 2016-12-06 | 1 | -15/+78 |
| | | | | | | | | | | Make sure that a user cannot pretend to be a guest by adding 'guest = True' caveats. | ||||
* | | test_preview: Fix incorrect wrapping | Johannes Löthberg | 2016-12-05 | 1 | -2/+2 |
| | | | | | | | | | | | | | | The old test expected an incorrect wrapping due to the preview function not using unicode properly, so it got the wrong length. Signed-off-by: Johannes Löthberg <johannes@kyriasis.com> | ||||
* | | Make test_preview use unicode strings | Johannes Löthberg | 2016-12-05 | 1 | -68/+68 |
| | | | | | | | | Signed-off-by: Johannes Löthberg <johannes@kyriasis.com> | ||||
* | | fix imports | Richard van der Hoff | 2016-11-30 | 1 | -3/+0 |
| | | |||||
* | | Rip out more refresh_token code | Richard van der Hoff | 2016-11-30 | 1 | -55/+0 |
| | | | | | | | | | | | | | | | | We might as well treat all refresh_tokens as invalid. Just return a 403 from /tokenrefresh, so that we don't have a load of dead, untestable code hanging around. Still TODO: removing the table from the schema. | ||||
* | | Merge branch 'develop' into rav/no_more_refresh_tokens | Richard van der Hoff | 2016-11-30 | 2 | -7/+5 |
|\ \ | |||||
| * | | Stop putting a time caveat on access tokens | Richard van der Hoff | 2016-11-29 | 2 | -7/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | The 'time' caveat on the access tokens was something of a lie, since we weren't enforcing it; more pertinently its presence stops us ever adding useful time caveats. Let's move in the right direction by not lying in our caveats. | ||||
* | | | Stop generating refresh tokens | Richard van der Hoff | 2016-11-28 | 1 | -8/+4 |
|/ / | | | | | | | | | | | | | Since we're not doing refresh tokens any more, we should start killing off the dead code paths. /tokenrefresh itself is a bit of a thornier subject, since there might be apps out there using it, but we can at least not generate refresh tokens on new logins. | ||||
* | | Shuffle receipt handler around so that worker apps don't need to load it | Erik Johnston | 2016-11-23 | 1 | -1/+1 |
| | | |||||
* | | Fix tests | Erik Johnston | 2016-11-23 | 1 | -0/+1 |
| | | |||||
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2016-11-23 | 1 | -1/+169 |
|\ \ | | | | | | | | | | erikj/split_out_fed_txn | ||||
| * | | Review comments | Kegan Dougal | 2016-11-22 | 1 | -10/+2 |
| | | | |||||
| * | | More tests | Kegan Dougal | 2016-11-22 | 1 | -1/+56 |
| | | | |||||
| * | | Add remaining tests | Kegan Dougal | 2016-11-21 | 1 | -4/+70 |
| | | | |||||
| * | | Start adding some tests | Kegan Dougal | 2016-11-21 | 1 | -3/+37 |
| | | | |||||
| * | | Move event_fields filtering to serialize_event | Kegan Dougal | 2016-11-21 | 1 | -0/+21 |
| | | | | | | | | | | | | Also make it an inclusive not exclusive filter, as the spec demands. | ||||
* | | | Fix tests and flake8 | Erik Johnston | 2016-11-22 | 1 | -0/+1 |
| | | | |||||
* | | | Fix tests | Erik Johnston | 2016-11-21 | 2 | -5/+19 |
|/ / | |||||
* / | Clean transactions based on time. Add HttpTransactionCache tests. | Kegan Dougal | 2016-11-14 | 1 | -0/+69 |
|/ | |||||
* | Merge pull request #1098 from matrix-org/markjh/bearer_token | Mark Haines | 2016-10-25 | 5 | -14/+29 |
|\ | | | | | Allow clients to supply access_tokens as headers | ||||
| * | Fix unit tests | Mark Haines | 2016-09-12 | 5 | -14/+29 |
| | | |||||
* | | Merge pull request #1164 from pik/error-codes | Erik Johnston | 2016-10-19 | 2 | -41/+88 |
|\ \ | | | | | | | Clarify Error codes for GET /filter/ | ||||
| * | | Refactor test_filter to use real DataStore | pik | 2016-10-18 | 1 | -43/+81 |
| | | | | | | | | | | | | * add tests for filter api errors | ||||
| * | | Fix MockHttpRequest always returning M_UNKNOWN errcode in testing | pik | 2016-10-14 | 1 | -1/+1 |
| | | | |||||
| * | | Error codes for filters | Alexander Maznev | 2016-10-14 | 1 | -3/+12 |
| | | | | | | | | | | | | | | | | | | * add tests Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com> | ||||
* | | | Merge pull request #1155 from matrix-org/erikj/pluggable_pwd_auth | Erik Johnston | 2016-10-12 | 2 | -3/+15 |
|\ \ \ | | | | | | | | | Implement pluggable password auth | ||||
| * | | | Implement pluggable password auth | Erik Johnston | 2016-10-03 | 2 | -3/+15 |
| |/ / | | | | | | | | | | | | | | | | Allows delegating the password auth to an external module. This also moves the LDAP auth to using this system, allowing it to be removed from the synapse tree entirely in the future. | ||||
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2016-10-11 | 7 | -41/+29 |
|\ \ \ | | | | | | | | | | | | | erikj/replication_noop | ||||
| * | | | rest/client/v1/register: use the correct requester in createUser | Patrik Oldsberg | 2016-10-06 | 2 | -24/+14 |
| | | | | | | | | | | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com> | ||||
| * | | | storage/appservice: make appservice methods only relying on the cache ↵ | Patrik Oldsberg | 2016-10-06 | 2 | -7/+4 |
| |/ / | | | | | | | | | | synchronous | ||||
| * / | Time out typing over federation | Erik Johnston | 2016-09-23 | 3 | -10/+11 |
| |/ | |||||
* / | Reduce DB hits for replication | Erik Johnston | 2016-09-23 | 2 | -3/+3 |
|/ | | | | | | | | | | | | | | Some streams will occaisonally advance their positions without actually having any new rows to send over federation. Currently this means that the token will not advance on the workers, leading to them repeatedly sending a slightly out of date token. This in turns requires the master to hit the DB to check if there are any new rows, rather than hitting the no op logic where we check if the given token matches the current token. This commit changes the API to always return an entry if the position for a stream has changed, allowing workers to advance their tokens correctly. | ||||
* | Fix unit tests | Mark Haines | 2016-09-06 | 1 | -0/+8 |
| | |||||
* | Correctly handle the difference between prev and current state | Erik Johnston | 2016-08-31 | 3 | -32/+20 |
| | |||||
* | Don't notify for online -> online transitions. | Erik Johnston | 2016-08-30 | 1 | -0/+47 |
| | | | | | Specifically, if currently_active remains true then we should not notify if only the last active time changes. | ||||
* | Merge pull request #1049 from matrix-org/erikj/presence_users_in_room | Erik Johnston | 2016-08-30 | 2 | -41/+6 |
|\ | | | | | Use state handler instead of get_users_in_room/get_joined_hosts | ||||
| * | Fix unit tests | Erik Johnston | 2016-08-26 | 2 | -41/+6 |
| | | |||||
* | | Merge remote-tracking branch 'origin/develop' into markjh/direct_to_device | Mark Haines | 2016-08-26 | 2 | -51/+78 |
|\| | |||||
| * | Fix tests | Erik Johnston | 2016-08-26 | 1 | -5/+46 |
| | | |||||
| * | Replace context.current_state with context.current_state_ids | Erik Johnston | 2016-08-25 | 2 | -48/+34 |
| | | |||||
* | | More 0_0 in tests | Mark Haines | 2016-08-25 | 1 | -2/+2 |
|/ | |||||
* | Ensure invalidation list does not grow unboundedly | Erik Johnston | 2016-08-19 | 2 | -0/+88 |
| | |||||
* | Rename to on_invalidate | Erik Johnston | 2016-08-19 | 1 | -2/+2 |
| | |||||
* | Make cache_context an explicit option | Erik Johnston | 2016-08-19 | 1 | -2/+2 |
| | |||||
* | Remove lru option | Erik Johnston | 2016-08-19 | 1 | -1/+1 |
| | |||||
* | Add concept of cache contexts | Erik Johnston | 2016-08-19 | 2 | -0/+179 |
| | |||||
* | Make AppserviceHandler stream events from database | Erik Johnston | 2016-08-18 | 1 | -3/+6 |
| | | | | | | | | | This is for two reasons: 1. Suppresses duplicates correctly, as the notifier doesn't do any duplicate suppression. 2. Makes it easier to connect the AppserviceHandler to the replication stream. | ||||
* | Make notify_interested_services faster | Erik Johnston | 2016-08-17 | 2 | -68/+54 |
| | |||||
* | Clean up _ServiceQueuer | Erik Johnston | 2016-08-17 | 1 | -1/+1 |
| | |||||
* | Update unit tests | Erik Johnston | 2016-08-17 | 1 | -0/+2 |
| | |||||
* | Fix up preview URL API. Add tests. | Erik Johnston | 2016-08-16 | 1 | -1/+79 |
| | | | | | | | | | This includes: - Splitting out methods of a class into stand alone functions, to make them easier to test. - Adding unit tests to split out functions, testing HTML -> preview. - Handle the fact that elements in lxml may have tail text. | ||||
* | PEP8 | Richard van der Hoff | 2016-08-08 | 1 | -0/+1 |
| | |||||
* | Fix login with m.login.token | Richard van der Hoff | 2016-08-08 | 1 | -4/+49 |
| | | | | | login with token (as used by CAS auth) was broken by 067596d, such that it always returned a 401. | ||||
* | Test summarization | Erik Johnston | 2016-08-04 | 1 | -0/+139 |
| | |||||
* | PEP8 | Richard van der Hoff | 2016-08-03 | 1 | -2/+0 |
| | |||||
* | Include device name in /keys/query response | Richard van der Hoff | 2016-08-03 | 1 | -0/+92 |
| | | | | Add an 'unsigned' section which includes the device display name. | ||||
* | keys/query: return all users which were asked for | Richard van der Hoff | 2016-08-03 | 1 | -0/+46 |
| | | | | | | In the situation where all of a user's devices get deleted, we want to indicate this to a client, so we want to return an empty dictionary, rather than nothing at all. | ||||
* | Create separate methods for getting messages to push | Mark Haines | 2016-07-28 | 1 | -0/+41 |
| | | | | | | | | | | | for the email and http pushers rather than trying to make a single method that will work with their conflicting requirements. The http pusher needs to get the messages in ascending stream order, and doesn't want to miss a message. The email pusher needs to get the messages in descending timestamp order, and doesn't mind if it misses messages. | ||||
* | Add `create_requester` function | Richard van der Hoff | 2016-07-26 | 4 | -26/+22 |
| | | | | | Wrap the `Requester` constructor with a function which provides sensible defaults, and use it throughout | ||||
* | Delete refresh tokens when deleting devices | Richard van der Hoff | 2016-07-26 | 1 | -0/+34 |
| | |||||
* | Implement updating devices | Richard van der Hoff | 2016-07-26 | 2 | -0/+52 |
| | | | | You can update the displayname of devices now. | ||||
* | Implement deleting devices | Richard van der Hoff | 2016-07-26 | 2 | -6/+30 |
| | |||||
* | Merge pull request #945 from matrix-org/rav/background_reindex | Richard van der Hoff | 2016-07-25 | 1 | -5/+15 |
|\ | | | | | Create index on user_ips in the background | ||||
| * | PEP8 | Richard van der Hoff | 2016-07-25 | 1 | -1/+1 |
| | | |||||
| * | Fix background_update tests | Richard van der Hoff | 2016-07-25 | 1 | -6/+16 |
| | | | | | | | | | | | | A bit of a cleanup for background_updates, and make sure that the real background updates have run before we start the unit tests, so that they don't interfere with the tests. | ||||
* | | Slightly saner logging for unittests | Richard van der Hoff | 2016-07-25 | 1 | -4/+7 |
|/ | | | | | | | 1. Give the handler used for logging in unit tests a formatter, so that the output is slightly more meaningful 2. Log some synapse.storage stuff, because it's useful. | ||||
* | make /devices return a list | Richard van der Hoff | 2016-07-21 | 1 | -4/+7 |
| | | | | Turns out I specced this to return a list of devices rather than a dict of them | ||||
* | Fix PEP8 errors | Richard van der Hoff | 2016-07-21 | 1 | -0/+1 |
| | |||||
* | Implement GET /device/{deviceId} | Richard van der Hoff | 2016-07-21 | 1 | -10/+27 |
| | |||||
* | Fix PEP8 errors | Richard van der Hoff | 2016-07-20 | 2 | -3/+1 |
| | |||||
* | Merge branch 'develop' into rav/get_devices_api | Richard van der Hoff | 2016-07-20 | 2 | -4/+19 |
|\ | | | | | | | (pick up PR #938 in the hope of fixing the UTs) | ||||
| * | Merge pull request #938 from matrix-org/rav/add_device_id_to_client_ips | Richard van der Hoff | 2016-07-20 | 1 | -1/+9 |
| |\ | | | | | | | Record device_id in client_ips | ||||
| | * | Record device_id in client_ips | Richard van der Hoff | 2016-07-20 | 1 | -1/+9 |
| | | | | | | | | | | | | | | | Record the device_id when we add a client ip; it's somewhat redundant as we could get it via the access_token, but it will make querying rather easier. | ||||
| * | | Register a device_id in the /v2/register flow. | Richard van der Hoff | 2016-07-20 | 1 | -3/+10 |
| |/ | | | | | | | | | | | | | | | | | | | This doesn't cover *all* of the registration flows, but it does cover the most common ones: in particular: shared_secret registration, appservice registration, and normal user/pass registration. Pull device_id from the registration parameters. Register the device in the devices table. Associate the device with the returned access and refresh tokens. Profit. | ||||
* / | GET /devices endpoint | Richard van der Hoff | 2016-07-20 | 3 | -12/+199 |
|/ | | | | | | | implement a GET /devices endpoint which lists all of the user's devices. It also returns the last IP where we saw that device, so there is some dancing to fish that out of the user_ips table. | ||||
* | Merge pull request #932 from matrix-org/rav/register_refactor | David Baker | 2016-07-20 | 1 | -1/+5 |
|\ | | | | | Further registration refactoring | ||||
| * | Further registration refactoring | Richard van der Hoff | 2016-07-19 | 1 | -1/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * `RegistrationHandler.appservice_register` no longer issues an access token: instead it is left for the caller to do it. (There are two of these, one in `synapse/rest/client/v1/register.py`, which now simply calls `AuthHandler.issue_access_token`, and the other in `synapse/rest/client/v2_alpha/register.py`, which is covered below). * In `synapse/rest/client/v2_alpha/register.py`, move the generation of access_tokens into `_create_registration_details`. This means that the normal flow no longer needs to call `AuthHandler.issue_access_token`; the shared-secret flow can tell `RegistrationHandler.register` not to generate a token; and the appservice flow continues to work despite the above change. | ||||
* | | Merge pull request #922 from matrix-org/erikj/file_api2 | Erik Johnston | 2016-07-20 | 2 | -6/+7 |
|\ \ | |/ |/| | Feature: Add filter to /messages. Add 'contains_url' to filter. | ||||
| * | Add filter param to /messages API | Erik Johnston | 2016-07-14 | 2 | -6/+7 |
| | | |||||
* | | Merge pull request #931 from matrix-org/rav/refactor_register | David Baker | 2016-07-19 | 1 | -1/+2 |
|\ \ | | | | | | | rest/client/v2_alpha/register.py: Refactor flow somewhat. | ||||
| * | | rest/client/v2_alpha/register.py: Refactor flow somewhat. | Richard van der Hoff | 2016-07-19 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is meant to be an *almost* non-functional change, with the exception that it fixes what looks a lot like a bug in that it only calls `auth_handler.add_threepid` and `add_pusher` once instead of three times. The idea is to move the generation of the `access_token` out of `registration_handler.register`, because `access_token`s now require a device_id, and we only want to generate a device_id once registration has been successful. | ||||
* | | | Add device_id support to /login | Richard van der Hoff | 2016-07-18 | 2 | -7/+89 |
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | Add a 'devices' table to the storage, as well as a 'device_id' column to refresh_tokens. Allow the client to pass a device_id, and initial_device_display_name, to /login. If login is successful, then register the device in the devices table if it wasn't known already. If no device_id was supplied, make one up. Associate the device_id with the access token and refresh token, so that we can get at it again later. Ensure that the device_id is copied from the refresh token to the access_token when the token is refreshed. | ||||
* / | Bug fix: expire invalid access tokens | Negar Fazeli | 2016-07-13 | 2 | -3/+32 |
|/ | |||||
* | Add ReadWriteLock | Erik Johnston | 2016-07-05 | 1 | -0/+85 |
| | |||||
* | Remove room name & alias test | David Baker | 2016-06-24 | 1 | -41/+0 |
| | | | | as get_room_name_and_alias is now gone | ||||
* | Rework ldap integration with ldap3 | Martin Weinelt | 2016-06-22 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | | | | Use the pure-python ldap3 library, which eliminates the need for a system dependency. Offer both a `search` and `simple_bind` mode, for more sophisticated ldap scenarios. - `search` tries to find a matching DN within the `user_base` while employing the `user_filter`, then tries the bind when a single matching DN was found. - `simple_bind` tries the bind against a specific DN by combining the localpart and `user_base` Offer support for STARTTLS on a plain connection. The configuration was changed to reflect these new possibilities. Signed-off-by: Martin Weinelt <hexa@darmstadt.ccc.de> | ||||
* | Enable use_frozen_events in tests | Erik Johnston | 2016-06-17 | 1 | -0/+1 |
| | |||||
* | Add function to load config without generating it | Mark Haines | 2016-06-09 | 2 | -3/+21 |
| | | | | | | | | | | | | | | | | Renames ``load_config`` to ``load_or_generate_config`` Adds a method called ``load_config`` that just loads the config. The main synapse.app.homeserver will continue to use ``load_or_generate_config`` to retain backwards compat. However new worker processes can use ``load_config`` to load the config avoiding some of the cruft needed to generate the config. As the new ``load_config`` method is expected to be used by new configs it removes support for the legacy commandline overrides that ``load_or_generate_config`` supports | ||||
* | Fix a bug caused by a change in auth_handler function | Negar Fazeli | 2016-06-08 | 1 | -6/+3 |
| | | | | Fix the relevant unit test cases | ||||
* | Fix AS retries, but with correct ordering | Erik Johnston | 2016-06-07 | 1 | -4/+4 |
| | |||||
* | Fix AS retries | Erik Johnston | 2016-06-07 | 1 | -3/+3 |
| | |||||
* | Remove event fetching from DB threads | Erik Johnston | 2016-06-03 | 1 | -1/+1 |
| | |||||
* | Change CacheMetrics to be quicker | Erik Johnston | 2016-06-03 | 1 | -13/+10 |
| | | | | | | We change it so that each cache has an individual CacheMetric, instead of having one global CacheMetric. This means that when a cache tries to increment a counter it does not need to go through so many indirections. | ||||
* | Store the typing users as user_id strings. (#819) | Mark Haines | 2016-06-02 | 1 | -2/+2 |
| | | | Rather than storing them as UserID objects. | ||||
* | Allow external processes to mark a user as syncing. (#812) | Mark Haines | 2016-06-02 | 1 | -9/+7 |
| | | | | | | | | | | | | * Add infrastructure to the presence handler to track sync requests in external processes * Expire stale entries for dead external processes * Add an http endpoint for making users as syncing Add some docstrings and comments. * Fixes | ||||
* | Split out the auth handler | David Baker | 2016-06-02 | 2 | -11/+6 |
| | |||||
* | Inject fake room list handler in tests | David Baker | 2016-06-01 | 1 | -0/+2 |
| | | | | Otherwise it tries to start the remote public room list updating looping call which breaks. | ||||
* | Move the AS handler out of the Handlers object. | Mark Haines | 2016-05-31 | 1 | -3/+3 |
| | | | | | | Access it directly from the homeserver itself. It already wasn't inheriting from BaseHandler storing it on the Handlers object was already somewhat dubious. | ||||
* | Fix set profile error with Requester. | Negi Fazeli | 2016-05-23 | 1 | -9/+25 |
| | | | | | Replace flush_user with delete access token due to function removal Add a new test case for if the user is already registered | ||||
* | Move typing handler out of the Handlers object | Mark Haines | 2016-05-17 | 3 | -11/+3 |
| | |||||
* | Merge branch 'develop' into markjh/member_cleanup | Mark Haines | 2016-05-17 | 1 | -1/+1 |
|\ | |||||
| * | Move the presence handler out of the Handlers object | Mark Haines | 2016-05-16 | 1 | -1/+1 |
| | | |||||
* | | get_room_members is unused now | Mark Haines | 2016-05-16 | 1 | -18/+0 |
| | | |||||
* | | Replaces calls to fetch_room_distributions_into with get_joined_hosts_for_room | Mark Haines | 2016-05-16 | 2 | -45/+6 |
|/ | |||||
* | Merge pull request #783 from matrix-org/markjh/slave_account_data | Mark Haines | 2016-05-13 | 1 | -0/+56 |
|\ | | | | | Add a slaved datastore for account data | ||||
| * | Add a slaved datastore for account data | Mark Haines | 2016-05-13 | 1 | -0/+56 |
| | | |||||
* | | Create user with expiry | Negi Fazeli | 2016-05-13 | 4 | -6/+162 |
|/ | | | | | | - Add unittests for client, api and handler Signed-off-by: Negar Fazeli <negar.fazeli@ericsson.com> | ||||
* | Replicate push actions | Mark Haines | 2016-04-21 | 1 | -0/+43 |
| | |||||
* | Merge pull request #738 from matrix-org/markjh/slaved_receipts | Mark Haines | 2016-04-19 | 3 | -3/+43 |
|\ | | | | | Add a slaved receipts store | ||||
| * | Add a slaved receipts store | Mark Haines | 2016-04-19 | 3 | -3/+43 |
| | | |||||
* | | Replicate get_invited_rooms_for_user | Mark Haines | 2016-04-19 | 1 | -0/+12 |
|/ | |||||
* | Create log context in Measure if one doesn't exist | Erik Johnston | 2016-04-18 | 1 | -2/+2 |
| | |||||
* | Merge pull request #677 from matrix-org/erikj/dns_cache | Erik Johnston | 2016-04-08 | 1 | -2/+32 |
|\ | | | | | Read from DNS cache if within TTL | ||||
| * | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/dns_cache | Erik Johnston | 2016-04-07 | 7 | -6/+260 |
| |\ | |||||
| * | | Tests | Erik Johnston | 2016-04-06 | 1 | -2/+29 |
| | | | |||||
| * | | Read from DNS cache if within TTL | Erik Johnston | 2016-03-31 | 1 | -1/+4 |
| | | | |||||
* | | | Remove some unused functions (#711) | Mark Haines | 2016-04-08 | 4 | -266/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | * Remove some unused functions * get_room_events_stream is only used in tests * is_exclusive_room might actually be something we want | ||||
* | | | Add tests for redactions | Mark Haines | 2016-04-07 | 2 | -2/+51 |
| | | | |||||
* | | | Merge pull request #704 from matrix-org/markh/slaveIII | Mark Haines | 2016-04-07 | 1 | -1/+90 |
|\ \ \ | | | | | | | | | Add tests for get_latest_event_ids_in_room and get_current_state | ||||
| * | | | Add sensible __eq__ operators inside the tests. | Mark Haines | 2016-04-07 | 1 | -1/+28 |
| | | | | | | | | | | | | | | | | | | | | Rather than adding them globally. This limits the changes to only affect the tests. | ||||
| * | | | Add tests for get_latest_event_ids_in_room and get_current_state | Mark Haines | 2016-04-07 | 1 | -0/+62 |
| | |/ | |/| | |||||
* / | | Deduplicate joins | Erik Johnston | 2016-04-07 | 1 | -0/+44 |
|/ / | |||||
* | | Test that room membership is replicated | Mark Haines | 2016-04-06 | 1 | -8/+63 |
| | | |||||
* | | Merge pull request #697 from matrix-org/markjh/slaveI | Mark Haines | 2016-04-06 | 4 | -0/+199 |
|\ \ | | | | | | | Add a slaved events store class | ||||
| * | | Add a slaved events store class | Mark Haines | 2016-04-06 | 4 | -0/+199 |
| | | | | | | | | | | | | | | | Add a test to check that get_room_names_and_aliases does the same thing on both the master and on the slave data store. | ||||
* | | | Don't require config to create database | Erik Johnston | 2016-04-06 | 2 | -4/+4 |
|/ / | |||||
* / | Do checks for memberships before creating events | Erik Johnston | 2016-04-01 | 1 | -2/+2 |
|/ | |||||
* | Add a replication stream for state groups | Mark Haines | 2016-03-30 | 1 | -3/+27 |
| | |||||
* | Remove dead code left over from presence changes | Mark Haines | 2016-03-17 | 1 | -10/+0 |
| | |||||
* | Fix tests | David Baker | 2016-03-16 | 1 | -4/+5 |
| | |||||
* | Add replication stream for pushers | Mark Haines | 2016-03-15 | 1 | -0/+1 |
| | |||||
* | Use parse_json_object_from_request to parse JSON out of request bodies | Mark Haines | 2016-03-11 | 1 | -2/+4 |
| | |||||
* | Flake8 fix | blide | 2016-03-10 | 1 | -6/+6 |
| | |||||
* | Register endpoint returns refresh_token | blide | 2016-03-10 | 1 | -12/+18 |
| | | | | Guest registration still doesn't return refresh_token | ||||
* | Fix tests | David Baker | 2016-03-07 | 3 | -20/+20 |
| | |||||
* | Fix unit tests | Mark Haines | 2016-03-04 | 1 | -2/+2 |
| | |||||
* | Merge branch 'develop' into markjh/pushrule_stream | Mark Haines | 2016-03-04 | 6 | -25/+53 |
|\ | |||||
| * | tests/utils: added room_invite_state_types to test config | Patrik Oldsberg | 2016-03-04 | 1 | -0/+1 |
| | | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com> | ||||
| * | Pass whole requester to ratelimiting | Daniel Wagner-Hall | 2016-03-03 | 4 | -13/+29 |
| | | | | | | | | This will enable more detailed decisions | ||||
| * | Merge pull request #571 from matrix-org/daniel/asids | Daniel Wagner-Hall | 2016-03-03 | 2 | -7/+16 |
| |\ | | | | | | | Mark AS users with their AS's ID | ||||
| | * | Mark AS users with their AS's ID | Daniel Wagner-Hall | 2016-02-11 | 2 | -7/+16 |
| | | | |||||
| * | | Merge pull request #612 from matrix-org/erikj/cache_size | Erik Johnston | 2016-03-02 | 1 | -5/+7 |
| |\ \ | | | | | | | | | Add environment variable SYNAPSE_CACHE_FACTOR, default it to 0.1 | ||||
| | * | | Move cache size fiddling to descriptors only. Fix tests | Erik Johnston | 2016-03-01 | 1 | -5/+7 |
| | | | | |||||
* | | | | Hook push rules up to the replication API | Mark Haines | 2016-03-02 | 1 | -2/+4 |
|/ / / | |||||
* / / | Add a /replication API for extracting the updates that happened on | Mark Haines | 2016-03-01 | 3 | -2/+196 |
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | synapse This is necessary for replicating the data in synapse to be visible to a separate service because presence and typing notifications aren't stored in a database so won't be visible to another process. This API can be used to either get the raw data by requesting the tables themselves or to just receive notifications for updates by following the streams meta-stream. Returns updates for each table requested a JSON array of arrays with a row for each row in the table. Each table is prefixed by a header row with the: name of the table, current stream_id position for the table, number of rows, number of columns and the names of the columns. This is followed by the rows that have been added to the server since the requester last asked. The API has a timeout and is hooked up to the notifier so that a slave can long poll for updates. | ||||
* | | Check that the disable_registration config key is handled correctly | Mark Haines | 2016-02-22 | 1 | -0/+21 |
| | | |||||
* | | Add a test for TreeCache.__contains__ | Mark Haines | 2016-02-22 | 2 | -0/+9 |
| | | |||||
* | | Test Filter.filter_rooms | Mark Haines | 2016-02-19 | 1 | -0/+18 |
| | | | | | | | | | | Also check that the __repr__ method for FilterCollection does something sensible. | ||||
* | | Fix flake8 warnings for tests | Mark Haines | 2016-02-19 | 38 | -363/+358 |
| | | |||||
* | | Don't set currently_active for remote presence | Erik Johnston | 2016-02-19 | 1 | -4/+15 |
| | | |||||
* | | Add unit test | Erik Johnston | 2016-02-18 | 1 | -0/+373 |
| | | |||||
* | | Remove old tests. | Erik Johnston | 2016-02-18 | 6 | -2098/+0 |
| | | |||||
* | | Initial cut | Erik Johnston | 2016-02-17 | 1 | -2/+2 |
| | | |||||
* | | Add wheeltimer impl | Erik Johnston | 2016-02-17 | 1 | -0/+74 |
|/ | |||||
* | Merge pull request #566 from matrix-org/erikj/logcontext | Erik Johnston | 2016-02-10 | 1 | -9/+1 |
|\ | | | | | Don't bother copying records on parent context | ||||
| * | Fix test | Erik Johnston | 2016-02-09 | 1 | -9/+1 |
| | | |||||
* | | Typo | Erik Johnston | 2016-02-09 | 1 | -1/+1 |
| | | |||||
* | | Fix test | Erik Johnston | 2016-02-09 | 1 | -3/+4 |
|/ | |||||
* | Error if macaroon key is missing from config | Daniel Wagner-Hall | 2016-02-05 | 3 | -0/+141 |
| | | | | | | | | | | | | | Currently we store all access tokens in the DB, and fall back to that check if we can't validate the macaroon, so our fallback works here, but for guests, their macaroons don't get persisted, so we don't get to find them in the database. Each restart, we generate a new ephemeral key, so guests lose access after each server restart. I tried to fix up the config stuff to be less insane, but gave up, so instead I bolt on yet another piece of custom one-off insanity. Also, add some basic tests for config generation and loading. | ||||
* | Merge pull request #556 from matrix-org/daniel/config | Daniel Wagner-Hall | 2016-02-03 | 3 | -4/+4 |
|\ | | | | | Rename config field to reflect yaml name | ||||
| * | Rename config field to reflect yaml name | Daniel Wagner-Hall | 2016-02-03 | 3 | -4/+4 |
| | | |||||
* | | Simplify get_rooms | Erik Johnston | 2016-02-03 | 1 | -26/+0 |
|/ | |||||
* | Fix the mock homserver used in the tests | Mark Haines | 2016-01-29 | 1 | -0/+1 |
| | |||||
* | Merge pull request #536 from matrix-org/erikj/sync | Erik Johnston | 2016-01-29 | 1 | -8/+1 |
|\ | | | | | Make /sync "better". | ||||
| * | Allow paginating backwards from stream token | Erik Johnston | 2016-01-28 | 1 | -8/+1 |
| | | |||||
| * | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/sync | Erik Johnston | 2016-01-28 | 1 | -2/+14 |
| |\ | |||||
* | \ | Merge pull request #538 from matrix-org/erikj/fix_lru_cache | Erik Johnston | 2016-01-29 | 2 | -0/+19 |
|\ \ \ | | | | | | | | | Fix LruCache. Make TreeCache track its own size. | ||||
| * | | | Add tests | Erik Johnston | 2016-01-29 | 2 | -0/+19 |
| | | | | |||||
* | | | | Fix test | Erik Johnston | 2016-01-28 | 1 | -3/+4 |
|/ / / | |||||
* | / | Merge pull request #534 from matrix-org/erikj/setup | Erik Johnston | 2016-01-28 | 3 | -5/+12 |
|\| | | |/ |/| | Add a Homeserver.setup method | ||||
| * | Fix tests | Erik Johnston | 2016-01-27 | 3 | -5/+12 |
| | | |||||
* | | Merge pull request #535 from matrix-org/rav/paginate_from_stream_token | Richard van der Hoff | 2016-01-28 | 1 | -2/+14 |
|\ \ | |/ |/| | Make it possible to paginate forwards from stream tokens | ||||
| * | Make it possible to paginate forwards from stream tokens | Richard van der Hoff | 2016-01-27 | 1 | -2/+14 |
| | | | | | | | | | | In order that we can fill the gap after a /sync, make it possible to paginate forwards from a stream token. | ||||
* | | Remove redundated BaseHomeServer | Erik Johnston | 2016-01-26 | 5 | -314/+30 |
|/ | |||||
* | Fix tests | Erik Johnston | 2016-01-25 | 1 | -6/+4 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/sync | Erik Johnston | 2016-01-22 | 2 | -0/+86 |
|\ | |||||
| * | Revert all the bits changing keys of eeverything that used LRUCaches to tuples | David Baker | 2016-01-22 | 2 | -35/+35 |
| | | |||||
| * | Make LRU cache not default to treecache & add options to use it | David Baker | 2016-01-22 | 1 | -1/+2 |
| | | |||||
| * | Test treecache directly | David Baker | 2016-01-22 | 1 | -0/+19 |
| | | |||||
| * | Add tests for treecache directly and test del_multi at the LruCache level too. | David Baker | 2016-01-22 | 1 | -0/+66 |
| | | |||||
| * | Change LRUCache to be tree-based so we can delete subtrees. | David Baker | 2016-01-21 | 2 | -35/+35 |
| | | |||||
* | | Fix tests | Erik Johnston | 2016-01-22 | 1 | -1/+1 |
|/ | |||||
* | Cache dns lookups, and use the cache if we fail to lookup servers later | Erik Johnston | 2016-01-20 | 1 | -0/+115 |
| | |||||
* | Make unit tests work | Erik Johnston | 2016-01-18 | 2 | -559/+0 |
| | |||||
* | Require unbanning before other membership changes | Daniel Wagner-Hall | 2016-01-15 | 1 | -3/+3 |
| | |||||
* | Require ID and as_token be unique for ASs | Daniel Wagner-Hall | 2016-01-14 | 2 | -16/+86 |
| | | | | | Defaults ID to as_token if not specified. This will change when IDs are fully supported. | ||||
* | Delete the table objects from TransactionStore | Mark Haines | 2016-01-13 | 2 | -2/+0 |
| | |||||
* | Merge pull request #478 from matrix-org/daniel/userobject | Daniel Wagner-Hall | 2016-01-11 | 3 | -13/+11 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a User object I'm sick of passing around more and more things as tuple items around the whole world, and needing to edit every call site every time there is more information about a user. So pass them around together as an object. This object has incredibly poorly named fields because we have a convention that `user` indicates a UserID object, and `user_id` indicates a string. I tried to clean up the whole repo to fix this, but gave up. So instead, I introduce a second convention. A user_object is a User, and a user_id_object is a UserId. I may have cried a little bit. | ||||
| * | Introduce a Requester object | Daniel Wagner-Hall | 2016-01-11 | 3 | -13/+11 |
| | | | | | | | | | | | | | | | | | | This tracks data about the entity which made the request. This is instead of passing around a tuple, which requires call-site modifications every time a new piece of optional context is passed around. I tried to introduce a User object. I gave up. | ||||
* | | Merge pull request #456 from matrix-org/store_event_actions | David Baker | 2016-01-08 | 3 | -1/+26 |
|\ \ | |/ |/| | Send unread notification counts | ||||
| * | fix tests | David Baker | 2016-01-06 | 3 | -1/+10 |
| | | |||||
| * | Merge remote-tracking branch 'origin/develop' into store_event_actions | David Baker | 2016-01-05 | 1 | -9/+9 |
| |\ | |||||
| * | | fix tests | David Baker | 2016-01-04 | 2 | -2/+2 |
| | | | |||||
| * | | Merge remote-tracking branch 'origin/develop' into store_event_actions | David Baker | 2016-01-04 | 1 | -0/+60 |
| |\ \ | |||||
| * | | | Add mocks to make tests work again | David Baker | 2015-12-22 | 2 | -0/+16 |
| | | | | |||||
* | | | | copyrights | Matthew Hodgson | 2016-01-07 | 53 | -53/+53 |
| |_|/ |/| | | |||||
* | | | Allow guests to upgrade their accounts | Daniel Wagner-Hall | 2016-01-05 | 1 | -9/+9 |
| |/ |/| | |||||
* | | Add a unit test for the snapshot cache | Mark Haines | 2015-12-23 | 1 | -0/+60 |
|/ | |||||
* | Merge remote-tracking branch 'origin/master' into develop | Mark Haines | 2015-12-07 | 1 | -1/+1 |
|\ | |||||
| * | Fix mock import in tests. | Oleg Girko | 2015-12-06 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | For some reason, one test imports Mock class from mock.mock rather than from mock. This change fixes this error. Signed-off-by: Oleg Girko <ol@infoserver.lv> | ||||
* | | Host /unstable and /r0 versions of r0 APIs | Daniel Wagner-Hall | 2015-12-01 | 1 | -2/+3 |
| | | |||||
* | | rename the method in the tests as well | Mark Haines | 2015-12-01 | 1 | -3/+3 |
|/ | |||||
* | Update tests | Erik Johnston | 2015-11-17 | 3 | -0/+17 |
| | |||||
* | Return non-room events from guest /events calls | Daniel Wagner-Hall | 2015-11-12 | 1 | -0/+3 |
| | |||||
* | Fix an issue with ignoring power_level changes on divergent graphs | Richard van der Hoff | 2015-11-12 | 1 | -0/+93 |
| | | | | | | | | Changes to m.room.power_levels events are supposed to be handled at a high priority; however a typo meant that the relevant bit of code was never executed, so they were handled just like any other state change - which meant that a bad person could cause room state changes by forking the graph from a point in history when they were allowed to do so. | ||||
* | Merge pull request #359 from matrix-org/markjh/incremental_indexing | Erik Johnston | 2015-11-11 | 2 | -0/+79 |
|\ | | | | | Incremental background updates for db indexes | ||||
| * | Test for background updates | Mark Haines | 2015-11-10 | 2 | -0/+79 |
| | | |||||
* | | Return world_readable and guest_can_join in /publicRooms | Daniel Wagner-Hall | 2015-11-10 | 1 | -0/+2 |
| | | |||||
* | | Add a couple of unit tests for room/<x>/messages | Richard van der Hoff | 2015-11-09 | 1 | -0/+56 |
|/ | | | | ... merely because I was trying to figure out how it worked, and couldn't. | ||||
* | Open up /events to anonymous users for room events only | Daniel Wagner-Hall | 2015-11-05 | 4 | -26/+89 |
| | | | | Squash-merge of PR #345 from daniel/anonymousevents | ||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into develop | Daniel Wagner-Hall | 2015-11-04 | 4 | -117/+1 |
|\ | |||||
| * | Merge branch 'develop' into daniel/removesomelies | Mark Haines | 2015-11-04 | 2 | -110/+2 |
| |\ | | | | | | | | | | | | | Conflicts: synapse/notifier.py | ||||
| | * | Remove the LockManager class because it wasn't being used | Mark Haines | 2015-11-04 | 1 | -108/+0 |
| | | | |||||
| * | | Remove more unused parameters | Daniel Wagner-Hall | 2015-11-02 | 3 | -9/+1 |
| | | |