Erik Bray
a094a36fa8
Update random.py
...
Realized that `ffi.string()` could truncate the output on null bytes.
2017-01-28 15:55:42 +01:00
Erik Bray
e96a720f04
Fixes a serious bug in Random.byte
...
Python's bytecode compiler has a peephole optimizer which, among other things, can recognize constant expressions and replace them with a constant.
In `Random.byte` the expression `t2b('\0')` is recognized as a constant and is replaced with a single constant compiled into the function's bytecode.
This means that every time you run `Random.byte`, rather than creating a new `str` object (or `bytes` in Python 3) it's reusing the same one each time, and `wc_RNG_GenerateByte` is writing right into that constant object's buffer; hence the following behavior:
```
In [55]: rng = Random()
In [56]: a = rng.byte()
In [57]: a
Out[57]: "'"
In [58]: rng.byte()
Out[58]: '\x11'
In [59]: a
Out[59]: '\x11'
In [60]: rng.byte()
Out[60]: '\x16'
In [61]: a
Out[61]: '\x16'
In [62]: rng.byte.__func__.__code__.co_consts
Out[62]:
('\n Generate and return a random byte.\n ',
'\x16',
0,
'RNG generate byte error (%d)')
In [63]: rng.byte()
Out[63]: '\xad'
In [64]: rng.byte.__func__.__code__.co_consts
Out[64]:
('\n Generate and return a random byte.\n ',
'\xad',
0,
'RNG generate byte error (%d)')
```
`Random.bytes` does not necessarily have this problem since its result buffer is not a constant expression, though I feel like it could also in principle be affected if the string were interned (though I couldn't produce such a result). Nevertheless, it doesn't seem like a good idea to be updating `str` objects' buffers directly.
2017-01-26 20:48:15 +01:00
Moisés Guimarães
d3d7446a24
removes 3DES from docs
2017-01-21 15:31:26 -02:00
Moisés Guimarães
a761a7fc64
updates provisioners
2017-01-18 19:19:03 -02:00
Moisés Guimarães
feb6617dc9
updates centos provisioner
2017-01-18 18:41:15 -02:00
Moisés Guimarães
51bf46288b
adds client example
2017-01-18 18:18:19 -02:00
Moisés Guimarães
5c8e69eb5e
updates vagrant configs; updates server example, updates copyright year.
2017-01-18 17:59:48 -02:00
Moisés Guimarães
bb97e03a44
initial server tests
2017-01-16 19:40:46 -02:00
Moisés Guimarães
089387906e
updates tests
2017-01-16 18:52:34 -02:00
Moisés Guimarães
715d6afeda
updates tox config
2017-01-16 18:48:01 -02:00
Moisés Guimarães
0a9f66338c
adds coverity tests
2017-01-15 12:51:09 -02:00
Moisés Guimarães
2d56f09320
adds accept() behavior to SSLSocket; Migrates tests to pytest.
2017-01-15 12:26:22 -02:00
Moisés Guimarães
56091e267f
moving source code into src
2017-01-12 19:27:36 -02:00
Moisés Guimarães
53d4c171c8
adds more client tests
2016-12-22 17:58:13 -02:00
Moisés Guimarães
35f03eb00a
fixes docs.
2016-12-22 16:59:50 -02:00
Moisés Guimarães
1c9147a41e
adds supported curves to context; fixes compatibility issues with py27
2016-12-22 15:01:58 -02:00
Moisés Guimarães
9b58ab0211
renames exceptions file
2016-12-22 15:01:58 -02:00
Moisés Guimarães
4b75d11164
fixes socket calls
2016-12-22 15:01:58 -02:00
Moisés Guimarães
f3c1522608
always treat native_object as a pointer
2016-12-22 15:01:58 -02:00
Moisés Guimarães
b9934695fb
pretest version of SSLSocket
2016-12-22 15:01:58 -02:00
Moisés Guimarães
567dfd76b3
adds initial code for SSLSocket
2016-12-22 15:01:58 -02:00
Moisés Guimarães
2cbdd45e8f
adds negotiate() to ssl interface
2016-12-22 15:01:58 -02:00
Moisés Guimarães
07072ef266
moving SSLContext and SSLSocket to __init__ to avoid ciclic includes
2016-12-22 15:01:58 -02:00
Moisés Guimarães
baeba53527
adds wrap_socket to the context
2016-12-22 15:01:58 -02:00
Moisés Guimarães
445e375daa
adds ssl interface to ffi
2016-12-22 15:01:58 -02:00
Moisés Guimarães
52eb0becf0
adds set_ciphers to context
2016-12-22 15:01:58 -02:00
Moisés Guimarães
368f2baf88
adds verify_mode to context
2016-12-22 15:01:58 -02:00
Moisés Guimarães
8eec3cb874
adds initial code for SSLSocket
2016-12-22 15:01:58 -02:00
Moisés Guimarães
0ed0672b16
fixes pylint warnings
2016-12-22 15:01:58 -02:00
Moisés Guimarães
c0b59a585b
adds support for buffered ca certificates
2016-12-22 15:01:58 -02:00
Moisés Guimarães
015ffecbab
fixes unicode quotes and adds load_cert_chain test.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
760ddd14f5
fixes pylint warnings;
...
adds more tests to load_verify_locations;
fixes data type when calling C functions;
fixes result verification when calling C functions.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
7201435f2d
adds initial context tests.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
bd14611879
adds load_verify_locations and load_cert_chain implementations.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
c8ae6abb43
adds context functions.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
e1c01378c7
fixes ssl version in test to maintain backward compatibility.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
20cfbe399c
fixes integer comparison and adds virtual env to ignored files.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
e06b17e170
adds methods and client tests;
...
adds context creation;
adds memory module;
removes init and cleanup functions.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
0df897d4b9
adds methods
2016-12-22 15:01:58 -02:00
Moisés Guimarães
7b884ad72a
removes non-ASCII chars from docs.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
8b0edafef3
adds build_ffI.py
2016-12-22 15:01:58 -02:00
Moisés Guimarães
f4d6890b51
adds basic files and exception classes.
2016-12-22 15:01:58 -02:00
Moisés Guimarães
5f6cf282b1
fixes include.am comments
2016-11-07 21:15:23 -03:00
Moisés Guimarães
88df983251
moves include.am into wolfcrypt-py folder
2016-11-07 21:09:08 -03:00
Moisés Guimarães
b50914f2c7
Drops 3DES and adds int wc_RsaSetRNG(RsaKey* key, WC_RNG* rng); for RSA blinding
2016-11-07 16:06:35 -03:00
Moisés Guimarães
08f6d23e84
moves wolfcrypt-py implementation to wrapper/python/wolfcrypt
2016-11-07 16:02:41 -03:00
Jacob Barthelmeh
1ed06b53df
C# Wrapper : TCP check connection termination
2016-09-28 15:00:30 -06:00
Moisés Guimarães
7f71c526f6
adds python3 support
2016-06-03 10:37:41 -03:00
Moisés Guimarães
6736ffe10e
adds links to wolfssl.com
2016-06-02 22:08:57 -03:00
Moisés Guimarães
a76291c2e2
adds tox instructions
2016-06-02 21:38:34 -03:00