Commit Graph

148 Commits

Author SHA1 Message Date
Damir Jelić
a996d4acd3 daemon: Don't use the text method to get the content.
The content doesn't necessarily have to be unicode (e.g. for media
content) and the text() method tries to decode the body of the request.

Use read() instead, this way we get the raw bytes of the body, we also
set the content header manually.

This fixes #8.
2019-05-02 14:46:53 +02:00
Damir Jelić
d90eebf1e0 daemon: Remove redundant or clause. 2019-05-02 14:44:25 +02:00
Damir Jelić
e84bcea389 pantalaimon: Catch all aiohttp client connection errors. 2019-05-02 13:55:20 +02:00
Damir Jelić
f1fefb952c daemon: Buffer the sync response if there are decryption failures. 2019-05-02 13:30:31 +02:00
Damir Jelić
46aa303654 client: Clear the synced event when we start the loop. 2019-05-02 13:28:41 +02:00
Damir Jelić
ba28580aca client: Replace undecryptable megolm events with an error message. 2019-05-02 13:27:50 +02:00
Damir Jelić
db43c3efbd client: Request room keys if we're unable to decrypt a megolm event. 2019-05-02 12:09:49 +02:00
Damir Jelić
7d58da93f9 client: No need to mark to-device messages as sent anymore. 2019-04-30 18:15:39 +02:00
Damir Jelić
0972be29c1 client: Allow other event types to be decrypted. 2019-04-30 14:54:01 +02:00
Damir Jelić
7bb47092ff ui: Disable device updates for now. 2019-04-30 13:08:22 +02:00
Damir Jelić
da552973ff daemon: Overide the filter API endpoint. 2019-04-30 13:07:11 +02:00
Damir Jelić
90a87460e8 client: Use user lazy loading. 2019-04-29 16:56:50 +02:00
Damir Jelić
94e6058ef4 daemon: Handle connection errors when doing requests. 2019-04-29 16:53:31 +02:00
Damir Jelić
253424b8c3 daemon: Make the query parameters always editable in forward_request(). 2019-04-29 13:15:21 +02:00
Damir Jelić
3671660e64 daemon: Send out non-encrypted messages as well using pan's token. 2019-04-29 13:13:00 +02:00
Damir Jelić
17a20195c0 daemon: Use pan's token to perform client syncs.
The clients need to use pan's sync token so the transaction ids in the
sync response don't get lost since sending happens using pan's device
and token.
2019-04-29 12:58:59 +02:00
Damir Jelić
7a2ee980ff client: Handle key verification exceptions. 2019-04-29 09:49:42 +02:00
Damir Jelić
776f6e37d8 travis: Switch to the new olm lib location. 2019-04-28 21:21:57 +02:00
Damir Jelić
7aa7014431 client: Handle SAS key verification.
This adds the ability to receive and accept SAS key verification.
The verification process is accepted automatically for now.
2019-04-28 21:17:10 +02:00
Damir Jelić
3e67010278 client: Don't check for the room id until we know it's a valid event. 2019-04-28 21:16:14 +02:00
Damir Jelić
0a1008a127 client: Send out outgoing to-device messages. 2019-04-28 21:15:14 +02:00
Damir Jelić
2c218bfd04 client: Handle server disconnect exceptions. 2019-04-28 21:14:57 +02:00
Damir Jelić
5f124806d8 pantalaimon: Add a Cli dbus based client. 2019-04-22 21:28:15 +02:00
Damir Jelić
e43b8c750c ui: Expose key imports from the dbus API. 2019-04-18 16:56:53 +02:00
Damir Jelić
2bb6ac7196 daemon: Change the working dir to our homedir. 2019-04-18 15:53:25 +02:00
Damir Jelić
3c09dbc80a ui: Expose key exports on the dbus API. 2019-04-18 15:52:21 +02:00
Damir Jelić
8f57e42c2c ui: Change the name of the Users dbus class. 2019-04-18 14:12:31 +02:00
Damir Jelić
daacd340f9 ui: Allow devices to be unverified over the dbus API. 2019-04-18 14:01:57 +02:00
Damir Jelić
2ae5e181bc setup: Add janus to the dependencies. 2019-04-18 13:11:07 +02:00
Damir Jelić
09bd6ddbde ui: Change the log message to not mention dbus. 2019-04-18 13:10:51 +02:00
Damir Jelić
e32a73a011 daemon: Allow device verification over the dbus API. 2019-04-18 13:01:10 +02:00
Damir Jelić
1613a2fa5a pan: Move the dbus code into a separate file. 2019-04-18 11:43:07 +02:00
Damir Jelić
7038462e01 daemon: Expose daemon users and user devices over a dbus interface. 2019-04-17 14:20:54 +02:00
Damir Jelić
42fc14ee35 client: Only wait for the task to be canceled if it's started. 2019-04-17 14:20:54 +02:00
Damir Jelić
827549ab7c client: Handle connection errors in the client. 2019-04-17 14:20:54 +02:00
Damir Jelić
444cf64fb5 daemon: Use the system keyring to store access tokens. 2019-04-17 14:20:54 +02:00
Damir Jelić
ea33359daa store: The daemon clients need to be per homeserver. 2019-04-12 17:59:30 +02:00
Damir Jelić
d1090a714a daemon: Add key export/import commands. 2019-04-12 16:18:26 +02:00
Damir Jelić
f2907b1811 daemon: Handle the room/messages endpoint. 2019-04-12 14:19:37 +02:00
Damir Jelić
1bbf38e240 daemon: Store and restore client info of our children. 2019-04-11 16:59:37 +02:00
Damir Jelić
700510aa36 travis: Bump the version of the Olm C lib. 2019-04-11 14:30:46 +02:00
Damir Jelić
88757965cd client: Small docfix. 2019-04-11 14:23:48 +02:00
Damir Jelić
c57b4c1210 daemon: Catch content type errors. 2019-04-11 14:23:32 +02:00
Damir Jelić
b1444568d4 daemon: Save and restore daemon clients. 2019-04-11 14:22:55 +02:00
Damir Jelić
25f30f2e36 client: Use a sqlitestore for our client. 2019-04-11 14:21:39 +02:00
Damir Jelić
8748fec979 Makefile: Add a target to run the daemon. 2019-04-11 14:20:38 +02:00
Damir Jelić
5151095740 client: Fix the gracefull shutdown of a client. 2019-04-11 14:20:09 +02:00
Damir Jelić
5001f2fc12 tox: Install pytest-cov for the coverage reporting. 2019-04-10 15:08:08 +02:00
Damir Jelić
928b65beee tox: Fix typo in the pytest command. 2019-04-10 14:52:11 +02:00
Damir Jelić
78041c7a6a daemon: Mypy fixes. 2019-04-10 14:46:11 +02:00