| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
arc4random provides high quality pseudo-random numbers, hence there is no
need to differentiate between "strong" and "pseudo". Furthermore, the
arc4random_buf() function is guaranteed to succeed, which avoids the need
to check for and handle failure, simplifying the code.
It is worth noting that a number of the replaced RAND_bytes() and
RAND_pseudo_bytes() calls were missing return value checks and these
functions can fail for a number of reasons (at least in OpenSSL -
thankfully they were converted to wrappers around arc4random_buf() some
time ago in LibreSSL).
ok beck@ deraadt@ miod@
|
|
|
|
| |
ok deraadt@
|
| |
|
| |
|
|
|
|
|
| |
intrinsic functions everywhere, and wrap these functions in an
#ifndef LIBRESSL_INTERNAL to make sure we don't bring their use back.
|
|
|
|
|
|
|
| |
support the protocols of the future.
(Perhaps a bit late in burning this bridge entirely, but there's no time
like the present, esp. with other players now leaning against back compat.)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SSLv3 has been long known to have weaknesses and the POODLE attack has
once again shown that it is effectively broken/insecure. As such, it is
time to stop enabling a protocol was deprecated almost 15 years ago.
If an application really wants to provide backwards compatibility, at the
cost of security, for now SSL_CTX_clear_option(ctx, SSL_OP_NO_SSLv3) can be
used to re-enable it on a per-application basis.
General agreement from many.
ok miod@
|
| |
|
|
|
|
| |
avoids generating an EC key pair that will never be used.
|
|
|
|
|
|
|
| |
a compression identifier. In the case of a server using ephemeral EC keys,
the supplied key is unlikely to have a public key where
SSL_CTX_set_tmp_ecdh() is called after SSL_OP_SINGLE_ECDH_USE has been
set. This makes ECDHE ciphers work again for this use case.
|
|
|
|
|
| |
correct name for EECDH). The EDH and EECDH aliases remain for backwards
compatibility.
|
|
|
|
| |
ok guenther
|
|
|
|
|
|
|
|
|
|
|
| |
This makes 'openssl version' print a string that matches the -portable
release number. Thanks to @blakkeim for pointing it out.
The version integer is left alone, with the idea of discouraging software from
relying on magic numbers for detecting features. Software configuration should
do explicit feature tests instead.
ok beck@, deraadt@
|
|
|
|
| |
ok tedu@
|
|
|
|
| |
gethostname being declared properly on Compaq platforms that use DEC C...
|
|
|
|
| |
need to have additional checks here.
|
|
|
|
| |
with a failure if the NPN verification fails.
|
|
|
|
|
|
| |
only that it returns -1 on failure.
pointed out by guenther@
|
|
|
|
|
|
|
|
| |
use C99 array initialization syntax for strict C compilers.
from kinichiro, found building with HP/UX compiler
ok deraadt@, guenther@
|
|
|
|
|
|
|
|
|
| |
Prefer this because it is the POSIX standard and has consistent behavior
across platforms.
Use BIO_socket_nbio consistently across the tree.
from Jonas 'Sortie' Termansen, ok deraadt@
|
|
|
|
| |
function was found broken in 1993, and later on in 1997?
|
|
|
|
| |
in order to catch all negative sizes.
|
|
|
|
|
|
| |
libcrypto has not been started yet.
ok schwarze@ miod@
|
|
|
|
| |
not all versions of <linux/random.h> include <linux/types.h> by default
|
|
|
|
|
|
|
|
|
|
|
| |
i looked a bit closer and found instances before Reno, so correct HISTORY.
References:
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.1cBSD/usr/src/ucb/dbx/defs.h
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD/usr/src/etc/inetd.c
http://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/lib/libc/string/strdup.c
ok deraadt@
|
|
|
|
|
|
|
| |
Avoid potential integer overflow in the size argument of malloc() and
realloc() by using reallocarray() to avoid unchecked multiplication.
ok deraadt@
|
|
|
|
|
|
|
| |
Avoid potential integer overflow in the size argument of malloc() and
realloc() by using reallocarray() to avoid unchecked multiplication.
ok deraadt@
|
|
|
|
|
| |
looks good deraadt@
tweaks and ok millert@
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
(I also forgot to credit doug for much of the initial markup in the
previous commit.)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
in case something wants to create massive amounts of environment, like
a bit more than 1/4 of a 32-bit address space. unrealistic -- but why
audit one code path, and not treat others the same? then you have to
re-engage everytime you see the code. read the news, that isn't what
developers do. At least if the code paths look the same, there is hope,
because they are easier to verify for correctness. developers need
to give other developers a chance to want to care.
|
| |
|
| |
|
|
|
|
| |
ok doug@ jsing@
|
|
|
|
|
| |
need to do it in ec_copy_parameters() prior to invoking EC_KEY_set_group().
ok doug@ jsing@
|
|
|
|
|
|
| |
certificate, do not perform wildcard matching.
Suggested by Richard Moore (rich@kde)
ok tedu@
|
|
|
|
|
|
| |
at least a domain label before the tld, as in *.example.org.
Suggested by Richard Moore (rich@kde)
ok tedu@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
X509_PURPOSE object (obtained with X509_PURPOSE_get0() instead of being
allocated in the function) to be freed if modifying that object would fail
due to a low memory condition, while this object would still be referenced
elsewhere.
Fix this by only cleaning the object if we did not allocate it here.
While there, fail early if either `name' or `sname' are NULL, rather than
allocating an object and realizing we have nothing to strdup() into it.
ok guenther@
|
|
|
|
|
|
| |
if it fails, free the object we were about to push.
Factor error handling to avoid having four copies of about the same code.
ok guenther@
|
|
|
|
|
|
| |
on a stack; if the latter fails, we need to free the object before returning
failure.
ok guenther@
|
|
|
|
| |
ok guenther@
|