aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Don't make auto_rng require AES; using it is optional as long as HMAC_RNGlloyd2009-10-132-4/+6
| | | | is being used and not Randpool.
* Fix indentlloyd2009-10-131-1/+1
|
* Fix macro generation + checks in configure.py and bswap.h. Had the effectlloyd2009-09-171-2/+2
| | | | of preventing the bswap optimizations from being used. :(
* Change Skein-512 to match the tweaked 1.2 specification. Round constantslloyd2009-09-151-8/+8
| | | | in the Threefish cipher have changed to increase diffusion.
* Add a new option --no-autoload to configure.py. This will produce a minimallloyd2009-09-043-2/+3
| | | | | | | | | | | build (only libstate, utils, plus dependencies), which can be extended with use of --enable-modules. To add new modules to the set of always-loaded, use 'load_on always' in info.txt Also fix a few small build problems that popped up when doing a minimal build. Requested by a user.
* Remove redunant buffer create calls in XTSlloyd2009-08-281-4/+0
|
* In XTS, reset the buffer positions at the end of a message.lloyd2009-08-271-0/+4
|
* Thomas Moschny mentioned that OpenSSL 1.0 betas disable MD2 by default.lloyd2009-08-271-0/+10
| | | | Wrap the EVP_ calls in OPENSSL_NO_XXX checks to handle this.
* Add a new interface CryptoBox which provides basic password-based encryptionlloyd2009-08-133-0/+210
| | | | | | | | | | in a reasonable way. Low on features, which is rather intentional. There is a version code included in the format so further extensions are possible, if warranted. Inspired by the n-th mailing list request for such a class. Realized it was probably better that I design such code than random people who just want 'something that works'.
* Add 'Distributed under the terms of the Botan license' notices to the .Slloyd2009-08-118-41/+57
| | | | | files. Were missed by the automated script that added them to the cpp/h files, it appears.
* Use the default ABI instead of forcing n32 for mips32lloyd2009-08-103-33/+21
| | | | | | | | | | | | | | systems. This was something that for whatever reason that I have long since forogotten was a good idea on IRIX running MIPS circa a decade ago, but was reported to cause problems on the Debian builds. Add mipsel as an alias for the mips32 architecture for Debian. The mips32 submodel names were badly typoed and did not work correctly. Remove the leading mips32- and mips64- from MIPS submodel names.
* Add compiler settings for the Open64 (http://www.open64.net/) compiler,lloyd2009-08-031-0/+30
| | | | | | | based on the SGI Pro64 and Pathscale EKOpath compilers. Only tested on an x86-64 system running Linux (v4.2.1). Miscompiles a few of the block ciphers (segvs, didn't bother to diagnose further; recompile with -O1 to fix), other than that seems OK.
* Fix variable name in 32-bit bswap for VC++lloyd2009-08-031-1/+1
|
* Change how the pair is constructed for Sun Forte compatabilitylloyd2009-07-311-1/+1
|
* A typo in a macro check in bswap.h meant inline asm bswap was notlloyd2009-07-311-1/+1
| | | | used on Visual C++
* Add support for Dragonfly BSD (a fork of FreeBSD).lloyd2009-07-2517-1/+28
| | | | Contributed by Patrick Georgi
* Two changes to proc_walk:lloyd2009-07-251-2/+2
| | | | | | | | | | | | | | Don't read any file that is not world-readable. This avoids trouble when running as root, since on Linux various special files can cause odd interactions and/or blocking behavior when read (for instance /proc/kmsg). ssumption is that no such files are world-readable. This also avoids any issue of reading data that is potentially sensitive. Instead of reading the first 1 KB of each file, only read the first 128 bytes. This prevents large files (like /proc/config.gz or /proc/kallsyms) from swamping the input buffer; these inputs are pretty static and shouldn't count for much. Reducing to 128 bytes causes a poll to read about 400 different files, rather than ~30.
* Add an alias armv5tel for xscale, fixes autodetection for both Perl andlloyd2009-07-231-0/+1
| | | | | Python configure scripts. Previously Python version would give up, and the Perl one would guess i686 (!)
* Fix bigint_2word_mul - it tried to use MP_WORD_BITS which was not visiblelloyd2009-07-231-1/+1
| | | | | in this header, instead use the macro version BOTAN_MP_WORD_BITS. Only affected 64-bit SPARC builds.
* Replace 'XXX' and other such notes with FIXME for easy greppinglloyd2009-07-225-9/+10
|
* Disable STRIP_CODE_COMMENTS for Doxygen outputlloyd2009-07-211-1/+1
|
* Fix some unused variable nits pointed out by icc 10.1lloyd2009-07-214-9/+3
|
* One signature of PKCS8::PEM_encode was stray, and didn't have a coorespondinglloyd2009-07-211-5/+0
| | | | | | | | | implementation. This had been the case since at least 1.8.0. Remove it, since implementing this signature would require having the library create an AutoSeeded_RNG, which seems like it might be quite surprising to an unsuspecting user. Problem reported by M. Braun in ticket 44
* Move back to pk_codecs, propagate to pubkey-refactor donelloyd2009-07-214-0/+0
|
* Move from pk_codecs to pubkey to solve merge problemlloyd2009-07-214-0/+0
|
* Fix various auto generated dependencies that were wronglloyd2009-07-178-22/+6
|
* Correct some errors in the automatically generated dependencies.lloyd2009-07-168-7/+3
|
* Add missing info.txt fileslloyd2009-07-162-0/+24
|
* Correct source listings for moved fileslloyd2009-07-162-4/+0
|
* Move some files around to break up dependencies between directorieslloyd2009-07-1632-16/+48
|
* Add a script that reads the output of print_deps.py and rewriteslloyd2009-07-15102-328/+546
| | | | | | the info.txt files with the right module dependencies. Apply it across the codebase.
* Move the contents of pubkey/pubkey (which was kind of a catch-all tolloyd2009-07-1528-18/+6
| | | | | | | just toplevel pubkey). This was a convention I realized made sense sometime on when I was first doing the modularization changes. Move pkcs8.* and x509_key.* to pk_codecs
* Add a script that analyzes the source and prints module dependencies.lloyd2009-07-154-35/+39
| | | | | | | | | Useful for tracking where the big balls of mud are. Fix dependencies in gost_3411 (depends on the gost block cipher), and the TLS PRF (depends on HMAC). Also hide TLS_PRF::P_hash in an anonymous namespace instead of making it a private static function. I don't think this will affect binary compat, since it was statically linked.
* New module load_on directive 'never', to mark known-buggy codelloyd2009-07-152-2/+2
|
* Avoid a crash in Skein_512::add_data if it is called with a zero-lengthlloyd2009-07-141-0/+3
| | | | input vector.
* Fix nonce generation of Miller-Rabin testlloyd2009-07-121-1/+1
|
* Remove unnecessary includes of <iostream>; either delete entirely as notlloyd2009-07-116-6/+4
| | | | needed, or replace with <iosfwd> or <ostream> where necessary.
* Fix generating primes between 4 and 7 bits. The problem was that whenlloyd2009-07-111-17/+22
| | | | | | | | verify mode is not set, by default the Miller-Rabin bases are chosen from the small primes. Generally speaking these make good test bases. However if the prime to be generated is very small, we will choose a base which is out of range. If the i'th prime is too big to be a base, then just choose a random integer of the appropriate size instead.
* static_cast a double before returning it as a u32bit to avoid a warninglloyd2009-07-101-1/+1
| | | | with some older versions of gcc
* Devai Tamas pointed out on the mailing list that random_prime with bitslloyd2009-07-101-3/+3
| | | | | | set to 2, 3, or 4 was not returning a random prime due to reducing the rng output modulo 1 instead of mod 2 in choosing which prime of that size to return. Oops.
* Some modules using asm were not marked with 'load_on asm_ok'; fixlloyd2009-07-073-3/+3
|
* CPU-specific engines are now only loaded if something depends on them,lloyd2009-07-079-11/+9
| | | | | | | | | | | | and all CPU-specific implementations now depend on the appropriate engine module. The most common problem before with this was that the SSE2 module was built, but the sole SSE2 code (SHA-1) was not (for instance, on an i686). This would cause a compile warning about the unused request object. Preventing unused engines from being built will also (very slightly) speed up the lookup process on most system.
* Fix a subtle bug in the /dev/*random reader. The maximum ms wait time waslloyd2009-07-021-2/+3
| | | | | | | | set to 1000 ms (scaling based on amount of data requested). At 1000 ms exactly, we would form a timeval of 0 seconds and 1000000 usecs (ie, 1 second). Linux was fine with this, but FreeBSD 7.0's select was returning EINVAL. Fix things to properly create the timeval so that everyone is happy.
* Add some aliases for 586/686 to match against what platform produces on WinXPlloyd2009-07-021-0/+3
|
* propagate from branch 'net.randombit.botan' (head ↵lloyd2009-07-028-5/+25
|\ | | | | | | | | | | db0cdfa10718d2065e52b6753d1d671b71cb423d) to branch 'net.randombit.botan.python-configure' (head f106b1e4c7361a0fee6856defb01a9f96a2fd4eb)
| * Minor hackery to deal with win32 library dependencieslloyd2009-07-023-3/+3
| |
| * Macro defines are split up in the build.h template nowlloyd2009-07-021-1/+9
| |
| * Only load mulop_amd64 on request (currently broken code)lloyd2009-07-021-1/+1
| |
| * Add dependencies for stream ciphers on streamlloyd2009-07-023-0/+12
| |
* | Use just %{version} instead of combining sub-parts needlessly in nmake.inlloyd2009-07-021-5/+1
|/