#
ca1d80d6 |
| 08-Jul-2023 |
beck <beck@openbsd.org> |
Hide symbols in bn
ok tb@
|
#
b5c6728d |
| 11-Mar-2023 |
jsing <jsing@openbsd.org> |
Avoid -0 in BN_div_word().
Currently, the use of BN_div_word() can result in -0 - avoid this by setting negative again, at the end of the computation.
Should fix oss-fuzz 56667.
ok tb@
|
#
2e57f206 |
| 11-Mar-2023 |
jsing <jsing@openbsd.org> |
Correct sign handling in BN_add_word().
A sign handling bug was introduced to BN_add_word() in bn_word.c r1.18. When handling addition to a negative bignum, the BN_sub_word() call can result in the
Correct sign handling in BN_add_word().
A sign handling bug was introduced to BN_add_word() in bn_word.c r1.18. When handling addition to a negative bignum, the BN_sub_word() call can result in the sign being flipped, which we need to account for. Use the same code in BN_sub_word() - while not technically needed here it keeps the code consistent.
Issue discovered by tb@
ok tb@
show more ...
|
#
896da13f |
| 13-Feb-2023 |
jsing <jsing@openbsd.org> |
Avoid negative zero.
Whenever setting negative to one (or when it could potentially be one), always use BN_set_negative() since it checks for a zero valued bignum and will not permit negative to be
Avoid negative zero.
Whenever setting negative to one (or when it could potentially be one), always use BN_set_negative() since it checks for a zero valued bignum and will not permit negative to be set in this case. Since BN_is_zero() currently relies on top == 0, call BN_set_negative() after top has been set (or bn_correct_top() has been called).
This fixes a long standing issue where -0 and +0 have been permitted, however multiple code paths (such as BN_cmp()) fail to treat these as equivalent.
Prompted by Guido Vranken who is adding negative zero fuzzing to oss-fuzz.
ok tb@
show more ...
|
#
519d53cb |
| 28-Jan-2023 |
jsing <jsing@openbsd.org> |
Provide bn_div_rem_words() and make use of it.
Provide a function that divides a double word (h:l) by d, returning the quotient q and the remainder r, such that q * d + r is equal to the numerator.
Provide bn_div_rem_words() and make use of it.
Provide a function that divides a double word (h:l) by d, returning the quotient q and the remainder r, such that q * d + r is equal to the numerator. Call this from the three places that currently implement this themselves.
This is implemented with some slight indirection, which allows for per architecture implementations, replacing the define/macro tangle, which messes with variables that are not passed to it.
Also remove a duplicate of bn_div_words() for the BN_ULLONG && BN_DIV2W case - this is already handled.
ok tb@
show more ...
|
#
c9675a23 |
| 26-Nov-2022 |
tb <tb@openbsd.org> |
Make internal header file names consistent
Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names used for internal headers. Move all these headers we inherited from OpenSSL to *_l
Make internal header file names consistent
Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names used for internal headers. Move all these headers we inherited from OpenSSL to *_local.h, reserving the name *_internal.h for our own code. Similarly, move dtls_locl.h and ssl_locl.h to dtls_local and ssl_local.h. constant_time_locl.h is moved to constant_time.h since it's special.
Adjust all .c files in libcrypto, libssl and regress.
The diff is mechanical with the exception of tls13_quic.c, where #include <ssl_locl.h> was fixed manually.
discussed with jsing, no objection bcook
show more ...
|
#
c74511df |
| 26-Nov-2022 |
jsing <jsing@openbsd.org> |
Remove BIGNUM consistency macros.
Compiling with BN_DEBUG (and if you want to take it further, BN_DEBUG_RAND) supposedly adds consistency checks to the BN code. These are rarely if ever used and int
Remove BIGNUM consistency macros.
Compiling with BN_DEBUG (and if you want to take it further, BN_DEBUG_RAND) supposedly adds consistency checks to the BN code. These are rarely if ever used and introduce a bunch of clutter in the code. Furthermore, there are hacks in place to undo things that the debugging code does.
Remove all of this mess and instead rely on always enabled checks, more readable code and proper regress coverage to ensure correct behaviour.
"Good riddance." tb@
show more ...
|
#
e729bd5a |
| 24-Nov-2022 |
jsing <jsing@openbsd.org> |
Change bn_expand()/bn_wexpand() to indicate failure/success via 0/1.
Currently bn_expand()/bn_wexpand() return a BIGNUM *, however none of the callers use this (and many already treat it as a true/f
Change bn_expand()/bn_wexpand() to indicate failure/success via 0/1.
Currently bn_expand()/bn_wexpand() return a BIGNUM *, however none of the callers use this (and many already treat it as a true/false value). Change these functions to return 0 on failure and 1 on success, revising callers that test against NULL in the process.
ok tb@
show more ...
|
#
c17ab57a |
| 05-Jul-2016 |
bcook <bcook@openbsd.org> |
On systems where we do not have BN_ULLONG defined (most 64-bit systems), BN_mod_word() can return incorrect results if the supplied modulus is too big, so we need to fall back to BN_div_word.
Now th
On systems where we do not have BN_ULLONG defined (most 64-bit systems), BN_mod_word() can return incorrect results if the supplied modulus is too big, so we need to fall back to BN_div_word.
Now that BN_mod_word may fail, handle errors properly update the man page.
Thanks to Brian Smith for pointing out these fixes from BoringSSL:
https://boringssl.googlesource.com/boringssl/+/67cb49d045f04973ddba0f92fe8a8ad483c7da89 https://boringssl.googlesource.com/boringssl/+/44bedc348d9491e63c7ed1438db100a4b8a830be
ok beck@
show more ...
|
#
b6ab114e |
| 11-Jul-2014 |
jsing <jsing@openbsd.org> |
Only import cryptlib.h in the four source files that actually need it. Remove the openssl public includes from cryptlib.h and add a small number of includes into the source files that actually need t
Only import cryptlib.h in the four source files that actually need it. Remove the openssl public includes from cryptlib.h and add a small number of includes into the source files that actually need them. While here, also sort/group/tidy the includes.
ok beck@ miod@
show more ...
|
#
c3d6a26a |
| 12-Jun-2014 |
deraadt <deraadt@openbsd.org> |
tags as requested by miod and tedu
|
#
2bd9bb84 |
| 08-May-2014 |
jsing <jsing@openbsd.org> |
Emergency knfectomie requested by tedu@.
|
#
c5957159 |
| 14-Feb-2013 |
markus <markus@openbsd.org> |
cherry pick bugfixes for http://www.openssl.org/news/secadv_20130205.txt from the openssl git (changes between openssl 1.0.1c and 1.0.1d). ok djm@
|
#
4fcf65c5 |
| 06-Sep-2008 |
djm <djm@openbsd.org> |
resolve conflicts
|
#
3b996182 |
| 25-Sep-2003 |
otto <otto@openbsd.org> |
Return immediately if argument to BN_sub_word is zero.
ok markus@ deraadt@
|
#
370d1fc7 |
| 21-Aug-2003 |
otto <otto@openbsd.org> |
Do not produce a corrupt BIGNUM when adding 0 to 0 using BN_add_word(). ok markus@
|
#
767fe2ff |
| 12-May-2003 |
markus <markus@openbsd.org> |
merge 0.9.7b with local changes; crank majors for libssl/libcrypto
|
#
c109e398 |
| 15-Dec-2000 |
beck <beck@openbsd.org> |
openssl-engine-0.9.6 merge
|
#
ba5406e9 |
| 19-Mar-2000 |
beck <beck@openbsd.org> |
OpenSSL 0.9.5 merge
*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2 if you are using the ssl26 packages for ssh and other things to work you will need to get new ones
OpenSSL 0.9.5 merge
*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2 if you are using the ssl26 packages for ssh and other things to work you will need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs
show more ...
|
#
913ec974 |
| 29-Sep-1999 |
beck <beck@openbsd.org> |
OpenSSL 0.9.4 merge
|
#
5b37fcf3 |
| 05-Oct-1998 |
ryker <ryker@openbsd.org> |
Import of SSLeay-0.9.0b with RSA and IDEA stubbed + OpenBSD build functionality for shared libs.
Note that routines such as sslv2_init and friends that use RSA will not work due to lack of RSA in th
Import of SSLeay-0.9.0b with RSA and IDEA stubbed + OpenBSD build functionality for shared libs.
Note that routines such as sslv2_init and friends that use RSA will not work due to lack of RSA in this library.
Needs documentation and help from ports for easy upgrade to full functionality where legally possible.
show more ...
|