summaryrefslogtreecommitdiff
path: root/src/lib/libssl/tls_buffer.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-03-28Remove .init section that calls OPENSSL_cpuid_setup on amd64.jsing1-10/+0
OPENSSL_cpuid_setup() is already called from OPENSSL_crypto_init(), hence we do not need or want automatic initialisation on library load. ok tb@
2024-03-28Rework loads and stores in ripemd.jsing1-74/+53
Replace loads with crypto_load_le32toh() or le32toh(). Use crypto_store_htole32() or htole32() for stores. ok joshua@ tb@
2024-03-28Remove OPENSSL_UNISTD definetb13-39/+0
2024-03-28Expand ROTATE macro to crypto_rol_u32().jsing1-8/+10
2024-03-28Include stdint.h since we use uint*_t types.jsing1-1/+2
2024-03-28Inline initial hash values.jsing1-18/+11
2024-03-28Remove no unnecessary do { } while (0);jsing1-3/+1
2024-03-28Inline HASH_MAKE_STRING.jsing1-17/+20
No change to generated assembly.
2024-03-28Expand HASH_* defines.jsing1-26/+28
No change in generated assembly.
2024-03-28Hide symbols in RC4joshua3-1/+36
ok jsing tb beck
2024-03-28Reorder functions.jsing1-116/+115
No functional change.
2024-03-28Tidy includes.jsing1-5/+5
2024-03-28Inline functions from md32_common.h.jsing1-1/+101
No change in generated assembly.
2024-03-28Load in the top of the loop, as we do for other hash implementations.jsing2-20/+20
2024-03-28Remove now unnecessary do { } while (0);jsing1-3/+1
2024-03-28Inline HASH_MAKE_STRING.jsing1-14/+14
No change in generated assembly.
2024-03-28Expand ROTATE macro to crypto_rol_u32().jsing1-11/+16
2024-03-28Demacro sha1.jsing1-164/+252
Replace macros with static inline functions and use names that follow the spec more closely. Unlike SHA256/SHA512, the functions and constants do not align with the number of words loaded, which means we cannot easily loop and just end up just unrolling everything. ok joshua@ tb@
2024-03-28Inline initial hash values.jsing1-12/+8
2024-03-28Clean up various defines and prototypes.jsing1-28/+2
No assembly implementations remain, hence we can clean the mess up and replace it with a single static void function.
2024-03-28Use TLS_ERROR_INVALID_ARGUMENT for "too large" and "too small" errorsjoshua2-8/+9
ok beck tb
2024-03-28Nuke more gostbeck2-0/+0
2024-03-28Nuke more leftover GOST tendrils.beck4-1499/+2
ok tb@
2024-03-28Tidy includes.jsing1-4/+4
2024-03-28Expand HASH_* defines.jsing1-27/+29
No change to generated assembly.
2024-03-28Reorder functions.jsing1-109/+109
No functional change.
2024-03-28Inline functions from md32_common.h for ripemd.jsing1-1/+101
No change to generated assembly.
2024-03-28Fix line wrapping.jsing1-6/+4
2024-03-28Remove fallback files that are now always included in the build.jsing1-5/+1
2024-03-28Use TLS_ERROR_OUT_OF_MEMORY error code for calloc errors in libtlsjoshua1-6/+7
ok jsing
2024-03-28Move rc4.c to primary Makefile.jsing12-32/+14
This is now built on all platforms.
2024-03-28Use C functions for RC4 public API.jsing5-21/+52
Rather than having public API switch between C and assembly, always use C functions as entry points, which then call an assembly implementation (if available). This makes it significantly easier to deal with symbol aliasing/namespaces and it also means we benefit from vulnerability prevention provided by the C compiler. Rename the assembly generated functions from RC4() to rc4_internal() and RC4_set_key() to rc4_set_key_internal(). Always include rc4.c and change it to use defines that are similar to those used in BN. ok beck@ joshua@ tb@
2024-03-28Fix coverity complaints.beck1-4/+6
2024-03-28Check the return value of EVP_CIPHER_CTX_reset()tb1-3/+5
The function call can't actually fail, but all other calls check its return value. ok joshua jsing
2024-03-28Move des sources to primary Makefile.jsing12-35/+13
Now that all platforms use a C des implementation, move it to the primary Makefile.
2024-03-28Remove now unused des assembly.jsing3-2630/+0
2024-03-28Stop building the assembly implementation of des on sparc64.jsing1-6/+2
This one was hiding behind an m4 script. Build tested by tb@
2024-03-28Remove now unused ripemd i386 assembly.jsing1-591/+0
2024-03-28Stop building the assembly implementation of des and ripemd on i386.jsing1-6/+2
This is the only architecture that has an assembly implementation for these algorithms. There is little to gain from accelerating legacy algorithms on a legacy architecture. Discussed with beck@ and tb@
2024-03-28Consolidate most of the AES modes into a single C file.jsing6-293/+70
Discussed with tb@
2024-03-28PKCS#1.5 PBE: test and assigntb1-3/+2
2024-03-28Stop pandering to the loadbalancer industrial complex.beck1-17/+3
So we initially kept this hack around for f5 boxes that should have been patched in 2014, and were not as of 2017. The f5 article for the bug archived on their web site, and any of these devices on the public internet will have since been upgraded to deal with a host of record layer, TLS, and other bugs, or they likely won't be talking to modern stacks, since as of this point the software with the bug would not have been updated in 10 years. So just make this spec compliant and reject a supported groups extension that should not have been sent by a server. ok tb@ jsing@
2024-03-27fix leaks in the horrible ssl whackery necessary for this test.beck1-4/+5
ok tb@
2024-03-27Fix up server processing of key shares.beck2-13/+173
Ensure that the client can not provide a duplicate key share for any group, or send more key shares than groups they support. Ensure that the key shares must be provided in the same order as the client preference order specified in supported_groups. Ensure we only will choose to use a key share that is for the most preferred group by the client that we also support, to avoid the client being downgraded by sending a less preferred key share. If we do not end up with a key share for the most preferred mutually supported group, will then do a hello retry request selecting that group. Add regress for this to regress/tlsext/tlsexttest.c ok jsing@
2024-03-27Remove unused rc4 parisc assembly.jsing2-299/+1
This is already disabled since it is "about 35% slower than C code".
2024-03-27Catch the blowfish that escaped.jsing1-2/+2
2024-03-27Consolidate rc4 code.jsing12-119/+50
Discussed with tb@
2024-03-27Remove assembly for stitched modes.jsing3-1756/+1
The stitched modes have been removed, so having assembly for them is of little use.
2024-03-27Remove empty rc4_local.h include.jsing3-10/+2
Discussed with tb@
2024-03-27Remove private_RC4_set_key() from the public rc4.h header.jsing1-2/+1
This does not exist in libcrypto.