Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | merge of '540ae85af1cc9245c325ef716fcc5c5b334251d0' | lloyd | 2010-05-19 | 20 | -83/+45 |
|\ | | | | | | | and 'ce3d40d9f2e90346189ca6dfed2a1f38804d5c10' | ||||
| * | Add a build.h macro BOTAN_GCC_VERSION which is set to major*100+minor*10+patch | lloyd | 2010-05-13 | 2 | -2/+10 |
| | | | | | | | | | | | | | | | | if we are compiling under GCC, or 0 otherwise. Use it in cpuid.cpp for use of GCC's cpuid.h header file. If we don't have a method of calling cpuid, print a warning. | ||||
| * | Remove the old (unused) <supports_shared> config block. It specified | lloyd | 2010-05-13 | 17 | -69/+7 |
| | | | | | | | | | | | | | | which architectures the OS supported shared libs on; in all cases it was either all or none. Replace with new config build_shared [yes|no], which defaults to yes but is set to no for MinGW and Cygwin since shared libs don't seem to be working well there. | ||||
| * | Partially protect OAEP decoding against a timing attack. Possibility | lloyd | 2010-05-12 | 1 | -12/+28 |
| | | | | | | | | | | | | | | | | of this pointed out by Falko Strenzke. The timing differences between different error conditions could lead to attacks even with the same error message. Instead use a (mostly) straightline implementation. However scanning for the delim byte is still timing/input dependenant, so this is not a 100% fix. | ||||
* | | Use memcpy to copy gethostbyname's result to the socket info struct | lloyd | 2010-05-10 | 1 | -0/+5 |
|/ | | | | | instead of doing cast+assign - GCC on SPARC rejects because the required alignment increases. | ||||
* | Avoid trying to use GCC's cpuid.h in versions where it doesn't exist | lloyd | 2010-05-06 | 1 | -1/+3 |
| | | | | | (before 4.3). Probably will need to write asm blocks for those older versions. | ||||
* | Modify the implementation of multiplication mod 65537 used in IDEA to | lloyd | 2010-04-30 | 1 | -10/+13 |
| | | | | | | | | | | be branch-free. This reduces performance noticably on my Core2 (from 32 MiB/s to a bit over 27 MiB), but so it goes. The IDEA implementation using SSE2 is already branch-free here, and runs at about 135 MiB/s on my machine. Also add more IDEA tests, generated by OpenSSL | ||||
* | HMAC_RNG handling changes - split up reseed() and add_entropy() | lloyd | 2010-04-27 | 2 | -35/+31 |
| | | | | | | | | entirely. add_entropy() just adds the input into the extractor; if more than 1024 bytes of input have been added by the user since the last reseed, then force a reseed. Until that point, the data simply remains accumulating in the extractor, which is fast and helps ensure a large block of data is input when we finally do reseed. | ||||
* | Remove add_entropy_vec. Much cleaner way of doing this: add the entire | lloyd | 2010-04-27 | 3 | -7/+4 |
| | | | | contents of all SSL/TLS handshake messages into the PRNG input. | ||||
* | mutex.h is internal - had been picking up system installed version | lloyd | 2010-04-23 | 1 | -1/+1 |
| | |||||
* | Add the other parties Random value to the local PRNG state | lloyd | 2010-04-23 | 2 | -0/+4 |
| | |||||
* | Return SecureVector vals by const ref | lloyd | 2010-04-23 | 1 | -4/+4 |
| | |||||
* | Add add_entropy_vec which calls add_entropy on the passed vector. Has | lloyd | 2010-04-23 | 1 | -0/+3 |
| | | | | | to be named differently from add_entropy to deal with odd C++ overloading/virtual rules. | ||||
* | Check to make sure the user didn't provide two of the same has for | lloyd | 2010-04-23 | 1 | -0/+3 |
| | | | | | | Comb4P. If you do this, the first N bytes are all zero, which could expose some problems, especially if the caller truncates or is relying on Comb4P acting like a random function. | ||||
* | Remove some C-style casts | lloyd | 2010-04-23 | 4 | -6/+6 |
| | |||||
* | Comb4P: hashes must be the same length | lloyd | 2010-04-22 | 1 | -2/+0 |
| | |||||
* | Fix EMSA_Raw in the case where the original input had leading 0 bytes. | lloyd | 2010-04-21 | 1 | -1/+19 |
| | |||||
* | Extension codes for ECC negotiation | lloyd | 2010-04-21 | 1 | -0/+3 |
| | |||||
* | If we couldn't agree on a suite, fail immediately | lloyd | 2010-04-20 | 1 | -0/+5 |
| | |||||
* | Expose public_value() in ECDH public key | lloyd | 2010-04-20 | 1 | -3/+10 |
| | |||||
* | Compile fix | lloyd | 2010-04-20 | 1 | -1/+1 |
| | |||||
* | Expose function breaking down ciphersuite to algo values | lloyd | 2010-04-19 | 2 | -3/+5 |
| | |||||
* | In the string constructor of EC_Domain_Params, check if the PEM decoding | lloyd | 2010-04-19 | 2 | -6/+16 |
| | | | | failed. If so, assume the input string was an OID and try that. | ||||
* | Add codes for SHA-1 based ECC suites (RFC 4492). | lloyd | 2010-04-19 | 2 | -25/+81 |
| | |||||
* | Add support for SEED ciphersuites. Tested against OpenSSL 0.9.8n | lloyd | 2010-04-17 | 3 | -0/+24 |
| | |||||
* | Add support for reading SSLv2 client hellos | lloyd | 2010-04-17 | 5 | -8/+86 |
| | |||||
* | Clean up ciphersuite handling | lloyd | 2010-04-17 | 7 | -91/+273 |
| | |||||
* | Add support for TLS 1.2 PRF | lloyd | 2010-04-17 | 2 | -22/+63 |
| | |||||
* | Add Comb4P hash combiner, as described in Anja Lehmann's thesis. | lloyd | 2010-04-17 | 4 | -0/+167 |
| | |||||
* | If the CBC padding is incorrect, then assume the pad size is zero and | lloyd | 2010-04-09 | 1 | -4/+10 |
| | | | | | | | | carry on with the procedure. This prevents a timing attack where an attacker could distinguish bad padding vs MAC failure. This timing channel used in the paper "Password Interception in a SSL/TLS Channel" by Vaudenay et. al. to attack SSL in certain fairly realistic use scenarios. | ||||
* | Present requested hostname (SNI extn) to TLS_Server user | lloyd | 2010-03-30 | 2 | -0/+6 |
| | |||||
* | Remove bad filename | lloyd | 2010-03-30 | 1 | -1/+0 |
| | |||||
* | Instead of just discarding the extension size, confirm that the | lloyd | 2010-03-30 | 1 | -1/+4 |
| | | | | | claimed length matches the length of the data left in the client hello packet. | ||||
* | Support TLS Extensions, specifically SNI | lloyd | 2010-03-30 | 1 | -35/+29 |
| | |||||
* | Constify assert_at_least. Add some helpers | lloyd | 2010-03-30 | 1 | -1/+17 |
| | |||||
* | Add some magic numbers for TLS extension codes | lloyd | 2010-03-30 | 1 | -0/+11 |
| | |||||
* | Add a class that knows how to decode a (very small subset of) TLS data | lloyd | 2010-03-30 | 6 | -61/+249 |
| | | | | | | formatting. Particularly useful in the ClientHello, but generally helps centralize the offset handling, which was particularly unreadable in the hello messages. | ||||
* | Don't fail simply because the client sent a version code that we don't | lloyd | 2010-03-30 | 1 | -6/+0 |
| | | | | | | | | know about; just continue and the server will choose either whatever the client supports, if it knows about it, or else the latest version it supports. So for instance if a client attempts to negotiate TLS 1.2, we'll not know about that version and return a ServerHello for 1.1 instead. | ||||
* | Fix server handshake. | lloyd | 2010-03-30 | 2 | -15/+14 |
| | | | | Support TLS 1.1 servers | ||||
* | Fix DSA TLS servers | lloyd | 2010-03-30 | 1 | -1/+1 |
| | |||||
* | Add support for TLS v1.1's per-record random IV. Tested against GnuTLS server. | lloyd | 2010-03-30 | 7 | -12/+46 |
| | |||||
* | Rename pad_amount to block_size, more accurate/descriptive | lloyd | 2010-03-30 | 3 | -12/+20 |
| | |||||
* | Also remove compression bits from record writer | lloyd | 2010-03-25 | 1 | -14/+4 |
| | |||||
* | Remove single byte versions of read and write - caused problems with overloads | lloyd | 2010-03-25 | 1 | -3/+0 |
| | | | | for bind/function | ||||
* | Remove the bits for supporting compression - it was never actually | lloyd | 2010-03-25 | 2 | -19/+4 |
| | | | | | supported, and compression can come later on when the overall architecture is more solid/stable. | ||||
* | Use size_t for lengths in Socket interface | lloyd | 2010-03-25 | 3 | -9/+9 |
| | |||||
* | Allow adding engines dynamically | lloyd | 2010-03-24 | 3 | -17/+20 |
| | |||||
* | Remove printfs | lloyd | 2010-03-23 | 1 | -17/+0 |
| | |||||
* | Make Record_Reader event driven. Callers (eg TLS_Client and | lloyd | 2010-03-23 | 6 | -45/+132 |
| | | | | | TLS_Server) are not; they instead loop blocking on the socket. Will move the event-driven behavior upwards as I go. | ||||
* | Delete global RNG and the mutex in ~Library_State | lloyd | 2010-03-23 | 1 | -3/+5 |
| |