summaryrefslogtreecommitdiff
path: root/src/ext
AgeCommit message (Collapse)Author
2016-05-03Fix keccak-tiny portability on `exotic` platforms.Yawning Angel
* SHA-3/SHAKE use little endian for certain things, so byteswap as needed. * The code was written under the assumption that unaligned access to quadwords is allowed, which isn't true particularly on non-Intel.
2016-04-05Don't call the system toupper or tolower.Nick Mathewson
Yes, we could cast to unsigned char first, but it's probably safest to just use our own (in test_util), or remove bad-idea features that we don't use (in readpassphrase.c). Fixes 18728.
2016-02-24Silence clang-scan warnings in ed25519_donnateor (Tim Wilson-Brown)
2016-02-22Update to trunnel 1.4.4 to fix 18373Nick Mathewson
2016-02-16Merge branch 'bug17852_revised'Nick Mathewson
2015-12-20Repair "make distcheck".Nick Mathewson
2015-12-19Use tor specific headers and memwipe() instead of memset_s(), and build.Yawning Angel
This is where things get tor specific. It's just replacing stdint.h and memset_s with the tor compat code so going back is trivial...
2015-12-19Expose an incremental API in addition to the one-shot routines.Yawning Angel
The digest routines use init/update/sum, where sum will automatically copy the internal state to support calculating running digests. The XOF routines use init/absorb/squeeze, which behave exactly as stated on the tin.
2015-12-18Clean import of keccak-tiny (https://github.com/coruus/keccak-tiny)Yawning Angel
As of commit: 64b6647514212b76ae7bca0dea9b7b197d1d8186
2015-12-15Replace usage of INLINE with inlinecypherpunks
This patch was generated using; sed -i -e "s/\bINLINE\b/inline/" src/*/*.[ch] src/*/*/*.[ch]
2015-12-10Merge remote-tracking branch 'public/feature17694_strongest_027'Nick Mathewson
2015-12-08Always hash crypto_strongest_rand() along with some prngNick Mathewson
(before using it for anything besides feeding the PRNG) Part of #17694
2015-12-01ext/eventdns.c multiple replacements of snprintf() with tor_snprintf() which ↵Jeremy
always null terminates and returns -1 if result is truncated.
2015-11-05Fix SipHash-2-4 performance for non multiple of 8 buffers.Yawning Angel
Code cribbed from Andrew Moon's Public Domain SipHash-2-4 implementation (which IMO is also cleaner). Fixes bug 17544.
2015-09-16Don't enable SSE2 on X86-64.Sebastian Hahn
This removes a comment presumably introduced for debugging that was left in accidentally. Bug not in any released version of Tor. Fixes bug 17092.
2015-09-04Fix an alignment issue in our extensions to ed25519_donnaNick Mathewson
Apparently this only happens with clang (or with some particular clang versions), and only on i386. Fixes 16970; bug not in any released Tor. Found by Teor; fix from Yawning.
2015-09-01Add a comment about CID 1311630 and why we won't worry about it.Nick Mathewson
2015-08-18Update to latest trunnelNick Mathewson
2015-08-17Fixup: Force enable SSE2 before undefining ALIGN if SSE2 is disabled.Yawning Angel
This should fix the x86 build, since variables that require 16 byte alignment will now actually be 16 byte aligned.
2015-08-17Enable ed25519-donna's SSE2 code when possible for 32 bit x86.Yawning Angel
This probably requires the user to manually set CFLAGS, but should result in a net gain on 32 bit x86. Enabling SSE2 support would be possible on x86_64, but will result in slower performance. Implements feature #16535.
2015-08-12Use ed25519-donna's batch verification support when applicable.Yawning Angel
The code was always in our Ed25519 wrappers, so enable it when using the ed25519-donna backend, and deal with the mocking related crypto_rand silliness. Implements feature 16533.
2015-07-27Fix ed25519-donna with SSP on non-x86.Yawning Angel
The only reason 16 byte alignment is required is for SSE2 load and store operations, so only align datastructures to 16 byte boundaries when building with SSE2 support. This fixes builds with GCC SSP on platforms that don't have special case code to do dynamic stack re-alignment (everything not x86/x86_64). Fixes bug #16666.
2015-07-23Re-run trunnel to capture change for msvc.Nick Mathewson
2015-07-12Try to convince coverity not to worry about this loop eitherNick Mathewson
2015-07-12Try to convince coverity not to worryh about this loopNick Mathewson
2015-07-12Tell coverity to tolerate ed25519_verifyNick Mathewson
2015-07-12Disable -Wstack-protector diagnostics in curve25519-donna-helpers.hNick Mathewson
This was causing a false positive on our arm builders.
2015-07-09Repair make dist-checkNick Mathewson
2015-07-06Add Curve25519->Ed25519 support to ed25519-donna (Not yet used).Yawning Angel
This needs to be done to allow for the possibility of removing the ref10 code at a later date, though it is not performance critical. When integrated by kludging it into tor, it passes unit tests, and is twice as fast.
2015-07-06Add blinding support to ed25519-donna (Not yet used).Yawning Angel
Integrating it the "wrong" way into common/crypto_ed25519.c passes `make check`, and there appear to be some known answer tests for this, so I assume I got it right. Blinding a public key goes from 139.10 usec to 70.78 usec using ed25519-donna (NB: Turboboost/phase of moon), though the code isn't critical path, so supporting it is mostly done for completeness.
2015-07-06Integrate ed25519-donna (Not yet used).Yawning Angel
Integrate ed25519-donna into the build process, and provide an interface that matches the `ref10` code. Apart from the blinding and Curve25519 key conversion, this functions as a drop-in replacement for ref10 (verified by modifying crypto_ed25519.c). Tests pass, and the benchmarks claim it is quite a bit faster, however actually using the code requires additional integration work.
2015-07-06Import Andrew Moon's ed25519-donna.Yawning Angel
This is a clean copy of ed25519-donna as of commit: 8757bd4cd209cb032853ece0ce413f122eef212c https://github.com/floodyberry/ed25519-donna
2015-06-27Whoops; fix linux build againNick Mathewson
2015-06-27Fix some compilation issues.Nick Mathewson
2015-06-17Add the openssh 6.8p1 readpassphrase implementationNick Mathewson
This way glibc users don't have to fall back to getpass. Windows users are still out of luck
2015-06-17Add readpassphrase.c in src/extNick Mathewson
This is taken verbatim from openssh 6.8p1, which appears to have lightly tweaked it from the openbsd version.
2015-05-28Update trunnel code.Nick Mathewson
This gets the minor change in trunnel 1.4.1, which should avoid deadcode warnings from Coverity.
2015-03-23Merge remote-tracking branch 'origin/maint-0.2.6'Nick Mathewson
2015-03-23Merge remote-tracking branch 'public/bug15436_025' into maint-0.2.6Nick Mathewson
2015-03-23Fix unaligned access in SipHash-2-4.Yawning Angel
The compiler is allowed to assume that a "uint64_t *" is aligned correctly, and will inline a version of memcpy that acts as such. Use "uint8_t *", so the compiler does the right thing.
2015-03-14Remove relative paths to header files.cypherpunks
The paths are already in the directory search path of the compiler therefore no need to include them in the source code.
2015-02-17Have tinytest tolerate systems where char has > 8 bytesNick Mathewson
CID 1064418
2015-01-29Use HT_BUCKET_NUM_ in more placesNick Mathewson
(patch from sysrqb)
2015-01-29Merge remote-tracking branch 'public/ticket11737'Nick Mathewson
2015-01-02Bump copyright dates to 2015, in case someday this matters.Nick Mathewson
2014-11-12Replace operators used as macro arguments with OP_XX macrosNick Mathewson
Part of fix for 13172
2014-11-06Add correctness assertions for hashtable iterationNick Mathewson
This is meant to prevent memory corruption bugs from doing unspeakable infinite-loop-like things to the hashtables. Addresses ticket 11737. We should disable these if they turn out to be expensive.
2014-10-31Re-run latest git trunnel to get fix from teor for #13577Nick Mathewson
2014-10-30Silence spurious clang warningsteor
Silence clang warnings under --enable-expensive-hardening, including: + implicit truncation of 64 bit values to 32 bit; + const char assignment to self; + tautological compare; and + additional parentheses around equality tests. (gcc uses these to silence assignment, so clang warns when they're present in an equality test. But we need to use extra parentheses in macros to isolate them from other code).
2014-10-28Add another year to our copyright dates.Nick Mathewson
Because in 95 years, we or our successors will surely care about enforcing the BSD license terms on this code. Right?