aboutsummaryrefslogtreecommitdiff
path: root/python
AgeCommit message (Collapse)Author
2019-04-02python: Expose the sha256() function in the utilities.Damir Jelić
Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2019-04-02python: Add Short Authentication String bindings.Damir Jelić
This patch adds bindings to the SAS part of the Olm library contained in the sas.h header file. Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2019-01-23python: Turn the signature buffer into a bytearray.Damir Jelić
This is a workaround for a bug where signature verification would overwrite the variable holding the signature. This only happens on python2. Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2018-10-23prepare release 3.0.0Hubert Chathi
2018-10-16add more buffer clearingHubert Chathi
2018-10-16overwrite buffers that may contain sensitive dataHubert Chathi
also reduce the amount of memory copying that we do
2018-10-16remove unnecessary comments about not enough randomHubert Chathi
2018-10-15add license headers to python bindingsHubert Chathi
2018-10-12add dummy header files for generating cffi function listHubert Chathi
2018-10-12remove code coverage and TravisCI badgesHubert Chathi
since they're not for the right repository any more
2018-10-12build and test improvementsHubert Chathi
- build both Python2 and Python3 libs by default, and add separate rules building Python2 and Python. - use the libraries as built by setuptools, rather than building again separately
2018-10-12remove redundant license fileHubert Chathi
2018-10-12always use files from ../include and ../buildHubert Chathi
2018-10-12generate python/include/olm/olm.h automaticallyHubert Chathi
2018-07-18python: Enable build with the local build of the Olm C library.Damir Jelić
This patch adds the ability to build the bindings without having a globally installed Olm C library. Provided that the C library is already built, the tests can be run now with make test. Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2018-07-18python: Import improved python bindings.Damir Jelić
This commit imports the python bindings from: https://github.com/poljar/python-olm The bindings are imported at commit c44b145818520d69eaaa350fb95afcb846125e0f Minor modifications were made while importing: - Removed travis config - Removed Arch Linux PKGBUILD - Removed the html docs, they can be rebuild by running make html in the docs folder - Slightly modified the README The new bindings feature some improvements over the old ones: - Python 2 and 3 support - Automatic memory management - Automatic memory clearing before it is freed - Type signatures via the python typing module - Full test coverage - Properties are utilized where it makes sense (e.g. account.id) Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2018-07-18python: Remove the python bindings.Damir Jelić
Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2018-05-29Python: add binding for olm_remove_one_time_keysWilfried Klaebe
Signed-off-by: Wilfried Klaebe <w+gitstuff@chaos.in-kiel.de>
2017-04-24Python: Make ed25519_verify take some argumentsRichard van der Hoff
It's not much use if everything is hardcoded.
2017-04-24Merge branch 'master'Richard van der Hoff
Merge master into patched branch to fix conflicts prior to merge back to master
2017-04-24PEP8Richard van der Hoff
Fix line lengths in newly-added code
2017-04-24Add ed25519_verify to __init__.py and add test for ed25519_verifypik
Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
2017-04-24Add utility module to olm/python - for ed25519_verifypik
Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
2017-04-18Return python int instead of c_uint32 for InboundGroupSession.decrypt ↵pik
message_index Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
2017-04-18PEP8 for python bindingsRichard van der Hoff
make the python code adhere to PEP8
2017-04-04Python: Switch to a more general os.urandom for randomness sourceJ08nY
Signed-off-by: Jan Jancar <johny@neuromancer.sk>
2017-01-09Implement importing group session dataRichard van der Hoff
olm_import_inbound_group_session, which reads the format written by olm_export_inbound_group_session to initialise a group session.
2017-01-06Enable exporting inbound group session keysRichard van der Hoff
A pair of functions which allow you to export the megolm keys for an inbound group session, so that an application can save/restore them.
2016-10-25Update python wrapper to run against libolm.so.2Richard van der Hoff
2016-10-21Merge pull request #31 from matrix-org/markjh/groupmessageindexMark Haines
Return the message index when decrypting group messages.
2016-10-20Return the message index when decrypting group messages.Mark Haines
Applications can use the index to detect replays of the same message.
2016-10-02fix missing ctypes function signaturesMatthew Hodgson
These missing signatures were causing OSX to truncate 64-bit pointers to 32-bit pointers when calling the missing methods, causing segfaults
2016-09-22InboundGroupSession.init no longer requires a separate message_indexRichard van der Hoff
2016-09-22Handle non-base64 chars in pickle filesRichard van der Hoff
2016-09-13Merge pull request #23 from matrix-org/markjh/remove_message_indexMark Haines
Remove the messsage index from olm_init_inbound_group_session
2016-09-13Remove the messsage index from olm_init_inbound_group_session since it is ↵Mark Haines
read from the session_key
2016-09-13Add a olm_inbound_group_session_id methodMark Haines
2016-09-01Fix Ed25519 keypair generationRichard van der Hoff
Ed25519 private keys, it turns out, have 64 bytes, not 32. We were previously generating only 32 bytes (which is all that is required to generate the public key), and then using the public key as the upper 32 bytes when generating the per-message session key. This meant that everything appeared to work, but the security of the private key was severely compromised. By way of fixes: * Use the correct algorithm for generating the Ed25519 private key, and store all 512 bits of it. * Update the account pickle format and refuse to load the old format (since we should consider it compromised). * Bump the library version, and add a function to retrieve the library version, so that applications can verify that they are linked against a fixed version of the library. * Remove the curve25519_{sign, verify} functions which were unused and of dubious quality.
2016-05-25Merge branch 'rav/more_group_chat/1'Richard van der Hoff
2016-05-24Avoid use of jq in test_olmRichard van der Hoff
I want to use test_olm.sh on jenkins, which lacks jq. Hence, add support to olm.main to get id and one-time keys individually.
2016-05-24add a script for jenkins to runRichard van der Hoff
2016-05-24Python wrapper: support for inbound group sessionsRichard van der Hoff
2016-05-24Implement functions to get the state of outbound sessionRichard van der Hoff
We need to be able to inspect an outbound session so that we can tell our peer how to set up an inbound session.
2016-05-24Outbound group session support in the python wrappersRichard van der Hoff
2016-05-20Refactor python wrappersRichard van der Hoff
Split the python wrappers into separate modules
2015-11-01switch from /usr/bin/python to /usr/bin/env python. this doesn't help folks ↵Matthew Hodgson
whose python path points at python3 (e.g. Arch linux) though, but I see no choice than they have to change the shebangs, as we do on Synapse. For instance, OSX doesn't have a python2 symlink, otherwise we'd use /usr/bin/env python2 shebang.
2015-07-16Add method getting a session id. Update the python and javascript bindingsMark Haines
2015-07-15Call the right c function from Session.matches_inbound. It was calling ↵Mark Haines
create_inbound_session rather than matches_inbound_session
2015-07-14Move olm.py to a python subdirectory. Add a script for testing the olm.py scriptMark Haines