1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
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/>.
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
see README-alpha and visit
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/
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/
* 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)
and the shared object (libnettle.so).
In case you are compiling for an embedded system, you can disable
unneeded features of GnuTLS. In general, it is usually best not to
disable anything (for future mailing list questions and possible bugs).
Depending on your installation, additional libraries, such as libtasn1
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
projects, is one of the goals of the GnuTLS project. Please visit
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.
Note, however, that version 6.0.0 and later of the gmplib library used
by GnuTLS are distributed under a LGPLv3+ or GPLv2+ dual license, and
as such binaries of this library need to adhere to either LGPLv3+ or
GPLv2+ license.
The GNU LGPL applies to the main GnuTLS library, while the
included applications as well as gnutls-openssl
library are under the GNU GPL version 3. The gnutls library is
located in the lib/ and libdane/ directories, while the applications
in src/ and, the gnutls-openssl library is at extra/.
For any copyright year range specified as YYYY-ZZZZ in this package
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
possible bug will greatly help the project.
If you believe you have found a bug, please report it to bugs@gnutls.org
together with any applicable information.
Applicable information would include why the issue is a GnuTLS bug (if
not readily apparent), output from 'uname -a', the version of the library or
tool being used, a stack trace if available ('bt full' if under gdb or
valgrind output), and perhaps a network trace. Vague queries or piecemeal
messages are difficult to act upon and don't help the development effort.
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
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/
----------------------------------------------------------------------
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
|