Blame INSTALL.md

Packit Service 4684c1
GnuTLS README -- Important introductory notes
Packit Service 4684c1
=============================================
Packit Service 4684c1
Packit Service 4684c1
GnuTLS implements the TLS/SSL (Transport Layer Security aka Secure
Packit Service 4684c1
Sockets Layer) protocol.  GnuTLS is a GNU project.  Additional
Packit Service 4684c1
information can be found at <https://www.gnutls.org/>.
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
README
Packit Service 4684c1
======
Packit Service 4684c1
Packit Service 4684c1
This README is targeted for users of the library who build from
Packit Service 4684c1
sources but do not necessarily develop.  If you are interested
Packit Service 4684c1
in developing and contributing to the GnuTLS project, please
Packit Service 4684c1
see README-alpha and visit
Packit Service 4684c1
https://www.gnutls.org/manual/html_node/Contributing.html.
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
COMPILATION
Packit Service 4684c1
===========
Packit Service 4684c1
Packit Service 4684c1
A typical command sequence for building the library is shown below.
Packit Service 4684c1
A complete list of options available for configure can be found
Packit Service 4684c1
by running './configure --help'.
Packit Service 4684c1
Packit Service 4684c1
```
Packit Service 4684c1
    cd gnutls-<version>
Packit Service 4684c1
    ./configure --prefix=/usr
Packit Service 4684c1
    make
Packit Service 4684c1
    make check
Packit Service 4684c1
    sudo make install
Packit Service 4684c1
```
Packit Service 4684c1
Packit Service 4684c1
The commands above build and install the static archive (libgnutls.a),
Packit Service 4684c1
the shared object (libgnutls.so), and additional binaries such as certtool 
Packit Service 4684c1
and gnutls-cli.
Packit Service 4684c1
Packit Service 4684c1
The library depends on libnettle and gmplib. 
Packit Service 4684c1
* gmplib: for big number arithmetic, https://gmplib.org/
Packit Service 4684c1
* nettle: for cryptographic algorithms, https://www.lysator.liu.se/~nisse/nettle/
Packit Service 4684c1
Packit Service 4684c1
Optionally it may use the following libraries:
Packit Service 4684c1
* libtasn1: For ASN.1 parsing (a copy is included, if not found), https://www.gnu.org/software/libtasn1/
Packit Service 4684c1
* p11-kit: for smart card support, https://p11-glue.github.io/p11-glue/p11-kit.html
Packit Service 4684c1
* libtspi: for Trusted Platform Module (TPM) support, https://trousers.sourceforge.net/
Packit Service 4684c1
* libunbound: For DNSSEC/DANE support, https://unbound.net/
Packit Service 4684c1
* libz: For compression support, https://www.zlib.net/
Packit Service 4684c1
* libidn: For supporting internationalized DNS names (IDNA 2003), https://www.gnu.org/software/libidn/
Packit Service 4684c1
* libidn2: For supporting internationalized DNS names (IDNA 2008), https://www.gnu.org/software/libidn/#libidn2
Packit Service 4684c1
Packit Service 4684c1
To configure libnettle for installation and use by GnuTLS, a typical
Packit Service 4684c1
command sequence would be:
Packit Service 4684c1
Packit Service 4684c1
```
Packit Service 4684c1
    cd nettle-<version>
Packit Service 4684c1
    ./configure --prefix=/usr --disable-openssl --enable-shared
Packit Service 4684c1
    make
Packit Service 4684c1
    sudo make install
Packit Service 4684c1
```
Packit Service 4684c1
Packit Service 4684c1
For the Nettle project, --enable-shared will instruct automake and
Packit Service 4684c1
friends to build and install both the static archive (libnettle.a)
Packit Service 4684c1
and the shared object (libnettle.so).
Packit Service 4684c1
Packit Service 4684c1
In case you are compiling for an embedded system, you can disable
Packit Service 4684c1
unneeded features of GnuTLS.  In general, it is usually best not to
Packit Service 4684c1
disable anything (for future mailing list questions and possible bugs).
Packit Service 4684c1
Packit Service 4684c1
Depending on your installation, additional libraries, such as libtasn1
Packit Service 4684c1
and zlib, may be required.
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
DOCUMENTATION
Packit Service 4684c1
=============
Packit Service 4684c1
Packit Service 4684c1
See the documentation in doc/ and online at
Packit Service 4684c1
https://www.gnutls.org/manual.
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
EXAMPLES
Packit Service 4684c1
========
Packit Service 4684c1
Packit Service 4684c1
See the examples in doc/examples/ and online at 'How To Use GnuTLS in
Packit Service 4684c1
Applications' at https://www.gnutls.org/manual.
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
SECURITY ADVISORIES
Packit Service 4684c1
===================
Packit Service 4684c1
Packit Service 4684c1
The project collects and publishes information on past security
Packit Service 4684c1
incidents and vulnerabilities.  Open information exchange, including
Packit Service 4684c1
information which is [sometimes] suppressed in non-open or non-free
Packit Service 4684c1
projects, is one of the goals of the GnuTLS project.  Please visit
Packit Service 4684c1
https://www.gnutls.org/security.html.
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
MAILING LISTS
Packit Service 4684c1
=============
Packit Service 4684c1
Packit Service 4684c1
The GnuTLS project maintains mailing lists for users, developers, and
Packit Service 4684c1
commits.  Please see https://www.gnutls.org/lists.html.
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
LICENSING
Packit Service 4684c1
=========
Packit Service 4684c1
Packit Service 4684c1
See the [LICENSE](LICENSE) file.
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
BUGS
Packit Service 4684c1
====
Packit Service 4684c1
Packit Service 4684c1
Thorough testing is very important and expensive.  Often, the 
Packit Service 4684c1
developers do not have access to a particular piece of hardware or 
Packit Service 4684c1
configuration to reproduce a scenario.  Notifying the developers about a 
Packit Service 4684c1
possible bug will greatly help the project.  
Packit Service 4684c1
Packit Service 4684c1
If you believe you have found a bug, please report it to bugs@gnutls.org
Packit Service 4684c1
together with any applicable information. 
Packit Service 4684c1
Packit Service 4684c1
Applicable information would include why the issue is a GnuTLS bug (if
Packit Service 4684c1
not readily apparent), output from 'uname -a', the version of the library or
Packit Service 4684c1
tool being used, a stack trace if available ('bt full' if under gdb or
Packit Service 4684c1
valgrind output), and perhaps a network trace.  Vague queries or piecemeal 
Packit Service 4684c1
messages are difficult to act upon and don't help the development effort.
Packit Service 4684c1
Packit Service 4684c1
Additional information can be found at the project's manual.
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
PATCHES
Packit Service 4684c1
=======
Packit Service 4684c1
Packit Service 4684c1
Patches are welcome and encouraged. Patches can be submitted through the 
Packit Service 4684c1
bug tracking system or the mailing list.  When submitting patches, please 
Packit Service 4684c1
be sure to use sources from the git repository, and preferably from the 
Packit Service 4684c1
master branch.  To create a patch for the project from a local git repository, 
Packit Service 4684c1
please use the following commands. 'gnutls' should be the local directory 
Packit Service 4684c1
of a previous git clone.
Packit Service 4684c1
Packit Service 4684c1
```
Packit Service 4684c1
    cd gnutls
Packit Service 4684c1
    git add the-file-you-modified.c another-file.c
Packit Service 4684c1
    git commit the-file-you-modified.c another-file.c
Packit Service 4684c1
    git format-patch
Packit Service 4684c1
```
Packit Service 4684c1
Packit Service 4684c1
For more information on use of Git, visit https://git-scm.com/
Packit Service 4684c1
Packit Service 4684c1
----------------------------------------------------------------------
Packit Service 4684c1
Copying and distribution of this file, with or without modification,
Packit Service 4684c1
are permitted in any medium without royalty provided the copyright
Packit Service 4684c1
notice and this notice are preserved.