Commit graph

896 commits

Author SHA1 Message Date
Matthew Hodgson
fdf25eb3ba spell out error msg if you don't Olm.init 2020-05-16 17:10:18 +01:00
Matthew Hodgson
83bf351a34 fix build on latest emscripten 2020-05-16 17:10:02 +01:00
Matthew Hodgson
5a9fdd85cb remove overzealous -D param to install which breaks build on macOS 2020-05-15 03:06:08 +01:00
Hubert Chathi
05a7af8db1 add a note about calling Olm.init 2020-05-13 19:05:19 -04:00
Hubert Chathi
281c5aac21 fix type signature of unpickle in Inbound/OutboundGroupSession
Thanks to Dominic Fischer for spotting.
2020-05-07 18:01:52 -04:00
stoically
611d3949cb Add wasm target to Makefile
Allows building an WASM-ready archive with emscripten.

This allows e.g. to compile to the `wasm32-unknown-unknown`
target with Rust.

Related matrix-rust-sdk PR:
https://github.com/matrix-org/matrix-rust-sdk/pull/31

Signed-off-by: stoically <stoically@protonmail.com>
2020-05-07 15:58:24 -04:00
Hubert Chathi
9cc2394672 Merge branch 'uhoreg/typescript' into 'master'
Add TypeScript definition file

See merge request matrix-org/olm!11
2020-04-29 16:42:25 +00:00
Hubert Chathi
e6f8a99b34 add missing declaration for PkDecryption#decrypt and SAS class 2020-04-29 12:39:41 -04:00
Hubert Chathi
f409b69e88 add declarations for Inbound/OutboundGroupSession 2020-04-24 17:44:28 -04:00
Hubert Chathi
954d6f98eb initial TypeScript definition file 2020-04-24 17:27:55 -04:00
Richard van der Hoff
930c467754 Update signing.md to use operatorname 2019-11-08 14:11:05 +00:00
Richard van der Hoff
0469065855 Merge branch 'rav/fix_math' into 'master'
Fix some math blocks

See merge request matrix-org/olm!10
2019-11-08 14:09:12 +00:00
Richard van der Hoff
5bcfeaffe3 Update olm.md 2019-11-08 14:00:59 +00:00
Richard van der Hoff
a9c7bde457 Update signing.md 2019-11-08 13:48:34 +00:00
Richard van der Hoff
52098b3af7 Update megolm.md 2019-11-08 13:34:16 +00:00
Alexey Rusakov
baaf002663 CMakeLists.txt: export include directories in install(TARGETS)
Without that, if olm is installed to a non-standard location, the user code might run CMake configuration fine but further building will fail.

Signed-off-by: Alexey Rusakov <Alexey.Rusakov@pm.me>
2019-10-23 16:48:14 -04:00
Hubert Chathi
6753595300 release 3.1.4 2019-10-09 12:33:47 -04:00
Hubert Chathi
387deeea8f Merge branch 'dbkr/olm_session_describe' into 'master'
Add olm_session_describe

See merge request matrix-org/olm!9
2019-10-09 15:37:56 +00:00
Hubert Chathi
fc423fad15 check return value of snprintf, fix typo, add clarification 2019-10-08 17:44:09 -04:00
David Baker
b482321213 Pass in a buffer to olm_session_describe
instead of having a static one, as that could end up taking up a
lot of memory if your app keeps olm sessions hanging about.
2019-10-04 11:43:40 +01:00
David Baker
e73a208fb2 doc string 2019-10-01 11:18:05 +01:00
David Baker
39a1ee0b18 Add olm_session_describe
As a way to dump the state of an olm session, ie. the chain indicies,
so we can debug why olm sessions break and get out of sync.
2019-10-01 11:14:16 +01:00
Hubert Chathi
3568060570 Merge branch 'dbkr/emscripten_is_picky_about_pic' into 'master'
Build the js objects without PIC

See merge request matrix-org/olm!8
2019-09-30 13:12:38 +00:00
Hubert Chathi
44c2e47a3e Merge branch 'dbkr/wrong_comment_breaks_everything' into 'master'
Fix comment and also js build

See merge request matrix-org/olm!7
2019-09-30 13:08:23 +00:00
David Baker
72df5301e0 Build the js objects without PIC
This confuses emscripten now
2019-09-30 13:50:35 +01:00
David Baker
b83a0c0992 Fix comment and also js build
The python that searches the header files for exports isn't smart
enough to know what is a comment and what isn't, so it picks this
up too and emscripten then complains about it being undefined.
2019-09-30 13:19:23 +01:00
Hubert Chathi
57b6839c25 Merge branch 'rav/megolm_doc_format' into 'master'
Update megolm.md

See merge request matrix-org/olm!6
2019-08-22 04:30:45 +00:00
Richard van der Hoff
32f3a82bf9 Update megolm.md 2019-08-22 04:30:45 +00:00
Trygve Aaberge
e267825bb7 Makefile: Overwrite symlinks in install and install-debug
Without this, it's not possible to run the install or install-debug
rules multiple times.

Signed-off-by: Trygve Aaberge <trygveaa@gmail.com>
2019-08-08 09:29:14 -07:00
Hubert Chathi
c463d8b55b Merge branch 'python/drop-hypothesis' into 'master'
tests: Drop hypothesis from the python tests.

See merge request matrix-org/olm!5
2019-07-03 19:27:30 +00:00
Alexey Andreyev
aa0c9ab6b5 CMakeLists.txt: add env vars to target_include_directories 2019-07-03 15:24:13 -04:00
Hubert Chathi
ebd3ba6cc1 release 3.1.3 2019-06-24 17:09:41 -04:00
Matthew Hodgson
ae38f2c5a0 Merge branch 'python/unicode_decode_errors' into 'master'
Python unicode decode errors when decrypting.

See merge request matrix-org/olm!4
2019-06-22 17:06:02 +00:00
Damir Jelić
61175c969b tests: Simplify the input parameter for the Unicode decoding tests. 2019-06-20 14:08:21 +02:00
Damir Jelić
28350d612e tests: Use Unicode literals in the Unicode decoding tests.
This is needed because the function returns Unicode strings and the
comparison will fail under python2 unless Unicode literals are used.
2019-06-20 14:07:14 +02:00
Damir Jelić
5d7070d2f3 tests: Simplify the sha256 tests for python.
Hypothesis isn't used anymore and the strings are now constants, meaning
that the hashes should never match.
2019-06-20 13:55:03 +02:00
Damir Jelić
125c62098c tests: Drop hypothesis from the tests.
Hypothesis recently had some problems with the typing module breaking
the tox tests.

Since Hypothesis isn't really used much in the test this patch removes
it from them as well as from the test-requirements.
2019-06-20 13:45:33 +02:00
Damir Jelić
c4d703ac3d _compat: Make the encoding argument explicit in to_unicode_str(). 2019-06-20 12:24:08 +02:00
Damir Jelić
7538a1eccf olm: Rename the errors function argument in the decryption functions. 2019-06-20 12:16:37 +02:00
Matthew Hodgson
25662564d4 Merge branch 'matthew/define-secrecy' into 'master'
explicitly define backward & forward secrecy

See merge request matrix-org/olm!3
2019-06-19 23:25:56 +00:00
Matthew Hodgson
cfd1450b0e fix typo & more wording from luca 2019-06-20 00:21:47 +01:00
Damir Jelić
fec41f9540 _compat: Remove the now unused native_str. 2019-06-19 15:07:14 +02:00
Damir Jelić
5e24c605d2 _compat: Change the to_native_str into a to_unicode_str function.
The to_native_str function was supposed to produce Unicode decoded
native strings for python2 and python3.

Upon further consideration this doesn't make much sense since under
python2 it would need to decode the bytes into a Unicode string and turn
it back into a python2 str.

The ability to use the replacement character requires us to use a
Unicode string under python2 as well.
2019-06-19 15:03:57 +02:00
Damir Jelić
ba65551d5f _compat: Remove unused import. 2019-06-19 14:42:58 +02:00
Matthew Hodgson
27f5c25fe8 incorporate review from vdh & luca 2019-06-18 23:47:42 +01:00
Damir Jelić
9faa100c6a Makefile: Add an isort target. 2019-06-18 13:52:02 +02:00
Damir Jelić
2f5590bf38 olm: Allow decryption functions to define how to handle unicode decode errors.
This patch changes the decryption functions not to fail if there was an
unicode decode error while converting the decrypted bytes plaintext into
a native python string.

Characters that cannot be decoded as unicode are now replaced with the
unicode replacement character (U+FFFD).

The old behaviour of raising an UnicodeDecodeError can be achieved by
passing the "strict" error handling scheme to the decrypt function.
2019-06-18 13:50:46 +02:00
Matthew Hodgson
f8abaf9e2f explicitly define backward & forward secrecy
as it repeatedly trips people up, including me
2019-06-18 12:45:31 +01:00
Damir Jelić
e1a4e6ebf1 compat: Add a method to convert bytes to a string that handles unicode errors. 2019-06-18 13:44:22 +02:00
Hubert Chathi
4bb039a98e fix another incorrect comment 2019-06-12 16:22:15 -04:00