diff options
-rw-r--r-- | doc/manual/index.rst | 36 | ||||
-rw-r--r-- | doc/security.rst | 7 | ||||
-rw-r--r-- | readme.rst | 59 | ||||
-rw-r--r-- | src/build-data/sphinx/conf.py | 35 | ||||
-rw-r--r-- | src/build-data/sphinx/disqus/page.html | 21 |
5 files changed, 55 insertions, 103 deletions
diff --git a/doc/manual/index.rst b/doc/manual/index.rst index 42f3bceb6..82d5068b4 100644 --- a/doc/manual/index.rst +++ b/doc/manual/index.rst @@ -1,13 +1,41 @@ -Introduction +Getting Started ======================================== If you need to build the library first, start with :doc:`building`. +Some Linux distributions include packages for Botan, so building from +source may not be required on your system. -References -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The :ref:`genindex` and :ref:`search` may be useful to get started. + +Books and other references +---------------------------- + +You should 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 + <https://www.cl.cam.ac.uk/~rja14/book.html>`_ by Ross Anderson + +- `Handbook of Applied Cryptography <http://www.cacr.math.uwaterloo.ca/hac/>`_ + by Alfred J. Menezes, Paul C. Van Oorschot, and Scott A. Vanstone + +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. -The :ref:`genindex` and :ref:`search` may be useful. .. toctree:: :maxdepth: 1 diff --git a/doc/security.rst b/doc/security.rst index e7e665a62..2ab105efd 100644 --- a/doc/security.rst +++ b/doc/security.rst @@ -1,7 +1,7 @@ .. highlight:: none -Security +Security Advisories ======================================== If you think you have found a security bug in Botan please contact @@ -12,12 +12,9 @@ mail please use:: Key fingerprint = 4E60 C735 51AF 2188 DF0A 5A62 78E9 8043 5712 3B60 uid Jack Lloyd <[email protected]> -This key can be found in the file ``pgpkey.txt`` or online at +This key can be found in the file ``doc/pgpkey.txt`` or online at https://keybase.io/jacklloyd and on most PGP keyservers. -Advisories ----------------------------------------- - 2016 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/readme.rst b/readme.rst index a652cb65d..93f10f930 100644 --- a/readme.rst +++ b/readme.rst @@ -8,7 +8,11 @@ and released under the permissive `Simplified BSD Botan's goal is to be the best option for cryptography in new C++ code by offering the tools necessary to implement a range of practical systems, such as TLS/DTLS, PKIX certificate handling, PKCS#11 and TPM hardware support, password -hashing, and post quantum crypto schemes. Find the full feature list below. +hashing, and post quantum crypto schemes. In addition to the C++, botan has a +C89 API specifically designed to be easy to call from other languages. A Python +binding using ctypes calling the C89 API is included. + +Find the full feature list below. Development is coordinated on `GitHub <https://github.com/randombit/botan>`_ and contributions are welcome (read `doc/contributing.rst` for more info). @@ -36,14 +40,8 @@ For all the details on building the library, read the # shows available commands $ make install -The library can also be built into a single-file amalgamation for easy -inclusion into external build systems. - -In addition to C++, botan has a C89 API specifically designed to be easy -to call from other languages. A Python binding using ctypes is included. - -Continuous integration status -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Botan can also be built into a single-file amalgamation for easy inclusion into +external build systems, see the manual for details. .. image:: https://travis-ci.org/randombit/botan.svg?branch=master :target: https://travis-ci.org/randombit/botan @@ -61,8 +59,6 @@ Continuous integration status :target: https://botan-ci.kullo.net/ :alt: Kullo CI status -Static analyzer status -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: https://codecov.io/github/randombit/botan/coverage.svg?branch=master :target: https://codecov.io/github/randombit/botan :alt: Code coverage report @@ -75,11 +71,11 @@ Static analyzer status :target: https://sonarqube.com/dashboard/index/botan :alt: Sonarqube analysis -Download +Release Downloads ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -See the `change notes <https://botan.randombit.net/news.html>`_ and -`security page <https://botan.randombit.net/security.html>`_ +See the `release notes <https://botan.randombit.net/news.html>`_ and +`security advisories <https://botan.randombit.net/security.html>`_ All releases are signed with a `PGP key <https://botan.randombit.net/pgpkey.txt>`_:: @@ -116,36 +112,6 @@ The latest 1.10 release is `(sig) <https://botan.randombit.net/releases/Botan-1.10.14.tgz.asc>`_ released on 2016-11-28 -Books and other resources -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -You should 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 - (`available online <https://www.cl.cam.ac.uk/~rja14/book.html>`_) - -- *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. - Find Enclosed ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -225,8 +191,3 @@ Recommended Algorithms or ECDSA using P-256/SHA-256 or P-521/SHA-512 * Key Agreement: ECDH using P-256 or X25519. If you are concerned about quantum computers, combine ECC with NewHope. - -Code coverage map -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. image:: https://codecov.io/gh/randombit/botan/graphs/tree.svg diff --git a/src/build-data/sphinx/conf.py b/src/build-data/sphinx/conf.py index 97dc67ca8..71c032b4b 100644 --- a/src/build-data/sphinx/conf.py +++ b/src/build-data/sphinx/conf.py @@ -21,7 +21,6 @@ def check_for_tag(tag): return False is_website_build = check_for_tag('website') -use_disqus = is_website_build and check_for_tag('disqus') needs_sphinx = '1.1' @@ -29,9 +28,6 @@ extensions = ['sphinx.ext.extlinks'] templates_path = ['templates'] -if is_website_build and use_disqus: - templates_path += ['disqus'] - files_dir = 'https://botan.randombit.net/releases' extlinks = { @@ -42,8 +38,6 @@ extlinks = { 'tgz': (files_dir + '/Botan-%s.tgz', 'tar/gz for '), 'tgz_sig': (files_dir + '/Botan-%s.tgz.asc', 'tar/gz sig '), -# 'tbz': (files_dir + '/Botan-%s.tbz', 'tar/bzip for '), -# 'tbz_sig': (files_dir + '/Botan-%s.tbz.asc', 'tar/bzip sig '), 'installer_x86_32': (files_dir + '/win32/botan-%s-x86_32.exe', 'x86-32 '), 'installer_x86_64': (files_dir + '/win32/botan-%s-x86_64.exe', 'x86-64 '), @@ -59,7 +53,7 @@ source_encoding = 'utf-8-sig' master_doc = 'contents' project = u'botan' -copyright = u'2000-2016, Jack Lloyd' +copyright = u'2000-2017, The Botan Authors' version = '%d.%d' % (botan_version.release_major, botan_version.release_minor) @@ -101,23 +95,16 @@ pygments_style = 'sphinx' # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'agogo' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -html_theme_options = { - 'linkcolor': 'blue', - 'headerlinkcolor': 'blue', - 'headercolor1': 'darkblue', - 'headercolor2': 'darkblue', - 'textalign': 'left', - 'pagewidth': '70em', - 'documentwidth': '50em' - } - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] + +try: + # On Arch this is python-sphinx_rtd_theme + import sphinx_rtd_theme + html_theme = "sphinx_rtd_theme" + html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] +except ImportError as e: + html_theme = 'agogo' + html_theme_path = [] + print("Ignoring ImportError and using old theme") # The name for this set of Sphinx documents. If None, it defaults to # "<project> v<release> documentation". diff --git a/src/build-data/sphinx/disqus/page.html b/src/build-data/sphinx/disqus/page.html deleted file mode 100644 index 56e102044..000000000 --- a/src/build-data/sphinx/disqus/page.html +++ /dev/null @@ -1,21 +0,0 @@ -{% extends "!page.html" %} - -{% block body %} -{{ super() }} - -<div id="disqus_thread"></div> -<script type="text/javascript"> - var disqus_shortname = 'botan'; - - var disqus_identifier = 'botan_{{ pagename }}'; - var disqus_url = 'http://botan.randombit.net/{{ pagename }}.html'; - - (function() { - var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; - dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; - (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); - })(); -</script> -<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> - -{% endblock %} |