summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove AES_bi_ige_encrypt() from libcrypto. This routine is supposed to usemiod2014-05-122-116/+0
| | | | | | | | | | | | | 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.
* Bring back ASN1_seq_pack(), ASN1_seq_unpack(), ASN1_pack_string() andmiod2014-05-123-0/+215
| | | | | | | | ASN1_unpack_string() from the NO_ASN1_OLD purge; turns out that some Ruby extensions still use them, unfortunately, so we need to give them some more time to catch up on ``recent'' interfaces. Riding on the libcrypto major bump.
* Move the `pqueue' part of libcrypto, which is a glorified sorted linked listmiod2014-05-125-340/+5
| | | | | | | | | | | | | of 64-bit data, and only used by DTLS, to libssl where it belongs. Remove pqueue_print() which is a debugging interface and serves no useful purpose, except for the regress test, which grows its own pqueue_print() routine. Bump libcrypto major and libssl minor. WARNING: do not update your tree right now, more changes are coming, which will ride the libcrypto major bump.
* More KNF.jsing2014-05-115-16/+27
|
* KNF.jsing2014-05-112-322/+287
|
* __bounded => __attribute__((__bounded__djm2014-05-101-5/+5
|
* Typo in C99 field initializer introduced in r1.3;miod2014-05-091-1/+1
| | | | reported by Steven Chamberlain
* Replace Apache v2 license with ISC license.matthew2014-05-094-50/+50
| | | | | Thanks to Google for agreeing to offer the code under more agreeable licensing terms!
* Replace hand-crafted STRICT_ALIGNMENT with system provided __STRICT_ALIGNMENT.miod2014-05-081-17/+7
| | | | Forgotten during yesterday's STRICT_ALIGNMENT cleanup commit.
* More KNF.jsing2014-05-0811-45/+94
|
* KNF.jsing2014-05-0812-308/+383
|
* Remove KSSL debug code.jsing2014-05-081-21/+0
| | | | "fire bomb" tedu@
* KNF.jsing2014-05-087-912/+917
|
* Nuke OPENSSL_FIPS - having #ifdefs inside a #ifndef for the same thingjsing2014-05-082-18/+0
| | | | | | is amusing. ok deraadt@
* KNF.jsing2014-05-0816-1499/+1544
|
* knfectomie.jsing2014-05-081-653/+818
|
* Emergency knfectomie requested by tedu@.jsing2014-05-0830-6133/+6618
|
* kill some more VMS ifdefsgiovanni2014-05-084-16/+0
| | | | ok miod@
* Get __STRICT_ALIGNMENT from <machine/endian.h> and decide upon it, rathermiod2014-05-079-35/+26
| | | | | | | | | | | | | | than defining it for not (i386 and amd64 (and sometimes s390)) only. Compile-time tests remain compile-time tests, and runtime-test remain runtime-test instead of being converted to compile-time tests, per matthew@'s explicit demand (rationale: this makes sure the compiler checks your code even if you won't run it). No functional change except on s390 (which we don't run on) and vax (which we run on, but noone cares about) ok matthew@
* don't free memory unless we allocated it.tedu2014-05-071-2/+4
| | | | | reported to openssl by David Ramos (rt 3338) stealing commit from logan, who's run away. ok miod.
* with the first bug it uncovered fixed, clear all bignums again.tedu2014-05-071-17/+9
| | | | i've never worked on codebase so resistant to efforts to improve it.
* in BN_clear_free, don't cleanse the data if the static data flag is set.tedu2014-05-071-3/+2
| | | | | | | | much debugging work done by otto. ok miod otto. side note: BN_FLG_STATIC_DATA doesn't actually mean the data is static. it's also used to indicate the data may be secretly shared behind your back as a sort of poor man's refcounting, but without the refcounting.
* KNF.jsing2014-05-0714-944/+984
|
* revert, thanks sthentedu2014-05-071-9/+17
|
* add additional includes from eng_cryptodev.cjsg2014-05-071-0/+5
| | | | | makes this compile with OPENSSL_NO_DEPRECATED defined. ok deraadt@
* miod forgot about fcrypt_b.c being needed, before he went off to get hisderaadt2014-05-072-2/+4
| | | | | beauty sleep. He's probably having a nightmare about this right now.... ok tedu
* Assorted cleanups:miod2014-05-061-14/+4
| | | | | | | | | | | - replace hardcoded sizes with sizeof() - pqueue_find() apparently used to need to keep track of the previous node when iterating, which causes its logic to be complicated. However, nowadays it only needs to iterate, so replace with a straightforward, much readable logic. - remove #if 0'ed code From ``sin'' from 2f30 dot org on tech@, thanks!
* Remove broken-by-design testmiod2014-05-061-95/+0
|
* Make sure PKCS7_get_octet_string() return values are checked for NULL.miod2014-05-061-2/+10
| | | | | | Reported by David Ramos (and simultaneously to OpenSSL as PR#3339). ok beck@ logan@
* Sort CFLAGS, SRC and SSLASM stanzas by the directories they apply to, to makemiod2014-05-064-136/+166
| | | | | these files similar in layout to the other md Makefile.inc; no functional change.
* knf approximationtedu2014-05-0624-8619/+9136
|
* inspired by a cloudflare diff, cleanse old memory when expanding a bignum.tedu2014-05-051-17/+9
| | | | | | however, instead of trying to audit all the places where a secret bignum is used, apply the big hammer and clear all bignums when freed. ok deraadt miod
* Sort and group includes.jsing2014-05-052-10/+11
|
* Repair BIO_socket_nbio operation.jsing2014-05-051-2/+3
| | | | ok miod@
* Enable assembler code for DES. Assembler code for BN is commented out as itmiod2014-05-052-0/+54
| | | | | uses the `umul' and `udiv' instructions directly, which are not supported on v7 processors.
* Improve line wrapping for lines exceeding 80 chars.jim2014-05-0446-192/+284
| | | | ok jmc@
* Remove trailing whitespace.jim2014-05-0455-143/+143
| | | | fine jmc@
* i give up. reuse problem is unfixable. dlg says puppet crashes.tedu2014-05-041-8/+4
|
* Enable the assembler code for BN, which was lost quite some time ago.miod2014-05-042-0/+38
|
* Remove the !SSLASM conditional. Either there is an arch-specific Makefile.inc,miod2014-05-041-4/+2
| | | | | or the !SSLASM list of files applies. This allows for an arch-specific Makefile.inc to not specify SSLASM.
* Enable assembler code for AES, DES, GCM, SHA1, SHA256 and SHA512.miod2014-05-032-0/+92
| | | | | The sparcv9 BN code is not enabled, as it expects to run on a 32-bit userland and will need to be fixed for 64-bit userland first.
* Enable assembler code for AES, BN (Montgomery), GCM128, SHA1, SHA256 and SHA512.miod2014-05-032-0/+90
| | | | | Note that GCM128 Neon code is currently not built (and thus not tested), as the current toolchain does not support Neon instructions.
* Do not compile the neon probe code until __ARM_ARCH__ >= 7. Neon-specific codemiod2014-05-032-2/+14
| | | | will not get referenced if this condition is not met.
* typosmiod2014-05-031-2/+2
|
* Correctly enable Montgomery code.miod2014-05-032-2/+4
|
* Add checks for invalid base64 encoded data, specifically relating to thejsing2014-05-031-0/+12
| | | | | | | | | | | | | | | | | | | | | handling of padding. This fixes a crash that can be triggered by feeding base64 data followed by 64 or more padding characters, which results in a negative output length. This issue was reported by David Ramos, although the same bug has been sitting in the OpenSSL RT since 2011: https://rt.openssl.org/Ticket/Display.html?id=2608 Worse still, BIO_read seems to be completely unable to detect that the base64 input was invalid/corrupt - in particular, enabling BIO_FLAGS_BASE64_NO_NL results in a stream of zero value bytes rather than no input (possibly a good replacement for /dev/null...), which could result in nasty consequences. Prior to this fix some zero value bytes were also injected without this flag being enabled. The recently added base64 regress triggers and documents these issues (and also ensures that this change retains functional behaviour).
* It is definitly not the correct spelling.jsing2014-05-031-2/+2
|
* KNF.jsing2014-05-034-932/+910
|
* KNF.jsing2014-05-034-495/+514
|
* Enable assembler bits for BN (Montgomery), SHA1 and SHA256.miod2014-05-032-0/+88
| | | | Assembler bits for AES remain commented out as they run slower than the C code.