Commit graph

798 commits

Author SHA1 Message Date
Helge Heß
a22cffdd29 Separate C from C++ headers for SPM
Swift can't import C++, so we need to remove it from
the module.
2020-04-10 18:50:34 +02:00
Helge Heß
c31a2f2f39 Add crypto algos from lib to libolm target
Have been linking libolm only.
2020-04-10 18:34:51 +02:00
Helge Heß
8e35ea320c Ignore Xcode .swiftpm in .gitignore
Useless noize.
2020-04-10 18:32:27 +02:00
Helge Heß
4c51a48aa7 Add SPM test target, rename tests to .mm for C++
Doesn't link yet though, need to check why.
2020-04-10 18:26:43 +02:00
Helge Heß
4f2f851762 Exclude Info.plist from SPM compilation
Otherwise this shows a warning.
2020-04-10 18:15:39 +02:00
Helge Heß
84d33563c5 Use proper format specifier for uint_8 values
%hhu, as suggested by Xcode.
2020-04-10 18:13:24 +02:00
Helge Heß
f4ab61fa46 Add remaining explicit C++ void casts necessary
OLMKit now compiles fine.
2020-04-10 18:12:30 +02:00
Helge Heß
29d3bc749b
Add OLMKit target to SPM manifest
OLMKit doesn't compile yet, but we are getting closer.
2020-04-10 17:27:56 +02:00
Helge Heß
8deccb9c51
Add explicit C++ casts when assigning from void*
C++ requires explicit casts when assign void * return
types like from `malloc`, to a more specific pointer.
2020-04-10 17:26:34 +02:00
Helge Heß
1e5910a681
Properly mark ObjC++ files as such by using .mm
.m is plain Objective-C and can't import C++ headers
as provided by libolm.
2020-04-10 17:13:32 +02:00
Helge Heß
f3faaba3e7
Add a Swift Package Manager manifest
This one only builds libolm, not yet the Xcode stuff.
2020-04-10 17:09:15 +02:00
Helge Heß
24d33957ed
Add SPM .build directory to .gitignore
We don't need SPM build artifacts in the repository.
2020-04-10 17:04:17 +02: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