summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/reallocarray.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-03-18Fewer magic numbers.jsing1-3/+3
2017-03-18t1_enc.cjsing1-3/+2
2017-03-18Update regress and remove temporary buffer to match changes in tls_PRF().jsing1-8/+4
2017-03-18Currently tls1_PRF() requires that a temporary buffer be provided, thatjsing1-50/+32
matches the size of the output buffer. This is used in the case where there are multiple hashes - tls_P_hash() is called with the temporary buffer and the result is then xored into the output buffer. Avoid this by simply using a local buffer in tls_P_hash() and then xoring the result into the output buffer. Overall this makes the code cleaner and simplifies all of the tls_PRF() callers. Similar to BoringSSL. ok inoguchi@
2017-03-17remove unneccessary macro;jmc1-2/+2
2017-03-17Strengthen description of recallocarray(3) behaviour, hoping that readersderaadt1-5/+10
make the behaviour -> use case connection. help from jmc and jsing
2017-03-16Convert BUF_MEM_grow() and BUF_MEM_grow_clean() to recallocarray(),jsing1-13/+3
ensuring that the buffer contents are zeroed on allocation and not leaked when resizing. It is worth noting that BUF_MEM_grow_clean() already did this manually by avoiding realloc(). ok beck@ inoguchi@
2017-03-16Use calloc() instead of malloc() followed by manually zeroing fields.jsing1-6/+3
ok beck@ inoguchi@
2017-03-14copy /etc/services in test directoryeric1-1/+2
2017-03-10refresh the test infrastructure a bit.eric3-90/+93
2017-03-10Remove the handshake digests and related code, replacing remaining usesjsing7-166/+45
with the handshake hash. For now tls1_digest_cached_records() is retained to release the handshake buffer. ok beck@ inoguchi@
2017-03-10Switch CBB to use recallocarray() - this ensures that we do not leakjsing1-2/+2
secrets via realloc(). ok inoguchi@
2017-03-10First pass at cleaning up the tls1_P_hash() function - remove a pointlessjsing1-20/+19
EVP_DigestSignInit() call and avoid the need for ctx_tmp by reordering the code slightly. ok inoguchi@
2017-03-10Add a unit test for tls1_PRF().jsing2-1/+257
2017-03-10Make tls1_PRF() non-static so it can be regress tested.jsing1-2/+7
2017-03-09The netcat server did not print the correct TLS error message ifbluhm1-2/+2
the handshake after accept had failed. Use the context of the accepted TLS connection. OK beck@
2017-03-09remove bogus variable expansioneric2-4/+4
2017-03-09missing includeeric1-1/+2
2017-03-07Correctly handle TLS PRF with MD5+SHA1 - the secret has to be partitionedjsing1-5/+26
and each hash processed separately. Tested by tb@
2017-03-07Add a test that covers a libtls client talking to a Go TLS server withjsing1-5/+107
varying minimum and maximum protocol versions. This gives us protocol version test coverage against an independent TLS stack.
2017-03-07Allow ciphers to be set on the TLS config.jsing1-0/+10
2017-03-07Provide support for libtls protocols and allow for protocols to be set onjsing1-3/+47
a TLS config. The ConnVersion function now also returns a protocol version instead of a string.
2017-03-07Add handling for errors on the TLS config and properly check/handlejsing2-6/+23
failures when setting the CA file.
2017-03-07libtls errors are much more descriptive these days - return them directlyjsing1-9/+8
and avoid adding redundant/duplicate information.
2017-03-07We no longer need to keep pointers following tls_config_set_*() calls.jsing1-6/+3
2017-03-07Some tweaks from jmc@ and describe better what recallocarray does;otto1-7/+16
help and ok from tom@ and deraadt@
2017-03-06Use an unsigned loop variable to avoid a comparison between signedbluhm1-1/+1
and unsigned. Makes the test compile again. OK inoguchi@
2017-03-06Introducing recallocarray(3), a blend of calloc(3) and reallocarray(3)otto3-7/+147
with the added feature that released memory is cleared. Much input from various developers. ok deraadt@ tom@
2017-03-06size is unsigned so using ==0 not <=0 when checking for buffer exhaustionmillert1-4/+4
2017-03-06Pull in a change from the bind 8 resolver that fixes a potentialmillert1-10/+16
crash when given a large hex number as part of the dotted quad. OK deraadt@ jsg@
2017-03-06Clean up and simplify the tls1_PRF() implementation now that we have ajsing1-48/+19
single EVP MD for the PRF hash. ok beck@ inoguchi@
2017-03-05Correctly convert an SSLv2 challenge into an SSLv3/TLS client random byjsing1-9/+27
truncating or left zero padding. ok beck@ inoguchi@ sthen@
2017-03-05Provide a rolling handshake hash that commences as soon as the cipherjsing8-54/+193
suite has been selected, and convert the final finish MAC to use this handshake hash. This is a first step towards cleaning up the current handshake buffer/digest code. ok beck@ inoguchi@
2017-03-05Convert various handshake message generation functions to CBB.jsing4-56/+113
ok beck@ inoguchi@
2017-03-05Add an initial regress test that covers the server-side of libssl, byjsing3-1/+220
providing SSL_accept() with fixed ClientHello messages.
2017-03-04Drop the second argument of dtls1_set_message_header() and make it a voidjsing3-13/+10
function. Nothing makes use of the return value and the second argument was only used to produce the return value...
2017-03-04Call ssl3_handshake_write() instead of ssl3_do_write() - this was missedjsing1-2/+2
when ssl3_send_client_certificate() was converted to the standard handshake functions in r1.150 of s3_clnt.c. This has no impact on TLS, however it causes the DTLS client to fail if the server sends a certificate request, since the TLS MAC is calculated on a non-populated DTLS header. Issue reported by umokk on github.
2017-03-04Treat "ERROR in STARTUP" as an actual error, rather than failing withoutjsing1-2/+2
exiting non-zero (which has been masking a DTLS related issue). Also make the message consistent with other errors. Spotted by inogochi@
2017-03-04Remove commented out code and fix indentation of surrounding statements.jsing1-12/+5
2017-03-04Remove handling for SSLv2.jsing1-14/+3
2017-03-03Ensure MD and key initialized before processing HMACinoguchi2-35/+224
Ensure both MD and key have been initialized before processing HMAC. Releasing HMAC_CTX in error path of HMAC(). In regress test, added test 4,5,6 and cleaned up the code. ok jsing@
2017-03-02fix error in Dt; from robert kleinjmc1-3/+3
2017-03-01Convert ssl3_{get,send}_server_key_exchange() to EVP_md5_sha1().jsing3-44/+29
ok inoguchi@
2017-03-01Add EVP test for MD5-SHA1.jsing1-0/+3
2017-03-01Include EVP_md5_sha1() via OpenSSL_add_all_digests().jsing1-1/+2
2017-02-28Bump minors due to symbol addition.jsing3-3/+3
2017-02-28Document EVP_md5_sha1().jsing1-2/+11
2017-02-28Add an EVP interface that provides concatenated MD5+SHA1 hashes, which arejsing4-2/+88
used in various parts of TLS 1.0/1.1. This will allow for code simplification in libssl. The same interface exists in OpenSSL 1.1. ok beck@ deraadt@ inoguchi@ millert@
2017-02-28Fix typo in issuingDistributionPoint description.jsing1-1/+1
2017-02-28Stop pretending that MD5 and SHA1 might not exist - rather than locatingjsing4-20/+8
"ssl3-md5" and "ssl-sha1", call the EVP_md5() and EVP_sha1() functions directly. ok beck@ inoguchi@