aboutsummaryrefslogtreecommitdiff
path: root/python/olm
AgeCommit message (Collapse)Author
2019-06-19_compat: Remove unused import.Damir Jelić
2019-06-18olm: Allow decryption functions to define how to handle unicode decode errors.Damir Jelić
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-18compat: Add a method to convert bytes to a string that handles unicode errors.Damir Jelić
2019-04-17prepare for 3.1.0 releaseHubert Chathi
2019-04-12Merge pull request #86 from matrix-org/add_python_pk_signingHubert Chathi
add python bindings for PK signing
2019-04-12isort python/olm/pk.pyHubert Chathi
2019-04-09python: Add support for the long KDF MAC calculation.Damir Jelić
2019-04-09python: Remove an unneeded and old copyright header.Damir Jelić
2019-04-08add python bindings for PK signingHubert Chathi
2019-04-08Merge branch 'master' into poljar/python-sasHubert Chathi
2019-04-08python: Add PK bindings.Damir Jelić
This patch adds bindings to the PK part of the Olm library contained in the pk.h header file. Encryption, decryption as well as pickling/unpickling of the decryption object is supported. Signed-off-by: Damir Jelić <poljar@termina.org.uk>
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-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-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