aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add BOTAN_UNUSED in creator functionsJack Lloyd2017-01-275-0/+15
| | | | | | If all (say) stream ciphers are disabled, avoid unused arg warning. [ci skip]
* Merge GH #857 Add --with-external-libdir to configure.pyJack Lloyd2017-01-272-2/+3
|\
| * add "--with-external-libdir" to configure.pyDaniel Neus2017-01-262-2/+3
| | | | | | | | | | | | Fixes #767 and #19 Main purpose is to support external libs like OpenSSL on Windows.
* | Merge GH #858 Fix private key constructor API commentsJack Lloyd2017-01-279-11/+12
|\ \
| * | Fix private key ctors API docs [ci skip]René Korthaus2017-01-279-11/+12
| |/
* / Add more Noekeon testsJack Lloyd2017-01-271-8/+4114
|/ | | | | | Values take from the NESSIE submission package. [ci skip]
* Fix PKCS11 tests when ECDH or ECDSA was disabledJack Lloyd2017-01-241-10/+11
| | | | It assumed if ECC was included then ECDH and ECDSA was also
* Fix various SunCC and Solaris warnings and build problems.Jack Lloyd2017-01-2414-43/+54
| | | | | | | | | | | | | | | | | | | | | | | | Based on build output sent by @noloader. If RLIMIT_MEMLOCK is not defined, assume regular user is not able to call mlock. This probably also affected Clang/GCC on Solaris. Work around resolution issue in SIMD_4x32 where it finds ambiguity between arg taking uint32_t and __m128i. This is probably some artifact of how SunCC represents vector types, and seems highly bogus in general but is easy to work around here. Change constructor taking a single value to instead be `SIMD_4x32::splat` function. The SIMD class is internal, so no API implications. Fix various warnings about lambda functions that were missing return types and which were not a single return statement. AIUI C++11 doesn't guarantee that lambda return type will be deduced in that situation, though in practice every compiler including SunCC seems to handle it. Disable AVX2 usage, since SunCC's intrinsics seem to be broken - its _mm_loadu_si256 takes non-const pointer. Rename a few variables in the tests to avoid shadowed var warnings.
* Complete the rename of Python wrapperJack Lloyd2017-01-243-4/+4
| | | | Where referenced in CI scripts, docs and such
* Rename Python module to botan2Jack Lloyd2017-01-241-0/+0
| | | | | | | Makes it easier to support side by side installs. And for the programmer it is easier if `import botan2` can always be used to refer to a specific version. GH #847
* Cleanups in the install scriptJack Lloyd2017-01-241-9/+16
| | | | Install anything found in the python dir instead of assuming botan.py
* Remove obsolete workaround for bug in some old Sun Studio versionJack Lloyd2017-01-241-5/+0
| | | | [ci skip]
* If PowerPC clock returns 0, skip it.Jack Lloyd2017-01-231-2/+10
| | | | | | Doesn't seem to be a problem with the asm, code works fine on physical hardware (POWER8) but on qemu (on CI) both instructions return zero and the test fails.
* Skip instruction probe test where fn not implementedJack Lloyd2017-01-231-0/+5
|
* Fix configure.py error when compiler doesn't support desired ISA flagsJack Lloyd2017-01-222-1/+15
| | | | | | | | | | | | | Seen with rarely tested compilers (Sun Studio, Intel, ...) that we are missing info for. Previously this led to a hard error which is pointless. Instead just disable the relevant module and warn the user that something was disabled, if they want to go look into why. Remove bogus clmul entry in x86_64 - actually we lump both AES and CLMUL flags under the same ISA ("aesni") since all known CPUs support either both or neither. Caught by new configure warning. Add Sun Studio ISA flags from GH #846
* Avoid blocking tests from running if no RNG enabledJack Lloyd2017-01-222-6/+1
| | | | Instead just let the individual tests that need the RNG fail.
* Add a test for trusted_hashes on path validation resultJack Lloyd2017-01-221-0/+9
|
* Add a test of calendar_point::to_stringJack Lloyd2017-01-221-0/+8
|
* Add CPUID::to_stringJack Lloyd2017-01-223-39/+68
| | | | | | | | | Deprecates CPUID::print, mainly to avoid use of ostream in utils. Main reasoning is some platforms do not have streams at all. If all uses of streams are for operator<< and operator>> overloads, these can be guarded by a future BOTAN_HAS_CPP_STREAMS system-feature flag. But when ostreams are required to use the API (as here), that is not possible.
* Add basic test for OS utilsJack Lloyd2017-01-222-4/+159
| | | | | Mainly driven by missing test for OS::run_cpu_instruction_probe. Currently only works on x86 and ARM. Tested on x86-64 native and aarch64 qemu.
* Remove unused iostream includeJack Lloyd2017-01-201-1/+0
| | | | [ci skip]
* Avoid requiring AT_DCACHEBSIZE (data cache size) getauxvalJack Lloyd2017-01-191-0/+3
| | | | | Missing on Android it appears, or at least on Kullo CI NDK. Not essential by any means.
* Merge GH #843 Refactor CPUID impl, add ARM feature detectionJack Lloyd2017-01-186-159/+463
|\
| * Fix for PowerPCJack Lloyd2017-01-171-2/+2
| |
| * Fixes for 32-bit ARMJack Lloyd2017-01-171-7/+38
| |
| * Refactor CPUID implementation, add ARM supportJack Lloyd2017-01-174-146/+324
| | | | | | | | | | | | Tested for ARM only under qemu-aarch64, need to check hardware before merging. Changes x86 CPUID bitmasks which does break ABI for 2.1, no API implications.
| * Fixes for OS X buildJack Lloyd2017-01-172-1/+2
| | | | | | | | | | | | os_utils.h was missing an include, only noticed on OS X sigemptyset is a macro on OS X so cannot be called as ::sigemptyset
| * Add OS::run_cpu_instruction_probeJack Lloyd2017-01-152-13/+107
| | | | | | | | | | | | Needed for ARM detection, also probably useful on PowerPC for AltiVec Works fine for me on Linux x86-64 testing with ud2 instruction.
* | Mark GMAC tests as being sensitive to clmul and AES-NI CPUID bitsJack Lloyd2017-01-171-0/+2
|/
* Run pylint on botan.py in TravisJack Lloyd2017-01-121-2/+7
|
* Fix some (not all) pylint warnings in botan.pyJack Lloyd2017-01-121-54/+52
|
* Fix pyflakes warnings in Python wrapper codeJack Lloyd2017-01-121-16/+21
|
* Remove --with-pkcs11 option from CI scripts, docsRené Korthaus2017-01-118-11/+8
|
* Enable PKCS11 module by default and remove --with-pkcs11 optionRené Korthaus2017-01-111-2/+0
| | | | | | The pkcs11 module once required the pkcs11 headers as an external dependency, but the headers were included a while ago. Still, the module was set to be load_on vendor. Instead, we can enable the module by default now.
* Merge GH #833 Remove minor number from include dirJack Lloyd2017-01-092-2/+2
|\
| * Remove minor number from header include dirJack Lloyd2017-01-092-2/+2
| | | | | | | | | | | | Already pkg-config had this, was missed in GH #802 See also GH #830
* | Avoid creating+deleting test DB for certstoreJack Lloyd2017-01-091-6/+3
| | | | | | | | Just use in-memory sqlite DB instead
* | Avoid deprecation warning in TLS testsJack Lloyd2017-01-091-0/+3
|/
* Merge GH #827 Add pylint to build, fix pylint errors in configureJack Lloyd2017-01-093-0/+24
|\
| * Add initial pylint CI setupSimon Warta2017-01-093-0/+24
| |
* | Merge GH #831 Avoid module index in LaTeX outputJack Lloyd2017-01-091-1/+1
|\ \
| * | Don't create module index for latex outputRené Korthaus2017-01-091-1/+1
| |/
* / Update BSI module policyDaniel Neus2017-01-081-0/+4
|/
* Merge GH #823 Switch to readthedocs Sphinx themeJack Lloyd2017-01-072-45/+11
|\ | | | | | | [ci skip]
| * Switch to readthedocs Sphinx themeJack Lloyd2017-01-072-45/+11
| | | | | | | | | | | | | | Move some text and change some headers to look better with how rtd theme formats the table of contents. GH #822
* | Cygwin has readdir, so uses it.Jack Lloyd2017-01-071-0/+1
|/ | | | | | | | Fixes a test problem on Cygwin. GH #824 [ci skip]
* Fix another libname issueJack Lloyd2017-01-061-1/+1
| | | | [ci skip]
* Fix library name in fuzzer makefileJack Lloyd2017-01-061-5/+6
| | | | [ci skip]
* Work around an apparent problem with GCC on AIXJack Lloyd2017-01-061-4/+5
| | | | | | | | When compiled by GCC 4.8 on AIX 7.1 ppc32, the TLS policy tests fail because the exception thrown from the TLS policy check ends up not being caught at runtime by the test if the catch statement is for `std::exception&` or even `Botan::Exception&` but only if the actually thrown type `Botan::TLS::TLS_Exception` is caught.
* Update features for AIXJack Lloyd2017-01-061-0/+5
| | | | | | Based on compiling on AIX 7.1 [ci skip]