| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
intrinsic functions everywhere, and wrap these functions in an
#ifndef LIBRESSL_INTERNAL to make sure we don't bring their use back.
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
| |
only that it returns -1 on failure.
pointed out by 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.
|
|
|
|
| |
not all versions of <linux/random.h> include <linux/types.h> by default
|
|
|
|
| |
ok doug@ jsing@
|
|
|
|
|
| |
need to do it in ec_copy_parameters() prior to invoking EC_KEY_set_group().
ok doug@ jsing@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
| |
Tweaks and ok guenther@
|
|
|
|
| |
ok deraadt@ guenther@
|
|
|
|
| |
ok deraadt@ guenther@
|
|
|
|
| |
ok miod
|
|
|
|
| |
ok tedu@, miod@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- don't define default_bits, allowing the compiled-in default (now 2048
bits) to take priority.
- add commented-out default_md line in case somebody needs an easy way
to change this.
- remove some sample sections which aren't really useful in the default
file (/etc/examples is the place for a more descriptive config, this
file should be barebones).
Help/OK jsing@. OKs on earlier diff (openssl.cnf only) from phessler@ aja@.
|
|
|
|
|
| |
if a NULL stack was passed as argument. Fix this by returning NULL early in
that case.
|
|
|
|
|
|
|
|
|
| |
X509_STORE_CTX_init(): do not free the X509_STORE_CTX * parameter upon
failure, for we did not allocate it and it might not come from the heap,
such as in check_crl_path() in this very same file where X509_STORE_CTX_init()
gets invoked with a stack address.
ok bcook@
|
|
|
|
|
| |
memcpy().
ok bcook@
|
|
|
|
|
| |
parameter, correctly set param->name to NULL after having freed it.
ok bcook@
|
|
|
|
| |
ok bcook@
|
|
|
|
|
|
| |
for it may be NULL. Do not leak memory upon error.
ok bcook@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
manual field fiddling to create an ASN1_INTEGER object, instead of using
M_ASN1_INTEGER_new() which will allocate sizeof(long) bytes.
That person had probably never looked into malloc(3) and never heard of
allocation size rounding.
Thus, replace the obfuscated code with M_ASN1_INTEGER_new() followed by
ASN1_INTEGER_set(), to achieve a similar result, without the need for
/* version == 0 */ comments.
ok bcook@
|
|
|
|
| |
fixed.
|
|
|
|
| |
the 64-bit code has to be disabled under OpenBSD/hppa.
|
|
|
|
|
| |
cases and breaks TLS 1.2; crank libcrypto.so minor version out of safety and
to be able to tell broken versions apart easily.
|
|
|
|
|
|
|
| |
X509_STORE_get1_certs(), X509_STORE_get1_crls(): check the result of
allocations.
ok tedu@
|
|
|
|
|
|
| |
the first EVP block.
ok tedu@
|
|
|
|
| |
ok tedu@
|
|
|
|
|
|
| |
strdup() to allocated directory list components.
ok jsing@
|
|
|
|
|
|
|
|
| |
some changes an a_int.c did not get applied to a_enum.c; despite style
changes, make sure BN_to_ASN1_ENUMERATED() correctly handles a zero value
the same way BN_to_ASN1_INTEGER() does.
ok bcook@ beck@ jsing@
|
|
|
|
|
|
|
| |
Replace an if() posse with a switch() statement in traverse_string().
Remove unnecessary casts in cpy_*(),
with tweaks from guenther@; ok bcook@ jsing@ guenther@
|
| |
|
|
|
|
|
| |
If getrandom returns a temporary failure, make sure errno is not polluted when
it succeeds. Thanks to deraadt@ for pointing it out.
|
|
|
|
|
|
|
|
|
| |
There is no intention to modify the string returned by strerror and
doing so is forbidden by the standard.
from Jonas 'Sortie' Termansen
ok tedu@ deraadt@
|
|
|
|
|
|
|
|
|
| |
The crypto/bio/bss_dgram.c file assumes that another file indirectly
includes <stdlib.h> that includes <sys/time.h>.
from Jonas 'Sortie' Termansen
ok deraadt@ tedu@
|
| |
|
|
|
|
|
|
|
| |
Let the compiler optimize these. Even older versions of gcc generate
equal or better quality code than the inline asm.
ok miod@
|
|
|
|
|
|
|
|
|
|
|
| |
These macros and asm inlines simulate a function returning a value, but
nothing ever uses this return value. Remove the pseudo-returns and
(void) casts discarding the unused values.
This, maybe unsurprisingly, speeds things up a bit. It also removes the
GCC 4.9 warnings about unused values.
ok miod@ deraadt@
|
|
|
|
| |
like the sysctl path
|
|
|
|
|
|
|
|
|
|
|
| |
This enables support for the new getrandom(2) syscall in Linux 3.17.
If the call exists and fails, return a failure in getentropy(2) emulation as
well. This adds a EINTR check in case the urandom pool is not initialized.
Tested on Fedora Rawhide with 3.17rc0 and Ubuntu 14.04
ok deraadt@
|
|
|
|
| |
millert@ and jmc@ agree that "overriden" is wrong
|
|
|
|
|
| |
case of failing to map the 2nd object.
found by Paul Maurers
|
|
|
|
|
| |
Without the cast/mask, the compiler is allowed to optimize this directly
to the correct CPU intrinsic for rotate.
|
|
|
|
|
|
|
|
|
| |
Most assembly blocks remain inactive if OPENSSL_NO_ASM is not defined,
only enabling inline assembly, but the RSA / RC4-5 blocks (used only in
amd64 systems) turn on implicitly. Guard these two as well.
This simplifies enabling just inline ASM in portable, no effective
change in OpenBSD.
|
|
|
|
|
|
|
|
|
|
|
| |
- make sure the output buffer is always NUL terminated if buf_len
was initially greater than zero.
- reject OIDs that are too long, too short, or not in proper base-127
Based on
https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=0042fb5fd1c9d257d713b15a1f45da05cf5c1c87
ok bcook@
|
|
|
|
|
|
|
|
| |
behaviour that allows a PEM block to be fed through the base64 decoder.
Reported by Dmitry Eremin-Solenikov on tech@
ok deraadt@ tedu@
|