summaryrefslogtreecommitdiff
path: root/src/lib/libc/string/strdup.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-06-24Unifdef -UNO_SYS_TYPES_Hmiod10-40/+18
2014-06-24Remove previously commented out wrong code, as well as the comment saying thismiod2-6/+2
is incorrect code.
2014-06-24Remove ancient workaround for previous century's compilers in the declarationmiod2-4/+2
of CRYPTO_EX_DATA; riding upon the libcrypto major bump.
2014-06-24Remove BIO_f_reliable(), guilty of playing with EVP_MD_CTX internals itmiod5-1256/+4
should not know anything about. Verified not to be used in ports; riding upon the recent libcrypto major bump.
2014-06-24Crank libcrypto major since my previous commit changed the size of thejsing2-2/+2
ChaCha context. Other changes will also ride this crank.
2014-06-24If a chacha operation does not consume all of the generated key stream,jsing6-14/+92
ensure that we save it and consume it on subsequent writes. Otherwise we end up discarding part of the key stream and instead generate a new block at the start of the next write. This was only an issue for callers that did multiple writes that are not multiples of 64 bytes - in particular, the ChaCha20Poly1305 usage does not hit this problem since it performs encryption in a single-shot. For the same reason, this is also a non-issue when openssl(1) is used to encrypt with ChaCha. Issue identified by insane coder; reported to bugs@ by Joseph M. Schwartz. ok beck@
2014-06-24Extend the chacha regress to cover the ChaCha interface, in addition to thejsing1-22/+99
single-shot CRYPTO_chacha_20() interface (the ChaCha interface was already tested via the EVP regress, but not extensively). The additional ChaCha tests include single-shot writes, along with partial/single-byte writes that currently fail due to a bug in the underlying implementation.
2014-06-24Some KNF.jsing2-12/+24
2014-06-24Replace 48 lines of code with a single inet_pton() call. The previousjsing2-96/+6
handrolled version could not even make use of sscanf(), since that would not work with a certain antiquated compiler. It is worth noting that there is a tiny change in behaviour - previously calling BIO_get_host_ip() with something that looked like it might be a valid IP address (for example, "1." or even ".") would result in it returning failure rather than trying a BIO_gethostbyname() - now we'll always try a BIO_gethostbyname() if it was not a valid IPv4 address. ok beck@ miod@ deraadt@
2014-06-24Actually make BIO_set_tcp_ndelay() work - TCP_NODELAY will not magicallyjsing2-32/+6
appear by itself. ok beck@ miod@
2014-06-24Fix memory leak.logan1-2/+4
Thanks to Brenk Cook. OK from miod@
2014-06-23Since this is a library, place issetugid() before every getenv()deraadt10-26/+48
ok miod
2014-06-23unbreak build of getentropy_sysctl - we need linux/sysctl.h, andbeck2-36/+42
RANDOM_UUID is an enum member.
2014-06-23unbreak - main needs to be extern in here somewhere.beck2-2/+4
2014-06-22KNF, particularly wrapped lines of calls to PEM_read_bio_FOO() andguenther2-48/+88
multiline comments ok jsing@
2014-06-22Add regress tests for BIO_get_host_ip().jsing1-2/+70
2014-06-22BIO_sock_init() no longer does anything, so stop calling it.jsing2-20/+2
2014-06-22Just use SOMAXCONN and IPPROTO_TCP, since we know we have them.jsing2-28/+8
2014-06-22In BIO_get_port(), use strol() with appropriate range checks rather thanjsing6-68/+100
an atoi() followed by an unsigned short cast. This stops things like "-1" and "66536" from being considered to be "valid" port numbers. ok beck@ deraadt@
2014-06-22Add a skeleton regress for crypto/bio, which currently only coversjsing3-1/+94
BIO_get_port() and fails since the current code believes that "-1" is a valid port.
2014-06-22Hook in the aead regress.jsing1-1/+2
2014-06-22nuke unused test programs; ok jsingderaadt4-92/+4
2014-06-22More KNF.jsing2-10/+10
2014-06-22KNF.jsing6-416/+406
2014-06-22KNF.jsing12-1922/+2162
2014-06-22More KNF.jsing6-18/+18
2014-06-21matthew reminds me to update regress to reflect current spectedu1-10/+3
2014-06-21repair indentation for an inner loop; shorten some macros and variablederaadt2-258/+270
names to shorten line lengths ok beck
2014-06-21always compare memcmp against 0, for clarity.tedu6-14/+14
2014-06-21loosen the spec for timingsafe functions slightly, so as to nottedu1-10/+5
artificially constrain alternative implementations. ok deraadt
2014-06-21Pull the code that builds a DTLS sequence number out into its own functionjsing6-46/+58
to avoid duplication. Also use fewer magic numbers. ok miod@
2014-06-21Specify the correct strength bits for 3DES cipher suites.jsing2-30/+26
From OpenSSL. ok miod@
2014-06-21Add DTLS support to ssltest and wire up some regress tests.jsing2-8/+41
ok miod@
2014-06-21Switch to the ISC licensed versions of these files, which Google has madejsing4-202/+52
available via boringssl. ok deraadt@
2014-06-21Pull out the sequence number selection and handle this up front. Also, thejsing2-18/+12
correct record is already known, so avoid reassignment.
2014-06-21More KNF and clean up.jsing2-26/+18
2014-06-21More KNF.jsing16-122/+112
2014-06-21KNFmiod6-248/+274
2014-06-21KNFmiod6-356/+372
2014-06-21Fix memory leak in error path.logan2-4/+4
OK from miod@
2014-06-21Protect explicit_bzero() from link-time optimizationmatthew1-7/+10
Modern compiler toolchains are capable of optimizing even across translation unit boundaries, so simply moving the memory clearing into a separate function is not guaranteed to clear memory. To avoid this, we take advantage of ELF weak symbol semantics, and insert a call to an empty, weakly named function. The semantics of calling this function aren't determinable until load time, so the compiler and linker need to keep the memset() call. There are still ways a toolchain might defeat this trick (e.g., optimistically expecting the weak symbol to not be overloaded, and only calling memset() if it is; promoting weak symbols to strong symbols at link-time when emitting a static binary because they won't be interposed; implementing load-time optimizations). But at least for the foreseeable future, these seem unlikely. ok deraadt
2014-06-21hash in correct pointerderaadt2-4/+4
2014-06-20Remove the OPENSSL_*cap getenv's. A program should not be able toderaadt6-50/+10
change the behaviour of the library in such a complicated fashion. ok miod
2014-06-20wrap getenv OPENSSL_ALLOW_PROXY_CERTS in an issetugid check, to protectderaadt2-4/+4
setuid applications from being fooled. ok miod
2014-06-20KNFbeck2-96/+112
2014-06-20indentderaadt2-4/+4
2014-06-20rearrange so that the main function with the important comments is at the topotto2-156/+160
ok deraadt@ beck@
2014-06-20Work in progress on how to deal with the inherit unreliability ofbeck2-0/+878
/dev/urandom. Does well in the fallback case. Get it in tree so it can be worked on. ok otto@ deraadt@
2014-06-20Remove OPENSSL_instrument_halt and OPENSSL_far_spin, which both mightmiod2-140/+0
have been used under DJGPP in the previous century (if at all).
2014-06-20Fix incorrect bounds check in amd64 assembly version of bn_mul_mont();miod4-8/+8
noticed and fix by Fedor Indutny of Joyent ( https://github.com/joyent/node/issues/7704 )