Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
tests: Drop hypothesis from the python tests.
See merge request matrix-org/olm!5
|
|
|
|
Python unicode decode errors when decrypting.
See merge request matrix-org/olm!4
|
|
|
|
This is needed because the function returns Unicode strings and the
comparison will fail under python2 unless Unicode literals are used.
|
|
Hypothesis isn't used anymore and the strings are now constants, meaning
that the hashes should never match.
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
add python bindings for PK signing
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Damir Jelić <poljar@termina.org.uk>
|
|
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>
|
|
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>
|
|
|
|
|
|
also reduce the amount of memory copying that we do
|
|
|
|
|
|
|
|
since they're not for the right repository any more
|
|
- 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
|
|
|
|
|
|
|
|
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>
|
|
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>
|