diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2015-03-06 17:12:09 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2015-03-06 17:13:38 +0100 |
commit | d03a49e328fba990b3e159a37cce9531a7021195 (patch) | |
tree | 9f6f21316db9ed8b0f62ae874b1e8d3cf439bd53 | |
parent | 19c6f3e0f5b4b00d63edebf6248cc04756a124ca (diff) | |
download | gnutls-d03a49e328fba990b3e159a37cce9531a7021195.tar.gz |
README: converted to mark-down
-rw-r--r-- | README | 63 | ||||
-rw-r--r-- | README-alpha | 81 |
2 files changed, 81 insertions, 63 deletions
@@ -1,15 +1,14 @@ -GnuTLS README -- Important introductory notes. -Copyright (C) 2000-2012 Free Software Foundation, Inc. -See the end of this document for copying conditions. +GnuTLS README -- Important introductory notes +============================================= GnuTLS implements the TLS/SSL (Transport Layer Security aka Secure Sockets Layer) protocol. GnuTLS is a GNU project. Additional -information can be found at <http://www.gnutls.org/> -and <http://www.gnutls.org/>. +information can be found at <http://www.gnutls.org/>. README ------- +====== + This README is targeted for users of the library who build from sources but do not necessarily develop. If you are interested in developing and contributing to the GnuTLS project, please @@ -18,48 +17,47 @@ http://www.gnutls.org/manual/html_node/Contributing.html. COMPILATION ------------ +=========== + A typical command sequence for building the library is shown below. A complete list of options available for configure can be found by running './configure --help'. +``` cd gnutls-<version> ./configure --prefix=/usr make make check sudo make install +``` The commands above build and install the static archive (libgnutls.a), the shared object (libgnutls.so), and additional binaries such as certtool and gnutls-cli. The library depends on libnettle and gmplib. - * gmplib: for big number arithmetic - http://gmplib.org/ - * nettle: for cryptographic algorithms - http://www.lysator.liu.se/~nisse/nettle/ +* gmplib: for big number arithmetic, http://gmplib.org/ +* nettle: for cryptographic algorithms, http://www.lysator.liu.se/~nisse/nettle/ Versions 2.10.3 and prior used libgcrypt as the default cryptographic library. Optionally it may use the following libraries: - * libtasn1: For ASN.1 parsing (a copy is included, if not found) - http://www.gnu.org/software/libtasn1/ - * p11-kit: for smart card support - http://p11-glue.freedesktop.org/p11-kit.html - * libtspi: for Trusted Platform Module (TPM) support, - http://trousers.sourceforge.net/ - * libunbound: For DNSSEC/DANE support, - http://unbound.net/ - * libz: For compression support. - http://www.zlib.net/ +* libtasn1: For ASN.1 parsing (a copy is included, if not found), http://www.gnu.org/software/libtasn1/ +* p11-kit: for smart card support, http://p11-glue.freedesktop.org/p11-kit.html +* libtspi: for Trusted Platform Module (TPM) support, http://trousers.sourceforge.net/ +* libunbound: For DNSSEC/DANE support, http://unbound.net/ +* libz: For compression support, http://www.zlib.net/ +* libidn: For supporting internationalized DNS names, http://www.gnu.org/software/libidn/ To configure libnettle for installation and use by GnuTLS, a typical command sequence would be: +``` cd nettle-<version> ./configure --prefix=/usr --disable-openssl --enable-shared make sudo make install +``` For the Nettle project, --enable-shared will instruct automake and friends to build and install both the static archive (libnettle.a) @@ -74,19 +72,22 @@ and zlib, may be required. DOCUMENTATION -------------- +============= + See the documentation in doc/ and online at http://www.gnutls.org/manual. EXAMPLES --------- +======== + See the examples in doc/examples/ and online at 'How To Use GnuTLS in Applications' at http://www.gnutls.org/manual. SECURITY ADVISORIES -------------------- +=================== + The project collects and publishes information on past security incidents and vulnerabilities. Open information exchange, including information which is [sometimes] suppressed in non-open or non-free @@ -95,13 +96,15 @@ http://www.gnutls.org/security.html. MAILING LISTS -------------- +============= + The GnuTLS project maintains mailing lists for users, developers, and commits. Please see http://www.gnutls.org/lists.html. LICENSING ---------- +========= + Since GnuTLS version 3.1.10, the core library has been released under the GNU Lesser General Public License (LGPL) version 2.1 or later. @@ -121,7 +124,8 @@ note that the range specifies every single year in that closed interval. BUGS ----- +==== + Thorough testing is very important and expensive. Often, the developers do not have access to a particular piece of hardware or configuration to reproduce a scenario. Notifying the developers about a @@ -140,7 +144,8 @@ Additional information can be found at the project's manual. PATCHES -------- +======= + Patches are welcome and encouraged. Patches can be submitted through the bug tracking system or the mailing list. When submitting patches, please be sure to use sources from the git repository, and preferrably from the @@ -148,10 +153,12 @@ master branch. To create a patch for the project from a local git repository, please use the following commands. 'gnutls' should be the local directory of a previous git clone. +``` cd gnutls git add the-file-you-modified.c another-file.c git commit the-file-you-modified.c another-file.c git format-patch +``` For more information on use of Git, visit http://git-scm.com/ diff --git a/README-alpha b/README-alpha index e2968ff954..ea70faa340 100644 --- a/README-alpha +++ b/README-alpha @@ -1,89 +1,100 @@ -GnuTLS README-alpha -- Information for developers. -*- outline -*- -Copyright (C) 2009-2012 Free Software Foundation, Inc. -See the end for copying conditions. +GnuTLS README-alpha -- Information for developers +================================================= This file contains instructions for developers and advanced users that want to build from version controlled sources. We require several tools to check out and build the software, including: -- Make <http://www.gnu.org/software/make/> -- Automake <http://www.gnu.org/software/automake/> (use 1.11.3 or later) -- Autoconf <http://www.gnu.org/software/autoconf/> -- Autogen <http://www.gnu.org/software/autogen/> (use 5.16 or later) -- Libtool <http://www.gnu.org/software/libtool/> -- Gettext <http://www.gnu.org/software/gettext/> -- Texinfo <http://www.gnu.org/software/texinfo/> -- Tar <http://www.gnu.org/software/tar/> -- Gzip <http://www.gnu.org/software/gzip/> -- Texlive & epsf <http://www.tug.org/texlive/> (for PDF manual) -- CVS <http://www.gnu.org/software/cvs/> (for gettext autopoint) -- GTK-DOC <http://www.gtk.org/gtk-doc/> (for API manual) -- Git <http://git-scm.com/> -- Perl <http://www.cpan.org/> -- Valgrind <http://valgrind.org/> (optional) -- Nettle <http://www.lysator.liu.se/~nisse/nettle/> -- Guile <http://www.gnu.org/software/guile/> -- p11-kit <http://p11-glue.freedesktop.org/p11-kit.html> -- gperf <http://www.gnu.org/software/gperf/> -- libtasn1 <http://josefsson.org/libtasn1/> (optional) -- datefudge <http://packages.debian.org/datefudge> (optional) -- Libidn <http://www.gnu.org/software/libidn/> (optional, for crywrap) -- AWK <http://www.gnu.org/software/awk/> (for make dist, pmccabe2html) -- git2cl <http://savannah.nongnu.org/projects/git2cl/> (for make dist, ChangeLog) -- softhsm <http://www.opendnssec.org/softhsm/> (for testing smart card support) -- dieharder <http://www.phy.duke.edu/~rgb/General/dieharder.php> (for testing PRNG) -- bison <http://www.gnu.org/software/bison> (for datetime parser in certtool) -- libunbound <https://unbound.net/> (for DANE support) -- nodejs <http://nodejs.org/> (needed for certain test cases) -- abi-compliance-checker <http://ispras.linuxbase.org/index.php/ABI_compliance_checker> (for make dist) +* Make <http://www.gnu.org/software/make/> +* Automake <http://www.gnu.org/software/automake/> (use 1.11.3 or later) +* Autoconf <http://www.gnu.org/software/autoconf/> +* Autogen <http://www.gnu.org/software/autogen/> (use 5.16 or later) +* Libtool <http://www.gnu.org/software/libtool/> +* Gettext <http://www.gnu.org/software/gettext/> +* Texinfo <http://www.gnu.org/software/texinfo/> +* Tar <http://www.gnu.org/software/tar/> +* Gzip <http://www.gnu.org/software/gzip/> +* Texlive & epsf <http://www.tug.org/texlive/> (for PDF manual) +* CVS <http://www.gnu.org/software/cvs/> (for gettext autopoint) +* GTK-DOC <http://www.gtk.org/gtk-doc/> (for API manual) +* Git <http://git-scm.com/> +* Perl <http://www.cpan.org/> +* Valgrind <http://valgrind.org/> (optional) +* Nettle <http://www.lysator.liu.se/~nisse/nettle/> +* Guile <http://www.gnu.org/software/guile/> +* p11-kit <http://p11-glue.freedesktop.org/p11-kit.html> +* gperf <http://www.gnu.org/software/gperf/> +* libtasn1 <http://josefsson.org/libtasn1/> (optional) +* datefudge <http://packages.debian.org/datefudge> (optional) +* Libidn <http://www.gnu.org/software/libidn/> (optional, for internationalization of DNS) +* AWK <http://www.gnu.org/software/awk/> (for make dist, pmccabe2html) +* git2cl <http://savannah.nongnu.org/projects/git2cl/> (for make dist, ChangeLog) +* softhsm <http://www.opendnssec.org/softhsm/> (for testing smart card support) +* dieharder <http://www.phy.duke.edu/~rgb/General/dieharder.php> (for testing PRNG) +* bison <http://www.gnu.org/software/bison> (for datetime parser in certtool) +* libunbound <https://unbound.net/> (for DANE support) +* nodejs <http://nodejs.org/> (needed for certain test cases) +* abi-compliance-checker <http://ispras.linuxbase.org/index.php/ABI_compliance_checker> (for make dist) The required software is typically distributed with your operating system, and the instructions for installing them differ. Here are some hints: gNewSense/Debian/Ubuntu: +``` apt-get install git-core autoconf libtool gettext autopoint apt-get install texinfo texlive texlive-generic-recommended texlive-extra-utils apt-get install help2man gtk-doc-tools valgrind apt-get install guile-2.0-dev libtasn1-6-dev apt-get install libidn11-dev gawk gperf apt-get install libunbound-dev dns-root-data bison +``` You will sometimes need to install more recent versions of Automake, Nettle, P11-kit and Autogen, which you will need to build from sources. If your system has the recent versions, you could do: +``` apt-get install automake autogen nettle-dev libp11-kit-dev - +``` For basic interoperability testing you may want to install openssl and polarssl. The packages below are used during make check. +``` apt-get install libpolarssl-runtime openssl apt-get install nodejs softhsm datefudge - +``` To download the version controlled sources: +``` $ git clone git://gitorious.org/gnutls/gnutls.git $ cd gnutls +``` The next step is to run autoreconf (etc) and then ./configure: +``` $ make bootstrap +``` When built this way, some developer defaults will be enabled. See cfg.mk for details. Then build the project normally: +``` $ make $ make check +``` Individual tests that may require additional hardware (e.g., smart cards) are: +``` $ sh tests/suite/testpkcs11 +``` If you wish to contribute, you may read more about our coding style in doc/README.CODING_STYLE. Note that when contributing code that is not |