aboutsummaryrefslogtreecommitdiff
path: root/python
AgeCommit message (Collapse)Author
2019-06-20tests: Use Unicode literals in the Unicode decoding tests.Damir Jelić
This is needed because the function returns Unicode strings and the comparison will fail under python2 unless Unicode literals are used.
2019-06-20_compat: Make the encoding argument explicit in to_unicode_str().Damir Jelić
2019-06-20olm: Rename the errors function argument in the decryption functions.Damir Jelić
2019-06-19_compat: Remove the now unused native_str.Damir Jelić
2019-06-19_compat: Change the to_native_str into a to_unicode_str function.Damir Jelić
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_compat: Remove unused import.Damir Jelić
2019-06-18Makefile: Add an isort target.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-12more isortHubert Chathi
2019-04-12isort python/olm/pk.pyHubert Chathi
2019-04-09python: Add the SAS header to the manifest.Damir Jelić
The SAS header is required to build the package therefore it needs to be shipped with the source distribution of the package. Adding it to the manifest achieves this.
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: Build the build headers with setup.py.Damir Jelić
This allows downstream users to install this python module with pip as well as allowing people to declare it as a dependency in their setup.py. Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2019-04-08python: Fix the MANIFEST file.Damir Jelić
This patch adds the Olm header files to the manifest, this results in the header files being added to source distributions of the python-olm module. The headers are required to build the module. Including them in the source distribution is the easiest way to make sure that builds from the source distribution will succeed provided that the Olm C library is already installed. Signed-off-by: Damir Jelić <poljar@termina.org.uk>
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-08python: Make the typing module a requirement only for old python versions.Damir Jelić
Typing is part of standard library from python 3.5 and from python 3.7 onwards trying to install it results in an error. This patch disables typing installation on python versions that are newer than 3.5. 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-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.