diff options
author | Jack Lloyd <[email protected]> | 2015-07-03 10:43:02 -0400 |
---|---|---|
committer | Jack Lloyd <[email protected]> | 2015-07-03 10:43:02 -0400 |
commit | ae94396329f583d0999d4086936811f68bddd59b (patch) | |
tree | 3aaaa95dc4bea25564e9c11b7a70a1ebb2f4e7b2 /doc | |
parent | 56d07f092b170bfdf4972414b0739664c8d6294a (diff) |
Simplify the website and documentation layout.
Merge the website index, download page, algo page into the readme file
so all the important information is in one place. The readme.rst is now
also used as the website landing page.
Remove the website target on the makefile, replaced by website.sh,
since I'm the only one who ever needs to run this.
Fix various ReST formatting bugs in news.rst and the manual
Remove the old build_log which hasn't been touched in years and
refers entirely to compilers which we don't support anymore.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/dev/build_log.rst | 252 | ||||
-rw-r--r-- | doc/manual/ffi.rst | 23 | ||||
-rw-r--r-- | doc/manual/index.rst | 30 | ||||
-rw-r--r-- | doc/manual/python.rst | 2 | ||||
-rw-r--r-- | doc/news.rst | 184 | ||||
-rw-r--r-- | doc/pgpkey.txt | 37 | ||||
-rw-r--r-- | doc/release_process.rst (renamed from doc/dev/release_process.rst) | 32 | ||||
-rw-r--r-- | doc/roadmap.rst (renamed from doc/dev/roadmap.rst) | 19 | ||||
-rw-r--r-- | doc/todo.rst (renamed from doc/dev/todo.rst) | 6 | ||||
-rw-r--r-- | doc/website/algos.rst | 104 | ||||
-rw-r--r-- | doc/website/contents.rst | 15 | ||||
-rw-r--r-- | doc/website/download.rst | 51 | ||||
-rw-r--r-- | doc/website/index.rst | 23 | ||||
-rw-r--r-- | doc/website/license.rst | 8 | ||||
-rw-r--r-- | doc/website/manual.rst | 11 | ||||
-rw-r--r-- | doc/website/pgpkey.rst | 43 |
16 files changed, 144 insertions, 696 deletions
diff --git a/doc/dev/build_log.rst b/doc/dev/build_log.rst deleted file mode 100644 index dd2fd7180..000000000 --- a/doc/dev/build_log.rst +++ /dev/null @@ -1,252 +0,0 @@ - -Build Log -======================================== - -To report build results (successful or not), email the `development -list <http://lists.randombit.net/mailman/listinfo/botan-devel/>`_ your -results and relevant system information (OS versions, compiler name -and version, CPU architecture and other hardware information, -configuration settings). - -Debian reports the build results on a number of platforms for both -`1.8 <https://buildd.debian.org/status/logs.php?pkg=botan1.8>`_ and -`1.10 <https://buildd.debian.org/status/logs.php?pkg=botan1.10>`_. - -=========== ======= =================== ======================== ============================ ======== -Date Version OS CPU Compiler Results -=========== ======= =================== ======================== ============================ ======== -2012-07-09 1.11.0 Gentoo Intel Core i7-860 GCC 4.7.0 OK -2012-07-09 1.11.0 Gentoo Intel Core i7-860 Clang 3.1 OK - -2012-09-17 1.10.3 Gentoo Intel Core i7-860 Intel C++ 11.1 OK - -2011-07-24 1.10.3 Ubuntu 9.04 ARM926EJ-S GCC 4.3.3 OK - -2011-07-13 1.10.3 QNX 6.4.1 x86 GCC 4.3.3 OK -2012-07-11 1.10.3 Windows 7 x64 x86 Visual C++ 16.00.30319.01 OK -2012-07-11 1.10.3 Windows 7 x64 x86-64 Visual C++ 16.00.30319.01 OK - -2012-07-09 1.10.2 Gentoo Intel Core i7-860 GCC 4.7.0 OK -2012-07-09 1.10.2 Gentoo Intel Core i7-860 GCC 4.6.3 OK -2012-07-09 1.10.2 Gentoo Intel Core i7-860 GCC 4.5.3 OK -2012-07-09 1.10.2 Gentoo Intel Core i7-860 GCC 4.4.7 OK -2012-07-09 1.10.2 Gentoo Intel Core i7-860 GCC 4.3.6 OK -2012-07-09 1.10.2 Gentoo Intel Core i7-860 GCC 4.1.2 OK -2012-07-09 1.10.2 Gentoo Intel Core i7-860 GCC 3.4.6 OK -2012-07-09 1.10.2 Gentoo Intel Core i7-860 Clang 3.1 OK -2012-07-09 1.10.2 Gentoo Intel Core i7-860 Intel C++ 12.1 OK - -2011-05-09 1.9.17 Gentoo 10.0 PowerPC G5 GCC 4.4.5 OK -2011-05-02 1.9.17 FreeBSD 8.2 x86-64 GCC 4.2.1 OK -2011-04-25 1.9.16 Gentoo 10.0 Intel Core i7-860 Clang 2.9 Miscompiles SSE2 IDEA -2011-04-23 1.9.16 Gentoo 10.0 Intel Core i7-860 Sun C++ 5.10 OK -2011-04-22 1.9.16 Gentoo 10.0 Intel Core i7-860 Intel C++ 11.1 OK -2011-04-15 1.9.16 Haiku R1-alpha2 x86 GCC 4.3.3 OK -2011-04-15 1.9.16 Haiku R1-alpha2 x86 GCC 2.95.3 Can't compile -2011-04-15 1.9.16 Windows 7 x86-64 Visual C++ 16.00.30319.01 OK -2011-04-15 1.9.16 QNX 6.4.1 i386 GCC 4.3.3 OK -2011-03-29 1.9.15 Gentoo 10.0 Intel Core i5-520M GCC 4.5.2 OK -2011-03-21 1.9.15 Ark Linux x86-64 GCC 4.6.0-pre OK -2011-03-21 1.9.15 Ark Linux x86-32 GCC 4.6.0-pre OK -2011-03-21 1.9.15 Ark Linux ARM GCC 4.6.0-pre OK -2011-03-18 1.9.14 Debian 6.0 Intel Atom D510 GCC 4.4.5 OK -2011-03-01 1.9.14 OpenBSD 4.6 UltraSPARC IIIi GCC 4.2.4 OK -2011-03-01 1.9.14 OpenBSD 4.7 i386 GCC 4.2.4 OK -2011-03-01 1.9.14 Debian 6.0 Intel Madison IA-64 GCC 4.4.5 OK -2011-03-01 1.9.14 Ubuntu 9.10 ARM Cortex-A8 GCC 4.4.1 OK -2011-03-01 1.9.14 Debian 5.0 PowerPC G5/970 GCC 4.3.2 OK -2011-03-01 1.9.14 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK (32/64) -2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 Open64 4.2.1 OK -2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 Sun C++ 5.10 OK -2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 Intel C++ 11.1 OK -2011-03-01 1.9.14 Gentoo 10.0 Intel Core i7-860 GCC 4.5.2 OK -2011-02-14 1.9.13 NetBSD 5.1 Intel Xeon P4 GNU GCC 4.1.3 OK -2011-01-14 1.9.12 FreeBSD 8.1 x86-64 Clang 2.9 OK -2010-11-29 1.9.11 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK (32/64) -2010-11-29 1.9.11 Gentoo 10.0 Intel Core i7-860 GNU GCC 4.1.2, 4.4.5, 4.5.1 OK -2010-11-29 1.9.11 Debian 5.0 PowerPC G5/970 GCC 4.3.2 OK -2010-11-29 1.9.11 Gentoo 10.0 Intel Core i7-860 Intel C++ 11.1 OK -2010-11-29 1.9.11 Gentoo 10.0 Intel Core i7-860 Clang 2.8 Miscompiles SSE2 IDEA -2010-11-29 1.9.11 Debian 5.0 (32 bit) UltraSPARC T1 Niagra GCC 4.3.2 OK -2010-09-07 1.9.11 Gentoo 10.0 Intel Core i7-860 Sun C++ 5.10 OK -2010-08-12 1.9.10 Debian 5.0 Xeon X5450 Harpertown GCC 4.3.2 OK -2010-08-12 1.9.10 Ubuntu 9.04 Intel Atom N270 GCC 4.3.3 OK -2010-08-12 1.9.10 Debian 5.0 Intel Prescott GCC 4.3.2 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 3.4.6 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.1.2 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.3.5 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.4.4 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 GCC 4.5.1 OK -2010-08-08 1.9.10 Gentoo 10.0 Intel Core i7-860 Clang SVN Miscompiles Turing -2010-07-27 1.9.9 Debian 5.0 AMD Magny-Cours GCC 4.3.2, 4.5.0 OK -2010-06-16 1.9.8 Gentoo 10.0 Intel Core2 Q6600 Intel C++ 11.1 OK -2010-06-16 1.9.8 Debian 5.0 (32 bit) UltraSPARC T1 Niagra GCC 4.3.2 OK -2010-06-16 1.9.8 Debian 5.0 Intel Madison IA-64 GCC 4.3.2 OK -2010-06-16 1.9.8 Gentoo 10.0 IBM POWER5+ GCC 4.1.2, 4.2.4, 4.3.2 OK -2010-06-16 1.9.8 OpenBSD 4.6 UltraSPARC IIIi GCC 3.3.5, 4.2.4 OK -2010-06-16 1.9.8 FreeBSD 8.0 AMD Opteron 252 GCC 4.2.1 OK -2010-06-16 1.9.8 gNewSense MIPS Loongson-2 (64) GCC 4.3.2 OK -2010-06-16 1.9.8 Ubuntu 9.10 ARM Cortex-A8 GCC 4.4.1 OK -2010-06-11 1.9.8 Gentoo 10.0 Intel Core2 Q6600 GCC 3.4.6, 4.1.2 OK -2010-06-11 1.9.8 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK (32 and 64 bit) -2010-06-11 1.9.8 Gentoo 10.0 Intel Core i5-520M GCC 4.5.0 OK -2010-06-01 1.9.8 OpenBSD 4.7 i386 GCC 3.3.5 OK -2010-05-03 1.9.7 Windows 7 x64 Intel Core i5-520M Visual C++ 15.00.30729.01 OK -2010-04-27 1.9.7 Gentoo 10.0 PPC 970FX (G5) GCC 4.3.4 OK -2010-04-27 1.9.7 Gentoo 10.0 Intel Core2 Q6600 GCC 4.4.3, 4.5.0 OK -2010-03-18 1.9.4 Gentoo 10.0 Intel Core2 Q6600 GCC 4.4.3 OK -2010-03-18 1.9.4 Debian 5.0 UltraSPARC II (64) GCC 4.3.2 OK -2010-03-18 1.9.4 Gentoo 10.0 PowerPC G5 GCC 4.3.4 OK -2010-03-18 1.9.4 Gentoo 10.0 IBM POWER5+ GCC 4.3.2 OK -2010-03-15 1.9.4 Windows XP x86 Visual C++ 15.00.30729.01 OK -2010-03-10 1.9.4 FreeBSD 8.0 AMD Opteron 252 GCC 4.2.1 OK, but missing includes -2009-12-29 1.9.4 Debian 4.0 PowerPC G4 7455 GCC 4.1.2 OK -2009-12-23 1.9.4 Debian 5.0 Xeon X5450 Harpertown GCC 4.3.2 OK -2009-11-13 1.9.3 Debian 5.0 UltraSPARC II GCC 4.3.2 OK -2009-11-10 1.9.2 Debian 4.0 PowerPC G4 GCC 4.1.2 OK -2009-11-03 1.9.2 Debian Linux 4.0 AMD Opteron 8354 GCC 4.4.1 OK -2009-10-27 1.9.2 Debian Linux 5.0 Xeon X5450 Harpertown GCC 4.3.2 OK -2009-10-23 1.9.1 Gentoo Linux Intel Core2 Q6600 GCC 4.4.1, Intel C++ 11.1 OK -2009-10-23 1.9.1 Gentoo Linux AMD Opteron 2212 GCC 4.3.4 OK -2009-09-24 1.9.0 Debian 4.0 AMD Opteron 8354 GCC 4.1.2, 4.4.1 OK -2010-07-01 1.8.9 OpenSUSE 10.3 Intel Core2 GCC 4.2.1 OK -2010-06-22 1.8.9 Slackware 13.1 Intel E5400 (64) GCC 4.4.4 OK -2010-06-22 1.8.9 Slackware 13.1 Pentium-M (32) GCC 4.4.4 OK -2010-06-16 1.8.9 Debian 5.0 (32 bit) UltraSPARC T1 Niagra GCC 4.3.2 (GCC TR1) Crashes in GF(p) tests -2010-03-18 1.8.8 Debian 5.0 UltraSPARC II (64) GCC 4.3.2 OK -2008-10-23 1.8.7 Gentoo 2008.0 PPC 970FX (G5) GCC 4.3.4 OK -2009-10-07 1.8.7 Debian GNU/Hurd 0.3 i686 GCC 4.3.4 OK -2009-09-08 1.8.7 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.4.1 OK -2009-09-04 1.8.6 Gentoo 2008.0 PPC 970FX (G5) GCC 4.3.4 OK -2009-08-13 1.8.6 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.3.3 OK -2009-08-13 1.8.6 Windows XP x86 Visual C++ 15.00.30729.01 OK (no TR1) -2009-08-03 1.8.5 openSuSE 10.3 x86 GCC 4.2.1 OK -2009-08-03 1.8.5 Gentoo 2008.0 Intel Core2 Q6600 Open64 4.2.1 BAD: Miscompiles several ciphers -2009-07-31 1.8.5 Solaris 11 x86 Sun C++ 5.9 OK, but minor build problems -2009-07-30 1.8.5 Gentoo 2006.1 UltraSPARC IIe (32) GCC 3.4.6 OK (no TR1) -2009-07-25 1.8.5 Debian 4.0 AMD Opteron 2212 GCC 4.1.2 OK -2009-07-23 1.8.5 Gentoo 2008.0 Marvel Feroceon 88FR131 GCC 4.1.2 OK -2009-07-23 1.8.5 Debian 5.0 Intel Xscale 80219 GCC 4.3.2 OK -2009-07-23 1.8.5 Debian 5.0 UltraSPARC II (64) GCC 4.3.2 OK -2009-07-23 1.8.5 Debian 5.0 UltraSPARC II (32) GCC 4.3.2 BAD: bus error in GF(p) -2009-07-23 1.8.5 Debian 5.0 UltraSPARC II (32) GCC 4.1.3 BAD: miscompiles BigInt code -2009-07-23 1.8.5 Debian 4.0 PowerPC G4 GCC 4.1.2 OK -2009-07-23 1.8.5 Debian 4.0 PowerPC G5 GCC 4.1.2 OK -2009-07-23 1.8.5 Debian 5.0 Intel Madison IA-64 GCC 4.1.3, 4.3.2 OK -2009-07-23 1.8.5 Debian 5.0 HP-PA PA8600 GCC 4.3.2 OK -2009-07-23 1.8.5 Mandriva 2008.1 MIPS Loongson-2 (32) GCC 4.2.3 OK -2009-07-23 1.8.5 gNewSense MIPS Loongson-2 (64) GCC 4.3.2 OK -2009-07-21 1.8.5 Windows XP x86 Visual C++ 15.00.30729.01 OK (no TR1) -2009-07-21 1.8.5 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.1.2, 4.3.3 OK -2009-07-21 1.8.5 Gentoo 2008.0 Intel Core2 Q6600 Intel C++ 10.1 20080801 OK -2009-07-21 1.8.5 Gentoo 2008.0 AMD Opteron 2212 GCC 4.3.3 OK -2009-07-21 1.8.5 Ubuntu 8.04 Intel Xeon X5492 GCC 4.2.4 OK -2009-07-21 1.8.5 MacOS X 10.5.6 Intel Core 2 Duo T5600 GCC 4.0.1 OK -2009-07-21 1.8.5 Solaris 10 AMD Opteron GCC 3.4.3 OK (no TR1) -2008-07-11 1.8.3 Fedora 11 Intel Pentium E5200 GCC 4.4.0 OK -2008-07-10 1.8.3 Gentoo 2008.0 PPC 970FX (G5) GCC 4.3.1 OK -2008-07-10 1.8.3 Gentoo 2008.0 IBM POWER5+ GCC 4.2.2 OK -2009-07-10 1.8.3 Gentoo 2008.0 AMD Opteron 2212 GCC 4.3.3 OK -2009-07-10 1.8.3 Ubuntu 8.04 Intel Xeon X5492 GCC 4.2.4 OK -2009-07-10 1.8.3 MacOS X 10.5.6 Intel Core 2 Duo T5600 GCC 4.0.1 OK -2009-07-10 1.8.3 Debian 5.0.1 Intel Core 2 Duo T5600 GCC 4.3.2 OK -2009-07-10 1.8.3 Fedora 10 Intel Core 2 Duo T5600 GCC 4.3.2 OK -2009-07-10 1.8.3 Solaris 10 AMD Opteron GCC 3.4.3 OK (no TR1) -2009-07-09 1.8.3 Gentoo 2008.0 Intel Core2 Q6600 Intel C++ 10.1 20080801 OK -2009-07-02 1.8.3 Gentoo 2008.0 Intel Core2 Q6600 GCC 4.3.3 OK -2009-07-02 1.8.3 FreeBSD 7.0 x86-64 GCC 4.2.1 OK -2009-07-02 1.8.3 Windows XP x86 Visual C++ 15.00.30729.01 OK (no TR1) -2008-12-27 1.8.0 Ubuntu 8.04 Pentium 4-M GCC 4.2.3 OK -2008-12-14 1.8.0 FreeBSD 7.0 x86-64 GCC 4.2.1 OK -2008-12-10 1.8.0 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.2 OK -2008-12-05 1.7.24 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.2 OK -2008-12-04 1.7.24 Gentoo 2007.0 Intel Core2 Q6600 Intel 10.1-20080801 OK -2008-12-03 1.7.24 Solaris 10 x86 GCC 3.4.3 OK (small patch needed, fixed in 1.8.0) -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.2.4 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.2 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.4-20081017 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 (32) GCC 4.1.2, 4.2.4 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 (32) GCC 4.3.2 OK (with Boost 1.35 TR1) -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 (32) GCC 4.3.2 Crashes (with libstdc++ TR1) -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 9.1-20061101 OK -2008-11-24 1.7.23 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1-20080801 OK -2008-11-24 1.7.23 Fedora 8 STI Cell PPU GCC 4.1.2 OK -2008-11-24 1.7.23 Fedora 8 STI Cell PPU IBM XLC for Cell 0.9 45 minute link. Miscompiles DES -2008-11-24 1.7.23 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2, 4.2.2, 4.3.1 OK -2008-11-24 1.7.23 Gentoo 2007.0 AMD Opteron 2212 GCC 3.3.6, 4.1.2, 4.3.2 OK (no TR1 with 3.3.6) -2008-11-24 1.7.23 Windows XP x86 Visual C++ 15.00.30729.01 OK (no TR1) -2008-11-09 1.7.20 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-11-09 1.7.20 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.2 OK -2008-11-09 1.7.20 Windows XP x86 Visual C++ 15.00.30729.01 OK -2008-11-06 1.7.19 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-11-06 1.7.19 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.3.1 OK -2008-11-06 1.7.19 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 9.1-20061101 OK -2008-11-06 1.7.19 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1-20080801 OK -2008-11-06 1.7.19 Windows XP x86 Visual C++ 15.00.30729.01 OK -2008-11-03 1.7.19 FreeBSD 7.0 x86-64 GCC 4.2.1 OK -2008-10-24 1.7.18 Gentoo 2007.0 IBM POWER5+ GCC 4.2.2, 4.3.1 OK -2008-10-24 1.7.18 Fedora 8 STI Cell PPU GCC 4.1.2 OK -2008-10-22 1.7.18 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK -2008-10-22 1.7.18 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK -2008-10-22 1.7.18 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-10-22 1.7.18 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.2 OK -2008-10-22 1.7.18 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 9.1-20061101 OK -2008-10-22 1.7.18 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1-20080801 OK -2008-10-07 1.7.15 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-10-07 1.7.15 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.1 OK -2008-09-30 1.7.14 Gentoo 2007.0 PPC 970FX (G5) GCC 4.3.1 OK -2008-09-30 1.7.14 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-09-30 1.7.14 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.1 OK -2008-09-30 1.7.14 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1.018 OK -2008-09-30 1.7.14 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK -2008-09-30 1.7.14 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK -2008-09-18 1.7.12 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2, 4.2.2 OK -2008-09-18 1.7.12 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.2.4, 4.3.1 OK -2008-09-18 1.7.12 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1.018 OK -2008-09-18 1.7.12 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK -2008-09-18 1.7.12 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK -2008-09-16 1.7.12 Fedora 7 STI Cell PPU GCC 4.1.2 OK -2008-09-16 1.7.11 MacOS X 10.4 (32) Intel Core2 GCC 4.0.1 OK -2008-09-11 1.7.11 Gentoo 2007.0 Intel Core2 Q6600 GCC 4.3.1 OK -2008-09-11 1.7.11 Windows XP Pentium 4-M Visual C++ 15.00.30729.01 OK -2008-09-08 1.7.9 Gentoo 2007.0 Intel Core2 Q6600 Intel C++ 10.1.018 OK -2008-08-28 1.7.9 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2 OK -2008-08-28 1.7.9 Gentoo 2007.0 IBM POWER5+ GCC 4.2.2 OK -2008-08-28 1.7.9 Gentoo 2007.0 IBM POWER5+ GCC 4.3.1 OK -2008-08-28 1.7.9 Gentoo STI Cell PPU GCC 4.1.2 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.1.2 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.2.4 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.3.1 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 GCC 4.4-20080822 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 Intel C++ 9.1-20061101 OK -2008-08-27 1.7.9 Gentoo Intel Core2 Q6600 Intel C++ 10.1-20080602 OK -2008-08-27 1.7.9 Windows XP Pentium 4-M Visual C++ 2008 OK -2008-08-27 1.7.9 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK -2008-08-18 1.7.8 Ubuntu 8.04 Pentium 4-M GCC 4.2.3 OK -2008-08-18 1.7.8 Windows XP Pentium 4-M Visual C++ 2008 OK -2008-08-18 1.7.8 Windows XP Pentium 4-M GCC 3.4.5 (MinGW) OK -2008-07-18 1.7.8 Gentoo IBM POWER5+ GCC 4.1.2 OK -2008-07-15 1.7.8 Gentoo Intel Core2 Q6600 GCC 4.3.1 OK -2008-07-06 1.7.7 Gentoo Intel Core2 Q6600 PGI 7.2 Miscompiles TEA, Turing, BigInt -2008-06-28 1.7.7 Gentoo Pentium 4-M GCC 4.1.2 OK -2008-06-28 1.7.7 Gentoo Intel Core2 Q6600 GCC 4.1.2, 4.2.4, 4.3.1 OK -2008-06-28 1.7.7 Gentoo Intel Core2 Q6600 Intel C++ 10.1 OK -2008-06-28 1.7.7 Gentoo IBM POWER5+ GCC 4.1.2, 4.2.2 OK -2008-06-25 1.7.6 Gentoo IBM POWER5+ GCC 4.1.2, 4.2.2 OK -2008-06-09 1.7.6 Gentoo PPC 970FX (G5) GCC 4.1.2 OK -2008-05-14 1.7.6 Gentoo Intel Core2 Q6600 Intel C++ 9.1 Builds, but link problems -2008-05-14 1.7.6 Gentoo Intel Core2 Q6600 GCC 4.2.3 OK -2008-04-21 1.7.5 Gentoo STI Cell PPU GCC 4.1.2 OK -2008-04-14 1.7.5 Debian Pentium 4 GCC 4.1.2 OK -2008-04-13 1.7.5 Gentoo 2006.1 UltraSPARC II (32) GCC 3.4.6 OK -2008-04-12 1.7.5 RHEL3 Pentium 4 Xeon GCC 3.2.3 OK -2008-04-12 1.7.5 Gentoo Intel Core2 Q6600 Intel C++ 10.1 OK -2008-04-12 1.7.5 Gentoo AMD Opteron 2212 GCC 4.1.2 OK -2008-04-12 1.7.5 Gentoo Intel Core2 Q6600 GCC 4.2.3 OK -2008-09-16 1.6.5 MacOS X 10.4 Intel Core2 (32) GCC 4.0.1 OK -2008-08-28 1.6.5 Gentoo 2007.0 IBM POWER5+ GCC 4.1.2, 4.2.2, 4.3.1 OK -2008-08-27 1.6.5 Gentoo Intel Core2 Q6600 GCC 4.3.1, 4.4-20080822 OK -2008-08-18 1.6.4 Windows XP Pentium 4-M Visual C++ 2008 OK -2008-07-02 1.6.4 Solaris 10 x86-64 Sun Forte 12 OK -=========== ======= =================== ======================== ============================ ======== diff --git a/doc/manual/ffi.rst b/doc/manual/ffi.rst index a951c63f3..7a01dc8ae 100644 --- a/doc/manual/ffi.rst +++ b/doc/manual/ffi.rst @@ -39,7 +39,7 @@ Versioning Hash Functions ---------------------------------------- -.. cpp:type:: typedef struct botan_hash_struct* botan_hash_t +.. cpp:type:: opaque* botan_hash_t An opaque data type for a hash. Don't mess with it. @@ -72,7 +72,7 @@ Hash Functions Authentication Codes ---------------------------------------- -.. cpp:type:: typedef struct botan_mac_struct* botan_mac_t +.. cpp:type:: opaque* botan_mac_t An opaque data type for a MAC. Don't mess with it, but do remember to set a random key first. @@ -87,15 +87,14 @@ Authentication Codes .. cpp:function:: int botan_mac_update(botan_mac_t mac, uint8_t buf[], size_t len) -.. cpp:function:: int botan_mac_final(botan_mac_t mac, uint8_t out[], size_t* ou -t_len) +.. cpp:function:: int botan_mac_final(botan_mac_t mac, uint8_t out[], size_t* out_len) .. cpp:function:: size_t botan_mac_output_length(botan_mac_t mac) Ciphers ---------------------------------------- -.. cpp:type:: typedef struct botan_cipher_struct* botan_cipher_t +.. cpp:type:: opaque* botan_cipher_t An opaque data type for a MAC. Don't mess with it, but do remember to set a random key first. And please use an AEAD. @@ -111,22 +110,20 @@ Ciphers .. cpp:function:: int botan_cipher_clear(botan_cipher_t hash) -.. cpp:function:: int botan_cipher_set_key(botan_cipher_t cipher, - const uint8_t* key, size_t key_len) +.. cpp:function:: int botan_cipher_set_key(botan_cipher_t cipher, \ + const uint8_t* key, size_t key_len) -.. cpp:function:: int botan_cipher_set_associated_data(botan_cipher_t cipher, - const uint8_t* ad, - size_t ad_len) +.. cpp:function:: int botan_cipher_set_associated_data(botan_cipher_t cipher, \ + const uint8_t* ad, size_t ad_len) -.. cpp:function:: int botan_cipher_start(botan_cipher_t cipher, +.. cpp:function:: int botan_cipher_start(botan_cipher_t cipher, \ const uint8_t* nonce, size_t nonce_len) .. cpp:function:: int botan_cipher_is_authenticated(botan_cipher_t cipher) .. cpp:function:: size_t botan_cipher_tag_size(botan_cipher_t cipher) -.. cpp:function:: int botan_cipher_valid_nonce_length(botan_cipher_t cipher, siz -e_t nl) +.. cpp:function:: int botan_cipher_valid_nonce_length(botan_cipher_t cipher, size_t nl) .. cpp:function:: size_t botan_cipher_default_nonce_length(botan_cipher_t cipher) diff --git a/doc/manual/index.rst b/doc/manual/index.rst index 988d7732f..1bfc01d30 100644 --- a/doc/manual/index.rst +++ b/doc/manual/index.rst @@ -4,36 +4,6 @@ Introduction If you need to build the library first, start with :doc:`building`. -Books and other resources -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -It's a very good idea if you have some knowledge of cryptography -*before* trying to use the library. This is an area where it is very -easy to make mistakes, and where things are often subtle and/or -counterintuitive. Obviously the library tries to provide things at a -high level precisely to minimize the number of ways things can go -wrong, but naive use will almost certainly not result in a secure -system. - -Especially recommended are: - -- *Cryptography Engineering* - by Niels Ferguson, Bruce Schneier, and Tadayoshi Kohno - -- *Security Engineering -- A Guide to Building Dependable Distributed Systems* - by Ross Anderson - -- *Handbook of Applied Cryptography* - by Alfred J. Menezes, Paul C. Van Oorschot, and Scott A. Vanstone - (`available online <http://www.cacr.math.uwaterloo.ca/hac/>`_) - -If you're doing something non-trivial or unique, you might want to at -the very least ask for review/input on a mailing list such as the -`metzdowd <http://www.metzdowd.com/mailman/listinfo/cryptography>`_ or -`randombit <http://lists.randombit.net/mailman/listinfo/cryptography>`_ -crypto lists. And (if possible) pay a professional cryptographer or -security company to review your design and code. - References ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/manual/python.rst b/doc/manual/python.rst index cef9fddd2..eb625f24a 100644 --- a/doc/manual/python.rst +++ b/doc/manual/python.rst @@ -110,7 +110,7 @@ Ciphers .. py:method:: update_granularity() Returns update block size. Call to update() must provide - input of exactly this many bytes + input of exactly this many bytes .. py:method:: is_authenticated() diff --git a/doc/news.rst b/doc/news.rst index 84c3e2345..396303e24 100644 --- a/doc/news.rst +++ b/doc/news.rst @@ -4,7 +4,7 @@ Release Notes Version 1.11.18, Not Yet Released ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -* In this release Botan has switched VCS from `monotone` to `git`, +* In this release Botan has switched VCS from ``monotone`` to ``git``, and is now hosted on github at https://github.com/randombit/botan Version 1.11.17, 2015-06-18 @@ -17,12 +17,12 @@ Version 1.11.17, 2015-06-18 value was actually negotiated, TLS would treat it as a negotiated limit of 4096. -* Fix the configure.py flag `--disable-aes-ni` which did nothing of +* Fix the configure.py flag ``--disable-aes-ni`` which did nothing of the sort. * Fixed nmake clean target. GitHub #104 -* Correct buffering logic in `Compression_Filter`. GitHub #93 and #95 +* Correct buffering logic in ``Compression_Filter``. GitHub #93 and #95 Version 1.11.16, 2015-03-29 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -47,8 +47,8 @@ Version 1.11.16, 2015-03-29 padding types. * Added global timeout to HMAC_RNG entropy reseed. The defaults are - the values set in the build.h macros `BOTAN_RNG_AUTO_RESEED_TIMEOUT` - and `BOTAN_RNG_RESEED_DEFAULT_TIMEOUT`, but can be overriden + the values set in the build.h macros ``BOTAN_RNG_AUTO_RESEED_TIMEOUT`` + and ``BOTAN_RNG_RESEED_DEFAULT_TIMEOUT``, but can be overriden on a specific poll with the new API call reseed_with_timeout. * Fixed Python cipher update_granularity() and default_nonce_length() @@ -103,15 +103,15 @@ Version 1.11.14, 2015-02-27 If you intend to build your application against a static library and don't want to explicitly reference each algo object you might attempt to look up by - string, consider either building with `--via-amalgamation`, or else (much + string, consider either building with ``--via-amalgamation``, or else (much simpler) using the amalgamation directly. -* The new `ffi` submodule provides a simple C API/ABI for a number of useful +* The new ``ffi`` submodule provides a simple C API/ABI for a number of useful operations (hashing, ciphers, public key operations, etc) which is easily accessed using the FFI modules included in many languages. -* A new Python wrapper (in `src/lib/python/botan.py`) using `ffi` and the Python - `ctypes` module is available. The old Boost.Python wrapper has been removed. +* A new Python wrapper (in ``src/lib/python/botan.py``) using ``ffi`` and the Python + ``ctypes`` module is available. The old Boost.Python wrapper has been removed. * Add specialized reducers for P-192, P-224, P-256, and P-384 @@ -121,13 +121,13 @@ Version 1.11.14, 2015-02-27 is not yet enabled by the default policy, and the ciphersuite numbers used are in the experimental range and may conflict with other uses. -* Add ability to read TLS policy from a text file using `TLS::Text_Policy`. +* Add ability to read TLS policy from a text file using ``TLS::Text_Policy``. * The amalgamation now splits off any ISA specific code (for instance, that requiring SSSE3 instruction sets) into a new file named (for instance) - `botan_all_ssse3.cpp`. This allows the main amalgamation file to be compiled - without any special flags, so `--via-amalgamation` builds actually work now. - This is disabled with the build option `--single-amalgamation-file` + ``botan_all_ssse3.cpp``. This allows the main amalgamation file to be compiled + without any special flags, so ``--via-amalgamation`` builds actually work now. + This is disabled with the build option ``--single-amalgamation-file`` * PBKDF and KDF operations now provide a way to write the desired output directly to an application-specified area rather than always allocating a new @@ -160,9 +160,9 @@ Version 1.11.14, 2015-02-27 which wants to mlock memory for its own uses. * The botan-config script previously installed on Unix systems has been - removed. Its functionality is replaced by the `config` command of the - `botan` tool executable, for example `botan config cflags` instead of - `botan-config --cflags`. + removed. Its functionality is replaced by the ``config`` command of the + ``botan`` tool executable, for example ``botan config cflags`` instead of + ``botan-config --cflags``. * Added a target for POWER8 processors @@ -172,7 +172,7 @@ Version 1.11.13, 2015-01-11 * All support for the insecure SSLv3 protocol and the server support for processing SSLv2 client hellos has been removed. -* The command line tool now has `tls_proxy` which negotiates TLS with +* The command line tool now has ``tls_proxy`` which negotiates TLS with clients and forwards the plaintext to a specified port. * Add MCEIES, a McEliece-based integrated encryption system using @@ -237,10 +237,10 @@ Version 1.11.11, 2014-12-21 * The Sqlite3 wrapper has been abstracted to a simple interface for SQL dbs in general, though Sqlite3 remains the only implementation. The main logic of the TLS session manager which stored encrypted - sessions to a Sqlite3 database (`TLS::Session_Manager_SQLite`) has - been moved to the new `TLS::Session_Manager_SQL`. The Sqlite3 + sessions to a Sqlite3 database (``TLS::Session_Manager_SQLite``) has + been moved to the new ``TLS::Session_Manager_SQL``. The Sqlite3 manager API remains the same but now just subclasses - `TLS::Session_Manager_SQL` and has a constructor instantiate the + ``TLS::Session_Manager_SQL`` and has a constructor instantiate the concrete database instance. Applications which would like to use a different db can now do so @@ -275,7 +275,7 @@ Version 1.10.9, 2014-12-13 * Fix decoding indefinite length BER constructs that contain a context sensitive tag of zero. Github pull 26 from Janusz Chorko. -* The `botan-config` script previously tried to guess its prefix from +* The ``botan-config`` script previously tried to guess its prefix from the location of the binary. However this was error prone, and now the script assumes the final installation prefix matches the value set during the build. Github issue 29. @@ -416,7 +416,7 @@ Version 1.11.9, 2014-04-10 Version 1.11.8, 2014-02-13 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -* The `botan` command line application introduced in 1.11.7 is now +* The ``botan`` command line application introduced in 1.11.7 is now installed along with the library. * A bug in certificate path validation introduced in 1.11.6 which @@ -474,17 +474,17 @@ Version 1.11.7, 2014-01-10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * Botan's basic numeric types are now defined in terms of the - C99/C++11 standard integer types. For instance `u32bit` is now a - typedef for `uint32_t`, and both names are included in the library + C99/C++11 standard integer types. For instance ``u32bit`` is now a + typedef for ``uint32_t``, and both names are included in the library namespace. This should not result in any application-visible changes. -* There are now two executable outputs of the build, `botan-test`, - which runs the tests, and `botan` which is used as a driver to call +* There are now two executable outputs of the build, ``botan-test``, + which runs the tests, and ``botan`` which is used as a driver to call into various subcommands which can also act as examples of library - use, much in the manner of the `openssl` command. It understands the - commands `base64`, `asn1`, `x509`, `tls_client`, `tls_server`, - `bcrypt`, `keygen`, `speed`, and various others. As part of this + use, much in the manner of the ``openssl`` command. It understands the + commands ``base64``, ``asn1``, ``x509``, ``tls_client``, ``tls_server``, + ``bcrypt``, ``keygen``, ``speed``, and various others. As part of this change many obsolete, duplicated, or one-off examples were removed, while others were extended with new functionality. Contributions of new subcommands, new bling for exising ones, or documentation in any @@ -646,7 +646,7 @@ Version 1.11.4, 2013-07-25 server would by default negotiate either protocol type (clients would only accept the same protocol type as they offered). Applications which use DTLS or combined TLS/DTLS need to - override `Policy::acceptable_protocol_version`. + override ``Policy::acceptable_protocol_version``. * The TLS channels now accept a new parameter specifying how many bytes to preallocate for the record handling buffers, which allows @@ -654,13 +654,13 @@ Version 1.11.4, 2013-07-25 for a particular connection. * Applications can now send arbitrary TLS alert messages using - `TLS::Channel::send_alert` + ``TLS::Channel::send_alert`` -* A new TLS policy `NSA_Suite_B_128` is available, which +* A new TLS policy ``NSA_Suite_B_128`` is available, which will negotiate only the 128-bit security NSA Suite B. See :rfc:`6460` for more information about Suite B. -* Adds a new interface for benchmarking, `time_algorithm_ops`, +* Adds a new interface for benchmarking, ``time_algorithm_ops``, which returns a map of operations to operations per second. For instance now both encrypt and decrypt speed of a block cipher can be checked, as well as the key schedule of all keyed algorithms. It @@ -671,7 +671,7 @@ Version 1.11.4, 2013-07-25 Version 1.11.3, 2013-04-11 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -* Add a new interface for AEAD modes (`AEAD_Mode`). +* Add a new interface for AEAD modes (``AEAD_Mode``). * Implementations of the OCB and GCM authenticated cipher modes are now included. @@ -679,14 +679,14 @@ Version 1.11.3, 2013-04-11 * Support for TLS GCM ciphersuites is now available. * A new TLS policy mechanism - `TLS::Policy::server_uses_own_ciphersuite_preferences` + ``TLS::Policy::server_uses_own_ciphersuite_preferences`` controls how a server chooses a ciphersuite. Previously it always chose its most preferred cipher out of the client's list, but this can allow configuring a server to choose by the client's preferences instead. -* `Keyed_Filter` now supports returning a - `Key_Length_Specification` so the full details of what +* ``Keyed_Filter`` now supports returning a + ``Key_Length_Specification`` so the full details of what keylengths are supported is now available in keyed filters. * The experimental and rarely used Turing and WiderWAKE stream ciphers @@ -695,9 +695,9 @@ Version 1.11.3, 2013-04-11 * New functions for symmetric encryption are included in cryptobox.h though interfaces and formats are subject to change. -* A new function `algorithm_kat_detailed` returns a string +* A new function ``algorithm_kat_detailed`` returns a string providing information about failures, instead of just a pass/fail - indicator as in `algorithm_kat`. + indicator as in ``algorithm_kat``. Version 1.10.5, 2013-03-02 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -716,50 +716,38 @@ Version 1.10.5, 2013-03-02 Version 1.11.2, 2013-03-02 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -* A bug in the release script caused the `botan_version.py` included - in 1.11.1` to be invalid, which required a manual edit to fix +* A bug in the release script caused the ``botan_version.py`` included + in 1.11.1`` to be invalid, which required a manual edit to fix (Bugzilla 226) -Memory Zeroization Changes -"""""""""""""""""""""""""""""""""""""""" - -* Previously `clear_mem` was implemented by an inlined call to - `std::memset`. However an optimizing compiler might notice cases +* Previously ``clear_mem`` was implemented by an inlined call to + ``std::memset``. However an optimizing compiler might notice cases where the memset could be skipped in cases allowed by the standard. - Now `clear_mem` calls `zero_mem` which is compiled separately and + Now ``clear_mem`` calls ``zero_mem`` which is compiled separately and which zeros out the array through a volatile pointer. It is possible some compiler with some optimization setting (especially with something like LTO) might still skip the writes. It would be nice if there was an automated way to test this. -New Parallel Filter -"""""""""""""""""""""""""""""""""""""""" - -* The new filter `Threaded_Fork` acts like a normal - `Fork`, sending its input to a number of different +* The new filter ``Threaded_Fork`` acts like a normal + ``Fork``, sending its input to a number of different filters, but each subchain of filters in the fork runs in its own thread. Contributed by Joel Low. -TLS Enhancements and Bug Fixes -"""""""""""""""""""""""""""""""""""""""" - * The default TLS policy formerly preferred AES over RC4, and allowed 3DES by default. Now the default policy is to negotiate only either AES or RC4, and to prefer RC4. -* New TLS `Blocking_Client` provides a thread per +* New TLS ``Blocking_Client`` provides a thread per connection style API similar to that provided in 1.10 -Other API Changes -"""""""""""""""""""""""""""""""""""""""" - -* The API of `Credentials_Manager::trusted_certificate_authorities` - has changed to return a vector of `Certificate_Store*` instead of - `X509_Certificate`. This allows the list of trusted CAs to be +* The API of ``Credentials_Manager::trusted_certificate_authorities`` + has changed to return a vector of ``Certificate_Store*`` instead of + ``X509_Certificate``. This allows the list of trusted CAs to be more easily updated dynamically or loaded lazily. -* The `asn1_int.h` header was split into `asn1_alt_name.h`, - `asn1_attribute.h` and `asn1_time.h`. +* The ``asn1_int.h`` header was split into ``asn1_alt_name.h``, + ``asn1_attribute.h`` and ``asn1_time.h``. Version 1.10.4, 2013-01-07 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -782,20 +770,17 @@ Version 1.10.4, 2013-01-07 Version 1.11.1, 2012-10-30 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -TLS Enhancements and Bug Fixes -"""""""""""""""""""""""""""""""""""""""" - Initial support for DTLS (both v1.0 and v1.2) is available in this release, though it should be considered highly experimental. Currently timeouts and retransmissions are not handled. -The `TLS::Client` constructor now takes the version to -offer to the server. The policy hook `TLS::Policy` function -`pref_version`, which previously controlled this, has been removed. +The ``TLS::Client`` constructor now takes the version to +offer to the server. The policy hook ``TLS::Policy`` function +`pref_version``, which previously controlled this, has been removed. -`TLS::Session_Manager_In_Memory` now chooses a random +`TLS::Session_Manager_In_Memory`` now chooses a random 256-bit key at startup and encrypts all sessions (using the existing -`TLS::Session::encrypt` mechanism) while they are stored in +`TLS::Session::encrypt`` mechanism) while they are stored in memory. This is primarily to reduce pressure on locked memory, as each session normally requires 48 bytes of locked memory for the master secret, whereas now only 32 bytes are needed total. This change may @@ -814,9 +799,9 @@ persistent storage by 1.11.0 will not load in this version and vice versa. In either case this will not cause any errors, the session will simply not resume and instead a full handshake will occur. -New policy hooks `TLS::Policy::acceptable_protocol_version`, -`TLS::Policy::allow_server_initiated_renegotiation`, and -`TLS::Policy::negotiate_heartbeat_support` were added. +New policy hooks ``TLS::Policy::acceptable_protocol_version``, +`TLS::Policy::allow_server_initiated_renegotiation``, and +`TLS::Policy::negotiate_heartbeat_support`` were added. TLS clients were not sending a next protocol message during a session resumption, which would cause resumption failures with servers that @@ -827,24 +812,18 @@ handshake to be passed to the application callback as if they were heartbeat responses. Support for TLS key material export as specified in :rfc:`5705` has -been added, available via `TLS::Channel::key_material_export` - -New Feature: Public Key Strength Checking -"""""""""""""""""""""""""""""""""""""""""" +been added, available via ``TLS::Channel::key_material_export`` -A new function `Public_Key::estimated_strength` returns +A new function ``Public_Key::estimated_strength`` returns an estimate for the upper bound of the strength of the key. For instance for an RSA key, it will return an estimate of how many operations GNFS would take to factor the key. -A new `Path_Validation_Result` code has been added +A new ``Path_Validation_Result`` code has been added ``SIGNATURE_METHOD_TOO_WEAK``. By default signatures created with keys below 80 bits of strength (as estimated by ``estimated_strength``) are rejected. This level can be modified using a parameter to the -`Path_Validation_Restrictions` constructor. - -SRP6 Is Picker About Values -"""""""""""""""""""""""""""""""""""""""" +``Path_Validation_Restrictions`` constructor. The SRP6 code was checking for invalid values as specified in :rfc:`5054`, ones equal to zero mod p, however it would accept @@ -853,10 +832,7 @@ occur in a normal run of the protocol. These values are now rejected. Credits to Timothy Prepscius for pointing out these values are not normally used and probably signal something fishy. -Removal of Various BigInt Functions -"""""""""""""""""""""""""""""""""""""""" - -Several `BigInt` functions have been removed, including +Several ``BigInt`` functions have been removed, including ``operator[]``, ``assign``, ``get_reg``, and ``grow_reg``. The version of ``data`` that returns a mutable pointer has been renamed ``mutable_data``. Support for octal conversions has been removed. @@ -864,9 +840,6 @@ of ``data`` that returns a mutable pointer has been renamed The constructor ``BigInt(NumberType type, size_t n)`` has been removed, replaced by ``BigInt::power_of_2``. -AES-NI Crash Fixed -"""""""""""""""""""""""""""""""""""""""" - In 1.11.0, when compiled by GCC, the AES-NI implementation of AES-192 would crash if the mlock-based allocator was used due to an alignment issue. @@ -881,9 +854,6 @@ Version 1.11.0, 2012-07-19 This version of the library cannot be compiled by or used with a C++98 compiler. -TLS and PKI Changes -"""""""""""""""""""""""""""""""""""""""" - There have been many changes and improvements to TLS. The interface is now purely event driven and does not directly interact with sockets. New TLS features include TLS v1.2 support, client @@ -901,9 +871,6 @@ The API for X.509 path validation has changed, with ``x509_path_validate`` in x509path.h now handles path validation and ``Certificate_Store`` handles storage of certificates and CRLs. -Memory Container Changes -"""""""""""""""""""""""""""""""""""""""" - The memory container types have changed substantially. The ``MemoryVector`` and ``SecureVector`` container types have been removed, and an alias of ``std::vector`` using an allocator that @@ -917,16 +884,10 @@ using a best-fit allocator and all metadata held outside the mmap'ed range, in an effort to make best use of the very limited amount of memory current Linux kernels allow unpriveledged users to lock. -New LZMA Compression Filter -"""""""""""""""""""""""""""""""""""""""" - A filter using LZMA was contributed by Vojtech Kral. It is available if LZMA support was enabled at compilation time by passing ``--with-lzma`` to ``configure.py``. -ECC Key Decoding Problem Resolved -"""""""""""""""""""""""""""""""""""""""" - :rfc:`5915` adds some extended information which can be included in ECC private keys which the ECC key decoder did not expect, causing an exception when such a key was loaded. In particular, recent versions @@ -1019,8 +980,8 @@ GCC on Windows will cause the configure.py to warn that likely you wanted to configure for either MinGW or Cygwin, not the generic Windows target. -A bug in configure.py would cause it to interpret `--cpu=s390x` as -`s390`. This may have affected other CPUs as well. Now configure.py +A bug in configure.py would cause it to interpret ``--cpu=s390x`` as +``s390``. This may have affected other CPUs as well. Now configure.py searches for an exact match, and only if no exact match is found will it search for substring matches. @@ -1039,7 +1000,7 @@ Note that Python 2.4 is not supported at all. Version 1.10.1, 2011-07-11 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -* A race condition in `Algorithm_Factory` could cause crashes in +* A race condition in ``Algorithm_Factory`` could cause crashes in multithreaded code. * The return value of ``name`` has changed for GOST 28147-89 and @@ -1058,7 +1019,7 @@ Version 1.10.1, 2011-07-11 Version 1.8.13, 2011-07-02 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -* A race condition in `Algorithm_Factory` could cause crashes in +* A race condition in ``Algorithm_Factory`` could cause crashes in multithreaded code. Version 1.10.0, 2011-06-20 @@ -1200,7 +1161,7 @@ Version 1.9.17, 2011-04-29 AES-NI instruction set have been renamed from AES_XXX_Intel to AES_XXX_NI. -* Systems that are identified as `sun4u` will default to compiling for +* Systems that are identified as ``sun4u`` will default to compiling for 32-bit SPARCv9 code rather than 64-bit. This matches the still common convention for 32-bit SPARC userspaces. If you want 64-bit code on such as system, use ``--cpu=sparc64``. @@ -1224,7 +1185,7 @@ Version 1.9.16, 2011-04-11 * The class ``EC_Domain_Params`` has been renamed ``EC_Group``, with a typedef for backwards compatability. -* ``EC_Group``'s string constructor didn't understand the standard +* The ``EC_Group`` string constructor didn't understand the standard names like "secp160r1", forcing use of the OIDs. * Two constructors for ECDSA private keys, the one that creates a new @@ -1411,7 +1372,6 @@ Version 1.9.10, 2010-08-12 than the table-based implementation on some processors. The current code has been tested with GCC 4.5, Visual C++ 2008, and Clang 2.8. - * Support for dynamically loading Engine objects at runtime was also added. Currently only system that use ``dlopen``-style dynamic linking are supported. @@ -2484,7 +2444,7 @@ Version 1.3.8, 2003-12-30 Version 1.3.7, 2003-12-12 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -* Fixed a big security problem in es_unix +* Fixed a big security problem in es_unix (use of untrusted PATH) * Fixed several stability problems in es_unix * Expanded the list of programs es_unix will try to use * SecureAllocator now only preallocates blocks in special cases diff --git a/doc/pgpkey.txt b/doc/pgpkey.txt new file mode 100644 index 000000000..e4b5a83f3 --- /dev/null +++ b/doc/pgpkey.txt @@ -0,0 +1,37 @@ +The following PGP key is used to sign all releases: + +pub 2048R/EFBADFBC 2004-10-30 + Key fingerprint = 621D AF64 11E1 851C 4CF9 A2E1 6211 EBF1 EFBA DFBC +uid Botan Distribution Key + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.0.17 (GNU/Linux) + +mQELBEGD1j0BCADHxPJkPcjJE+4Dlisx2hVc0Dj6JI1MSLrkM8R+2bOhVUSferxP +T1EMPhfrAdOHTAloyvRThJztnZsNKqfLL49GGcBLdEGAVNks1pG37Teze5Lx1XIu +zJFrozL2sqBy5C6nHpFgd1tcD68Rah2wp0u2cR9owXf1IqKdEfuo661+MTv7wTB1 +4hKV75nB7ZO6676SEZRILYM+7RJwKAKEmEPJc6hEf94VXn9ecNzaTlHgYkjhz9db +LOd3od9XvuUw+LMR1dwBqMxbvR90MiXjbedDEkbArcZB9YOAIvEX/lC3qaW4XJt4 +iwHWl/YVZEfALcvQywe2CDrH5hO794wd9MpBAAYptBZCb3RhbiBEaXN0cmlidXRp +b24gS2V5iQEqBBMBAgAUAhsDAh4BAheABQJKfFpnBBUKCQgACgkQYhHr8e+637xk +PQf/aOi78XenwwvFrwXOVIVTdZIf8rK1zJksf26h09UD8uVV6z5iiTcpn86+eN9p +6Ar8IH3tD+JuFnPSwZ/r9MNC2XZwenYo4Gb14jqM6/9hBe328vmeM4Y1G7bD4HrL +kgV5WEyokqm3zbp3FBLr3Vh68TAC5JB9aHevra+cCA2u3vBNI3YUM5z4TdO150P3 +J00whkqImQEUni8bgxvllBLFM+uhucsX3HZWkoDEpotbg8yd0bqMkiPEyMr1OnJq +eDVDMrB5wnyLgLFfRAAw3mopM0C1PNOAHr/BIYiaDHX2OwnOfep8rMDoRVf2Ge0D +DBgsJJ6LduQHLeg403SHWL2F6YkCHAQTAQIABgUCQYPWUgAKCRBcD5boTsFta+r9 +EACWVis7YcaGkKKgRB/5ox8rM36XVhMXdh/hnnGHt5rapbbRRkRHRcWU8WIcFO1A +59+TfwNNd8gN1MEt/5aX5KHWVKHBDexJgIxm6Dm1pisYHf/dnYQPM18hmqqwNlKY +97hFkPpHd7enrtc/SvGbQhhLXYlpwBrdMl76e9xJLnnrRQksxegGPo8cr+C9HTs1 +Lwa8zzBxyBwYBYX+0moDkDShEhuXx6mEOXrGvQanJuIvpoIwGH+62E65MbJGlwWp +w/MAtm2jFhBIhGV0bqJCFp9zIgdNgfskBaPr0oilbuJQZqP0Iqe/6CCt4XkS51yW +ZqxjLAFpEpvDec4PGw3witKf/koGon9X8C035+nEjLBrWy18Q91vw2USyLI+mm9d +iMAS8pY2gomfxBO2VwYHJryZykjCYQkccRA1tHteRj4gqTObo0Ak47y5MnplTWwi +40oP7K2cfhCRBmMioxmYES4xsHEupfRBo3xr1Jq9q0t688WTT1NXHPMPoueF9mKZ +Cf2pa9aHsqBmWTm3sCaNQKGubCDBEUmJUyndmSatJyYM7NVYoUp6EfqMACFuTNdB +sjKMh7aWVikQpbJDfA1BIU3lZeqgjgrghVAWkEOBfhG0IVZj+RVCJpsqoTJ8asY2 +VreArSCyr/VnLEnfuH/QpgvCiCbepo3E34DJt4SaAOO2ZohGBBARAgAGBQJMGVc1 +AAoJEKY/LL36AvvMgsoAn2G7kXd09BF7ffk1Sfh174SVrvM9AKC7+R7x0+yV3SCd +JkkUOo3xR5cOxw== +=1QuR +-----END PGP PUBLIC KEY BLOCK----- diff --git a/doc/dev/release_process.rst b/doc/release_process.rst index 2848008c9..603a46a27 100644 --- a/doc/dev/release_process.rst +++ b/doc/release_process.rst @@ -9,24 +9,23 @@ Release Process and Checklist Pre Release Checks ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Confirm that the release notes under ``doc/relnotes`` are accurate and +Confirm that the release notes in ``news.rst`` are accurate and complete and that the version number in ``botan_version.py`` is correct. Update the release date in the release notes and change the -entry for the appropriate branch in ``doc/website/download.rst`` to -point to the new release. Add the new release to -``doc/relnotes/index.rst``. +entry for the appropriate branch in ``readme.rst`` to point to the new +release. Check in these changes (alone, with no other modifications) with a checkin message along the lines of "Update for X.Y.Z release", then tag the release with the version in git (eg tag '1.11.8', no prefix). -Build The Release +Build The Release Tarballs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The release script is ``src/scripts/dist.py`` and must be run from a git workspace. - $ src/scripts/dist.py 1.11.8 + $ src/scripts/dist.py 1.11.18 One useful option is ``--output-dir``, which specifies where the output will be placed. @@ -34,10 +33,9 @@ output will be placed. The ``--pgp-key-id`` option is used to specifiy a PGP keyid. If set, the script assumes that it can execute GnuPG and will attempt to create signatures for the tarballs. The default value is ``EFBADFBC``, -matching :doc:`the official signing key <pgpkey>`. You can set it to -an empty value (``--pgp-key-id=``) to avoid creating signatures though -official distributed releases *should not* be released without -signatures. +which is the official signing key. You can use ``--pgp-key-id=none`` +to avoid creating any signature, though official distributed releases +*should not* be released without signatures. Build The Windows Installer ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -53,20 +51,16 @@ placed in ``build/botan.iss`` by ``configure.py``. Create the installer either via the InnoSetup GUI by opening the ``iss`` file and selecting the 'Compile' option, or using the ``iscc`` command line tool. If all goes well it will produce an executable with a name like -``botan-1.11.8-x86_64.exe``. Sign the installers with GPG. +``botan-1.11.18-x86_64.exe``. Sign the installers with GPG. Update The Website ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The current botan website is derived entirely from the ReST content in -``docs`` using Sphinx (plus Doxygen generated documentation). A script -called ``mtn-watch`` periodically checks for new updates on the -``net.randombit.botan`` branch (only), and if found regenerates the -site content. Thus as soon as the changes are synced to the server -running on ``mtn.randombit.net``, the website will be updated. +The website content is created by ``src/scripts/website.sh``. +Currently refreshing the website is a manual process. Announce The Release ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Send an email to the announce and devel mailing lists noting that a -new release is available. +Send an email to the botan-announce and botan-devel mailing lists +noting that a new release is available. diff --git a/doc/dev/roadmap.rst b/doc/roadmap.rst index 9c30130e1..76ab81f07 100644 --- a/doc/dev/roadmap.rst +++ b/doc/roadmap.rst @@ -11,13 +11,13 @@ snapshots are made directly from it. Every once in a while a new even-numbered branch is forked. All development continues on the main trunk, with fixes and occasionally small features backported to the stable branch. Stability of API and ABI is very important in the stable branches, whereas in trunk ABI changes -happen with no warning and API changes are made whenever it would serve the +happen with no warning, and API changes are made whenever it would serve the ends of justice. Current Status ---------------------------------------- -Currently (as of 2015-01-08) trunk is numbered 1.11 and is written in C++11, +Currently (as of 2015-07-03) trunk is numbered 1.11 and is written in C++11, unlike earlier versions which used C++98. In due time a new stable 2.0 branch will be made off of trunk and afterwards trunk will be renumbered as 2.1. The 2.0 releases will be maintained with security and bug fixes at least until a @@ -40,18 +40,17 @@ released. Supported Targets ---------------------------------------- -The primary supported target (ie, what the main developer uses and tests with -regularly) is a recent GCC or Clang on Linux with an x86-64 CPU. Occasionally -Linux systems using POWER, MIPS, and ARM processors are also checked. Testing -and fixes for Windows, MinGW, OS X, OpenBSD, Visual C++, iOS, etc comes -primarily from users. +The primary supported targets, which are tested with every commit by +continous integration, are GCC and Clang on Linux, Clang on OS X, and +MSVC 2013 on Windows, all on some form of x86. + +Other processors, like ARM, MIPS, and POWER processors, and OSes, such +as OpenBSD, MinGW, or iOS are occasionally tested on an ad-hoc basis, +but breakage is somewhat more likely. Ongoing Issues ---------------------------------------- -Currently sources are kept in :doc:`Monotone <vcs>`, which likely discourages -some would-be developers. The github mirror may be helping somewhat here. - Some infrastructure, scripts and such still exists only on the machines of the primary developer. diff --git a/doc/dev/todo.rst b/doc/todo.rst index 6845e0e68..b2fbed189 100644 --- a/doc/dev/todo.rst +++ b/doc/todo.rst @@ -5,8 +5,7 @@ These are features either requested by users or that seem like potentially useful things to have. Several are quite self-contained and could make a quick project. -Request a new feature by sending a patch to this file or by writing to -the mailing list. +Request a new feature by opening a pull request to update this file. Symmetric Algorithms, Hashes, ... ---------------------------------------- @@ -25,7 +24,6 @@ Public Key Crypto, Math * EdDSA * Ed448-Goldilocks -* Add specialized reductions for other NIST primes * Fast new implementations/algorithms for ECC point operations, Montgomery multiplication, multi-exponentiation, ... @@ -65,7 +63,7 @@ Accelerators / backends * ARMv8 crypto extensions * Intel Skylake SHA-1/SHA-2 -Python/FFI +FFI (Python, OCaml) ---------------------------------------- * Expose TLS diff --git a/doc/website/algos.rst b/doc/website/algos.rst deleted file mode 100644 index fcf51c91f..000000000 --- a/doc/website/algos.rst +++ /dev/null @@ -1,104 +0,0 @@ - -Supported Algorithms -======================================== - -Botan supports a range of cryptographic algorithms and protocols, -including: - -TLS/Public Key Infrastructure -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - * TLS/DTLS (v1.0 to v1.2), including using preshared keys (TLS-PSK) or - passwords (TLS-SRP) and most important extensions. - * X.509 certificates (including generating new self-signed and CA - certs) and CRLs - * Certificate path validation and OCSP - * PKCS #10 certificate requests (creation and certificate issue) - -Public Key Cryptography -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - * Encryption algorithms RSA, ElGamal, DLIES - (padding schemes OAEP or PKCS #1 v1.5) - * Signature algorithms RSA, DSA, ECDSA, GOST 34.10-2001, Nyberg-Rueppel, - Rabin-Williams (padding schemes PSS, PKCS #1 v1.5, X9.31) - * Diffie-Hellman, ECDH using NIST/Brainpool prime groups, Curve25519 - * McEliece code based encryption providing a KEM scheme - -Block ciphers -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - * Authenticated cipher modes EAX, OCB, GCM, SIV, CCM, and ChaCha20Poly1305 - * Unauthenticated cipher modes CTR, CBC, XTS, CFB, OFB, and ECB - * AES (including constant time SSSE3 and AES-NI versions) - * AES candidates Serpent, Twofish, MARS, CAST-256, RC6 - * DES, 3DES and DESX - * National/telecom block ciphers SEED, KASUMI, MISTY1, GOST 28147 - * Other block ciphers including Threefish-512, Blowfish, CAST-128, IDEA, - Noekeon, TEA, XTEA, RC2, RC5, SAFER-SK - * Large block cipher construction Lion - -Stream Ciphers -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - * RC4 - * Salsa20/XSalsa20 - * ChaCha20 - -Hash functions -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - * SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512 - * RIPEMD-160, RIPEMD-128, Tiger, Whirlpool - * SHA-3 winner Keccak-1600 - * SHA-3 candidate Skein-512 - * Hash function combiners (Parallel and Comb4P) - * National standard hashes HAS-160 and GOST 34.11 - * Obsolete or insecure hashes MD5, MD4, MD2 - * Non-cryptographic checksums Adler32, CRC24, CRC32 - -Authentication Codes and PRFs -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - * HMAC - * CMAC (aka OMAC1) - * Poly1305 - * SipHash - * Obsolete designs CBC-MAC and ANSI X9.19 DES-MAC - -Other Useful Things -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - * Key derivation functions for passwords, including PBKDF2 - * Password hashing functions, including bcrypt - * General key derivation functions KDF1 and KDF2 from IEEE 1363 - -Recommended Algorithms -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -This section is by no means the last word on selecting which algorithms to -use. However, botan includes a sometimes bewildering array of possible -algorithms, and unless you're familiar with the latest developments in the -field, it can be hard to know what is secure and what is not. The following -attributes of the algorithms were evaluated when making this list: security, -support by other implementations, patent/IP status, and efficiency (in -roughly that order). - -If your data is in motion, strongly consider using TLS v1.2 as a pre built, -already standard and well studied protocol. - -Otherwise, if you simply *must* do something custom, use: - -* Message encryption: AES or Serpent in EAX or GCM mode - -* General hash functions: SHA-256 or SHA-512 - -* Message authentication: HMAC with SHA-256 - -* Public Key Encryption: RSA, 2048+ bit keys, with OAEP and SHA-256 - ("EME1(SHA-256)") - -* Public Key Signatures: RSA, 2048+ bit keys with PSS and SHA-512 - ("EMSA4(SHA-512)"), or ECDSA with SHA-256 or SHA-512 - -* Key Agreement: Diffie-Hellman or ECDH, with "KDF2(SHA-256)" diff --git a/doc/website/contents.rst b/doc/website/contents.rst deleted file mode 100644 index 26a38a718..000000000 --- a/doc/website/contents.rst +++ /dev/null @@ -1,15 +0,0 @@ - -Contents -======================================== - -.. toctree:: - - index - download - license - manual - pgpkey - credits - algos - news.rst - diff --git a/doc/website/download.rst b/doc/website/download.rst deleted file mode 100644 index f1790c41a..000000000 --- a/doc/website/download.rst +++ /dev/null @@ -1,51 +0,0 @@ - -Download -======================================== - -All releases are signed with a :doc:`PGP key <pgpkey>`. - -You can access the latest development sources on `GitHub -<https://github.com/randombit/botan>`_. - -.. note:: - - All users, especially for new applications, are encouraged to use - the latest 1.11 release instead of 1.10, though some API changes - are still likely to occur before a new stable release based on 1.11. - -Current Development Series (1.11) ----------------------------------------- - -The latest development release is :doc:`relnotes/1_11_17`: -:tgz:`1.11.17` (:tgz_sig:`sig <1.11.17>`) - -.. note:: - - Botan 1.11 requires a working C++11 compiler; GCC 4.8 and later, - Clang 3.4 and later, and MSVC 2013 are regularly tested. - -Current Stable Series (1.10) ----------------------------------------- - -The latest stable branch release is :doc:`relnotes/1_10_9`: -:tgz:`1.10.9` (:tgz_sig:`sig <1.10.9>`) - -From Your Favorite Distribution ----------------------------------------- - -Botan is already included in many package distributions though often -the included version lags behind the latest release. Distributions -providing botan include -`Fedora <https://admin.fedoraproject.org/pkgdb/acls/name/botan>`_, -`EPEL <http://dl.fedoraproject.org/pub/epel/6/SRPMS/repoview/botan.html>`_ (for RHEL/CentOS), -`Debian <http://packages.debian.org/search?keywords=libbotan>`_, -`Ubuntu <http://packages.ubuntu.com/search?keywords=botan>`_, -`Gentoo <http://packages.gentoo.org/package/botan>`_, -`Arch <http://www.archlinux.org/packages/community/x86_64/botan/>`_, -`Slackbuild <http://slackbuilds.org/result/?search=Botan>`_, -`FreeBSD <http://www.freshports.org/security/botan110>`_, -`NetBSD <ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/security/botan/README.html>`_, -`Cygwin <http://cygwin.com/packages/x86/botan/>`_, -`MacPorts <http://www.macports.org/ports.php?by=name&substr=botan>`_, -`OpenPKG <http://www.openpkg.org/product/packages/?package=botan>`_, and -`T2 SDE <http://www.t2-project.org/packages/botan.html>`_ diff --git a/doc/website/index.rst b/doc/website/index.rst deleted file mode 100644 index 12c20dcdc..000000000 --- a/doc/website/index.rst +++ /dev/null @@ -1,23 +0,0 @@ - -Botan: Crypto and TLS for C++11 -======================================== - -Botan is a crypto library for C++ released under the permissive -:doc:`BSD-2 license <license>`. - -It provides useful things like TLS, X.509 PKIX (certs, CRLs, OCSP, -etc), ECDSA, AES, GCM, and bcrypt, plus a :doc:`kitchen sink <algos>` -of other crypto algorithms of various utility. A third party open source -implementation of `SSHv2 <https://github.com/cdesjardins/ne7ssh>`_ -that uses botan is also available. In addition to C++ you can use -(parts of) botan from Python or Perl (both included in tree), or with -`Node.js <https://github.com/justinfreitag/node-botan>`_. - -See :doc:`download` for information about getting the latest release, -and :doc:`manual` for the documentation. - -If you need help or have questions, send a mail to the `development -mailing list -<http://lists.randombit.net/mailman/listinfo/botan-devel/>`_ or -open a ticket on -`GitHub Issues <https://github.com/randombit/botan/issues>`_. diff --git a/doc/website/license.rst b/doc/website/license.rst deleted file mode 100644 index d07a34e9a..000000000 --- a/doc/website/license.rst +++ /dev/null @@ -1,8 +0,0 @@ - -.. _license: -.. highlight:: none - -License -======================================== - -.. literalinclude:: license.txt diff --git a/doc/website/manual.rst b/doc/website/manual.rst deleted file mode 100644 index bda6ef09c..000000000 --- a/doc/website/manual.rst +++ /dev/null @@ -1,11 +0,0 @@ - -Reference Manual -======================================== - -The documentation is all under ``doc`` in your source tree, stored as -``.rst`` (`RestructedText <http://docutils.sourceforge.net/rst.html>`_) files. -They can be processed by `Sphinx <http://sphinx-doc.org>`_ to produce -HTML or PDF output. - -The `manual </manual/>`_ and `Doxygen reference </doxygen/>`_ for the -latest development release is available online. diff --git a/doc/website/pgpkey.rst b/doc/website/pgpkey.rst deleted file mode 100644 index 1f0e83a44..000000000 --- a/doc/website/pgpkey.rst +++ /dev/null @@ -1,43 +0,0 @@ - -Code Signing Key -======================================== - -.. highlight:: none - -The following PGP key is used to sign all releases:: - - pub 2048R/EFBADFBC 2004-10-30 - Key fingerprint = 621D AF64 11E1 851C 4CF9 A2E1 6211 EBF1 EFBA DFBC - uid Botan Distribution Key - - -----BEGIN PGP PUBLIC KEY BLOCK----- - Version: GnuPG v2.0.17 (GNU/Linux) - - mQELBEGD1j0BCADHxPJkPcjJE+4Dlisx2hVc0Dj6JI1MSLrkM8R+2bOhVUSferxP - T1EMPhfrAdOHTAloyvRThJztnZsNKqfLL49GGcBLdEGAVNks1pG37Teze5Lx1XIu - zJFrozL2sqBy5C6nHpFgd1tcD68Rah2wp0u2cR9owXf1IqKdEfuo661+MTv7wTB1 - 4hKV75nB7ZO6676SEZRILYM+7RJwKAKEmEPJc6hEf94VXn9ecNzaTlHgYkjhz9db - LOd3od9XvuUw+LMR1dwBqMxbvR90MiXjbedDEkbArcZB9YOAIvEX/lC3qaW4XJt4 - iwHWl/YVZEfALcvQywe2CDrH5hO794wd9MpBAAYptBZCb3RhbiBEaXN0cmlidXRp - b24gS2V5iQEqBBMBAgAUAhsDAh4BAheABQJKfFpnBBUKCQgACgkQYhHr8e+637xk - PQf/aOi78XenwwvFrwXOVIVTdZIf8rK1zJksf26h09UD8uVV6z5iiTcpn86+eN9p - 6Ar8IH3tD+JuFnPSwZ/r9MNC2XZwenYo4Gb14jqM6/9hBe328vmeM4Y1G7bD4HrL - kgV5WEyokqm3zbp3FBLr3Vh68TAC5JB9aHevra+cCA2u3vBNI3YUM5z4TdO150P3 - J00whkqImQEUni8bgxvllBLFM+uhucsX3HZWkoDEpotbg8yd0bqMkiPEyMr1OnJq - eDVDMrB5wnyLgLFfRAAw3mopM0C1PNOAHr/BIYiaDHX2OwnOfep8rMDoRVf2Ge0D - DBgsJJ6LduQHLeg403SHWL2F6YkCHAQTAQIABgUCQYPWUgAKCRBcD5boTsFta+r9 - EACWVis7YcaGkKKgRB/5ox8rM36XVhMXdh/hnnGHt5rapbbRRkRHRcWU8WIcFO1A - 59+TfwNNd8gN1MEt/5aX5KHWVKHBDexJgIxm6Dm1pisYHf/dnYQPM18hmqqwNlKY - 97hFkPpHd7enrtc/SvGbQhhLXYlpwBrdMl76e9xJLnnrRQksxegGPo8cr+C9HTs1 - Lwa8zzBxyBwYBYX+0moDkDShEhuXx6mEOXrGvQanJuIvpoIwGH+62E65MbJGlwWp - w/MAtm2jFhBIhGV0bqJCFp9zIgdNgfskBaPr0oilbuJQZqP0Iqe/6CCt4XkS51yW - ZqxjLAFpEpvDec4PGw3witKf/koGon9X8C035+nEjLBrWy18Q91vw2USyLI+mm9d - iMAS8pY2gomfxBO2VwYHJryZykjCYQkccRA1tHteRj4gqTObo0Ak47y5MnplTWwi - 40oP7K2cfhCRBmMioxmYES4xsHEupfRBo3xr1Jq9q0t688WTT1NXHPMPoueF9mKZ - Cf2pa9aHsqBmWTm3sCaNQKGubCDBEUmJUyndmSatJyYM7NVYoUp6EfqMACFuTNdB - sjKMh7aWVikQpbJDfA1BIU3lZeqgjgrghVAWkEOBfhG0IVZj+RVCJpsqoTJ8asY2 - VreArSCyr/VnLEnfuH/QpgvCiCbepo3E34DJt4SaAOO2ZohGBBARAgAGBQJMGVc1 - AAoJEKY/LL36AvvMgsoAn2G7kXd09BF7ffk1Sfh174SVrvM9AKC7+R7x0+yV3SCd - JkkUOo3xR5cOxw== - =1QuR - -----END PGP PUBLIC KEY BLOCK----- |