summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2015-03-06 17:12:09 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2015-03-06 17:13:38 +0100
commitd03a49e328fba990b3e159a37cce9531a7021195 (patch)
tree9f6f21316db9ed8b0f62ae874b1e8d3cf439bd53
parent19c6f3e0f5b4b00d63edebf6248cc04756a124ca (diff)
downloadgnutls-d03a49e328fba990b3e159a37cce9531a7021195.tar.gz
README: converted to mark-down
-rw-r--r--README63
-rw-r--r--README-alpha81
2 files changed, 81 insertions, 63 deletions
diff --git a/README b/README
index 6c6ae71af7..b717c0efb9 100644
--- a/README
+++ b/README
@@ -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