Age | Commit message (Collapse) | Author |
|
|
|
the assembly code in libcrypto assumes unaligned access is allowed for
ARMv7. Make these paths conditional on __STRICT_ALIGNMENT not being
defined and define __STRICT_ALIGNMENT in arm_arch.h for OpenBSD.
ok tom@
|
|
My read of this: Long time ago (Think Conan, not dinasaurs) during the race
to make speedier processors, a cpu vendor built a pipeline with a bad stall,
and proposed a tremendously hasky workaround. A wizard adopted this into his
perl scroll, and failed to reflect later when no compiler adopted the practice.
This relic remains at the tail end of some functions in OpenSSL as
".byte 0xf3,0xc3". Banish it straight to hell.
ok mlarkin, others also stared blankly
|
|
Move the "internal" BN functions from bn.h to bn_lcl.h and stop exporting
the bn_* symbols. These are documented as only being intended for internal
use, so why they were placed in a public header is beyond me...
This hides 363 previously exported symbols, most of which exist in headers
that are not installed and were never intended to be public. This also
removes a few crusty old things that should have died long ago (like
_ossl_old_des_read_pw). But don't worry... there are still 3451 symbols
exported from the library.
With input and testing from inoguchi@.
ok beck@ inoguchi@
|
|
meaningful constants in a private header file, so that reviewers can actually
get a chance to figure out what the code is attempting to do without knowing
all cpuid bits.
While there, turn it from an array of two 32-bit ints into a properly aligned
64-bit int.
Use of OPENSSL_ia32_P is now restricted to the assembler parts. C code will
now always use OPENSSL_cpu_caps() and check for the proper bits in the
whole 64-bit word it returns.
i386 tests and ok jsing@
|
|
ok deraadt@
|
|
ok deraadt@
|
|
24 bits; if we don't, Td4[] gets cast to signed int, and according to C>=99
6.5.7, signed int shifted by enough bits to cause a the sign bit to be set
is an UB.
Reported by Pascal Cuoq on behalf of the trust-in-soft.com mafia I am
{partial,slightly related} to.
|
|
ok miod@
|
|
raw byte sequences. The toolchains have had some time to update and assemble
the instructions correctly (except for p{ins,ext}rd which are not supported
yet by as(1) under OpenBSD, but will be fixed shortly).
Inspired by a discussion between tedu@ and John-Mark Gurney.
Verified to still work on Mac OS X and average Linux distros by bcook@
|
|
same four bytes, unobfuscated.
|
|
|
|
for libraries in OpenBSD is to deliberately let NULL pointers cause a SIGSEGV.
ok doug@ jsing@
|
|
generating code for 64-bit mips userland.
|
|
|
|
ok jsing@ miod@
|
|
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@
|
|
are needed in the source files that actually require them.
ok beck@ miod@
|
|
Also remove unused des_ver.h, which exports some of these strings, but is not installed.
ok miod@ tedu@
|
|
internal interfaces, and promoting them to being the public
AES_set_{enc,dec}rypt_key() interfaces. In non-FIPS mode, these public
interfaces were directly calling the private ones.
ok guenther@ jsing@
|
|
|
|
|
|
|
|
including it they get <openssl/opensslconf.h>. So instead of pulling in
<openssl/e_os2.h>, just pull in <openssl/opensslconf.h>.
"go ahead" miod@
|
|
eyeballed before applying. Contributed by Cyril Roelandt on tech@
|
|
two keys and four IVs to do much magic, is specified as such with test vectors,
but the implementation actually always uses the first key, and the test vectors
were computed with it, so they are wrong.
Fixing the code to match the intended specification would break
interoperability with existing code (assuming such code would exist), so it is
better to remove this interface, which is obviously too complex for mere
mortals if even its author can not implement it correctly.
Riding on the libcrypto major bump.
|
|
|
|
Also check for _LP64 rather than __arch64__ (the former being more reliable
than __LP64__ or __arch64__) to tell 64-bit int platforms apart from 32-bit
int platforms.
Loosely based upon a diff from Martijn van Duren on tech@
|
|
than 32 bits.
|
|
instead of garbage, and add this to the libcrypto regress. Note these tests
are incomplete, as they always use the default IV.
|
|
|
|
|
|
OPENSSL_foo wrappers. This changes:
OPENSSL_malloc->malloc
OPENSSL_free->free
OPENSSL_relloc->realloc
OPENSSL_freeFunc->free
|
|
|
|
meets their needs, but dumping it in here only penalizes the rest of us.
ok beck deraadt
|
|
readable. This pass is whitespace only and can readily be verified using
tr and md5.
|
|
that it is easier to find code pieces. They are getting in the way.
ok miod
|
|
|
|
|
|
have to go through the PLT/GOT to get at them anymore. In fact going through
the GOT now fails since we no longer have a GOT entry for OPENSSL_ia32cap_P.
Fixes the problem spotted by jasper@ and sthen@. Based on a diff from mikeb@
who did most of the actual work of tracking down the issue.
ok millert@, mikeb@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- global function calls in .init sections (diff makes them via PLT)
- calls to global functions in aes-586.S (made static or local)
- global variable accesses in rc4-x86_64.S (now made via GOT)
from djm@large; ok miod@
|
|
|
|
|