David Baker
dfbe8a4796
Return same promise if init() called many times
...
So we only init the library once.
2018-09-25 17:48:17 +01:00
David Baker
263b94428a
Another day, another interface
...
Change the interface again, hopefully this time a bit more normal.
Now we wrap the emscripten module completely and just expose the
high level objects.
The olm library export is now imported as normal (ie. returns
a module rather than a function returning a module) but has an
`init` method which *must* be called. This returns a promise
which resolves when the module is ready. It also rejects if the
module failed to set up, unlike before (and unlike the
promise-not-a-promise that emscripten returns).
Generally catch failures to init the module.
2018-09-25 17:13:29 +01:00
David Baker
f29d8cdd7b
Also ship the wasm file
2018-09-21 16:39:04 +01:00
David Baker
5e87db615a
Make OLM_OPTIONS work again
...
The closure compiler was just renaming the variable so it never
would have picked them up. Make it an extern so it knows what to do.
2018-09-21 16:35:17 +01:00
David Baker
122867c45c
WebAssembly support!
...
Quite a lot going on in this PR:
* Updates to support recent emscripten, switching to WASM which is now the default
* Use emscripten's MODULARIZE option rather than wrapping it ourself, since doing
so in pre-post js doesn't work anymore.
* Most changes are moving the emscripten runtime functions to top-level
calls rather than in the Module object.
* Get rid of duplicated NULL_BYTE_PADDING_LENGTH
* Fix ciphertext_length used without being declared
* Fix things that caused the closure compiler to error, eg. using
OLM_OPTIONS without a declaration.
* Wait until module is inited to do OLM_ERROR = olm_error()
The main BREAKING CHANGE here is that the module now needs to initialise
asyncronously (because it has to load the wasm file). require()ing olm
now gives a function which needs to be called to create an instance.
The resulting object has a promise-like then() method that can be used
to detect when the module is ready. (We could use MODULARIZE_INSTANCE
to return the module directly as before, rather than the function,
but then we don't get the .then() method).
2018-09-21 16:01:51 +01:00
Hubert Chathi
ed02c217e6
update address for sending feedback for olm
2018-08-15 22:03:48 -04:00
Richard van der Hoff
0dc27f73c4
Request patches to olm@matrix.org
2018-07-09 11:53:13 +01:00
Hubert Chathi
98e8ee1b0d
prepare 2.3.0
2018-07-04 15:24:44 -04:00
Hubert Chathi
dac2c1064e
use void in type signatures for functions with no arguments
2018-06-28 17:13:52 -04:00
Hubert Chathi
f709b062bb
add functions for pickling/unpickling a decryption object
2018-06-28 17:10:36 -04:00
Hubert Chathi
3ed0ec226c
add termination
2018-06-28 17:03:46 -04:00
Hubert Chathi
b91c77721d
improve public key encryption unit test
2018-06-28 15:11:53 -04:00
Hubert Chathi
307309c69b
add initial version of Android wrapper for public key API
2018-06-27 18:49:48 -04:00
Hubert Chathi
552da6eafe
use the correct method to get the random length
2018-06-27 17:36:55 -04:00
Hubert Chathi
128d45cc83
add initial implementation of basic private key encryption functionality
2018-06-27 16:38:45 -04:00
Hubert Chathi
6a2a2741e8
fix some comments
2018-06-27 16:35:15 -04:00
Benoit Marty
28e0c4baca
Improve .gitignore: exclude generated files for test
2018-06-27 14:00:20 -04:00
Benoit Marty
6f2145337b
Comment out proxy settings
2018-06-27 14:00:20 -04:00
Benoit Marty
44c5923522
Upgrade tools
...
gradle 2.14.1 to 4.7
build tools 21.1.2 to 27.0.3
build gradle 2.1.3 to 3.1.3
2018-06-27 14:00:20 -04:00
Benoit Marty
ed7649d71e
Compiling with last NDK + some hardening
...
Patch received in https://github.com/matrix-org/olm/issues/13
2018-06-27 14:00:20 -04:00
Benoit Marty
08e50693b7
ignore generated files
2018-06-27 14:00:20 -04:00
Benoit Marty
9550d6cebc
Fix null pointer dereference
...
Patch has been received by e-mail, Signed-off-by: Arnaud Fontaine <arnaud.fontaine@ssi.gouv.fr>
2018-06-27 14:00:20 -04:00
Benoit Marty
570e3a706f
Add a .gitignore file specific for Android project
2018-06-27 14:00:20 -04:00
manuroe
36fd68c818
OLMAccount: Fix use of object after its memory was released
2018-06-27 12:26:44 -04:00
manuroe
20ee3858b9
Update Xcode test project
2018-06-27 12:26:26 -04:00
manuroe
2e84f7552a
Fix obj-c warnings
2018-06-27 12:26:01 -04:00
manuroe
9d81046f90
Fix warnings reported by LLVM
2018-06-27 12:25:27 -04:00
Hubert Chathi
ddc981c475
fix a length check and add some missing length checks
2018-06-27 12:14:19 -04:00
Richard van der Hoff
6d86835421
Update releasing instructions
2018-06-22 13:58:48 +01:00
Wilfried Klaebe
62b576b903
Python: add binding for olm_remove_one_time_keys
...
Signed-off-by: Wilfried Klaebe <w+gitstuff@chaos.in-kiel.de>
2018-05-29 11:41:25 +01:00
MTRNord
4065c8e11a
Update Makefile to support building on Windows
...
The code for this change is taken from
https://stackoverflow.com/a/30225575/4929236
This patch is Signed-Off-By: Marcel Radzio <marcel@radzio-sh.de>
2018-04-12 10:51:16 +01:00
Hubert Chathi
3f5b9dd6d7
patch for libolm: fix some typos in JavaScript library
...
From 4a82d31e8cb808a04956fc847ed0ec0ff322b956 Mon Sep 17 00:00:00 2001
From: Hubert Chathi <hubert@uhoreg.ca>
Date: Wed, 3 Jan 2018 21:37:43 -0500
Subject: [PATCH] fix some typos in JavaScript library
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca>
2018-01-09 15:57:47 +00:00
Richard van der Hoff
18b067a46f
jenkins.sh: Run python bits in a virtualenv
...
because we may not have pep8 installed at the system level
2017-11-22 16:57:50 +00:00
Alexey Rusakov
0fd406cca8
Drop unused #include
...
Signed-off-by: Alexey Rusakov <ktirf@users.sf.net>
2017-09-29 09:35:04 +01:00
Alexey Rusakov
3c33180fe3
Avoid C99 inside C++ code
...
This disrupts building at least with Visual Studio.
Signed-off-by: Alexey Rusakov <ktirf@users.sf.net>
2017-09-29 09:35:04 +01:00
Hubert Chathi
0fd768e1b5
update link in README to match changes in 780d83a
...
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca>
2017-06-08 11:31:39 +01:00
Eli Flanagan
780d83a1d8
update link
2017-06-07 10:10:39 +01:00
Matthew Hodgson
b7dcbfdf64
add audit notes
2017-05-08 11:35:50 +01:00
Richard van der Hoff
7de2931509
Enforce PEP8 in jenins build
2017-04-24 13:14:46 +01:00
Richard van der Hoff
f8c61b8f84
Python: Make ed25519_verify take some arguments
...
It's not much use if everything is hardcoded.
2017-04-24 13:14:36 +01:00
Richard van der Hoff
853ea8fbc7
Merge branch 'master'
...
Merge master into patched branch to fix conflicts prior to merge back to master
2017-04-24 12:35:17 +01:00
Richard van der Hoff
1225de14d7
PEP8
...
Fix line lengths in newly-added code
2017-04-24 12:34:28 +01:00
pik
a3e5beab89
Add ed25519_verify to __init__.py and add test for ed25519_verify
...
Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
2017-04-24 12:29:45 +01:00
pik
e632bc9e52
Add utility module to olm/python - for ed25519_verify
...
Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
2017-04-24 12:29:45 +01:00
pik
51840d82dc
Return python int instead of c_uint32 for InboundGroupSession.decrypt message_index
...
Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
2017-04-18 19:15:51 +01:00
Richard van der Hoff
ed6ebb9a4d
PEP8 for python bindings
...
make the python code adhere to PEP8
2017-04-18 19:07:56 +01:00
J08nY
001dc1edaa
Python: Switch to a more general os.urandom for randomness source
...
Signed-off-by: Jan Jancar <johny@neuromancer.sk>
2017-04-04 10:45:11 +01:00
Richard van der Hoff
bb05b5687f
Makefile: fix tab/space substitution.
2017-03-29 10:44:54 +01:00
Andreas Zwinkau
b0a010b153
Support building as a static library
...
Signed-off-by: Andreas Zwinkau <qznc@web.de>
2017-03-24 10:20:49 +00:00
Matthew Hodgson
793cec0268
bug reports
2017-03-13 11:55:33 +00:00