Erik Johnston
651faee698
Add an admin option to shared secret registration
2016-07-05 17:30:22 +01:00
Erik Johnston
8f8798bc0d
Add ReadWriteLock for pagination and history prune
2016-07-05 15:30:25 +01:00
David Baker
ef535178ff
Merge pull request #904 from matrix-org/dbkr/register_email_no_untrusted_id_server
...
requestToken update
2016-07-05 15:13:34 +01:00
Kent Shikama
14362bf359
Fix password config
2016-07-05 19:12:53 +09:00
Kent Shikama
1ee2584307
Fix pep8
2016-07-05 19:01:00 +09:00
Erik Johnston
2d21d43c34
Add purge_history API
2016-07-05 10:28:51 +01:00
Kent Shikama
8bdaf5f7af
Add pepper to password hashing
...
Signed-off-by: Kent Shikama <kent@kentshikama.com>
2016-07-05 02:13:52 +09:00
Kent Shikama
bb069079bb
Fix style violations
...
Signed-off-by: Kent Shikama <kent@kentshikama.com>
2016-07-04 22:07:11 +09:00
Kent Shikama
fc8007dbec
Optionally include password hash in createUser endpoint
...
Signed-off-by: Kent Shikama <kent@kentshikama.com>
2016-07-03 15:08:15 +09:00
David Baker
be8be535f7
requestToken update
...
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.
2016-06-30 17:51:28 +01:00
Martin Weinelt
0a32208e5d
Rework ldap integration with ldap3
...
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>
2016-06-22 17:51:59 +02:00
Mark Haines
0c13d45522
Add a comment on why we don't create a profile for upgrading users
2016-06-17 19:18:53 +01:00
Mark Haines
9f1800fba8
Remove registered_users from the distributor.
...
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.
2016-06-17 19:14:16 +01:00
Erik Johnston
2884712ca7
Only re-sign our own events
2016-06-17 14:47:33 +01:00
Salvatore LaMendola
ed5f43a55a
Fix TypeError in call to bcrypt.hashpw
...
- 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>
2016-06-16 00:43:42 -04:00
Erik Johnston
b31c49d676
Correctly mark backfilled events as backfilled
2016-06-15 10:59:08 +01:00
Negar Fazeli
6e7dc7c7dd
Fix a bug caused by a change in auth_handler function
...
Fix the relevant unit test cases
2016-06-08 23:22:39 +02:00
Erik Johnston
81c07a32fd
Pull full state for each room all at once
2016-06-08 15:51:49 +01:00
Erik Johnston
1a815fb04f
Don't hit DB for noop replications queries
2016-06-08 11:33:30 +01:00
Mark Haines
0b2158719c
Remove dead code.
...
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.
2016-06-07 15:07:11 +01:00
Erik Johnston
216a05b3e3
.values() returns list of sets
2016-06-06 16:00:09 +01:00
Erik Johnston
96dc600579
Fix typos
2016-06-06 15:44:41 +01:00
Erik Johnston
377eb480ca
Fire after 30s not 8h
2016-06-06 15:14:21 +01:00
Erik Johnston
51773bcbaf
Merge pull request #832 from matrix-org/erikj/presence_coount
...
Change def of small delta in presence stream. Add metrics.
2016-06-03 14:57:00 +01:00
Erik Johnston
ab116bdb0c
Fix typo
2016-06-03 14:03:42 +01:00
Erik Johnston
4ce84a1acd
Change metric style
2016-06-03 13:49:16 +01:00
Erik Johnston
a7ff5a1770
Presence metrics. Change def of small delta
2016-06-03 13:40:55 +01:00
Erik Johnston
4982b28868
Merge pull request #829 from matrix-org/erikj/poke_notifier
...
Poke notifier on next reactor tick
2016-06-03 11:52:10 +01:00
Erik Johnston
4c04222fa5
Poke notifier on next reactor tick
2016-06-03 11:24:16 +01:00
Erik Johnston
6a0afa582a
Load push rules in storage layer, so that they get cached
2016-06-03 11:10:00 +01:00
David Baker
c71177f285
Merge remote-tracking branch 'origin/dbkr/email_notif_string_fmt_error' into dbkr/email_unsubscribe
2016-06-02 17:20:56 +01:00
Mark Haines
56d15a0530
Store the typing users as user_id strings. ( #819 )
...
Rather than storing them as UserID objects.
2016-06-02 16:28:54 +01:00
David Baker
812b5de0fe
Merge remote-tracking branch 'origin/develop' into dbkr/email_unsubscribe
2016-06-02 15:33:28 +01:00
Mark Haines
661a540dd1
Deduplicate presence entries in sync ( #818 )
2016-06-02 15:20:28 +01:00
Mark Haines
70599ce925
Allow external processes to mark a user as syncing. ( #812 )
...
* 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
2016-06-02 15:20:15 +01:00
David Baker
fb2193cc63
Merge pull request #817 from matrix-org/dbkr/split_out_auth_handler
...
Split out the auth handler
2016-06-02 14:31:35 +01:00
Erik Johnston
02ac463dbf
Merge pull request #800 from matrix-org/erikj/sync_refactor
...
Refactor SyncHandler
2016-06-02 14:02:13 +01:00
David Baker
3a3fb2f6f9
Merge branch 'dbkr/split_out_auth_handler' into dbkr/email_unsubscribe
2016-06-02 13:35:25 +01:00
David Baker
4a10510cd5
Split out the auth handler
2016-06-02 13:31:45 +01:00
David Baker
a15ad60849
Email unsubscribing that may in theory, work
...
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.
2016-06-02 11:44:15 +01:00
David Baker
e0deeff23e
Fix room list spidering
2016-06-01 17:58:58 +01:00
David Baker
8e539f13c0
Merge remote-tracking branch 'origin/develop' into dbkr/room_list_spider
2016-06-01 09:54:36 +01:00
David Baker
2a449fec4d
Add cache to remote room lists
...
Poll for updates from remote servers, waiting for the poll if there's no cache entry.
2016-05-31 18:27:23 +01:00
David Baker
d240796ded
Basic, un-cached support for secondary_directory_servers
2016-05-31 17:20:07 +01:00
Mark Haines
c626fc576a
Move the AS handler out of the Handlers object.
...
Access it directly from the homeserver itself. It already wasn't
inheriting from BaseHandler storing it on the Handlers object was
already somewhat dubious.
2016-05-31 13:53:48 +01:00
David Baker
887c6e6f05
Split out the room list handler
...
So I can use it from federation bits without pulling in all the handlers.
2016-05-31 11:05:16 +01:00
Erik Johnston
cc84f7cb8e
Send down correct error response if user not found
2016-05-27 10:35:15 +01:00
Erik Johnston
faad233ea6
Change short circuit path
2016-05-24 14:27:19 +01:00
Erik Johnston
6900303997
Don't send down all ephemeral events
2016-05-24 11:44:55 +01:00
Erik Johnston
1c5ed2a19b
Only work out newly_joined_users for incremental sync
2016-05-24 11:21:34 +01:00
Erik Johnston
b08ad0389e
Only include non-offline presence in initial sync
2016-05-24 11:15:05 +01:00
Erik Johnston
be2c677386
Spell builder correctly
2016-05-24 10:53:03 +01:00
Erik Johnston
79bea8ab9a
Inline function. Make load_filtered_recents private
2016-05-24 10:22:24 +01:00
Erik Johnston
84f94e4cbb
Add comments
2016-05-24 10:14:53 +01:00
Erik Johnston
137e6a4557
Shuffle things room
2016-05-24 09:50:55 +01:00
Negi Fazeli
6fe04ffef2
Fix set profile error with Requester.
...
Replace flush_user with delete access token due to function removal
Add a new test case for if the user is already registered
2016-05-23 19:50:28 +02:00
Erik Johnston
c0c79ef444
Add back concurrently_execute
2016-05-23 18:21:27 +01:00
Erik Johnston
b5605dfecc
Refactor SyncHandler
2016-05-23 18:08:18 +01:00
Mark Haines
0cb441fedd
Move typing handler out of the Handlers object
2016-05-17 15:58:46 +01:00
Mark Haines
523d5bcd0b
Merge remote-tracking branch 'origin/develop' into markjh/liberate_sync_handler
2016-05-17 10:43:58 +01:00
Mark Haines
526bf8126f
Remove unused get_joined_rooms_for_user
2016-05-17 10:20:51 +01:00
Mark Haines
425e6b4983
Merge branch 'develop' into markjh/member_cleanup
2016-05-17 10:13:16 +01:00
Mark Haines
b153f5b150
Merge pull request #787 from matrix-org/markjh/liberate_presence_handler
...
Move the presence handler out of the Handlers object
2016-05-17 10:09:43 +01:00
Mark Haines
f68eea808a
Move SyncHandler out of the Handlers object
2016-05-16 20:19:26 +01:00
Mark Haines
53e171f345
Merge branch 'markjh/liberate_presence_handler' into markjh/liberate_sync_handler
2016-05-16 20:08:32 +01:00
Mark Haines
80cb9becd8
Remove get_joined_rooms_for_user from RoomMemberHandler
2016-05-16 20:06:55 +01:00
Mark Haines
821306120a
Replaces calls to fetch_room_distributions_into with get_joined_hosts_for_room
2016-05-16 19:48:07 +01:00
Mark Haines
1a3a2002ff
Spell "domain" correctly
...
s/domian/domain/g
2016-05-16 19:17:23 +01:00
Mark Haines
e168abbcff
Don't inherit PresenceHandler from BaseHandler, remove references to self.hs from presence handler
2016-05-16 19:08:40 +01:00
Mark Haines
3b86ecfa79
Move the presence handler out of the Handlers object
2016-05-16 18:56:37 +01:00
Erik Johnston
99b5a2e560
Merge pull request #741 from negzi/create_user_with_expiry
...
Create user with expiry
2016-05-13 14:46:53 +01:00
Negi Fazeli
40aa6e8349
Create user with expiry
...
- Add unittests for client, api and handler
Signed-off-by: Negar Fazeli <negar.fazeli@ericsson.com>
2016-05-13 15:34:15 +02:00
Mark Haines
a458a40337
missed a spot
2016-05-12 18:19:58 +01:00
Mark Haines
7e23476814
move filter_events_for_client out of base handler
2016-05-11 13:42:37 +01:00
Mark Haines
1620578b13
Shuffle when we get the signing_key attribute.
...
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.
2016-05-11 12:20:57 +01:00
Erik Johnston
108434e53d
Merge pull request #775 from matrix-org/erikj/password_hash
...
Correctly handle NULL password hashes from the database
2016-05-11 12:18:13 +01:00
Erik Johnston
1400bb1663
Correctly handle NULL password hashes from the database
2016-05-11 12:06:02 +01:00
Mark Haines
458a435114
Fix typo
2016-05-11 10:35:33 +01:00
Mark Haines
30057b1e15
Move _create_new_client_event and handle_new_client_event out of base handler
2016-05-11 09:09:20 +01:00
Matthew Hodgson
fe97b81c09
Merge pull request #759 from matrix-org/dbkr/email_notifs
...
Send email notifications for missed messages
2016-05-10 16:30:05 +02:00
David Baker
997db04648
Merge remote-tracking branch 'origin/develop' into dbkr/email_notifs
2016-05-10 14:40:19 +02:00
Erik Johnston
c9eb6dfc1b
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/ignore_user
2016-05-09 13:21:06 +01:00
Erik Johnston
def64d6ef3
Merge branch 'develop' of github.com:matrix-org/synapse into erikj/ignore_user
2016-05-09 13:05:09 +01:00
Erik Johnston
08dfa8eee2
Add and use get_domian_from_id
2016-05-09 10:36:03 +01:00
Erik Johnston
56b5e83e36
Reduce database inserts when sending transactions
2016-05-06 11:20:18 +01:00
Erik Johnston
1f0f5ffa1e
Add bulk fetch storage API
2016-05-05 10:03:15 +01:00
Erik Johnston
a438a6d2bc
Implement basic ignore user
2016-05-04 10:16:46 +01:00
David Baker
acded821c4
Merge remote-tracking branch 'origin/develop' into dbkr/email_notifs
2016-04-29 10:05:20 +01:00
Matthew Hodgson
aebd0c9717
fix typo
2016-04-28 15:09:25 +01:00
David Baker
424a7f48f8
Run filter_events_for_client
...
so we don't accidentally mail out events people shouldn't see
2016-04-27 17:50:49 +01:00
Erik Johnston
6fd2f685fe
Simplify _check_password
2016-04-15 11:17:18 +01:00
Mark Haines
3c79bdd7a0
Fix check_password rather than inverting the meaning of _check_local_password ( #730 )
2016-04-14 19:00:21 +01:00
David Baker
4c1b32d7e2
Fix login to error for nonexistent users
...
Fixes SYN-680
2016-04-14 18:28:42 +01:00
Erik Johnston
5880bc5417
Merge pull request #718 from matrix-org/erikj/public_room_list
...
Don't return empty public rooms
2016-04-13 14:07:26 +01:00
Erik Johnston
c53f9d561e
Don't auto log failed auth checks
2016-04-13 11:11:46 +01:00
Erik Johnston
72f454b752
Don't return empty public rooms
2016-04-12 16:06:18 +01:00
Erik Johnston
c48465dbaa
More comments
2016-04-12 12:48:30 +01:00
Erik Johnston
8be1a37909
More comments
2016-04-12 12:04:19 +01:00
Erik Johnston
d3d0be4167
Don't append to unused list
2016-04-12 11:59:00 +01:00
Erik Johnston
762ada1e07
Add back backfilled parameter that was removed
2016-04-12 11:58:04 +01:00
Erik Johnston
0d3da210f0
Add comment
2016-04-12 11:54:41 +01:00
Erik Johnston
cccf86dd05
Check if we've already backfilled events
2016-04-12 11:19:32 +01:00
David Baker
2547dffccc
Merge pull request #705 from matrix-org/dbkr/pushers_use_event_actions
...
Change pushers to use the event_actions table
2016-04-11 12:58:55 +01:00
Erik Johnston
96bd8ff57c
Merge pull request #707 from matrix-org/markjh/remove_changed_presencelike_data
...
changed_presencelike_data isn't observed anywhere so can be removed
2016-04-08 14:04:54 +01:00
Mark Haines
7e2f971c08
Remove some unused functions ( #711 )
...
* Remove some unused functions
* get_room_events_stream is only used in tests
* is_exclusive_room might actually be something we want
2016-04-08 14:01:56 +01:00
Mark Haines
b9ee5650b0
Move all the wrapper functions for distributor.fire
...
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.
2016-04-08 11:01:38 +01:00
Mark Haines
caef337587
changed_presencelike_data isn't observed anywhere in synapse so can be removed
2016-04-08 10:37:19 +01:00
Mark Haines
b4a5002a6e
Merge pull request #708 from matrix-org/markjh/remove_collect_presencelike_data
...
Call profile handler get_displayname directly
2016-04-08 09:51:36 +01:00
Mark Haines
86be915cce
Call profile handler get_displayname directly rather than using collect_presencelike_data
2016-04-07 18:11:49 +01:00
Erik Johnston
f942980c0b
Merge pull request #701 from DoubleMalt/ldap-auth
...
Add LDAP authentication
2016-04-07 17:35:28 +01:00
David Baker
e1e042f2a1
Add comments on min_stream_id
...
saying that the min stream id won't be completely accurate all the time
2016-04-07 17:09:36 +01:00
Erik Johnston
a294b04bf0
Merge pull request #700 from matrix-org/erikj/deduplicate_joins
...
Deduplicate membership changes
2016-04-07 16:35:40 +01:00
David Baker
9c99ab4572
Merge remote-tracking branch 'origin/develop' into dbkr/pushers_use_event_actions
2016-04-07 16:35:22 +01:00
David Baker
92e3071623
Send badge count pushes.
...
Also fix bugs with retrying.
2016-04-07 15:39:53 +01:00
Erik Johnston
af03ecf352
Deduplicate joins
2016-04-07 14:19:02 +01:00
Erik Johnston
1ef0365670
Set profile information when joining rooms remotely
2016-04-07 09:42:52 +01:00
Christoph Witzany
ed4d18f516
fix check for failed authentication
2016-04-06 18:30:11 +02:00
Christoph Witzany
9c62fcdb68
remove line
2016-04-06 18:23:46 +02:00
Christoph Witzany
27a0c21c38
make tests for ldap more specific to not be fooled by Mocks
2016-04-06 18:23:46 +02:00
Christoph Witzany
3555a659ec
output ldap version for info and to pacify pep8
2016-04-06 18:23:46 +02:00
Christoph Witzany
4c5e8adf8b
conditionally import ldap
2016-04-06 18:23:46 +02:00
Christoph Witzany
875ed05bdc
fix pep8
2016-04-06 18:23:46 +02:00
Christoph Witzany
67f3a50e9a
fix exception handling
2016-04-06 18:23:46 +02:00
Christoph Witzany
afff321e9a
code style
2016-04-06 18:23:46 +02:00
Christoph Witzany
823b8be4b7
add tls property and twist my head around twisted
2016-04-06 18:23:45 +02:00
Christoph Witzany
7b9319b1c8
move LDAP authentication to AuthenticationHandler
2016-04-06 18:23:45 +02:00
David Baker
7e2c89a37f
Make pushers use the event_push_actions table instead of listening on an event stream & running the rules again. Sytest passes, but remaining to do:
...
* Make badges work again
* Remove old, unused code
2016-04-06 15:42:15 +01:00
Richard van der Hoff
1e05637e37
Let users see their own leave events
...
... otherwise clients get confused.
Fixes https://matrix.org/jira/browse/SYN-662 ,
https://github.com/vector-im/vector-web/issues/368
2016-04-06 15:36:19 +01:00
Erik Johnston
c2b429ab24
Merge pull request #693 from matrix-org/erikj/backfill_self
...
Don't backfill from self
2016-04-05 13:04:36 +01:00
Erik Johnston
6222ae51ce
Don't backfill from self
2016-04-05 12:56:29 +01:00
Erik Johnston
b29f98377d
Merge pull request #691 from matrix-org/erikj/member
...
Fix stuck invites
2016-04-05 12:44:39 +01:00
Erik Johnston
df727f2126
Fix stuck invites
...
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.
2016-04-05 11:13:24 +01:00
Erik Johnston
7a77f8b6d5
Merge pull request #690 from matrix-org/erikj/member
...
Store invites in a separate table.
2016-04-05 09:12:27 +01:00
Erik Johnston
0c53d750e7
Docs and indents
2016-04-04 18:02:48 +01:00
Erik Johnston
3d76b7cb2b
Store invites in a separate table.
2016-04-04 16:30:15 +01:00
Erik Johnston
bf14883a04
Merge pull request #689 from matrix-org/erikj/member
...
Do checks for memberships before creating events
2016-04-04 11:56:40 +01:00
Erik Johnston
d76d89323c
Use computed prev event ids
2016-04-01 17:39:32 +01:00
Erik Johnston
aa82cb38e9
Remove state hack from _create_new_client_event
2016-04-01 16:36:54 +01:00
Mark Haines
89e6839a48
Merge pull request #686 from matrix-org/markjh/doc_strings
...
Use google style doc strings.
2016-04-01 16:20:09 +01:00
Erik Johnston
c906f30661
Do checks for memberships before creating events
2016-04-01 16:17:32 +01:00
Mark Haines
2a37467fa1
Use google style doc strings.
...
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.
2016-04-01 16:12:07 +01:00
Erik Johnston
8d73cd502b
Add concurrently_execute function
2016-04-01 14:06:00 +01:00
Erik Johnston
35bb465b86
Filter rooms list before chunking
2016-04-01 13:14:53 +01:00
Mark Haines
dc4c1579d4
Remove outlier parameter from compute_event_context
...
Use event.internal_metadata.is_outlier instead.
2016-03-31 15:32:24 +01:00
Mark Haines
03e406eefc
Merge pull request #680 from matrix-org/markjh/remove_is_new_state
...
Remove the is_new_state argument to persist event.
2016-03-31 15:14:48 +01:00
Mark Haines
76503f95ed
Remove the is_new_state argument to persist event.
...
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.
2016-03-31 15:00:42 +01:00
Erik Johnston
d35780eda0
Split out RoomMemberHandler
2016-03-31 13:08:45 +01:00
Erik Johnston
5260db7663
Line length
2016-03-31 10:49:27 +01:00
Erik Johnston
73b6bf4629
Only forget room if you were in the room
2016-03-30 15:09:18 +01:00
Erik Johnston
fddb6fddc1
Require user to have left room to forget room
...
This dramatically simplifies the forget API code - in particular it no
longer generates a leave event.
2016-03-30 11:03:00 +01:00