summary refs log tree commit diff
path: root/synapse/handlers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Implement deleting devicesRichard van der Hoff2016-07-262-3/+46
|
* Use get to avoid KeyErrorsDavid Baker2016-07-221-1/+1
|
* Log the hostname the reCAPTCHA was completed onDavid Baker2016-07-221-2/+11
| | | | This could be useful information to have in the logs. Also comment about how & why we don't verify the hostname.
* make /devices return a listRichard van der Hoff2016-07-211-5/+5
| | | | Turns out I specced this to return a list of devices rather than a dict of them
* Fix PEP8 errorsRichard van der Hoff2016-07-211-1/+1
|
* Implement GET /device/{deviceId}Richard van der Hoff2016-07-211-9/+37
|
* GET /devices endpointRichard van der Hoff2016-07-201-0/+27
| | | | | | | 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 #935 from matrix-org/erikj/backfill_notifsErik Johnston2016-07-201-5/+6
|\ | | | | Don't notify pusher pool for backfilled events
| * Don't notify pusher pool for backfilled eventsErik Johnston2016-07-201-5/+6
| |
* | Merge pull request #933 from matrix-org/rav/type_annotationsRichard van der Hoff2016-07-202-0/+8
|\ \ | | | | | | Type annotations
| * | Type annotationsRichard van der Hoff2016-07-192-0/+8
| | | | | | | | | | | | | | | Add some type annotations to help PyCharm (in particular) to figure out the types of a bunch of things.
* | | Merge pull request #932 from matrix-org/rav/register_refactorDavid Baker2016-07-201-5/+8
|\ \ \ | |_|/ |/| | Further registration refactoring
| * | Further registration refactoringRichard van der Hoff2016-07-191-5/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | * `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_api2Erik Johnston2016-07-201-4/+12
|\ \ | |/ |/| Feature: Add filter to /messages. Add 'contains_url' to filter.
| * Add filter param to /messages APIErik Johnston2016-07-141-4/+12
| |
* | Merge pull request #929 from matrix-org/rav/support_deviceid_in_loginRichard van der Hoff2016-07-192-8/+82
|\ \ | | | | | | Add device_id support to /login
| * | Add device_id support to /loginRichard van der Hoff2016-07-182-8/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Summary lineMark Haines2016-07-191-2/+1
| | |
* | | Update docstring on Handlers.Mark Haines2016-07-191-3/+15
|/ / | | | | | | To indicate it is deprecated.
* | Refactor login flowRichard van der Hoff2016-07-181-47/+59
| | | | | | | | | | | | | | | | | | | | Make sure that we have the canonical user_id *before* calling get_login_tuple_for_user_id. Replace login_with_password with a method which just validates the password, and have the caller call get_login_tuple_for_user_id. This brings the password flow into line with the other flows, and will give us a place to register the device_id if necessary.
* | Fix a doc-commentRichard van der Hoff2016-07-181-1/+1
| | | | | | | | The `store` in a handler is a generic DataStore, not just an events.StateStore.
* | Merge pull request #919 from matrix-org/erikj/auth_fixErik Johnston2016-07-151-2/+6
|\ \ | | | | | | Various auth.py fixes.
| * | CommentErik Johnston2016-07-151-0/+4
| | |
| * | Check sender signed eventErik Johnston2016-07-141-2/+2
| |/
* / Bug fix: expire invalid access tokensNegar Fazeli2016-07-132-5/+6
|/
* Merge branch 'erikj/shared_secret' into erikj/test2Erik Johnston2016-07-063-17/+34
|\
| * Add an admin option to shared secret registrationErik Johnston2016-07-051-1/+3
| |
| * Merge pull request #904 from ↵David Baker2016-07-051-14/+27
| |\ | | | | | | | | | | | | matrix-org/dbkr/register_email_no_untrusted_id_server requestToken update
| | * requestToken updateDavid Baker2016-06-301-14/+27
| | | | | | | | | | | | | | | | | | Don't send requestToken request to untrusted ID servers Also correct the THREEPID_IN_USE error to add the M_ prefix. This is a backwards incomaptible change, but the only thing using this is the angular client which is now unmaintained, so it's probably better to just do this now.
| * | Fix password configKent Shikama2016-07-051-2/+2
| | |
| * | Fix pep8Kent Shikama2016-07-051-1/+2
| | |
| * | Add pepper to password hashingKent Shikama2016-07-051-2/+3
| | | | | | | | | | | | Signed-off-by: Kent Shikama <kent@kentshikama.com>
* | | Add ReadWriteLock for pagination and history pruneErik Johnston2016-07-051-34/+36
| | |
* | | Add purge_history APIErik Johnston2016-07-052-1/+14
|/ /
* | Fix style violationsKent Shikama2016-07-041-1/+2
| | | | | | | | Signed-off-by: Kent Shikama <kent@kentshikama.com>
* | Optionally include password hash in createUser endpointKent Shikama2016-07-031-2/+2
|/ | | | Signed-off-by: Kent Shikama <kent@kentshikama.com>
* Rework ldap integration with ldap3Martin Weinelt2016-06-221-33/+170
| | | | | | | | | | | | | | | | | | | 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>
* Add a comment on why we don't create a profile for upgrading usersMark Haines2016-06-171-0/+1
|
* Remove registered_users from the distributor.Mark Haines2016-06-172-20/+10
| | | | | | | | | | The only place that was observed was to set the profile. I've made it so that the profile is set within store.register in the same transaction that creates the user. This required some slight changes to the registration code for upgrading guest users, since it previously relied on the distributor swallowing errors if the profile already existed.
* Only re-sign our own eventsErik Johnston2016-06-171-6/+9
|
* Fix TypeError in call to bcrypt.hashpwSalvatore LaMendola2016-06-161-1/+1
| | | | | | | | - At the very least, this TypeError caused logins to fail on my own running instance of Synapse, and the simple (explicit) UTF-8 conversion resolved login errors for me. Signed-off-by: Salvatore LaMendola <salvatore.lamendola@gmail.com>
* Correctly mark backfilled events as backfilledErik Johnston2016-06-151-14/+16
|
* Fix a bug caused by a change in auth_handler functionNegar Fazeli2016-06-081-2/+2
| | | | Fix the relevant unit test cases
* Pull full state for each room all at onceErik Johnston2016-06-081-16/+16
|
* Don't hit DB for noop replications queriesErik Johnston2016-06-081-0/+3
|
* Remove dead code.Mark Haines2016-06-071-13/+0
| | | | | | | | | | | Loading push rules now happens in the datastore, so we can remove the methods that loaded them outside the datastore. The ``waiting_for_join_list`` in federation handler is populated by anything, so can be removed. The ``_get_members_events_txn`` method isn't called from anywhere so can be removed.
* .values() returns list of setsErik Johnston2016-06-061-1/+2
|
* Fix typosErik Johnston2016-06-061-32/+36
|
* Fire after 30s not 8hErik Johnston2016-06-061-1/+1
|
* Merge pull request #832 from matrix-org/erikj/presence_coountErik Johnston2016-06-031-5/+9
|\ | | | | Change def of small delta in presence stream. Add metrics.
| * Change metric styleErik Johnston2016-06-031-5/+4
| |
| * Presence metrics. Change def of small deltaErik Johnston2016-06-031-5/+10
| |
* | Fix typoErik Johnston2016-06-031-1/+1
|/
* Merge pull request #829 from matrix-org/erikj/poke_notifierErik Johnston2016-06-031-4/+7
|\ | | | | Poke notifier on next reactor tick
| * Poke notifier on next reactor tickErik Johnston2016-06-031-4/+7
| |
* | Load push rules in storage layer, so that they get cachedErik Johnston2016-06-031-3/+2
|/
* Merge remote-tracking branch 'origin/dbkr/email_notif_string_fmt_error' into ↵David Baker2016-06-021-28/+36
|\ | | | | | | dbkr/email_unsubscribe
| * Store the typing users as user_id strings. (#819)Mark Haines2016-06-021-28/+36
| | | | | | Rather than storing them as UserID objects.
* | Merge remote-tracking branch 'origin/develop' into dbkr/email_unsubscribeDavid Baker2016-06-022-550/+716
|\|
| * Deduplicate presence entries in sync (#818)Mark Haines2016-06-021-0/+3
| |
| * Allow external processes to mark a user as syncing. (#812)Mark Haines2016-06-021-13/+106
| | | | | | | | | | | | | | | | | | | | | | | | * 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
| * Merge pull request #817 from matrix-org/dbkr/split_out_auth_handlerDavid Baker2016-06-022-3/+1
| |\ | | | | | | Split out the auth handler
| * \ Merge pull request #800 from matrix-org/erikj/sync_refactorErik Johnston2016-06-021-537/+607
| |\ \ | | | | | | | | Refactor SyncHandler
| | * | Change short circuit pathErik Johnston2016-05-241-16/+26
| | | |
| | * | Don't send down all ephemeral eventsErik Johnston2016-05-241-1/+3
| | | |
| | * | Only work out newly_joined_users for incremental syncErik Johnston2016-05-241-6/+9
| | | |
| | * | Only include non-offline presence in initial syncErik Johnston2016-05-241-0/+3
| | | |
| | * | Spell builder correctlyErik Johnston2016-05-241-63/+63
| | | |
| | * | Inline function. Make load_filtered_recents privateErik Johnston2016-05-241-17/+7
| | | |
| | * | Add commentsErik Johnston2016-05-241-7/+105
| | | |
| | * | Shuffle things roomErik Johnston2016-05-241-37/+33
| | | |
| | * | Add back concurrently_executeErik Johnston2016-05-231-25/+9
| | | |
| | * | Refactor SyncHandlerErik Johnston2016-05-231-497/+481
| | | |
* | | | Merge branch 'dbkr/split_out_auth_handler' into dbkr/email_unsubscribeDavid Baker2016-06-023-4/+2
|\ \ \ \ | | |_|/ | |/| |
| * | | Split out the auth handlerDavid Baker2016-06-022-3/+1
| |/ /
| * | Fix room list spideringDavid Baker2016-06-011-1/+1
| | |
* | | Email unsubscribing that may in theory, workDavid Baker2016-06-021-0/+5
|/ / | | | | | | Were it not for that fact that you can't use the base handler in the pusher because it pulls in the world. Comitting while I fix that on a different branch.
* | Merge remote-tracking branch 'origin/develop' into dbkr/room_list_spiderDavid Baker2016-06-013-22/+7
|\ \
| * | Move the AS handler out of the Handlers object.Mark Haines2016-05-313-22/+7
| | | | | | | | | | | | | | | | | | Access it directly from the homeserver itself. It already wasn't inheriting from BaseHandler storing it on the Handlers object was already somewhat dubious.
* | | Add cache to remote room listsDavid Baker2016-05-311-4/+30
| | | | | | | | | | | | Poll for updates from remote servers, waiting for the poll if there's no cache entry.
* | | Basic, un-cached support for secondary_directory_serversDavid Baker2016-05-311-1/+32
|/ /
* | Split out the room list handlerDavid Baker2016-05-311-2/+1
| | | | | | | | So I can use it from federation bits without pulling in all the handlers.
* | Send down correct error response if user not foundErik Johnston2016-05-271-2/+7
| |
* | Fix set profile error with Requester.Negi Fazeli2016-05-231-4/+5
|/ | | | | 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 objectMark Haines2016-05-172-20/+15
|
* Merge remote-tracking branch 'origin/develop' into markjh/liberate_sync_handlerMark Haines2016-05-171-15/+0
|\
| * Remove unused get_joined_rooms_for_userMark Haines2016-05-171-15/+0
| |
| * Merge branch 'develop' into markjh/member_cleanupMark Haines2016-05-175-25/+25
| |\
| | * Merge pull request #787 from matrix-org/markjh/liberate_presence_handlerMark Haines2016-05-175-25/+25
| | |\ | | | | | | | | Move the presence handler out of the Handlers object
* | | | Move SyncHandler out of the Handlers objectMark Haines2016-05-162-7/+5
| | | |
* | | | Merge branch 'markjh/liberate_presence_handler' into ↵Mark Haines2016-05-165-25/+25
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| markjh/liberate_sync_handler
| * | Don't inherit PresenceHandler from BaseHandler, remove references to self.hs ↵Mark Haines2016-05-161-19/+21
| | | | | | | | | | | | from presence handler
| * | Move the presence handler out of the Handlers objectMark Haines2016-05-165-7/+5
| | |
* | | Remove get_joined_rooms_for_user from RoomMemberHandlerMark Haines2016-05-163-11/+4
| | |
* | | Replaces calls to fetch_room_distributions_into with get_joined_hosts_for_roomMark Haines2016-05-163-67/+27
| |/ |/|
* | Spell "domain" correctlyMark Haines2016-05-163-8/+8
|/ | | | s/domian/domain/g
* Merge pull request #741 from negzi/create_user_with_expiryErik Johnston2016-05-132-2/+55
|\ | | | | Create user with expiry
| * Create user with expiryNegi Fazeli2016-05-132-2/+55
| | | | | | | | | | | | - Add unittests for client, api and handler Signed-off-by: Negar Fazeli <negar.fazeli@ericsson.com>
* | missed a spotMark Haines2016-05-121-1/+1
| |
* | move filter_events_for_client out of base handlerMark Haines2016-05-115-204/+29
| |
* | Shuffle when we get the signing_key attribute.Mark Haines2016-05-111-2/+2
| | | | | | | | | | | | | | | | Wait until we sign a message to get the signing key from the homeserver config. This means that the message handler can be created without having a signing key in the config which means that separate processes like the pusher that don't send messages and don't need to sign them can still access the handlers.
* | Merge pull request #775 from matrix-org/erikj/password_hashErik Johnston2016-05-111-1/+4
|\ \ | | | | | | Correctly handle NULL password hashes from the database
| * | Correctly handle NULL password hashes from the databaseErik Johnston2016-05-111-1/+4
| |/
* | Fix typoMark Haines2016-05-111-1/+1
| |
* | Move _create_new_client_event and handle_new_client_event out of base handlerMark Haines2016-05-114-204/+214
|/
* Merge pull request #759 from matrix-org/dbkr/email_notifsMatthew Hodgson2016-05-105-12/+12
|\ | | | | Send email notifications for missed messages
| * Merge remote-tracking branch 'origin/develop' into dbkr/email_notifsDavid Baker2016-05-103-16/+10
| |\
| * \ Merge remote-tracking branch 'origin/develop' into dbkr/email_notifsDavid Baker2016-04-291-1/+1
| |\ \
| * | | Run filter_events_for_clientDavid Baker2016-04-275-12/+12
| | | | | | | | | | | | | | | | so we don't accidentally mail out events people shouldn't see
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/ignore_userErik Johnston2016-05-093-15/+9
|\ \ \ \ | | |_|/ | |/| |
| * | | Add and use get_domian_from_idErik Johnston2016-05-093-15/+9
| | | |
* | | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/ignore_userErik Johnston2016-05-091-1/+1
|\| | |
| * | | Reduce database inserts when sending transactionsErik Johnston2016-05-061-1/+1
| | |/ | |/|
* | | Add bulk fetch storage APIErik Johnston2016-05-052-8/+4
| | |
* | | Implement basic ignore userErik Johnston2016-05-042-6/+42
|/ /
* / fix typoMatthew Hodgson2016-04-281-1/+1
|/
* Simplify _check_passwordErik Johnston2016-04-151-5/+9
|
* Fix check_password rather than inverting the meaning of ↵Mark Haines2016-04-141-9/+12
| | | | _check_local_password (#730)
* Fix login to error for nonexistent usersDavid Baker2016-04-141-1/+1
| | | | Fixes SYN-680
* Merge pull request #718 from matrix-org/erikj/public_room_listErik Johnston2016-04-131-5/+8
|\ | | | | Don't return empty public rooms
| * Don't return empty public roomsErik Johnston2016-04-121-5/+8
| |
* | Don't auto log failed auth checksErik Johnston2016-04-132-9/+31
|/
* More commentsErik Johnston2016-04-121-0/+9
|
* More commentsErik Johnston2016-04-121-0/+6
|
* Don't append to unused listErik Johnston2016-04-121-4/+0
|
* Add back backfilled parameter that was removedErik Johnston2016-04-121-1/+3
|
* Add commentErik Johnston2016-04-121-0/+1
|
* Check if we've already backfilled eventsErik Johnston2016-04-121-7/+20
|
* Merge pull request #705 from matrix-org/dbkr/pushers_use_event_actionsDavid Baker2016-04-113-6/+32
|\ | | | | Change pushers to use the event_actions table
| * Add comments on min_stream_idDavid Baker2016-04-071-0/+1
| | | | | | | | saying that the min stream id won't be completely accurate all the time
| * Merge remote-tracking branch 'origin/develop' into ↵David Baker2016-04-073-12/+49
| |\ | | | | | | | | | dbkr/pushers_use_event_actions
| * | Send badge count pushes.David Baker2016-04-071-4/+17
| | | | | | | | | | | | Also fix bugs with retrying.
| * | Make pushers use the event_push_actions table instead of listening on an ↵David Baker2016-04-062-2/+14
| | | | | | | | | | | | | | | | | | | | | event stream & running the rules again. Sytest passes, but remaining to do: * Make badges work again * Remove old, unused code
* | | Merge pull request #707 from matrix-org/markjh/remove_changed_presencelike_dataErik Johnston2016-04-081-15/+0
|\ \ \ | | | | | | | | changed_presencelike_data isn't observed anywhere so can be removed
| * | | changed_presencelike_data isn't observed anywhere in synapse so can be removedMark Haines2016-04-081-15/+0
| | | |
* | | | Remove some unused functions (#711)Mark Haines2016-04-082-42/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove some unused functions * get_room_events_stream is only used in tests * is_exclusive_room might actually be something we want
* | | | Move all the wrapper functions for distributor.fireMark Haines2016-04-084-38/+3
|/ / / | | | | | | | | | | | | | | | | | | Move the functions inside the distributor and import them where needed. This reduces duplication and makes it possible for flake8 to detect when the functions aren't used in a given file.
* | | Merge pull request #708 from matrix-org/markjh/remove_collect_presencelike_dataMark Haines2016-04-082-37/+1
|\ \ \ | | | | | | | | Call profile handler get_displayname directly
| * | | Call profile handler get_displayname directly rather than using ↵Mark Haines2016-04-072-37/+1
| | | | | | | | | | | | | | | | collect_presencelike_data
* | | | Merge pull request #701 from DoubleMalt/ldap-authErik Johnston2016-04-071-9/+77
|\ \ \ \ | |/ / / |/| | | Add LDAP authentication
| * | | fix check for failed authenticationChristoph Witzany2016-04-061-2/+4
| | | |
| * | | remove lineChristoph Witzany2016-04-061-1/+0
| | | |
| * | | make tests for ldap more specific to not be fooled by MocksChristoph Witzany2016-04-061-3/+3
| | | |
| * | | output ldap version for info and to pacify pep8Christoph Witzany2016-04-061-0/+2
| | | |
| * | | conditionally import ldapChristoph Witzany2016-04-061-2/+5
| | | |
| * | | fix pep8Christoph Witzany2016-04-061-2/+1
| | | |
| * | | fix exception handlingChristoph Witzany2016-04-061-2/+2
| | | |
| * | | code styleChristoph Witzany2016-04-061-6/+13
| | | |
| * | | add tls property and twist my head around twistedChristoph Witzany2016-04-061-15/+29
| | | |
| * | | move LDAP authentication to AuthenticationHandlerChristoph Witzany2016-04-061-6/+48
| | | |
* | | | Merge pull request #700 from matrix-org/erikj/deduplicate_joinsErik Johnston2016-04-071-0/+31
|\ \ \ \ | |_|_|/ |/| | | Deduplicate membership changes
| * | | Deduplicate joinsErik Johnston2016-04-071-0/+31
| | | |
* | | | Set profile information when joining rooms remotelyErik Johnston2016-04-071-0/+5
|/ / /
* / / Let users see their own leave eventsRichard van der Hoff2016-04-061-11/+40
|/ / | | | | | | | | | | | | ... otherwise clients get confused. Fixes https://matrix.org/jira/browse/SYN-662, https://github.com/vector-im/vector-web/issues/368
* | Merge pull request #693 from matrix-org/erikj/backfill_selfErik Johnston2016-04-051-1/+4
|\ \ | |/ |/| Don't backfill from self
| * Don't backfill from selfErik Johnston2016-04-051-1/+4
| |
* | Merge pull request #691 from matrix-org/erikj/memberErik Johnston2016-04-052-15/+37
|\ \ | | | | | | Fix stuck invites
| * | Fix stuck invitesErik Johnston2016-04-052-15/+37
| | | | | | | | | | | | | | | | | | | | | | | | If rejecting a remote invite fails with an error response don't fail the entire request; instead mark the invite as locally rejected. This fixes the bug where users can get stuck invites which they can neither accept nor reject.
* | | Merge pull request #690 from matrix-org/erikj/memberErik Johnston2016-04-051-1/+4
|\| | | | | | | | Store invites in a separate table.
| * | Docs and indentsErik Johnston2016-04-041-1/+4
| | |
| * | Store invites in a separate table.Erik Johnston2016-04-041-1/+1
| | |
* | | Merge pull request #689 from matrix-org/erikj/memberErik Johnston2016-04-043-149/+169
|\| | | | | | | | Do checks for memberships before creating events
| * | Use computed prev event idsErik Johnston2016-04-013-13/+25
| | |
| * | Remove state hack from _create_new_client_eventErik Johnston2016-04-011-43/+0
| | |
| * | Do checks for memberships before creating eventsErik Johnston2016-04-011-93/+144
| | |
* | | Merge pull request #686 from matrix-org/markjh/doc_stringsMark Haines2016-04-015-72/+101
|\ \ \ | |/ / |/| | Use google style doc strings.
| * | Use google style doc strings.Mark Haines2016-04-015-72/+101
| | | | | | | | | | | | | | | | | | | | | pycharm supports them so there is no need to use the other format. Might as well convert the existing strings to reduce the risk of people accidentally cargo culting the wrong doc string format.
* | | Add concurrently_execute functionErik Johnston2016-04-013-74/+51
| | |
* | | Filter rooms list before chunkingErik Johnston2016-04-011-6/+12
| | |
* | | Remove outlier parameter from compute_event_contextMark Haines2016-03-312-9/+5
|/ / | | | | | | Use event.internal_metadata.is_outlier instead.
* | Merge pull request #680 from matrix-org/markjh/remove_is_new_stateMark Haines2016-03-311-16/+4
|\ \ | | | | | | Remove the is_new_state argument to persist event.
| * | Remove the is_new_state argument to persist event.Mark Haines2016-03-311-16/+4
| |/ | | | | | | | | | | | | | | | | Move the checks for whether an event is new state inside persist event itself. This was harder than expected because there wasn't enough information passed to persist event to correctly handle invites from remote servers for new rooms.
* / Split out RoomMemberHandlerErik Johnston2016-03-313-603/+651
|/
* Line lengthErik Johnston2016-03-311-1/+3
|
* Only forget room if you were in the roomErik Johnston2016-03-301-1/+2
|
* Require user to have left room to forget roomErik Johnston2016-03-301-6/+16
| | | | | This dramatically simplifies the forget API code - in particular it no longer generates a leave event.
* Add a response cache for getting the public room listMark Haines2016-03-241-1/+11
|
* Deduplicate identical /sync requestsMark Haines2016-03-241-1/+15
|
* Ensure all old public rooms have aliasesErik Johnston2016-03-231-4/+5
|
* Ensure published rooms have public join rulesErik Johnston2016-03-231-0/+7
|
* CommentErik Johnston2016-03-231-0/+3
|
* Don't require alias in public room list.Erik Johnston2016-03-231-14/+13
| | | | | | | Rooms now no longer require an alias to be published. Also, changes the way we pull out state of each room to not require fetching all state events.
* Merge pull request #657 from matrix-org/erikj/roomlistErik Johnston2016-03-221-0/+22
|\ | | | | Add published room list edit API
| * Doc stringErik Johnston2016-03-221-0/+6
| |
| * an invalide is something else...Matthew Hodgson2016-03-221-1/+1
| |
| * Add published room list edit APIErik Johnston2016-03-211-0/+16
| |
* | Remove unused backfilled parameter from persist_eventMark Haines2016-03-211-23/+15
| |
* | remove unused current_state variable from on_receive_pduMark Haines2016-03-211-2/+0
|/
* Merge pull request #652 from matrix-org/erikj/delete_aliasErik Johnston2016-03-181-6/+47
|\ | | | | Update aliases event after deletion
| * Check canonical alias event existsErik Johnston2016-03-171-1/+2
| |
| * Update aliases event after deletionErik Johnston2016-03-171-6/+46
| | | | | | | | | | | | | | | | Attempt to update the appropriate `m.room.aliases` event after deleting an alias. This may fail due to the deleter not being in the room. Will also check if the canonical alias of the event is set to the deleted alias, and if so will attempt to delete it.
* | Merge pull request #650 from matrix-org/dbkr/register_idempotent_with_usernameDavid Baker2016-03-172-1/+25
|\ \ | | | | | | Make registration idempotent, part 2
| * | Make registration idempotent, part 2: be idempotent if the client specifies ↵David Baker2016-03-162-1/+25
| |/ | | | | | | a username.
* | Remove another unused function from presenceMark Haines2016-03-171-4/+0
| |
* | Remove dead code left over from presence changesMark Haines2016-03-172-74/+0
|/
* pep8David Baker2016-03-161-1/+2
|
* time_msec()David Baker2016-03-161-1/+1
|
* string with symbols is a bit too symboly.David Baker2016-03-161-1/+1
|
* Replace other time.time().David Baker2016-03-161-2/+1
|
* Use hs get_clock instead of time.time()David Baker2016-03-161-2/+2
|
* pep8 & remove debug loggingDavid Baker2016-03-161-1/+1
|
* Make registration idempotent: if you specify the same session, make it give ↵David Baker2016-03-161-12/+48
| | | | you an access token for the user that was registered on previous uses of that session. Tweak the UI auth layer to not delete sessions when their auth has completed and hence expire themn so they don't hang around until server restart. Allow server-side data to be associated with UI auth sessions.
* Remove needless PreserveLoggingContextErik Johnston2016-03-151-5/+4
|
* Persist rejection of invites over federationErik Johnston2016-03-151-1/+17
|
* Add config to create guest account on 3pid inviteErik Johnston2016-03-141-25/+32
| | | | | | | | | | | | | Currently, when a 3pid invite request is sent to an identity server, it includes a provisioned guest access token. This allows the link in the, say, invite email to include the guest access token ensuring that the same account is used each time the link is clicked. This flow has a number of flaws, including when using different servers or servers that have guest access disabled. For now, we keep this implementation but hide it behind a config option until a better flow is implemented.
* Make select more sensible when dseleting access tokens, rename pusher ↵David Baker2016-03-111-1/+1
| | | | deletion to match access token deletion and make exception arg optional.
* Delete old, unused methods and rename new one to just be ↵David Baker2016-03-111-1/+1
| | | | `user_delete_access_tokens` with an `except_token_ids` argument doing what it says on the tin.
* Dear PyCharm, please indent sensibly for me. Thx.David Baker2016-03-111-2/+2
|
* Fix cache invalidation so deleting access tokens (which we did when changing ↵David Baker2016-03-111-4/+9
| | | | password) actually takes effect without HS restart. Reinstate the code to avoid logging out the session that changed the password, removed in 415c2f05491ce65a4fc34326519754cd1edd9c54
* Store appservice ID on registerDaniel Wagner-Hall2016-03-101-1/+4
|
* Merge pull request #631 from matrix-org/markjh/py3v1Mark Haines2016-03-082-2/+2
|\ | | | | Use syntax that's valid on both py2.7 and py3
| * Use syntax that works on both py2.7 and py3Mark Haines2016-03-072-2/+2
| |
* | Send the user ID matching the guest access token, since there is no Matrix ↵David Baker2016-03-071-0/+5
|/ | | | API to discover what user ID an access token is for.
* Merge pull request #626 from matrix-org/erikj/visibilityErik Johnston2016-03-071-0/+26
|\ | | | | Send history visibility on boundary changes
| * Send history visibility on boundary changesErik Johnston2016-03-041-0/+26
| |
* | Merge pull request #618 from matrix-org/markjh/pushrule_streamMark Haines2016-03-042-2/+24
|\ \ | | | | | | Add a stream for push rule updates
| * | Merge branch 'develop' into markjh/pushrule_streamMark Haines2016-03-0410-80/+162
| |\|
| * | Hook up the push rules stream to account_data in /syncMark Haines2016-03-041-0/+22
| | |
| * | Hook up the push rules to the notifierMark Haines2016-03-031-2/+2
| | |
* | | Merge pull request #625 from matrix-org/erikj/kick_ban_syncErik Johnston2016-03-041-3/+9
|\ \ \ | | | | | | | | Always include kicks and bans in full /sync
| * | | Always include kicks and bans in full /syncErik Johnston2016-03-041-3/+9
| | |/ | |/|
* | | SpellingErik Johnston2016-03-041-1/+1
| | |
* | | Add profile information to invitesErik Johnston2016-03-041-2/+15
|/ /
* | Merge pull request #598 from Rugvip/invite-stateErik Johnston2016-03-041-6/+2
|\ \ | | | | | | config,handlers/_base: added homeserver config for what state is included in a room invite
| * | config,handlers/_base: added homeserver config for what state is included in ↵Patrik Oldsberg2016-03-041-6/+2
| | | | | | | | | | | | | | | | | | a room invite Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
* | | Merge pull request #596 from Rugvip/createErik Johnston2016-03-041-0/+6
|\ \ \ | |/ / |/| | handlers/_base: don't allow room create event to be changed
| * | handlers/_base: don't allow room create event to be changedPatrik Oldsberg2016-02-231-0/+6
| | | | | | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
* | | Merge pull request #610 from Rugvip/unique-userErik Johnston2016-03-041-0/+1
|\ \ \ | | | | | | | | handlers/register: make sure another user id is generated when a collision occurs
| * | | handlers/register: make sure another user id is generated when a collision ↵Patrik Oldsberg2016-02-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | occurs Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
* | | | Merge pull request #623 from matrix-org/rav/fix_createroom_raceRichard van der Hoff2016-03-041-1/+1
|\ \ \ \ | | | | | | | | | | Make sure we add all invited members before returning from createRoom
| * | | | Make sure we add all invited members before returning from createRoomRichard van der Hoff2016-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | add a missing yield.
* | | | | Merge pull request #614 from matrix-org/erikj/alias_deleteErik Johnston2016-03-041-6/+21
|\ \ \ \ \ | | | | | | | | | | | | Allow alias creators to delete aliases
| * | | | | Allow alias creators to delete aliasesErik Johnston2016-03-011-6/+21
| | |/ / / | |/| | |
* | | | | Merge remote-tracking branch 'origin/develop' into rav/SYN-642Richard van der Hoff2016-03-037-57/+85
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Merge pull request #621 from matrix-org/daniel/ratelimitingDaniel Wagner-Hall2016-03-036-56/+84
| |\ \ \ \ | | | | | | | | | | | | Pass whole requester to ratelimiting
| | * | | | Pass whole requester to ratelimitingDaniel Wagner-Hall2016-03-036-56/+84
| | | | | | | | | | | | | | | | | | | | | | | | This will enable more detailed decisions
| * | | | | Stop using checkpw as it seems to have vanished from bcrypt. Use ↵David Baker2016-03-021-1/+1
| |/ / / / | | | | | | | | | | | | | | | `bcrypt.hashpw(password, hashed) == hashed` as per the bcrypt README.
* | | | | Merge branch 'develop' into rav/SYN-642Richard van der Hoff2016-03-033-2/+37
|\| | | |
| * | | | Merge pull request #612 from matrix-org/erikj/cache_sizeErik Johnston2016-03-022-2/+4
| |\ \ \ \ | | |_|_|/ | |/| | | Add environment variable SYNAPSE_CACHE_FACTOR, default it to 0.1
| | * | | Add enviroment variable SYNAPSE_CACHE_FACTOR, default it to 0.1Erik Johnston2016-03-012-2/+4
| | |/ /
| * / / Add a /replication API for extracting the updates that happened onMark Haines2016-03-012-0/+33
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Fix typoRichard van der Hoff2016-03-031-1/+1
| | |
* | | Move arg default to the start of the functionRichard van der Hoff2016-03-021-2/+3
| | | | | | | | | | | | Also don't overwrite the list that gets passed in.
* | | fix pyflakes quibbleRichard van der Hoff2016-03-021-1/+2
| | |
* | | Address review commentsRichard van der Hoff2016-03-022-8/+17
| | |
* | | Fix pyflakes warningRichard van der Hoff2016-03-011-1/+1
| | |
* | | Handle rejections of invites from local users locallyRichard van der Hoff2016-03-012-8/+31
|/ / | | | | | | | | Slightly hacky fix to SYN-642, which avoids the federation codepath when trying to reject invites from local users.
* | Send the invier's member event in room invite state so the invitee has their ↵David Baker2016-02-251-1/+7
| | | | | | | | display name and avatar.
* | Generate guest access token on 3pid invitesDaniel Wagner-Hall2016-02-242-0/+23
| | | | | | | | | | | | | | | | | | This means that following the same link across multiple sessions or devices can re-use the same guest account. Note that this is somewhat of an abuse vector; we can't throw up captchas on this flow, so this is a way of registering ephemeral accounts for spam, whose sign-up we don't rate limit.
* | Check presence token interval is less than 100, rather than the token itselfErik Johnston2016-02-231-4/+4
| |