summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in4
-rw-r--r--doc/Makefile.am5
-rw-r--r--doc/examples/Makefile.am4
-rw-r--r--doc/examples/ex-alert.c (renamed from doc/tex/ex-alert.tex)2
-rw-r--r--doc/examples/ex-cert-select.c (renamed from doc/tex/ex-cert-select.tex)2
-rw-r--r--doc/examples/ex-client-resume.c (renamed from doc/tex/ex-client-resume.tex)2
-rw-r--r--doc/examples/ex-client-srp.c (renamed from doc/tex/ex-client-srp.tex)2
-rw-r--r--doc/examples/ex-client2.c (renamed from doc/tex/ex-client2.tex)2
-rw-r--r--doc/examples/ex-crq.c (renamed from doc/tex/ex-crq.tex)2
-rw-r--r--doc/examples/ex-pkcs12.c (renamed from doc/tex/ex-pkcs12.tex)2
-rw-r--r--doc/examples/ex-serv-export.c (renamed from doc/tex/ex-serv-export.tex)2
-rw-r--r--doc/examples/ex-serv-pgp.c (renamed from doc/tex/ex-serv-pgp.tex)2
-rw-r--r--doc/examples/ex-serv-srp.c (renamed from doc/tex/ex-serv-srp.tex)2
-rw-r--r--doc/examples/ex-serv1.c (renamed from doc/tex/ex-serv1.tex)2
-rw-r--r--doc/examples/ex-session-info.c (renamed from doc/tex/ex-session-info.tex)2
-rw-r--r--doc/examples/ex-verify.c (renamed from doc/tex/ex-verify.tex)4
-rw-r--r--doc/examples/ex-x509-info.c (renamed from doc/tex/ex-x509-info.tex)2
-rw-r--r--doc/internals.dia (renamed from doc/tex/figures/internals.dia)bin2146 -> 2146 bytes
-rw-r--r--doc/layers.dia (renamed from doc/tex/figures/layers.dia)bin1090 -> 1090 bytes
-rw-r--r--doc/pgp1.dia (renamed from doc/tex/figures/pgp1.dia)bin1734 -> 1734 bytes
-rw-r--r--doc/scripts/Makefile.am2
-rwxr-xr-xdoc/scripts/sort1.pl21
-rw-r--r--doc/tex/.cvsignore24
-rw-r--r--doc/tex/Makefile.am80
-rw-r--r--doc/tex/alert.tex30
-rw-r--r--doc/tex/appendix.tex21
-rw-r--r--doc/tex/auth.tex150
-rw-r--r--doc/tex/callbacks.tex23
-rw-r--r--doc/tex/cert_auth.tex127
-rw-r--r--doc/tex/certificate.tex256
-rw-r--r--doc/tex/ciphers.tex65
-rw-r--r--doc/tex/ciphersuites.tex27
-rw-r--r--doc/tex/compression.tex39
-rw-r--r--doc/tex/cover.tex.in69
-rw-r--r--doc/tex/errors.tex26
-rw-r--r--doc/tex/examples.tex121
-rw-r--r--doc/tex/fdl.tex489
-rw-r--r--doc/tex/funcs.tex35
-rw-r--r--doc/tex/gnutls-logo.ps154
-rw-r--r--doc/tex/gnutls.bib161
-rw-r--r--doc/tex/gnutls.tex62
-rw-r--r--doc/tex/handshake.tex95
-rw-r--r--doc/tex/howto.tex131
-rw-r--r--doc/tex/internals.eps320
-rw-r--r--doc/tex/layers.eps183
-rw-r--r--doc/tex/layers.tex30
-rw-r--r--doc/tex/library.tex109
-rw-r--r--doc/tex/macros.tex23
-rw-r--r--doc/tex/memory.tex17
-rw-r--r--doc/tex/openssl.tex20
-rw-r--r--doc/tex/pgp-fig1.eps479
-rw-r--r--doc/tex/pgpcert.xml.tex59
-rw-r--r--doc/tex/preface.tex26
-rw-r--r--doc/tex/preparation.tex133
-rw-r--r--doc/tex/programs.tex245
-rw-r--r--doc/tex/record.tex28
-rw-r--r--doc/tex/record_weaknesses.tex16
-rw-r--r--doc/tex/srp.tex80
-rw-r--r--doc/tex/supported_ciphersuites.tex69
-rw-r--r--doc/tex/tls_extensions.tex41
-rw-r--r--doc/tex/tlsintro.tex29
-rw-r--r--doc/tex/translayer.tex31
-rw-r--r--doc/tex/x509-1.eps251
-rw-r--r--doc/tex/x509cert.xml.tex190
-rw-r--r--doc/x509-1.dia (renamed from doc/tex/figures/x509-1.dia)bin1638 -> 1638 bytes
65 files changed, 4 insertions, 4626 deletions
diff --git a/configure.in b/configure.in
index 34ebeb9d2c..a6e778739f 100644
--- a/configure.in
+++ b/configure.in
@@ -582,8 +582,8 @@ libextra/openpgp/Makefile libextra/opencdk/Makefile \
lib/libgnutls-config libextra/libgnutls-extra-config \
doc/Makefile src/x509/Makefile src/srp/Makefile src/openpgp/Makefile \
src/cfg/Makefile src/cfg/platon/Makefile src/cfg/platon/str/Makefile \
-doc/tex/Makefile doc/tex/cover.tex doc/scripts/Makefile \
-doc/examples/Makefile lib/minitasn1/Makefile lib/x509/Makefile \
+doc/scripts/Makefile doc/examples/Makefile \
+lib/minitasn1/Makefile lib/x509/Makefile \
includes/Makefile includes/gnutls/Makefile doc/manpages/Makefile \
tests/Makefile])
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 9d720dcb68..8aea340406 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,6 +1,6 @@
EXTRA_DIST = TODO README.CVS README.autoconf certtool.cfg \
gnutls.ps gnutls.pdf gnutls.html
-SUBDIRS = tex examples scripts manpages
+SUBDIRS = scripts manpages
info_TEXINFOS = gnutls.texi
gnutls_TEXINFOS = gnutls.texi fdl.texi error_codes.texi \
@@ -40,8 +40,5 @@ x509-api.texi: ../lib/x509/x509-api.texi
pgp-api.texi: ../libextra/openpgp/pgp-api.texi
-scripts/sort2.pl < ../libextra/openpgp/pgp-api.texi > pgp-api.texi
-examples/ex-client2.c examples/ex-session-info.c examples/ex-verify.c examples/ex-cert-select.c examples/ex-client-resume.c examples/ex-client-srp.c examples/ex-serv1.c examples/ex-serv-export.c examples/ex-serv-pgp.c examples/ex-serv-srp.c examples/ex-alert.c examples/ex-x509-info.c examples/ex-crq.c examples/ex-pkcs12.c:
- cd tex && make examples
-
error_codes.texi: ../lib/gnutls_errors_int.h ../lib/gnutls_errors.c ../src/errcodes.c
-../src/errcodes > error_codes.texi
diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
deleted file mode 100644
index 2cf3cd4a67..0000000000
--- a/doc/examples/Makefile.am
+++ /dev/null
@@ -1,4 +0,0 @@
-EXTRA_DIST = ex-alert.c ex-client-resume.c ex-client-srp.c \
- ex-client2.c ex-x509-info.c ex-verify.c ex-serv-export.c ex-serv-pgp.c \
- ex-serv-srp.c ex-serv1.c ex-cert-select.c \
- ex-crq.c ex-session-info.c ex-pkcs12.c
diff --git a/doc/tex/ex-alert.tex b/doc/examples/ex-alert.c
index 464a652f66..c0ddfe64e9 100644
--- a/doc/tex/ex-alert.tex
+++ b/doc/examples/ex-alert.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -29,4 +28,3 @@ void check_alert(gnutls_session_t session, int ret)
}
}
-\end{verbatim}
diff --git a/doc/tex/ex-cert-select.tex b/doc/examples/ex-cert-select.c
index 9e3ae809a4..fb65f03ecb 100644
--- a/doc/tex/ex-cert-select.tex
+++ b/doc/examples/ex-cert-select.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -240,4 +239,3 @@ static int cert_callback(gnutls_session_t session,
}
-\end{verbatim}
diff --git a/doc/tex/ex-client-resume.tex b/doc/examples/ex-client-resume.c
index 26c403b5b8..b75a40c892 100644
--- a/doc/tex/ex-client-resume.tex
+++ b/doc/examples/ex-client-resume.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -122,4 +121,3 @@ int main()
return 0;
}
-\end{verbatim}
diff --git a/doc/tex/ex-client-srp.tex b/doc/examples/ex-client-srp.c
index 548c3e541f..ff164c7897 100644
--- a/doc/tex/ex-client-srp.tex
+++ b/doc/examples/ex-client-srp.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -114,4 +113,3 @@ int main()
return 0;
}
-\end{verbatim}
diff --git a/doc/tex/ex-client2.tex b/doc/examples/ex-client2.c
index 9be2bf4037..8e762f8c73 100644
--- a/doc/tex/ex-client2.tex
+++ b/doc/examples/ex-client2.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -136,4 +135,3 @@ int main()
return 0;
}
-\end{verbatim}
diff --git a/doc/tex/ex-crq.tex b/doc/examples/ex-crq.c
index a307a935c3..a37c50b70b 100644
--- a/doc/tex/ex-crq.tex
+++ b/doc/examples/ex-crq.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -80,4 +79,3 @@ int main()
}
-\end{verbatim}
diff --git a/doc/tex/ex-pkcs12.tex b/doc/examples/ex-pkcs12.c
index 4ba81b9535..9b988b9f92 100644
--- a/doc/tex/ex-pkcs12.tex
+++ b/doc/examples/ex-pkcs12.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -121,4 +120,3 @@ int write_pkcs12(const gnutls_datum_t * cert, const gnutls_datum_t * pkcs8_key,
}
-\end{verbatim}
diff --git a/doc/tex/ex-serv-export.tex b/doc/examples/ex-serv-export.c
index b83d3cda3d..3f0d57d860 100644
--- a/doc/tex/ex-serv-export.tex
+++ b/doc/examples/ex-serv-export.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -323,4 +322,3 @@ static int wrap_db_delete(void *dbf, gnutls_datum_t key)
}
-\end{verbatim}
diff --git a/doc/tex/ex-serv-pgp.tex b/doc/examples/ex-serv-pgp.c
index 44f98ad231..b082a87224 100644
--- a/doc/tex/ex-serv-pgp.tex
+++ b/doc/examples/ex-serv-pgp.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -149,4 +148,3 @@ int main()
}
-\end{verbatim}
diff --git a/doc/tex/ex-serv-srp.tex b/doc/examples/ex-serv-srp.c
index 5fb7ba2796..e73baf048f 100644
--- a/doc/tex/ex-serv-srp.tex
+++ b/doc/examples/ex-serv-srp.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -167,4 +166,3 @@ int main()
}
-\end{verbatim}
diff --git a/doc/tex/ex-serv1.tex b/doc/examples/ex-serv1.c
index 8b935a2b1d..7f57d8cde0 100644
--- a/doc/tex/ex-serv1.tex
+++ b/doc/examples/ex-serv1.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -179,4 +178,3 @@ int main()
}
-\end{verbatim}
diff --git a/doc/tex/ex-session-info.tex b/doc/examples/ex-session-info.c
index cc0ffb8b8e..a68af6eebb 100644
--- a/doc/tex/ex-session-info.tex
+++ b/doc/examples/ex-session-info.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -82,4 +81,3 @@ int print_info(gnutls_session_t session)
return 0;
}
-\end{verbatim}
diff --git a/doc/tex/ex-verify.tex b/doc/examples/ex-verify.c
index 164ee58e03..a82a7baa13 100644
--- a/doc/tex/ex-verify.tex
+++ b/doc/examples/ex-verify.c
@@ -1,7 +1,4 @@
-\index{Verifying certificate chains}
-\label{ex:verify-chain}
-\begin{verbatim}
#include <stdio.h>
#include <gnutls/gnutls.h>
@@ -191,4 +188,3 @@ static void verify_last_cert(gnutls_x509_crt_t crt,
}
}
-\end{verbatim}
diff --git a/doc/tex/ex-x509-info.tex b/doc/examples/ex-x509-info.c
index a6b27a4c37..10f752eaf5 100644
--- a/doc/tex/ex-x509-info.tex
+++ b/doc/examples/ex-x509-info.c
@@ -1,4 +1,3 @@
-\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>
@@ -97,4 +96,3 @@ static void print_x509_certificate_info(gnutls_session_t session)
}
}
-\end{verbatim}
diff --git a/doc/tex/figures/internals.dia b/doc/internals.dia
index 25088e7b15..25088e7b15 100644
--- a/doc/tex/figures/internals.dia
+++ b/doc/internals.dia
Binary files differ
diff --git a/doc/tex/figures/layers.dia b/doc/layers.dia
index ad1384e35f..ad1384e35f 100644
--- a/doc/tex/figures/layers.dia
+++ b/doc/layers.dia
Binary files differ
diff --git a/doc/tex/figures/pgp1.dia b/doc/pgp1.dia
index 3c767cde09..3c767cde09 100644
--- a/doc/tex/figures/pgp1.dia
+++ b/doc/pgp1.dia
Binary files differ
diff --git a/doc/scripts/Makefile.am b/doc/scripts/Makefile.am
index 67b9fead24..a07d476aec 100644
--- a/doc/scripts/Makefile.am
+++ b/doc/scripts/Makefile.am
@@ -1 +1 @@
-EXTRA_DIST = gdoc sort1.pl
+EXTRA_DIST = gdoc sort2.pl
diff --git a/doc/scripts/sort1.pl b/doc/scripts/sort1.pl
deleted file mode 100755
index 9d31ed4e81..0000000000
--- a/doc/scripts/sort1.pl
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/perl
-
-sub key_of_record {
- local($record) = @_;
-
- # Split record into lines:
- my @lines = split /\n/, $record;
-
- my ($i) = 1;
- my ($key) = $lines[$i];
-
- while( !($key =~ m/^\\label(.*)/) && ($i < 5)) { $i=$i+1; $key = $lines[$i]; }
-
- return $key;
-}
-
-$/="\n\n\n"; # Records are separated by blank lines.
-@records = <>; # Read in whole file, one record per array element.
-
-@records = sort { key_of_record($a) cmp key_of_record($b) } @records;
-print @records;
diff --git a/doc/tex/.cvsignore b/doc/tex/.cvsignore
deleted file mode 100644
index 2ca808de78..0000000000
--- a/doc/tex/.cvsignore
+++ /dev/null
@@ -1,24 +0,0 @@
-Makefile
-Makefile.in
-gnutls-api.tex
-gnutls-extra-api.tex
-*.aux
-*.ps
-*.dvi
-*.toc
-*.log
-*.png
-*.html
-WARNINGS
-*.css
-asn1-api.tex
-*.pl
-cover.tex
-error_codes.tex
-*.bbl
-*.blg
-*.idx
-*.ilg
-*.ind
-pgp-api.tex
-x509-api.tex
diff --git a/doc/tex/Makefile.am b/doc/tex/Makefile.am
deleted file mode 100644
index 5ca4392194..0000000000
--- a/doc/tex/Makefile.am
+++ /dev/null
@@ -1,80 +0,0 @@
-EXTRA_DIST = gnutls.tex gnutls.ps \
- fdl.tex cover.tex.in gnutls-logo.ps layers.eps pgp-fig1.eps \
- x509-1.eps internals.eps gnutls.bib $(TEX_OBJECTS)
-
-# If you add any examples here, also change the ../examples/Makefile.am
-# to include the C source.
-EXAMPLE_OBJECTS = ex-alert.tex ex-client-srp.tex ex-serv-export.tex \
- ex-client2.tex ex-x509-info.tex ex-verify.tex \
- ex-serv1.tex ex-client-resume.tex ex-serv-srp.tex \
- ex-serv-pgp.tex ex-cert-select.tex \
- ex-crq.tex ex-session-info.tex ex-pkcs12.tex
-
-TEX_OBJECTS = gnutls.tex ../../lib/gnutls-api.tex fdl.tex ../../lib/x509/x509-api.tex \
- ../../libextra/openpgp/pgp-api.tex \
- macros.tex cover.tex ciphersuites.tex handshake.tex translayer.tex \
- auth.tex ciphers.tex errors.tex layers.tex alert.tex record.tex \
- funcs.tex examples.tex ../../libextra/gnutls-extra-api.tex \
- memory.tex cert_auth.tex howto.tex openssl.tex \
- appendix.tex x509cert.xml.tex pgpcert.xml.tex \
- programs.tex library.tex certificate.tex record_weaknesses.tex \
- tlsintro.tex compression.tex $(EXAMPLE_OBJECTS) preface.tex \
- tls_extensions.tex srp.tex preparation.tex callbacks.tex \
- supported_ciphersuites.tex
-
-gnutls.html: build_api_pgp build_api_lib build_api_x509 build_api_extra $(TEX_OBJECTS)
- -latex2html gnutls.tex -no_navigation -split 0 \
- -local_icons -html_version 3.2,math -info "" -white
-
-build_api_lib:
- cd ../../lib && make gnutls-api.tex
-
-build_api_x509:
- cd ../../lib/x509 && make x509-api.tex
-
-build_api_pgp:
- cd ../../libextra/openpgp && make pgp-api.tex
-
-build_api_extra:
- cd ../../libextra && make gnutls-extra-api.tex
-
-error_codes.tex: ../../lib/gnutls_errors_int.h ../../lib/gnutls_errors.c
- -../../src/retcodes > error_codes.tex
-
-gnutls-api.tex: ../../lib/gnutls-api.tex
- -../scripts/sort1.pl < ../../lib/gnutls-api.tex > gnutls-api.tex
-
-gnutls-extra-api.tex: ../../libextra/gnutls-extra-api.tex
- -../scripts/sort1.pl < ../../libextra/gnutls-extra-api.tex > gnutls-extra-api.tex
-
-x509-api.tex: ../../lib/x509/x509-api.tex
- -../scripts/sort1.pl < ../../lib/x509/x509-api.tex > x509-api.tex
-
-pgp-api.tex: ../../libextra/openpgp/pgp-api.tex
- -../scripts/sort1.pl < ../../libextra/openpgp/pgp-api.tex > pgp-api.tex
-
-DOC_OBJECTS = pgp-api.tex x509-api.tex gnutls-api.tex gnutls-extra-api.tex error_codes.tex
-
-gnutls.ps: build_api_lib build_api_x509 build_api_extra $(TEX_OBJECTS) $(DOC_OBJECTS)
- -latex gnutls.tex
- -bibtex gnutls
- -makeindex gnutls.idx
- -latex gnutls.tex && latex gnutls.tex && dvips gnutls.dvi -o gnutls.ps
-
-clean:
- @-rm *.log *.aux *.toc *.png *.old *.html *.css *~
- @-rm *.pl gnutls.dvi
- @-rm WARNINGS gnutls-api.tex gnutls-extra-api.tex error_codes.tex x509-api.tex
-
-examples: $(EXAMPLE_OBJECTS)
- @echo "Generating example programs... "
- @echo "They will be placed in doc/examples/ directory."
- @echo ""
- @for i in $(EXAMPLE_OBJECTS); do \
- out=`echo -n $$i|sed s/\.tex//`; \
- cat $$i|grep -v "^\\\\" > ../examples/$$out.c; \
- done
-
-dist-hook: examples
-
-.PHONY: build_api_lib build_api_x509 build_api_extra
diff --git a/doc/tex/alert.tex b/doc/tex/alert.tex
deleted file mode 100644
index 58ae1727c1..0000000000
--- a/doc/tex/alert.tex
+++ /dev/null
@@ -1,30 +0,0 @@
-\section{The TLS alert protocol}
-\label{alert}
-
-The Alert\index{TLS protocols!Alert} protocol
-is there to allow signals to be sent between peers.
-These signals are mostly used to inform the peer about the cause of
-a protocol failure. Some of these signals are used internally by the
-protocol and the application protocol does not have to cope with them
-(see \emph{GNUTLS\_A\_CLOSE\_NOTIFY}), and others refer to the
-application protocol solely (see \emph{GNUTLS\_A\_USER\_CANCELLED}).
-An alert signal includes a level indication which may be either
-fatal or warning. Fatal alerts always terminate the current connection,
-and prevent future renegotiations using the current session ID.
-
-\par The alert messages are protected by the record protocol, thus
-the information that is included does not leak. You must take
-extreme care for the alert information not to leak to a possible attacker,
-via public log files etc.
-
-\par
-\begin{itemize}
-\item \printfunc{gnutls_alert_send}{gnutls\_alert\_send}:
-to send an alert signal.
-\item \printfunc{gnutls_error_to_alert}{gnutls\_error\_to\_alert}:
-to map a gnutls error number to an alert signal.
-\item \printfunc{gnutls_alert_get}{gnutls\_alert\_get}:
-returns the last received alert.
-\item \printfunc{gnutls_alert_get_name}{gnutls\_alert\_get\_name}:
-returns the name, in a character array, of the given alert.
-\end{itemize}
diff --git a/doc/tex/appendix.tex b/doc/tex/appendix.tex
deleted file mode 100644
index d25a7c61c2..0000000000
--- a/doc/tex/appendix.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-
-\chapter{Certificate to XML\index{Certificate to XML convertion} convertion functions}
-
-\label{ap:xml}
-
-This appendix contains some example output of the XML convertion
-functions:
-\begin{itemize}
-\item \printfunc{gnutls_x509_crt_to_xml}{gnutls\_x509\_crt\_to\_xml}
-\item \printfunc{gnutls_openpgp_key_to_xml}{gnutls\_openpgp\_key\_to\_xml}
-\end{itemize}
-
-\section{An X.509 certificate}
-\input{x509cert.xml}
-
-\section{An OpenPGP key}
-\input{pgpcert.xml}
-
-\input{error_codes}
-
-\input{supported_ciphersuites}
diff --git a/doc/tex/auth.tex b/doc/tex/auth.tex
deleted file mode 100644
index 5dddd552ed..0000000000
--- a/doc/tex/auth.tex
+++ /dev/null
@@ -1,150 +0,0 @@
-\chapter{Authentication methods}
-
-The \tls{} protocol provides confidentiality and encryption, but
-also offers authentication, which is a prerequisite
-for a secure connection.
-The available authentication methods in \gnutls{} are:
-\begin{enumerate}
- \item Certificate authentication
- \item Anonymous authentication
- \item SRP authentication
-\end{enumerate}
-
-\input{cert_auth}
-
-\section{Anonymous authentication\index{Anonymous authentication}}
-The anonymous key exchange perform encryption but there is no indication of
-the identity of the peer. This kind of authentication is vulnerable to a
-man in the middle attack,
-but this protocol can be used even if there is no prior communication and
-trusted parties with the peer, or when full anonymity is required.
-Unless really required, do not use anonymous authentication.
-Available key exchange methods are shown in \hyperref{figure}{figure }{}{fig:anon}.
-\par
-Note that the key exchange methods for anonymous authentication
-require Diffie Hellman parameters to be generated and associated with an
-anonymous credentials structure.
-
-\begin{figure}[hbtp]
-\begin{tabular}{|l|p{9cm}|}
-
-\hline
-ANON\_DH & This algorithm exchanges Diffie Hellman parameters.
-\\
-\hline
-\end{tabular}
-
-\caption{Supported anonymous key exchange algorithms}
-\label{fig:anon}
-
-\end{figure}
-
-\input{srp}
-
-\section{Authentication and credentials}
-In \gnutls{} every key exchange method is associated with a
-credentials type. So in order to enable to enable a specific
-method, the corresponding credentials type should be initialized
-and set using \printfunc{gnutls_credentials_set}{gnutls\_credentials\_set}.
-A mapping is shown in \hyperref{figure}{figure }{}{fig:kxcred}.
-
-\begin{figure}[hbtp]
-\begin{tabular}{|l|l|p{4.5cm}|}
-
-\hline
-\bf{Key exchange} & \bf{Client credentials} & \bf{Server credentials}
-\\
-\hline
-\hline
-KX\_RSA &&
-\\
-\cline{1-1}
-KX\_DHE\_RSA & CRD\_CERTIFICATE & CRD\_CERTIFICATE
-\\
-\cline{1-1}
-KX\_DHE\_DSS &&
-\\
-\cline{1-1}
-KX\_RSA\_EXPORT &&
-\\
-\hline
-KX\_SRP\_RSA & CRD\_SRP & CRD\_SRP
-\\
-\cline{1-1}
-KX\_SRP\_DSS && CRD\_CERTIFICATE
-\\
-\hline
-KX\_SRP & CRD\_SRP & CRD\_SRP
-\\
-\hline
-KX\_ANON\_DH & CRD\_ANON & CRD\_ANON
-\\
-\hline
-\end{tabular}
-
-\caption{Key exchange algorithms and the corresponding credential types}
-\label{fig:kxcred}
-
-\end{figure}
-
-
-
-\section{Parameters stored in credentials}
-
-Several parameters such as the ones used for Diffie-Hellman authentication
-are stored within the credentials structures, so all sessions can access
-them. Those parameters are stored in structures such as {\bf gnutls\_dh\_params}
-and {\bf gnutls\_rsa\_params}, and functions like
-\printfunc{gnutls_certificate_set_dh_params}{gnutls\_certificate\_set\_dh\_params}
-and
-\printfunc{gnutls_certificate_set_rsa_export_params}{gnutls\_certificate\_set\_rsa\_export\_params}
-can be used to associate those parameters with the given credentials structure.
-\par
-Since those parameters need to be renewed from time to time and a
-global structure such as the credentials, may not be easy to modify
-since it is accessible by all sessions, an alternative interface is
-available using a callback function.
-This can be set using the
-\printfunc{gnutls_certificate_set_params_function}{gnutls\_certificate\_set\_params\_function}.
-An example is shown below.
-
-\begin{verbatim}
-#include <gnutls.h>
-
-gnutls_rsa_params rsa_params;
-gnutls_dh_params dh_params;
-
-/* This function will be called once a session requests DH
- * or RSA parameters. The parameters returned (if any) will
- * be used for the first handshake only.
- */
-static int get_params( gnutls_session session, gnutls_params_type_t type,
- gnutls_params_st *st)
-{
- if (type == GNUTLS_PARAMS_RSA_EXPORT)
- st->params.rsa_export = rsa_params;
- else if (type == GNUTLS_PARAMS_DH)
- st->params.dh = dh_params;
- else return -1;
-
- st->type = type;
- /* do not deinitialize those parameters.
- */
- st->deinit = 0;
-
- return 0;
-}
-
-int main()
-{
- gnutls_certificate_credentials_t cert_cred;
-
- initialize_params();
-
- /* ...
- */
-
- gnutls_certificate_set_params_function( cert_cred, get_params);
-
-}
-\end{verbatim}
diff --git a/doc/tex/callbacks.tex b/doc/tex/callbacks.tex
deleted file mode 100644
index edd718a802..0000000000
--- a/doc/tex/callbacks.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\section{Callback functions}
-\index{Callback functions}
-
-There are several cases where \gnutls{} may need some out of band input from
-your program. This is now implemented using some callback functions,
-which your program is expected to register.
-
-An example of this type of functions are the push and pull callbacks
-which are used to specify the functions that will retrieve and send
-data to the transport layer.
-\begin{itemize}
-\item \printfunc{gnutls_transport_set_push_function}{gnutls\_transport\_set\_push\_function}
-\item \printfunc{gnutls_transport_set_pull_function}{gnutls\_transport\_set\_pull\_function}
-\end{itemize}
-
-Other callback functions such as the one set by
-\printfunc{gnutls_srp_set_server_credentials_function}{gnutls\_srp\_set\_server\_credentials\_function},
-may require more complicated input, including data to be allocated.
-These callbacks should allocate and free memory using the functions shown below.
-\begin{itemize}
-\item \printfunc{gnutls_malloc}{gnutls\_malloc}
-\item \printfunc{gnutls_free}{gnutls\_free}
-\end{itemize}
diff --git a/doc/tex/cert_auth.tex b/doc/tex/cert_auth.tex
deleted file mode 100644
index 2e32918b64..0000000000
--- a/doc/tex/cert_auth.tex
+++ /dev/null
@@ -1,127 +0,0 @@
-\section{Certificate authentication}
-
-% x.509 section
-\subsection*{Authentication using X.509\index{X.509 certificates} certificates}
-
-X.509 certificates contain the public parameters,
-of a public key algorithm, and an authority's signature, which proves the
-authenticity of the parameters.
-See section \ref{x509:trust} on page \pageref{x509:trust} for more information
-on X.509 protocols.
-
-% openpgp section
-
-\subsection*{Authentication using OpenPGP\index{OpenPGP!Keys} keys}
-\label{sec:pgp}
-
-OpenPGP keys also contain public parameters of a public key algorithm, and
-signatures from several other parties. Depending on whether a signer is
-trusted the key is considered trusted or not.
-\gnutls{}'s OpenPGP authentication implementation is based on the
-\cite{TLSPGP} proposal.
-
-See \ref{pgp:trust} on page \pageref{pgp:trust} for more information
-about the OpenPGP trust model. For a more detailed introduction to OpenPGP
-and GnuPG see \cite{GPGH}.
-
-\subsection*{Using certificate authentication}
-
-In \gnutls{} both the OpenPGP and X.509 certificates are part of the
-certificate authentication and thus are handled using a common API.
-\par
-When using certificates the server is required
-to have at least one certificate and private key pair. A client
-may or may not have such a pair. The certificate and key pair
-should be loaded, before any \tls{} session is initialized,
-in a certificate credentials structure. This should be done by using
-\printfunc{gnutls_certificate_set_x509_key_file}{gnutls\_certificate\_set\_x509\_key\_file}
-or
-\printfunc{gnutls_certificate_set_openpgp_key_file}{gnutls\_certificate\_set\_openpgp\_key\_file}
-depending on the certificate type.
-In the X.509 case, the functions will also accept and use a certificate list
-that leads to a trusted authority. The certificate list must be ordered in such
-way that every certificate certifies the one before it. The trusted authority's
-certificate need not to be included, since the peer should possess it already.
-\par
-As an alternative, a callback may be used
-so the server or the client specify the certificate and the key at the handshake time.
-That callback can be set using the functions:
-\begin{itemize}
-\item \printfunc{gnutls_certificate_server_set_retrieve_function}{gnutls\_certificate\_server\_set\_retrieve\_function}
-\item \printfunc{gnutls_certificate_client_set_retrieve_function}{gnutls\_certificate\_client\_set\_retrieve\_function}
-\end{itemize}
-Certificate verification is possible by loading the trusted authorities
-into the credentials structure by using
-\printfunc{gnutls_certificate_set_x509_trust_file}{gnutls\_certificate\_set\_x509\_trust\_file}
-or
-\printfunc{gnutls_certificate_set_openpgp_keyring_file}{gnutls\_certificate\_set\_openpgp\_keyring\_file}
-for openpgp keys. Note however that the peer's certificate is not automatically verified,
-you should call \printfunc{gnutls_certificate_verify_peers}{gnutls\_certificate\_verify\_peers},
-after a successful handshake,
-to verify the signatures of the certificate. An alternative way, which reports
-a more detailed verification output, is to use
-\printfunc{gnutls_certificate_get_peers}{gnutls\_certificate\_get\_peers} to obtain
-the raw certificate of the peer and verify it using the functions discussed in
-section \ref{x509:trust} on page \pageref{x509:trust}.
-
-\par
-In a handshake, the negotiated cipher suite depends on the
-certificate's parameters, so not all key exchange methods will be available
-with some certificates. \gnutls{} will disable ciphersuites that are not compatible with the key, or
-the enabled authentication methods. For example keys marked as sign-only, will not be able to
-access the plain RSA ciphersuites, but only the DHE\_RSA ones. It is
-recommended not to use RSA keys for both signing and encryption. If possible
-use the same key for the DHE\_RSA and RSA\_EXPORT ciphersuites, which use signing,
-and a different key for the plain RSA ciphersuites, which use encryption.
-All the key exchange methods shown in \hyperref{figure}{figure }{}{fig:cert} are
-available in certificate authentication.
-
-Note that the DHE key exchange methods are generally slower\footnote{It really depends
-on the group used. Primes with lesser bits are always faster, but also easier to break.
-Values less than 768 should not be used today}
-than plain RSA and require Diffie Hellman parameters to be generated and associated with a credentials
-structure. The RSA-EXPORT method also requires 512 bit RSA parameters, that should
-also be generated and associated with the credentials structure. See the functions:
-\begin{itemize}
-\item \printfunc{gnutls_dh_params_generate2}{gnutls\_dh\_params\_generate2}
-\item \printfunc{gnutls_certificate_set_dh_params}{gnutls\_certificate\_set\_dh\_params}
-\item \printfunc{gnutls_rsa_params_generate2}{gnutls\_rsa\_params\_generate2}
-\item \printfunc{gnutls_certificate_set_rsa_export_params}{gnutls\_certificate\_set\_rsa\_export\_params}
-\end{itemize}
-
-
-\begin{figure}[hbtp]
-\index{Key exchange algorithms}
-\begin{tabular}{|l|p{9cm}|}
-\hline
-RSA & The RSA algorithm is used to encrypt a key and send it to the peer.
-The certificate must allow the key to be used for encryption.
-\\
-\hline
-RSA\_EXPORT & The RSA algorithm is used to encrypt a key and send it to the peer.
-In the EXPORT algorithm, the server signs temporary RSA parameters of 512
-bits -- which are considered weak -- and sends them to the client.
-\\
-\hline
-DHE\_RSA & The RSA algorithm is used to sign Ephemeral Diffie Hellman
-parameters which are sent to the peer. The key in the certificate must allow
-the key to be used for signing. Note that key exchange algorithms which use
-Ephemeral Diffie Hellman parameters, offer perfect forward secrecy. That means
-that even if the private key used for signing is compromised, it cannot be
-used to reveal past session data.
-\\
-\hline
-DHE\_DSS & The DSS algorithm is used to sign Ephemeral Diffie Hellman
-parameters which are sent to the peer. The certificate must contain DSA
-parameters to use this key exchange algorithm. DSS stands for Digital Signature
-Standard.
-\\
-\hline
-\end{tabular}
-
-\caption{Key exchange algorithms for OpenPGP and X.509 certificates.}
-\label{fig:cert}
-
-\end{figure}
-
-
diff --git a/doc/tex/certificate.tex b/doc/tex/certificate.tex
deleted file mode 100644
index e93b032f59..0000000000
--- a/doc/tex/certificate.tex
+++ /dev/null
@@ -1,256 +0,0 @@
-\chapter{More on certificate authentication}
-\index{Certificate authentication}
-\label{certificate}
-
-\section{The X.509\index{X.509 certificates} trust model}
-\label{x509:trust}
-
-The X.509 protocols rely on a hierarchical trust model. In this trust model
-Certification Authorities (CAs) are used to certify entities.
-Usually more than one certification authorities exist, and certification
-authorities may certify other authorities to issue certificates as well,
-following a hierarchical model.
-
-\begin{figure}[tbp]
-\caption{X.509 certification}
-\includegraphics[height=9.5cm,width=7cm]{x509-1}
-\label{fig:x509-1}
-\end{figure}
-
-One needs to trust one or more CAs for his secure
-communications. In that case only the certificates issued by the trusted
-authorities are acceptable. See figure \ref{fig:x509-1} for a typical example.
-The API for handling X.509 certificates is described at section \ref{sec:x509api}
-on page \pageref{sec:x509api}. Some examples are listed below.
-
-
-
-\subsection{X.509 certificates}
-An X.509 certificate usually contains information about the certificate
-holder, the signer, a unique serial number, expiration dates and some other
-fields \cite{RFC3280} as shown in the table below.
-
-\label{fig:x509}
-\begin{tabular}{|l||l|}
-\hline
-version & the field that indicates the version of the certificate.
-\\
-\hline
-serialNumber & this field holds a unique serial number per certificate.
-\\
-\hline
-issuer & holds the issuer's distinguished name
-\\
-\hline
-validity & the activation and expiration dates.
-\\
-\hline
-subject & the subject's distinguished name of the certificate.
-\\
-\hline
-\rowcolor[gray]{0.9}
-extensions & The extensions are fields only present in version 3 certificates.
-\\
-\hline
-\end{tabular}
-\\
-\\
-\par
-The certificate's \emph{subject or issuer name} is not just a single string. It is
-a Distinguished name and in the ASN.1 notation is a sequence of several object
-IDs with their corresponding values. Some of available OIDs to be used in an X.509
-distinguished name are defined in \emph{gnutls/x509.h}.
-\\
-\\
-The \emph{Version} field in a certificate has values either 1 or 3 for version 3 certificates.
-Version 1 certificates do not support the extensions field so it is not possible
-to distinguish a CA from a person, thus their usage should be avoided.
-\\
-\\
-The \emph{validity} dates are there to indicate the date that the specific certificate
-was activated and the date the certificate's key would be considered invalid.
-\\
-\\
-Certificate \emph{extensions} are there to include information about the certificate's
-subject that did not fit in the typical certificate fields. Those may be
-e-mail addresses, flags that indicate whether the belongs to a CA etc.
-All the supported X.509 version 3 extensions are shown in the table below.
-
-\label{fig:x509_ext}
-\begin{tabular}{|l|l|p{6cm}|}
-\hline
-subject key id & 2.5.29.14 & An identifier of the key of the subject.
-\\
-\hline
-authority key id & 2.5.29.35 & An identifier of the authority's key used to sign the certificate.
-\\
-\hline
-subject alternative name & 2.5.29.17 & Alternative names to subject's distinguished name.
-\\
-\hline
-key usage & 2.5.29.15 & Constraints the key's usage of the certificate.
-\\
-\hline
-extended key usage & 2.5.29.37 & Constraints the purpose of the certificate.
-\\
-\hline
-basic constraints & 2.5.29.19 & Indicates whether this is a CA certificate or not.
-\\
-\hline
-CRL distribution points & 2.5.29.31 & This extension is set by the CA, in order to inform about the issued CRLs.
-\\
-\hline
-\end{tabular}
-\\
-\\
-\par
-In \gnutls{} the X.509 certificate structures are handled using the
-\emph{gnutls\_x509\_crt\_t} type and the corresponding private keys with
-the \emph{gnutls\_x509\_privkey\_t} type.
-All the available functions for X.509 certificate handling have their
-prototypes in \emph{gnutls/x509.h}. An example program to demonstrate the
-X.509 parsing capabilities can be found at section \ref{ex:x509-info} on
-page \pageref{ex:x509-info}.
-
-\subsection{Verifying X.509 certificate paths}
-Verifying certificate\index{Verifying certificate paths} paths is important
-in X.509 authentication. For this purpose the function
-\printfunc{gnutls_x509_crt_verify}{gnutls\_x509\_crt\_verify} is provided. The
-output of this function is the bitwise OR of the elements of the
-``gnutls\_certificate\_status'' enumeration. A detailed description of
-these elements can be found in figure \ref{fig:verify}.
-The function \printfunc{gnutls_certificate_verify_peers}{gnutls\_certificate\_verify\_peers}
-is equivalent to the previous one, and will verify the peer's certificate in a TLS session.
-
-\begin{figure}[hbtp]
-\begin{tabular}{|l|p{7cm}|}
-
-\hline
-CERT\_INVALID & The certificate is not signed by one of the known authorities, or
-the signature is invalid.
-\\
-\hline
-CERT\_REVOKED & The certificate has been revoked.
-\\
-\hline
-CERT\_SIGNER\_NOT\_FOUND & The certificate's issuer is not known.
-\\
-\hline
-\end{tabular}
-\caption{X.509 certificate verification}
-\label{fig:verify}
-\end{figure}
-
-\par
-Although the verification of a certificate path indicates that the
-certificate is signed by trusted authority, does not reveal anything
-about the peer's identity. It is required to verify if the certificate's
-owner is the one you expect. See \cite{RFC2818} and section \ref{ex:verify-chain}
-on page \pageref{ex:verify-chain} for an example.
-
-
-\subsection{PKCS \#10 certificate requests\index{Certificate requests}\index
-{PKCS \#10}}
-A certificate request is a structure, which
-contain information about an applicant of a certificate service.
-It usually contains a private key, a distinguished name and secondary
-data such as a challenge password. \gnutls{} supports the requests
-defined in PKCS \#10 \cite{RFC2986}. Other certificate request's format such as
-PKIX's RFC2511 \cite{RFC2511} are not currently supported.
-
-In \gnutls{} the PKCS \#10 structures are handled using the
-\emph{gnutls\_x509\_crq\_t} type.
-An example of a certificate request generation can be found at section \ref{ex:crq}
-on page \pageref{ex:crq}.
-
-\subsection{PKCS \#12 structures\index{PKCS \#12}}
-A PKCS \#12 structure \cite{PKCS12} usually contains a user's private keys and
-certificates. It is commonly used in browsers to export and import
-the user's identities.
-\par
-In \gnutls{} the PKCS \#12 structures are handled using the
-\emph{gnutls\_pkcs12\_t} type. This is an abstract type that
-may hold several \emph{gnutls\_pkcs12\_bag\_t} types. The Bag types are the
-holders of the actual data, which may be certificates, private
-keys or encrypted data. An Bag of type encrypted should be decrypted
-in order for its data to be accessed.
-
-An example of a PKCS \#12 structure generation can be found at section \ref{ex:pkcs12}
-on page \pageref{ex:pkcs12}.
-
-\section{The OpenPGP\index{OpenPGP!Keys} trust model}
-\label{pgp:trust}
-
-The OpenPGP key authentication relies on a distributed trust model, called
-the "web of trust". The "web of trust" uses a decentralized system of
-trusted introducers, which are the same as a CA. OpenPGP allows anyone to
-sign anyone's else public key. When Alice signs Bob's key, she is introducing
-Bob's key to anyone who trusts Alice. If someone trusts Alice to introduce
-keys, then Alice is a trusted introducer in the mind of that observer.
-
-\begin{figure}[hbtp]
-\includegraphics[height=9cm,width=11cm]{pgp-fig1}
-\label{fig:pgp1}
-\end{figure}
-
-For example: If David trusts Alice to be an introducer, and Alice signed
-Bob's key, Dave also trusts Bob's key to be the real one.
-
-There are some key points that are important in that model. In the example
-Alice has to sign Bob's key, only if she is sure that the key belongs
-to Bob. Otherwise she may also make Dave falsely believe that this
-is Bob's key. Dave has also the responsibility to know who to trust.
-This model is similar to real life relations.
-
-Just see how Charlie behaves in the previous example. Although he has
-signed Bob's key - because he knows, somehow, that it belongs to Bob -
-he does not trust Bob to be an introducer. Charlie decided to trust only
-Kevin, for some reason. A reason could be that Bob is lazy enough, and
-signs other people's keys without being sure that they belong to the
-actual owner.
-
-\subsection*{OpenPGP keys}
-In \gnutls{} the OpenPGP key structures \cite{RFC2440} are handled using the
-\emph{gnutls\_openpgp\_key\_t} type and the corresponding private keys with
-the \emph{gnutls\_openpgp\_privkey\_t} type. All the prototypes for the key handling
-functions can be found at \emph{gnutls/openpgp.h}.
-
-\subsection*{Verifying an OpenPGP key}
-The verification functions of OpenPGP keys, included in \gnutls{},
-are simple ones, and do not use the features of the ``web of trust''.
-For that reason, if the verification needs are complex,
-the assistance of external tools like GnuPG and GPGME\footnote{
-Available at \htmladdnormallink{http://www.gnupg.org/related\_software/gpgme/}}
-is recommended.
-\par
-There are two verification functions in \gnutls{},
-The \printfunc{gnutls_openpgp_key_verify_ring}{gnutls\_openpgp\_key\_verify\_ring}
-and the \printfunc{gnutls_openpgp_key_verify_trustdb}{gnutls\_openpgp\_key\_verify\_trustdb}.
-The first one checks an OpenPGP key against a given set of public keys (keyring) and
-returns the key status. The key verification status is the same as in X.509 certificates,
-although the meaning and interpretation are different. For example an OpenPGP key may
-be valid, if the self signature is ok, even if no signers were found.
-The meaning of verification status is shown in figure \ref{fig:pgp_verify}.
-\\
-The latter function checks a GnuPG trust database for the given key. This function does not
-check the key signatures, only checks for disabled and revoked keys.
-
-\begin{figure}[hbtp]
-\begin{tabular}{|l|p{7cm}|}
-
-\hline
-CERT\_INVALID & A signature on the key is invalid. That means that the key was modified
-by somebody, or corrupted during transport.
-\\
-\hline
-CERT\_REVOKED & The key has been revoked by its owner.
-\\
-\hline
-CERT\_SIGNER\_NOT\_FOUND & The key was not signed by a known signer.
-\\
-\hline
-\end{tabular}
-\caption{OpenPGP key verification}
-\label{fig:pgp_verify}
-\end{figure}
-
diff --git a/doc/tex/ciphers.tex b/doc/tex/ciphers.tex
deleted file mode 100644
index 6c4c5d48bc..0000000000
--- a/doc/tex/ciphers.tex
+++ /dev/null
@@ -1,65 +0,0 @@
-\subsection*{Encryption algorithms used in the record layer}
-\index{Symmetric encryption algorithms}
-Confidentiality in the record layer is achieved by using symmetric block
-encryption algorithms like {\bf 3DES}, {\bf AES\footnote{AES or Advanced
-Encryption Standard is actually the RIJNDAEL algorithm. This is the
-algorithm that replaced DES.}}, or
-stream algorithms like {\bf ARCFOUR\_128\footnote{ARCFOUR\_128 is a compatible
-algorithm with RSA's RC4 algorithm, which is considered to be a trade secret.}} See \hyperref{fig:ciphers}{figure }{}{fig:ciphers} for a complete list.
-Ciphers are encryption algorithms that use a single, secret, key
-to encrypt and decrypt data. Block algorithms in TLS also provide protection
-against statistical analysis of the data.
-Thus, if you're using the \tlsI{} protocol, a random number of blocks will be
-appended to data, to prevent eavesdroppers from guessing the
-actual data size.
-
-\begin{figure}[hbtp]
-\begin{tabular}{|l|p{9cm}|}
-
-\hline
-3DES\_CBC & 3DES\_CBC is the DES block cipher algorithm used with triple
-encryption (EDE). Has 64 bits block size and is used in CBC mode.
-\\
-\hline
-ARCFOUR\_128 & ARCFOUR is a fast stream cipher.
-\\
-\hline
-ARCFOUR\_40 & This is the ARCFOUR cipher that is fed with a 40 bit key,
-which is considered weak.
-\\
-\hline
-AES\_CBC & AES or RIJNDAEL is the block cipher algorithm that replaces
-the old DES algorithm. Has
-128 bits block size and is used in CBC mode. This is not officially
-supported in TLS.
-\\
-\hline
-\end{tabular}
-\caption{Supported cipher algorithms}
-\label{fig:ciphers}
-\end{figure}
-
-
-
-\addvspace{1.5cm}
-
-\begin{figure}[hbtp]
-\begin{tabular}{|l|p{9cm}|}
-
-\hline
-MAC\_MD5 & MD5 is a cryptographic hash algorithm designed by Ron Rivest. Outputs 128 bits of data.
-\\
-\hline
-MAC\_SHA & SHA is a cryptographic hash algorithm designed by NSA. Outputs 160 bits of data.
-\\
-\hline
-MAC\_RMD160 & RIPEMD is a cryptographic hash algorithm developed in the framework
-of the EU project RIPE. Outputs 160 bits of data.
-\\
-\hline
-\end{tabular}
-\caption{Supported MAC algorithms}
-\index{MAC algorithms}
-\label{fig:mac}
-\end{figure}
-
diff --git a/doc/tex/ciphersuites.tex b/doc/tex/ciphersuites.tex
deleted file mode 100644
index 87c3a99135..0000000000
--- a/doc/tex/ciphersuites.tex
+++ /dev/null
@@ -1,27 +0,0 @@
-\subsection*{TLS cipher suites}
-\par
-The Handshake Protocol of \tlsI{} negotiates cipher suites
-of the form \\
-{\bf TLS\_DHE\_RSA\_WITH\_3DES\_CBC\_SHA}.
-The usual cipher suites contain these parameters:
-\begin{itemize}
-\item The key exchange algorithm ---DHE\_RSA in the example.
-\item The Symmetric encryption algorithm and mode ---3DES\_CBC in this
-example.
-\item The MAC\footnote{MAC stands for Message Authentication Code. It can
-be described as a keyed hash algorithm. See RFC2104.} algorithm used for authentication.
-MAC\_SHA is used in the above example.
-\end{itemize}
-
-The cipher suite negotiated in the handshake protocol will affect
-the Record Protocol, by enabling encryption and data authentication.
-Note that you should not over rely on \tls{} to negotiate the strongest
-available cipher suite. Do not enable ciphers and algorithms that you consider weak.
-\par
-The priority functions, dicussed above, allow the application layer to enable
-and set priorities on the individual ciphers. It may imply that all combinations of ciphersuites
-are allowed, but this is not true. For several reasons, not discussed here, some combinations
-were not defined in the \tls{} protocol. The supported ciphersuites are shown
-in appendix \ref{ap:ciphersuites} on page \pageref{ap:ciphersuites}.
-
-\addvspace{1.5cm}
diff --git a/doc/tex/compression.tex b/doc/tex/compression.tex
deleted file mode 100644
index 508fa07619..0000000000
--- a/doc/tex/compression.tex
+++ /dev/null
@@ -1,39 +0,0 @@
-\subsection*{Compression algorithms used in the record layer}
-\index{Compression algorithms}
-The TLS' record layer also supports compression. The algorithms
-implemented in \gnutls{} can be found in figure \ref{fig:compression}.
-All the algorithms except for DEFLATE which is referenced in \cite{TLSCOMP}, should be
-considered as \gnutls' extensions\footnote{You should use \printfunc{gnutls_handshake_set_private_extensions}{gnutls\_handshake\_set\_private\_extensions}
-to enable private extensions.}, and
-should be advertised only when the peer is known to have a compliant client,
-to avoid interoperability problems.
-\par
-The included algorithms perform really good when text, or other
-compressable data are to be transfered, but offer nothing on already
-compressed data, such as compressed images, zipped archives etc.
-These compression algorithms, may be useful in high bandwidth TLS tunnels,
-and in cases where network usage has to be minimized. As a drawback,
-compression increases latency.
-
-\par
-The record layer compression in \gnutls{} is implemented based on
-the paper \cite{TLSCOMP}.
-
-\begin{figure}[hbtp]
-\begin{tabular}{|l|p{9cm}|}
-
-\hline
-DEFLATE & Zlib compression, using the deflate algorithm.
-\\
-\hline
-LZO & LZO is a very fast compression algorithm. This algorithm is only
-available if the \gnutlse{} library has been initialized and the
-private extensions are enabled.
-\\
-\hline
-\end{tabular}
-\caption{Supported compression algorithms}
-\label{fig:compression}
-\end{figure}
-
-
diff --git a/doc/tex/cover.tex.in b/doc/tex/cover.tex.in
deleted file mode 100644
index 300ea355e5..0000000000
--- a/doc/tex/cover.tex.in
+++ /dev/null
@@ -1,69 +0,0 @@
-\begin{latexonly}
-
-\thispagestyle{empty}
-
-\setlength{\parindent}{0mm}
-
-\setlength{\parskip}{0mm}
-
-\hspace{\linewidth}
-\hspace{-2cm}
-\includegraphics{gnutls-logo}
-\vspace{-.3cm}
-\\
-\HRule
-\vspace{.2cm}
-\\
-\begin{tabular}{l@{\extracolsep{3cm}}p{7cm}}
-{\Large{GNUTLS}}
-&
-\vspace{-.6cm}
-\begin{flushright}
-a Transport Layer Security Library\\
-This is a Draft document\\
-Applies to GnuTLS @VERSION@
-\end{flushright}
-\end{tabular}
-
-\vspace*{\stretch{2}}
-
-\begin{flushright}
-by Nikos Mavroyanopoulos
-\end{flushright}
-\vspace{-0.6cm}
-\HRule
-
-\end{latexonly}
-
-\begin{htmlonly}
-
-{\Large{GNUTLS}}
-\begin{flushright}
-a Transport Layer Security Library\\
-This is a Draft document\\
-Applies to GnuTLS @VERSION@
-\end{flushright}
-
-\end{htmlonly}
-
-\newpage
-
-
-\vspace*{\stretch{2}}
-
-\begin{center}
-\par
-Copyright \copyright\ 2001,2002,2003,2004 Nikos Mavroyanopoulos\\
-\setlength{\parskip}{4mm}
-\par
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2
-or any later version published by the Free Software Foundation;
-with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-A copy of the license is included in the section entitled "GNU
-Free Documentation License".
-\end{center}
-
-\setlength{\parindent}{2mm}
-
-\setlength{\parskip}{1mm}
diff --git a/doc/tex/errors.tex b/doc/tex/errors.tex
deleted file mode 100644
index ef5c95af02..0000000000
--- a/doc/tex/errors.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\section{Error handling\index{Error!handling}}
-\par
-In \gnutls{} most functions return an integer type as a result.
-In almost all cases a zero or a positive number means success, and
-a negative number indicates failure, or a situation that some
-action has to be taken. Thus negative error codes may be fatal
-or not.
-\par
-Fatal errors terminate the connection immediately and
-further sends and receives will be disallowed. An example of
-a fatal error code is GNUTLS\_E\_DECRYPTION\_FAILED. Non-fatal errors
-may warn about something, ie a warning alert was received, or
-indicate the some action has to be taken. This is the case with
-the error code GNUTLS\_E\_REHANDSHAKE returned by
-\printfunc{gnutls_record_recv}{gnutls\_record\_recv}.
-This error code indicates that the server requests a re-handshake. The client
-may ignore this request, or may reply with an alert.
-You can test if an error code is a fatal one by using the
-\printfunc{gnutls_error_is_fatal}{gnutls\_error\_is\_fatal}.
-\par
-If any non fatal errors, that require an action, are to be returned by a
-function, these error codes will be documented
-in the function's reference. All the error codes are documented
-in appendix \ref{ap:error_codes} on page \pageref{ap:error_codes}.
-
-
diff --git a/doc/tex/examples.tex b/doc/tex/examples.tex
deleted file mode 100644
index 0b1fccaba5..0000000000
--- a/doc/tex/examples.tex
+++ /dev/null
@@ -1,121 +0,0 @@
-\chapter{How to use \gnutls{}\index{Example programs} in applications}
-
-\input{preparation}
-
-\label{examples}
-\section{Client examples}
-This section contains examples of \tls{} and \ssl{} clients, using \gnutls{}.
-Note that these examples contain little or no error checking.
-
-\subsection{Simple client example with X.509 certificate support}
-Let's assume now that we want to create a TCP client which communicates
-with servers that use X.509 or OpenPGP certificate authentication. The following client
-is a very simple \tls{} client, it does not support session resuming, not
-even certificate verification. The TCP functions defined in this example
-are used in most of the other examples below, without redefining them.
-\input{ex-client2}
-
-\subsection{Obtaining session information}
-Most of the times it is desirable to know the security properties of
-the current established session. This includes the underlying ciphers and
-the protocols involved. That is the purpose of the following function.
-Note that this function will print meaningful values only if
-called after a successful \printfunc{gnutls_handshake}{gnutls\_handshake}
-
-\input{ex-session-info}
-
-\subsection{Verifying peer's certificate}
-A \tls{} session is not secure just after the handshake procedure has finished.
-It must be considered secure, only after the peer's certificate and identity have been
-verified. That is, you have to verify the signature in peer's
-certificate, the hostname in the certificate, and expiration dates.
-Just after this step you should treat the connection as being a secure one.
-The following function is an example on how to verify the peer's certificate chain.
-This is an advanced case. Things in a TLS session may be simplified by using
-\printfunc{gnutls_certificate_verify_peers2}{gnutls\_certificate\_verify\_peers2}.
-
-\input{ex-verify}
-
-\subsection{Using a callback to select the certificate to use}
-There are cases where a client holds several certificate and key pairs,
-and may not want to load all of them in the credentials structure.
-The following example demonstrates the use of the certificate selection callback.
-\par
-
-\input{ex-cert-select}
-
-
-\subsection{Client with Resume capability example}
-\label{resume-example}
-This is a modification of the simple client example. Here we demonstrate
-the use of session resumption. The client tries to connect once using
-\tls{}, close the connection and then try to establish a new connection
-using the previously negotiated data.
-\input{ex-client-resume}
-
-\subsection{Simple client example with SRP authentication}
-The following client
-is a very simple SRP \tls{} client which connects to a server
-and authenticates using a {\it username} and a {\it password}. The
-server may authenticate itself using a certificate, and in that case it
-has to be verified.
-\input{ex-client-srp}
-
-\section{Server examples}
-This section contains examples of \tls{} and \ssl{} servers, using \gnutls{}.
-
-\subsection{Echo Server with X.509 authentication}
-This example is a very simple echo server which supports {\bf X.509} authentication,
-using the RSA ciphersuites.
-\input{ex-serv1}
-
-\subsection{Echo Server with X.509 authentication II}
-The following example is a server which supports {\bf X.509} authentication.
-This server supports the export-grade cipher suites, the DHE ciphersuites
-and session resuming.
-\input{ex-serv-export}
-
-\subsection{Echo Server with OpenPGP\index{OpenPGP!Server} authentication}
-The following example is an echo server which supports {\bf OpenPGP} key
-authentication. You can easily combine this functionality --that is have
-a server that supports both X.509 and OpenPGP certificates-- but we
-separated them to keep these examples as simple as possible.
-\input{ex-serv-pgp}
-
-
-\subsection{Echo Server with SRP authentication}
-This is a server which supports {\bf SRP} authentication. It is also
-possible to combine this functionality with a certificate server. Here it
-is separate for simplicity.
-\input{ex-serv-srp}
-
-\section{Miscellaneous examples}
-
-\subsection{Checking for an alert}
-This is a function that checks if an alert has been received
-in the current session.
-\input{ex-alert}
-
-\subsection{X.509 certificate parsing example}
-\label{ex:x509-info}
-To demonstrate the X.509 parsing capabilities an example program is listed below.
-That program reads the peer's certificate, and prints information about it.
-\input{ex-x509-info}
-
-\subsection{Certificate request generation}
-\label{ex:crq}
-The following example is about generating a certificate request, and
-a private key. A certificate request can be later be processed by a CA,
-which should return a signed certificate.
-
-\input{ex-crq}
-
-\subsection{PKCS \#12 structure generation}
-\label{ex:pkcs12}
-The following example is about generating a PKCS \#12 structure.
-
-\input{ex-pkcs12}
-
-
-
-\input{openssl}
diff --git a/doc/tex/fdl.tex b/doc/tex/fdl.tex
deleted file mode 100644
index 27cedd00ac..0000000000
--- a/doc/tex/fdl.tex
+++ /dev/null
@@ -1,489 +0,0 @@
-\chapter{GNU Free Documentation License}
-%\label{label_fdl}
-
- \begin{center}
-
- Version 1.2, November 2002
-
-
- Copyright \copyright 2000,2001,2002 Free Software Foundation, Inc.
-
- \bigskip
-
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- \bigskip
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-\end{center}
-
-
-\begin{center}
-{\bf\large Preamble}
-\end{center}
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document "free" in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-This License is a kind of "copyleft", which means that derivative
-works of the document must themselves be free in the same sense. It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does. But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book. We recommend this License
-principally for works whose purpose is instruction or reference.
-
-
-\begin{center}
-{\Large\bf 1. APPLICABILITY AND DEFINITIONS}
-\addcontentsline{toc}{section}{1. APPLICABILITY AND DEFINITIONS}
-\end{center}
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License. Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein. The \textbf{"Document"}, below,
-refers to any such manual or work. Any member of the public is a
-licensee, and is addressed as \textbf{"you"}. You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-A \textbf{"Modified Version"} of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A \textbf{"Secondary Section"} is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall subject
-(or to related matters) and contains nothing that could fall directly
-within that overall subject. (Thus, if the Document is in part a
-textbook of mathematics, a Secondary Section may not explain any
-mathematics.) The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The \textbf{"Invariant Sections"} are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License. If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant. The Document may contain zero
-Invariant Sections. If the Document does not identify any Invariant
-Sections then there are none.
-
-The \textbf{"Cover Texts"} are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License. A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A \textbf{"Transparent"} copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters. A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text. A copy that is not "Transparent" is called \textbf{"Opaque"}.
-
-Examples of suitable formats for Transparent copies include plain
-ASCII without markup, Texinfo input format, LaTeX input format, SGML
-or XML using a publicly available DTD, and standard-conforming simple
-HTML, PostScript or PDF designed for human modification. Examples of
-transparent image formats include PNG, XCF and JPG. Opaque formats
-include proprietary formats that can be read and edited only by
-proprietary word processors, SGML or XML for which the DTD and/or
-processing tools are not generally available, and the
-machine-generated HTML, PostScript or PDF produced by some word
-processors for output purposes only.
-
-The \textbf{"Title Page"} means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page. For works in
-formats which do not have any title page as such, "Title Page" means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-A section \textbf{"Entitled XYZ"} means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language. (Here XYZ stands for a
-specific section name mentioned below, such as \textbf{"Acknowledgements"},
-\textbf{"Dedications"}, \textbf{"Endorsements"}, or \textbf{"History"}.)
-To \textbf{"Preserve the Title"}
-of such a section when you modify the Document means that it remains a
-section "Entitled XYZ" according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document. These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
-
-\begin{center}
-{\Large\bf 2. VERBATIM COPYING}
-\addcontentsline{toc}{section}{2. VERBATIM COPYING}
-\end{center}
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License. You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute. However, you may accept
-compensation in exchange for copies. If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-
-\begin{center}
-{\Large\bf 3. COPYING IN QUANTITY}
-\addcontentsline{toc}{section}{3. COPYING IN QUANTITY}
-\end{center}
-
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover. Both covers must also clearly and legibly identify
-you as the publisher of these copies. The front cover must present
-the full title with all words of the title equally prominent and
-visible. You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-
-
-\begin{center}
-{\Large\bf 4. MODIFICATIONS}
-\addcontentsline{toc}{section}{4. MODIFICATIONS}
-\end{center}
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it. In addition, you must do these things in the Modified Version:
-
-\begin{itemize}
-\item[A.]
- Use in the Title Page (and on the covers, if any) a title distinct
- from that of the Document, and from those of previous versions
- (which should, if there were any, be listed in the History section
- of the Document). You may use the same title as a previous version
- if the original publisher of that version gives permission.
-
-\item[B.]
- List on the Title Page, as authors, one or more persons or entities
- responsible for authorship of the modifications in the Modified
- Version, together with at least five of the principal authors of the
- Document (all of its principal authors, if it has fewer than five),
- unless they release you from this requirement.
-
-\item[C.]
- State on the Title page the name of the publisher of the
- Modified Version, as the publisher.
-
-\item[D.]
- Preserve all the copyright notices of the Document.
-
-\item[E.]
- Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
-
-\item[F.]
- Include, immediately after the copyright notices, a license notice
- giving the public permission to use the Modified Version under the
- terms of this License, in the form shown in the Addendum below.
-
-\item[G.]
- Preserve in that license notice the full lists of Invariant Sections
- and required Cover Texts given in the Document's license notice.
-
-\item[H.]
- Include an unaltered copy of this License.
-
-\item[I.]
- Preserve the section Entitled "History", Preserve its Title, and add
- to it an item stating at least the title, year, new authors, and
- publisher of the Modified Version as given on the Title Page. If
- there is no section Entitled "History" in the Document, create one
- stating the title, year, authors, and publisher of the Document as
- given on its Title Page, then add an item describing the Modified
- Version as stated in the previous sentence.
-
-\item[J.]
- Preserve the network location, if any, given in the Document for
- public access to a Transparent copy of the Document, and likewise
- the network locations given in the Document for previous versions
- it was based on. These may be placed in the "History" section.
- You may omit a network location for a work that was published at
- least four years before the Document itself, or if the original
- publisher of the version it refers to gives permission.
-
-\item[K.]
- For any section Entitled "Acknowledgements" or "Dedications",
- Preserve the Title of the section, and preserve in the section all
- the substance and tone of each of the contributor acknowledgements
- and/or dedications given therein.
-
-\item[L.]
- Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section titles.
-
-\item[M.]
- Delete any section Entitled "Endorsements". Such a section
- may not be included in the Modified Version.
-
-\item[N.]
- Do not retitle any existing section to be Entitled "Endorsements"
- or to conflict in title with any Invariant Section.
-
-\item[O.]
- Preserve any Warranty Disclaimers.
-\end{itemize}
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant. To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section Entitled "Endorsements", provided it contains
-nothing but endorsements of your Modified Version by various
-parties--for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version. Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity. If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-
-\begin{center}
-{\Large\bf 5. COMBINING DOCUMENTS}
-\addcontentsline{toc}{section}{5. COMBINING DOCUMENTS}
-\end{center}
-
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy. If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled "History"
-in the various original documents, forming one section Entitled
-"History"; likewise combine any sections Entitled "Acknowledgements",
-and any sections Entitled "Dedications". You must delete all sections
-Entitled "Endorsements".
-
-\begin{center}
-{\Large\bf 6. COLLECTIONS OF DOCUMENTS}
-\addcontentsline{toc}{section}{6. COLLECTIONS OF DOCUMENTS}
-\end{center}
-
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-
-
-\begin{center}
-{\Large\bf 7. AGGREGATION WITH INDEPENDENT WORKS}
-\addcontentsline{toc}{section}{7. AGGREGATION WITH INDEPENDENT WORKS}
-\end{center}
-
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an "aggregate" if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
-
-\begin{center}
-{\Large\bf 8. TRANSLATION}
-\addcontentsline{toc}{section}{8. TRANSLATION}
-\end{center}
-
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections. You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers. In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled "Acknowledgements",
-"Dedications", or "History", the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-
-
-\begin{center}
-{\Large\bf 9. TERMINATION}
-\addcontentsline{toc}{section}{9. TERMINATION}
-\end{center}
-
-
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License. Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License. However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-
-\begin{center}
-{\Large\bf 10. FUTURE REVISIONS OF THIS LICENSE}
-\addcontentsline{toc}{section}{10. FUTURE REVISIONS OF THIS LICENSE}
-\end{center}
-
-
-The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns. See
-http://www.gnu.org/copyleft/.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License "or any later version" applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation. If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
-
-
-\begin{center}
-{\Large\bf ADDENDUM: How to use this License for your documents}
-\addcontentsline{toc}{section}{ADDENDUM: How to use this License for your documents}
-\end{center}
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
-\bigskip
-\begin{quote}
- Copyright \copyright YEAR YOUR NAME.
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.2
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License".
-\end{quote}
-\bigskip
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the "with...Texts." line with this:
-
-\bigskip
-\begin{quote}
- with the Invariant Sections being LIST THEIR TITLES, with the
- Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-\end{quote}
-\bigskip
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
-
diff --git a/doc/tex/funcs.tex b/doc/tex/funcs.tex
deleted file mode 100644
index 72c96f022a..0000000000
--- a/doc/tex/funcs.tex
+++ /dev/null
@@ -1,35 +0,0 @@
-\chapter{Function\index{Function reference!for \gnutls{}} reference}
-
-\section{\gnutls{} library}
-The prototypes for the following functions lie
-in ``gnutls/gnutls.h''.
-\input{gnutls-api}
-
-\newpage
-
-\section{\gnutls{} X.509 certificate handling\index{Function reference!for X.509 certificates}}
-\label{sec:x509api}
-The following functions are to be used for X.509 certificate handling.
-Their prototypes lie in ``gnutls/x509.h''.
-
-\input{x509-api}
-
-
-\newpage
-
-
-\section{\gnutlse{} library\index{Function reference!for \gnutlse{}}}
-These functions are only available in the GPL version of the
-library called ``gnutls-extra''. The prototypes for this library lie
-in ``gnutls/extra.h''.
-
-\input{gnutls-extra-api}
-
-\section{\gnutls{} OpenPGP key handling\index{Function reference!for OpenPGP keys}}
-\label{sec:openpgpapi}
-The following functions are to be used for OpenPGP certificate handling.
-Their prototypes lie in ``gnutls/openpgp.h''.
-
-\input{pgp-api}
-
-
diff --git a/doc/tex/gnutls-logo.ps b/doc/tex/gnutls-logo.ps
deleted file mode 100644
index 8ca3af9e19..0000000000
--- a/doc/tex/gnutls-logo.ps
+++ /dev/null
@@ -1,154 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: GIMP PostScript file plugin V 1.11 by Peter Kirchgessner
-%%Title: /usr/home/nmav/cvs/gnutls/doc/tex/gnutls-logo.ps
-%%CreationDate: Thu Jan 17 13:17:01 2002
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 2
-%%Pages: 1
-%%BoundingBox: 14 14 60 56
-%%EndComments
-%%BeginPreview: 94 86 1 86
-% 0000001ff000000000000000
-% 000000ffff00000000000000
-% 000003ffffc0000000000000
-% 00000ffffff0000000000000
-% 00003ffffffc000000000000
-% 00007ffffffe000000000000
-% 0000ffc007ff000000000000
-% 0001ff0000ff800000000000
-% 0003fc00003fc00000000000
-% 0007f800001fe00000000000
-% 0007f000000fe00000000000
-% 000fe0000007f00000000000
-% 000fc0000003f00000000000
-% 001f80000001f80000000000
-% 001f80000001f80000000000
-% 003f00000000fc0000000000
-% 003f00000000fc0000000000
-% 003e000000007c0000000000
-% 007e000000007e0000000000
-% 007e000000007e0000000000
-% 007e000000007e0000000000
-% 007c000000007e0000000000
-% 007e000000003e0000000000
-% 007c000000007e0000000000
-% 007c000000003e0000000000
-% 007e000000007e0000000000
-% 007c000000003e0000000000
-% 077ffffff7ffffc000000000
-% 03ffffffffffffc000000000
-% 07ffffffffffffe000000000
-% 07ffffffffffffc000000000
-% 07ffffffffffffe000000000
-% 03ffffffffffffc000000000
-% 07ffffffffffffe000000000
-% 07ffffffffffffc000000000
-% 87ffffffffffffe000000000
-% 03ffffffffffffc000000000
-% 87ffffff7fffffe000000000
-% 07fffff81fffffc0fffffe00
-% 87fffff00fffffe0fffffe00
-% 03fffff00fffffc0ffffff00
-% 87ffffe00fffffe0ffffff00
-% 07fffff007ffffc0f8000700
-% 83fffff00fffffe0f8000780
-% 07fffff00fffffc0f8000380
-% 07fffff81fffffe0f80003c0
-% 87fffffc3fffffc0f80003c0
-% 83fffff81fffffe0f80001c0
-% 07fffff81fffffc0f80001e0
-% 87fffff00fffffe0f80001e0
-% 07fffff00fffffc0f80000e0
-% 83ffffe007ffffe0f80000f0
-% 07ffffe007ffffc0f80000f0
-% 87ffffffffffffe0f8000070
-% 07ffffffffffffc0f8000078
-% 83ffffffffffffe0f8000078
-% 07ffffffffffffc0f800003c
-% 87ffffffffffffe0fdb5b5bc
-% 07ffffffffffffc0fffffffc
-% 83ffffffffffffe0fffffffc
-% 07ffffffffffffc0fffffffc
-% 87ffffffffffffe0fffffffc
-% 07ffffffffffffc0fffffffc
-% 8000000000000000fffffffc
-% 0000000000000000fffffffc
-% 8000000000000000fffffffc
-% aab5b5b5b5b5b5b7fffffffc
-% fffffffffffffffffffffffc
-% fffc0fffe07ffffffff07ffc
-% fff003ff801fffffffc00ffc
-% ffe3f1ff1f87ffffff0fc7fc
-% ffcffcfe7fe3fffffe3ff3fc
-% ff9ffe7cfff3fffffe7ff9fc
-% ff3fff39fff9fffffcfff9fc
-% ff3fff39fffdfffffdfffcfc
-% fe7fff9bfffcfffff9fffcfc
-% fe7fff93fffcfffff9fffe7c
-% 807fff83fffc000003fffe00
-% 007fff83fffc000001fffe00
-% 807fff83fffc000001fffe00
-% 007fff83fffc000001fffc00
-% 003fff01fff8000000fffc00
-% 803fff00fff8000000fffc00
-% 801ffe00fff00000007ff800
-% 000ffc003fe00000003fe000
-% 8003f0001f800000000f8000
-%%EndPreview
-%%BeginProlog
-% Use own dictionary to avoid conflicts
-10 dict begin
-%%EndProlog
-%%Page: 1 1
-% Translate for offset
-14.173228 14.173228 translate
-% Translate to begin of first scanline
-0.000000 41.290570 translate
-45.131554 -41.290570 scale
-% Image geometry
-94 86 8
-% Transformation matrix
-[ 94 0 0 86 0 0 ]
-currentfile /ASCII85Decode filter /RunLengthDecode filter
-%%BeginData: 2608 ASCII Bytes
-image
-kl2+`\s,o`!WW3(9hgqeoZI4"rr_u)9cNa*"!)!bps&j*rrJN8mf3A=T$IB(rrK\TlMpr3^sN,M
-rrIQWkl:bpK(IFjnc&[]7KN5`!%Rq=!%7I?!CQM.s760jffT!0"<Mcoqu-Kn"o\>?F<CV\!!,@@
-eGo.?!V/AL!!4U8o(;q_Y:TMM!CHD.s7H<lnilpN!X4\_nc&[\MZ`hV!)M/Fp&>'kAGZ?--ctcU
-!S\[n!!31;rn%2CrrBP*!!+>5li."I6Mg`_^XrMYrr=>B!!+J8l2Le<*;fd:/D'pqrrAPd!!*8\
-kPkS8"T/6"LY2Y$rrMjCqu?_ojo5=Pqu?a>pt>]ArrAkm!!,7[jo5AX2Z*OTXP*XKrrN*Vr;Zj!
-Z/bibWWE%u!BpG9s7lToh#%-P3T9u<0`1nNjP'Y/rrASe!!&#;rrAPd!!&hKs7lTo;Z$LpiSje:
-g&(gM>2'#Orr=VK!!+8AiVrrR*W5s<1tr!)rr<-!!!#UJrr>=_!!!D\s7lTo!rW*!HJe`&Er>t<
-$ekXUrr<-!!!&;ArrA&W!!!D\s7uZqklUe`!0uIA!-\;@!"7N\q#:<qr;Zh_hu<\9r;Zg*gAgsJ
-!!<*!!0uIA!0-pW!"7N\q#:<qr;Zh_hu<\9r;Zg*gAh*N!-/!D!!3#u!&i_?!&OQR!!N:,!5%+f
-r;Qb0bl@`_hZ*NR!,'OV!-$fpr;Qb0bl@`_hZ*NR!,'OV!-$fpr;Qb0bl@`_hZ*NR!,'OV!-$fp
-r;Qb0bl@`_hZ*NR!,'OV!-$fpr;Qb0bl@`_hZ*NR!,(Nr"!MAm*U*P(E8LWmrr?]t!!`girVuoq
-T*OZ^!-%o:!2Jj6!C68Rs8;lsBC#U!#-n(*!NZCi!!%!:rrB(a!!&_is8;lsBC#Tu8GW8c5jSIN
-E;fe:Wp0Qa7f35`rr?]u!!%`Krr@K6!!%!:rrB(s!!"_E1^#T7!!2Tes8;lsBC#TuPkk=ZU[.s\
-E;fe:Wr)hsm.:5[r>#A5LA_)Lrr?]u!!$*rrr>j]!!%!:rrB(s!!)BVrrZs8!&FKPr;Qb0li7%m
-e,0.Gh?E6G!-%o:!35qs!:9:V"MFd8"kW_Qr;Qb0lMpr?li$hagd(0*!-%o:!35qs!:9:V"S<]7
-!-8&<r;Qb0l2UforVlk%l2Ug'rVlktqu?``nc&`(!!"/7rr;or!,(Tt!=73RrrL@LlMpp(rVlkt
-qu?``nc&U#rVur7rr;or!,(Tt!*K-u!)Vt]!-%o:!35qs!:97U"Sic4!,_`8r;Qb0li7%kgACmN
-eHG4=!-%o:!35qs!:94T#&4,<!r;lrr;Qb0li7#jq>UFoli7$)rVlktqu?``nG`L'rW!"rs8W#s
-!,(Wu!8.,I!71!3!-%o:!35qs!:94T#6#>;!)`drr;Qb0m/R,dq!.tC4RE+KE;fe:Wr)hsm-jrX
-BE/#<h>dEQ!,'OV!-%o:!35qs!:91S!5/:2!KmE[rr?]V!!%!:rrB(s!!)BSrrr$7!!#1^r;Qb0
-bl@`_rVlktqu?``mf*E$!!!&Br;Qb0bl@`_rVlktqu?``mf*9trVuq@r;Qb0bl@`_rVlktqu?_/
-mV`5A#64`Ir;Qb0bl@`_rVlktirK#W!,'OV!-%o:!35&Zr;Qb0bl@`_rVlktirK#W!,'OV!-%o:
-!35&Zr;Qb0bl@`_rVlktirK#W!9qb^!:'O_!35&Z_Z'V9irHsr!35&Z_K5cPirJTLrs8#m!<ikb
-!!*E2o)SF`#m3bi^%(I&Qp^uK!!r]\KY?.?^p-?;iW'5t;l@>*jLpR3p&Odd$Tc0)s8'ULrr<#0
-1&(_L,,P;=#1:<Qs8V"_jT#\i?/GV]o"rNKs8&o?p]1'h%KUkMr2`C!!!!Qf[J]c7qZ%--3UZgb
-8Iu")$T!S5rLO,T!"K'us8&'/%0-G@=3:Es9_e\`!!@QIlU1IJ"#Sg5CA\&64TG+Fq#CLOgAeJC
-!!EFls2H\e!!?R#peU_dq#CLWrmVk\!!=n:p+ZIG"!m=-9D8Dg'@-PHl2Uois1f';!!?=&jph1f
-q>^TuaSo'0!!l6r\,cR0V>kW0!!=87i!o#Q!snbg'(l5+M#V_s!;ZZs49)PV!!]q45l`##c1:o:
-LAtTH!!79BE:a,4&F/KdquHQn!g!@So)Jtis*ar_s*=29!ZM*Eli7+.mM5<n!g!@SquHQn!m:NE
-o)Jt.s1/2ls#flQ!sR<>#jhTmm,%:5!^$FFr;Zg!qR?UrrrVcl"q0V\\F9G'nc/a+s1@[.!W&#N
-!!5%Xir-@ec1q;=!qQBm&+oi#!!r,q!5Ih!!2K)b!&aWQq#:<so)Jb(r;Qalo)JdskN`'IhspaI
-2Z!IKrr?0m!!#pprr@04!!"V8rrMgBo)JcJqZ$?j!5nC.!7UlG!TOU\!!&t]rrA_a!!*SmqZ$?j
-!W?F!!!-4$qu6YJo`,"WqWRq[qC;.<!."D?p\t9a48/^U8+ucY!G;H.!!+5,k5PJD-2.B>@/0cq
-rrMX\q#CFqo_8@dJ.28S!C?><rrM(:q>^R3K)>?Cp&>?s_,V<P!$,7_rq69shej>4!!HH,p>Z)R
-q6`Wi!!4Nqg@kPs~>
-%%EndData
-showpage
-%%Trailer
-end
-%%EOF
diff --git a/doc/tex/gnutls.bib b/doc/tex/gnutls.bib
deleted file mode 100644
index 0c3f7f03cf..0000000000
--- a/doc/tex/gnutls.bib
+++ /dev/null
@@ -1,161 +0,0 @@
-@Misc{RFC2246,
- author = "Tim Dierks and Christopher Allen",
- title = "The TLS Protocol Version 1.0",
- month = "January",
- year = {1999},
- note = "Available from http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2246.txt",
- url = "http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2246.txt"
-}
-
-@Misc{RFC2440,
- author = "Jon Callas and Lutz Donnerhacke and Hal Finney and Rodney Thayer",
- title = "OpenPGP Message Format",
- month = "November",
- year = {1998},
- note = "Available from http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2440.txt",
- url = "http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2440.txt"
-}
-
-@Misc{RFC2511,
- author = "Michael Myers and Carlisle Adams and Dave Solo and David Kemp",
- title = "Internet X.509 Certificate Request Message Format",
- month = "March",
- year = {1999},
- note = "Available from http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2511.txt",
- url = "http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2511.txt"
-}
-
-@Misc{RFC2817,
- author = "Rohit Khare and Scott Lawrence",
- title = "Upgrading to TLS Within HTTP/1.1",
- month = "May",
- year = {2000},
- note = "Available from http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2817.txt",
- url = "http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2817.txt"
-}
-
-@Misc{RFC2818,
- author = "Eric Rescola",
- title = "HTTP Over TLS",
- month = "May",
- year = {2000},
- note = "Available from http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2818.txt",
- url = "http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2818.txt"
-}
-
-
-@Misc{RFC2945,
- author = "Tom Wu",
- title = "The SRP Authentication and Key Exchange System",
- month = "September",
- year = {2000},
- note = "Available from http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2945.txt",
- url = "http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2945.txt"
-}
-
-@Misc{RFC2986,
- author = "Magnus Nystrom and Burt Kaliski",
- title = "PKCS 10 v1.7: Certification Request Syntax Specification",
- month = "November",
- year = {2000},
- note = "Available from http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2986.txt",
- url = "http://kaizi.viagenie.qc.ca/ietf/rfc/rfc2986.txt"
-}
-
-@Misc{RFC3280,
- author = "Russell Housley and Tim Polk and Warwick Ford and David Solo",
- title = "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile",
- month = "April",
- year = {2002},
- note = "Available from http://kaizi.viagenie.qc.ca/ietf/rfc/rfc3280.txt",
- url = "http://kaizi.viagenie.qc.ca/ietf/rfc/rfc3280.txt"
-}
-
-@Misc{SSL3,
- author = "Alan Freier and Philip Karlton and Paul Kocher",
- title = "The SSL Protocol Version 3.0",
- month = "November",
- year = {1996},
- note = "Available from http://wp.netscape.com/eng/ssl3/draft302.txt",
- url = "http://wp.netscape.com/eng/ssl3/draft302.txt"
-}
-
-@Misc{PKCS12,
- author = "RSA Laboratories",
- title = "PKCS 12 v1.0: Personal Information Exchange Syntax",
- month = "June",
- year = {1999},
-}
-
-@Misc{RESCOLA,
- author = "Eric Rescola",
- title = "SSL and TLS: Designing and Building Secure Systems",
- year = {2001},
-}
-
-@Misc{TLSEXT,
- author = "Simon Blake-Wilson and Magnus Nystrom and David Hopwood and Jan Mikkelsen and Tim Wright",
- title = "Transport Layer Security (TLS) Extensions",
- month = "June",
- year = {2003},
- note = "Available from http://kaizi.viagenie.qc.ca/ietf/rfc/rfc3546.txt",
- url = "http://kaizi.viagenie.qc.ca/ietf/rfc/rfc3546.txt"
-}
-
-@Misc{TLSSRP,
- author = "David Taylor and Trevor Perrin and Tom Wu and Nikos Mavroyanopoulos",
- title = "Using SRP for TLS Authentication",
- month = "June",
- year = {2004},
- note = "Internet draft, work in progress. Available from http://www.normos.org/ietf/draft/draft-ietf-tls-srp-07.txt",
- url = "http://www.normos.org/ietf/draft/draft-ietf-tls-srp-07.txt"
-}
-
-@Misc{TLSPGP,
- author = "Nikos Mavroyanopoulos",
- title = "Using OpenPGP keys for TLS authentication",
- month = "April",
- year = {2004},
- note = "Internet draft, work in progress. Available from http://www.normos.org/ietf/draft/draft-ietf-tls-openpgp-keys-05.txt",
- url = "http://www.normos.org/ietf/draft/draft-ietf-tls-openpgp-keys-05.txt"
-}
-
-@Misc{TLSCOMP,
- author = "Scott Hollenbeck",
- title = "Transport Layer Security Protocol Compression Methods",
- month = "January",
- year = {2004},
- note = "Internet draft, work in progress. Available from http://kaizi.viagenie.qc.ca/ietf/rfc/rfc3749.txt",
- url = "http://kaizi.viagenie.qc.ca/ietf/rfc/rfc3749.txt"
-}
-
-@Misc{CBCATT,
- author = "Bodo Moeller",
- title = "Security of CBC Ciphersuites in SSL/TLS: Problems and Countermeasures",
- year = {2002},
- note = "Available from http://www.openssl.org/\~\ bodo/tls-cbc.txt",
- url = "http://www.openssl.org/~bodo/tls-cbc.txt"
-}
-
-@Misc{GUTPKI,
- author = "Peter Gutmann",
- title = "Everything you never wanted to know about PKI but were forced to find out",
- year = {2002},
- note = "Available from http://www.cs.auckland.ac.nz/\~\ pgut001/pubs/pkitutorial.pdf",
- url = "http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf"
-}
-
-@Misc{GPGH,
- author = "Mike Ashley",
- title = "The GNU Privacy Handbook",
- year = {2002},
- note = "Available from http://www.gnupg.org/gph/en/manual.pdf",
- url = "http://www.gnupg.org/gph/en/manual.pdf"
-}
-
-@Misc{TOMSRP,
- author = "Tom Wu",
- title = "The Stanford SRP Authentication Project",
- note = "Available at http://srp.stanford.edu/",
- url = "http://srp.stanford.edu/"
-}
diff --git a/doc/tex/gnutls.tex b/doc/tex/gnutls.tex
deleted file mode 100644
index 2e1bf7d68e..0000000000
--- a/doc/tex/gnutls.tex
+++ /dev/null
@@ -1,62 +0,0 @@
-\documentclass{book}
-\bibliographystyle{plain}
-
-\usepackage{html}
-\usepackage{fancyhdr}
-\usepackage{graphicx}
-\usepackage{makeidx}
-\usepackage{supertabular}
-\usepackage{color}
-\usepackage{colortbl}
-
-\input{macros}
-
-\makeindex
-
-\begin{document}
-
-\frontmatter
-
-\input{cover}
-
-\tableofcontents
-
-\pagestyle{fancy}
-\fancyhead[RE]{\slshape \rightmark}
-\fancyhead[LO]{\slshape \leftmark}
-\fancyhead[RO,LE]{\empty}
-\fancyfoot[C]{\thepage}
-
-\input{preface}
-
-\mainmatter
-\input{library}
-
-\input{tlsintro}
-
-\input{auth}
-
-\input{certificate}
-
-\input{howto}
-
-\input{examples}
-
-\input{programs}
-
-\input{funcs}
-
-\appendix
-
-\input{appendix}
-
-\input{fdl}
-
-\backmatter
-
-\printindex
-
-\bibliography{gnutls}
-
-\end{document}
-
diff --git a/doc/tex/handshake.tex b/doc/tex/handshake.tex
deleted file mode 100644
index 657fef695d..0000000000
--- a/doc/tex/handshake.tex
+++ /dev/null
@@ -1,95 +0,0 @@
-\section{The TLS handshake protocol\index{TLS protocols!Handshake}}
-\label{handshake}
-
-The Handshake protocol is responsible for the ciphersuite negotiation,
-the initial key exchange, and the authentication of the two peers.
-This is fully controlled by the application layer, thus your program
-has to set up the required parameters. Available functions to control
-the handshake protocol include:
-
-\begin{itemize}
-\item \printfunc{gnutls_cipher_set_priority}{gnutls\_cipher\_set\_priority}:
-to set the priority of bulk cipher algorithms.
-\item \printfunc{gnutls_mac_set_priority}{gnutls\_mac\_set\_priority}:
-to set the priority of MAC algorithms.
-\item \printfunc{gnutls_kx_set_priority}{gnutls\_kx\_set\_priority}:
-to set the priority of key exchange algorithms.
-\item \printfunc{gnutls_compression_set_priority}{gnutls\_compression\_set\_priority}:
-to set the priority of compression methods.
-\item \printfunc{gnutls_certificate_type_set_priority}{gnutls\_certificate\_type\_set\_priority}:
-to set the priority of certificate types (ie. OpenPGP, X.509).
-\item \printfunc{gnutls_protocol_set_priority}{gnutls\_protocol\_set\_priority}:
-to set the priority of protocol versions (ie. \sslIII{}, \tlsI).
-\item \printfunc{gnutls_set_default_priority}{gnutls\_set\_default\_priority}:
-to set some defaults in the current session. That way you don't have to call each
-priority function, independently, but you have to live with the defaults.
-\item \printfunc{gnutls_credentials_set}{gnutls\_credentials\_set}: to set the
-appropriate credentials structures.
-\item \printfunc{gnutls_certificate_server_set_request}
-{gnutls\_certificate\_server\_set\_request}: to set
-whether client certificate is required or not.
-\item \printfunc{gnutls_handshake}{gnutls\_handshake}: to initiate the
-handshake.
-\end{itemize}
-
-\input{ciphersuites}
-
-\subsection*{Client authentication}
-In the case of ciphersuites that use certificate authentication, the
-authentication\index{Certificate authentication!Client} of the client is
-optional in \tls{}. A server may request a certificate from the client -- using the
-\printfunc{gnutls_certificate_server_set_request}{gnutls\_certificate\_server\_set\_request}
-function. If a certificate is to be requested from the client during the handshake,
-the server will send a certificate request message that contains
-a list of acceptable certificate signers. The client may then send a certificate, signed
-by one of the server's acceptable signers. In \gnutls{} the server's acceptable
-signers list is constructed using the trusted CA certificates in the
-credentials structure.
-
-\subsection*{Resuming Sessions\index{Resuming sessions}}
-\label{resume}
-\par
-The
-\printfunc{gnutls_handshake}{gnutls\_handshake}
- function, is expensive since a lot of calculations are performed. In order to support many fast connections to
-the same server a client may use session resuming. {\bf Session resuming} is a
-feature of the {\bf TLS} protocol which allows a client to connect to a server,
-after a successful handshake, without the expensive calculations. This is
-achieved by using the previously
-established keys. \gnutls{} supports this feature, and the
-example \hyperref{resume client}{resume client (see section }{)}{resume-example} illustrates a typical use of it.
-\par
-Keep in mind that sessions are expired after some time, for security reasons, thus
-it may be normal for a server not to resume a session even if you requested that.
-Also note that you must enable, using the priority functions, at least the
-algorithms used in the last session.
-
-\subsection*{Resuming internals}
-The resuming capability, mostly in the server side, is one of the problems of a thread-safe TLS
-implementations. The problem is that all threads must share information in
-order to be able to resume sessions. The gnutls approach is, in case of a
-client, to leave all the burden of resuming to the client. Ie. copy and keep the
-necessary parameters. See the functions:
-\begin{itemize}
-\item \printfunc{gnutls_session_get_data}{gnutls\_session\_get\_data}
-\item \printfunc{gnutls_session_get_id}{gnutls\_session\_get\_id}
-\item \printfunc{gnutls_session_set_data}{gnutls\_session\_set\_data}
-\end{itemize}
-
-\par
-The server side is different. A server has to specify some callback functions
-which store, retrieve and delete session data. These can be registered with:
-\begin{itemize}
-\item \printfunc{gnutls_db_set_remove_function}{gnutls\_db\_set\_remove\_function}
-\item \printfunc{gnutls_db_set_store_function}{gnutls\_db\_set\_store\_function}
-\item \printfunc{gnutls_db_set_retrieve_function}{gnutls\_db\_set\_retrieve\_function}
-\item \printfunc{gnutls_db_set_ptr}{gnutls\_db\_set\_ptr}
-\end{itemize}
-
-\par
-It might also be useful to be able to check for expired sessions in order to remove
-them, and save space. The function
-\printfunc{gnutls_db_check_entry}{gnutls\_db\_check\_entry} is provided for that
-reason.
-
-
diff --git a/doc/tex/howto.tex b/doc/tex/howto.tex
deleted file mode 100644
index d4ebd935d8..0000000000
--- a/doc/tex/howto.tex
+++ /dev/null
@@ -1,131 +0,0 @@
-\chapter{How to use \tls{} in application protocols}
-\label{apps}
-
-\section{Introduction}
-This chapter is intended to provide some hints on how to use the \tls{}
-over simple custom made application protocols.
-The discussion below mainly refers to the \emph{TCP/IP} transport layer
-but may be extended to other ones too.
-
-\section{Separate ports}
-
-Traditionally \ssl{} was used in application protocols by assigning
-a new port number for the secure services. That way two separate
-ports were assigned, one for the
-non secure sessions, and one for the secured ones. This has the benefit
-that if a user requests a secure session then the client will try to
-connect to the secure port and fail otherwise. The only possible attack
-with this method is a denial of service one. The most famous
-example of this method is the famous ``HTTP over TLS'' or HTTPS\footnote{RFC2818}
-protocol \cite{RFC2818}.
-\par
-Despite its wide use, this method is not as good as it seems.
-This approach starts the \tls{} Handshake procedure just after the
-client connects on the --so called-- secure port.
-That way the \tls{} protocol does not know anything
-about the client, and popular methods like the host advertising in
-HTTP do not work\footnote{see also the Server Name Indication extension on \ref{serverind}, page \pageref{serverind}.}.
-There is no way for the client to say ``I connected
-to YYY server'' before the Handshake starts, so the server cannot
-possibly know which certificate to use.
-
-\par
-Other than that it requires two separate ports to run a single service, which is
-unnecessary complication. Due to the fact that there is a limitation on
-the available privileged ports, this approach was soon obsoleted.
-
-
-\section{Upward negotiation}
-Other application protocols\footnote{See LDAP, IMAP etc.}
-use a different approach to enable the secure layer.
-They use something called the ``TLS upgrade'' method. This method
-is quite tricky but it is more flexible. The idea is to extend
-the application protocol to have a ``STARTTLS'' request, whose purpose
-it to start the TLS protocols just after the client requests it.
-This is a really neat idea and does not require an extra port.
-\par
-This method is used by almost all modern protocols and there is
-even the \cite{RFC2817} paper which proposes extensions to HTTP
-to support it.
-\par
-The tricky part, in this method, is that the ``STARTTLS'' request is sent
-in the clear, thus is vulnerable to modifications.
-A typical attack is to modify the
-messages in a way that the client is fooled and thinks that the server
-does not have the ``STARTTLS'' capability. See a typical conversation
-of a hypothetical protocol:
-\begin{verbatim}
-(client connects to the server)
-
-CLIENT: HELLO I'M MR. XXX
-
-SERVER: NICE TO MEET YOU XXX
-
-CLIENT: PLEASE START TLS
-
-SERVER: OK
-
-*** TLS STARTS
-
-CLIENT: HERE ARE SOME CONFIDENTIAL DATA
-
-\end{verbatim}
-
-And see an example of a conversation where someone is acting
-in between:
-
-\begin{verbatim}
-(client connects to the server)
-
-CLIENT: HELLO I'M MR. XXX
-
-SERVER: NICE TO MEET YOU XXX
-
-CLIENT: PLEASE START TLS
-
-(here someone inserts this message)
-
-SERVER: SORRY I DON'T HAVE THIS CAPABILITY
-
-CLIENT: HERE ARE SOME CONFIDENTIAL DATA
-
-\end{verbatim}
-
-As you can see above the client was fooled, and was dummy enough
-to send the confidential data in the clear.
-\par
-How to avoid the above attack? As you may have already thought
-this one is easy to avoid. The client has to ask the user before it connects
-whether the user requests \tls{} or not. If the user answered that he
-certainly wants the secure layer the last conversation should be:
-
-\begin{verbatim}
-(client connects to the server)
-
-CLIENT: HELLO I'M MR. XXX
-
-SERVER: NICE TO MEET YOU XXX
-
-CLIENT: PLEASE START TLS
-
-(here someone inserts this message)
-
-SERVER: SORRY I DON'T HAVE THIS CAPABILITY
-
-CLIENT: BYE
-
-(the client notifies the user that the secure connection was not possible)
-
-\end{verbatim}
-
-
-\par
-This method, if implemented properly, is far better than the
-traditional method, and the security properties remain the same, since only
-denial of service is possible. The benefit is that the server may request
-additional data before the \tls{} Handshake protocol
-starts, in order to send the correct certificate, use the correct
-password file\footnote{in SRP authentication}, or anything else!
-
-
-
diff --git a/doc/tex/internals.eps b/doc/tex/internals.eps
deleted file mode 100644
index bde99ae489..0000000000
--- a/doc/tex/internals.eps
+++ /dev/null
@@ -1,320 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: internals.dia
-%%Creator: Dia v0.90
-%%CreationDate: Fri Sep 6 14:13:40 2002
-%%For: a user
-%%Magnification: 1.0000
-%%Orientation: Portrait
-%%BoundingBox: 0 0 898 560
-%%Pages: 1
-%%EndComments
-%%BeginProlog
-/cp {closepath} bind def
-/c {curveto} bind def
-/f {fill} bind def
-/a {arc} bind def
-/ef {eofill} bind def
-/ex {exch} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth pop} bind def
-/tr {translate} bind def
-
-/ellipsedict 8 dict def
-ellipsedict /mtrx matrix put
-/ellipse
-{ ellipsedict begin
- /endangle exch def
- /startangle exch def
- /yrad exch def
- /xrad exch def
- /y exch def
- /x exch def /savematrix mtrx currentmatrix def
- x y tr xrad yrad sc
- 0 0 1 startangle endangle arc
- savematrix setmatrix
- end
-} def
-
-/mergeprocs {
-dup length
-3 -1 roll
-dup
-length
-dup
-5 1 roll
-3 -1 roll
-add
-array cvx
-dup
-3 -1 roll
-0 exch
-putinterval
-dup
-4 2 roll
-putinterval
-} bind def
-%%EndProlog
-
-%%BeginSetup
-%%EndSetup
-28.346000 -28.346000 scale
--0.100000 -19.950000 translate
-
-1.000000 1.000000 1.000000 srgb
-n 0.152022 0.250000 m 0.152022 19.900000 l 31.702022 19.900000 l 31.702022 0.250000 l f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 0.152022 0.250000 m 0.152022 19.900000 l 31.702022 19.900000 l 31.702022 0.250000 l cp s
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 2.049996 9.864442 m 2.049996 12.014442 l 7.977996 12.014442 l 7.977996 9.864442 l f
-0.000000 0.000000 0.000000 srgb
-n 2.049996 9.864442 m 2.049996 12.014442 l 7.977996 12.014442 l 7.977996 9.864442 l cp s
-1.000000 1.000000 1.000000 srgb
-n 2.049996 9.864442 m 2.549996 9.364442 l 8.477996 9.364442 l 7.977996 9.864442 l f
-0.000000 0.000000 0.000000 srgb
-n 2.049996 9.864442 m 2.549996 9.364442 l 8.477996 9.364442 l 7.977996 9.864442 l cp s
-1.000000 1.000000 1.000000 srgb
-n 7.977996 9.864442 m 8.477996 9.364442 l 8.477996 11.514442 l 7.977996 12.014442 l f
-0.000000 0.000000 0.000000 srgb
-n 7.977996 9.864442 m 8.477996 9.364442 l 8.477996 11.514442 l 7.977996 12.014442 l cp s
-2.549996 10.977345 m [ /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /T /L /S /space /e /s /i /o /xi /xi /n /G /l /b /a /t
- /D /B /c /k /d /r /p /y /C /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
-] /e0 exch def
-/Helvetica_e0 undefinefont
-/Helvetica_e0
- /Helvetica findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding e0 def
- currentdict end
-definefont pop
-/Helvetica_e0 ff 0.800000 scf sf
-( !"#"$%%&'*)
- gs 1 -1 sc sh gr
-0.050000 slw
-n 2.549996 11.164442 m 7.477996 11.164442 l s
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 10.921846 9.744442 m 10.921846 11.894442 l 16.849846 11.894442 l 16.849846 9.744442 l f
-0.000000 0.000000 0.000000 srgb
-n 10.921846 9.744442 m 10.921846 11.894442 l 16.849846 11.894442 l 16.849846 9.744442 l cp s
-1.000000 1.000000 1.000000 srgb
-n 10.921846 9.744442 m 11.421846 9.244442 l 17.349846 9.244442 l 16.849846 9.744442 l f
-0.000000 0.000000 0.000000 srgb
-n 10.921846 9.744442 m 11.421846 9.244442 l 17.349846 9.244442 l 16.849846 9.744442 l cp s
-1.000000 1.000000 1.000000 srgb
-n 16.849846 9.744442 m 17.349846 9.244442 l 17.349846 11.394442 l 16.849846 11.894442 l f
-0.000000 0.000000 0.000000 srgb
-n 16.849846 9.744442 m 17.349846 9.244442 l 17.349846 11.394442 l 16.849846 11.894442 l cp s
-11.421846 10.857345 m /Helvetica_e0 ff 0.800000 scf sf
-( !"#"$%%&'*)
- gs 1 -1 sc sh gr
-0.050000 slw
-n 11.421846 11.044442 m 16.349846 11.044442 l s
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 6.586246 1.665909 3.514400 1.171467 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 6.586246 1.665909 3.514400 1.171467 0 360 ellipse cp s
-/Helvetica_e0 ff 0.800000 scf sf
-(+,'-.,#%/./$) sw
-2 div 6.586246 ex sub 1.878812 m (+,'-.,#%/./$)
- gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-0 slj
-0 slc
-n 13.885846 9.744442 m 13.885846 4.744442 l 9.071302 4.744442 l 9.071302 2.494261 l s
-0 slj
-1.000000 1.000000 1.000000 srgb
-n 13.485846 8.944442 m 13.885846 9.744442 l 14.285846 8.944442 l f
-0.100000 slw
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 13.485846 8.944442 m 13.885846 9.744442 l 14.285846 8.944442 l cp s
-0.100000 slw
-[] 0 sd
-0 slj
-0 slc
-n 5.013996 9.864442 m 5.013996 3.794442 l 8.571846 3.794442 l 8.571846 2.644442 l s
-0 slj
-1.000000 1.000000 1.000000 srgb
-n 4.613996 9.064442 m 5.013996 9.864442 l 5.413996 9.064442 l f
-0.100000 slw
-[] 0 sd
-0 slj
-0.000000 0.000000 0.000000 srgb
-n 4.613996 9.064442 m 5.013996 9.864442 l 5.413996 9.064442 l cp s
-0.100000 slw
-[1.000000] 0 sd
-[0.400000] 0 sd
-0 slj
-0 slc
-n 25.988246 3.023182 m 25.988246 7.144442 l 6.999996 7.144442 l 6.999996 9.594442 l s
-0.100000 slw
-[] 0 sd
-0 slj
-0 slc
-n 6.749996 8.794442 m 6.999996 9.594442 l 7.249996 8.794442 l s
-0.100000 slw
-[0.400000] 0 sd
-[0.400000] 0 sd
-0 slj
-0 slc
-n 23.590305 2.692096 m 23.590305 8.194442 l 15.850046 8.194442 l 15.850046 9.594442 l s
-0.100000 slw
-[] 0 sd
-0 slj
-0 slc
-n 15.600046 8.794442 m 15.850046 9.594442 l 16.100046 8.794442 l s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0 slj
-0 slc
-0 slj
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 25.407947 11.885335 m 25.407947 15.102499 l 29.054065 15.102499 l 29.054065 11.885335 l f
-0 slc
-0 slj
-[] 0 sd
-n 27.231006 15.102499 1.823059 0.536194 0 360 ellipse f
-0 slc
-0 slj
-[] 0 sd
-n 27.231006 11.885335 1.823059 0.536194 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 27.231006 11.885335 1.823059 0.536194 0 360 ellipse cp s
-0 slc
-0 slj
-[] 0 sd
-n 29.054065 11.885335 m 29.054065 15.102499 l 29.054065 15.398631 28.237854 15.638693 27.231006 15.638693 c 26.224158 15.638693 25.407947 15.398631 25.407947 15.102499 c 25.407947 11.885335 l s
-/Courier_e0 undefinefont
-/Courier_e0
- /Courier findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding e0 def
- currentdict end
-definefont pop
-/Courier_e0 ff 0.800000 scf sf
-("$%%&'*#0./.-.%$) sw
-2 div 27.552722 ex sub 16.255836 m ("$%%&'*#0./.-.%$)
- gs 1 -1 sc sh gr
-(1.23$*4) sw
-2 div 27.552722 ex sub 17.055836 m (1.23$*4)
- gs 1 -1 sc sh gr
-1.000000 1.000000 1.000000 srgb
-n 6.925000 18.544442 6.775000 1.200000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 6.925000 18.544442 6.775000 1.200000 0 360 ellipse cp s
-/Courier_e0 ff 0.800000 scf sf
-( 5.*%6'5/#!.7$5) sw
-2 div 6.399996 ex sub 18.744442 m ( 5.*%6'5/#!.7$5)
- gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 25.988246 1.892782 3.391200 1.130400 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 25.988246 1.892782 3.391200 1.130400 0 360 ellipse cp s
-/Helvetica_e0 ff 0.800000 scf sf
-(85$4$*/&.,%) sw
-2 div 25.988246 ex sub 2.105685 m (85$4$*/&.,%)
- gs 1 -1 sc sh gr
-0.100000 slw
-0 slc
-[] 0 sd
-1.000000 0.000000 0.000000 srgb
-n 11.715648 17.695914 m 13.885846 11.894442 l s
-0 slj
-n 11.761788 16.859032 m 11.715648 17.695914 l 12.230094 17.034215 l f
-0.100000 slw
-0 slc
-[] 0 sd
-n 13.513746 11.849542 m 11.297046 17.533342 l s
-0 slj
-n 13.455981 12.685702 m 13.513746 11.849542 l 12.990154 12.504028 l f
-0.100000 slw
-0 slc
-[] 0 sd
-n 4.590206 12.020142 m 4.590306 17.362842 l s
-0 slj
-n 4.840221 12.820137 m 4.590206 12.020142 l 4.340221 12.820147 l f
-0.100000 slw
-[1.000000] 0 sd
-[0.400000] 0 sd
-0 slj
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 6.011256 12.133742 m 6.011256 12.929542 l 25.393046 12.929542 l 25.393046 12.929542 l s
-0.100000 slw
-[] 0 sd
-0 slj
-0 slc
-n 24.593046 13.179542 m 25.393046 12.929542 l 24.593046 12.679542 l s
-0.100000 slw
-[0.400000] 0 sd
-[0.400000] 0 sd
-0 slj
-0 slc
-n 17.208346 10.258142 m 17.208346 10.258142 l 27.155046 10.258142 l 27.155046 11.792742 l s
-0.100000 slw
-[] 0 sd
-0 slj
-0 slc
-n 26.905046 10.992742 m 27.155046 11.792742 l 27.405046 10.992742 l s
-0.100000 slw
-0 slc
-[] 0 sd
-1.000000 0.000000 0.000000 srgb
-n 4.988176 17.476542 m 5.013996 12.014442 l s
-0 slj
-n 4.741960 16.675369 m 4.988176 17.476542 l 5.241955 16.677733 l f
-showpage
diff --git a/doc/tex/layers.eps b/doc/tex/layers.eps
deleted file mode 100644
index 48115d0485..0000000000
--- a/doc/tex/layers.eps
+++ /dev/null
@@ -1,183 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: layers.dia
-%%Creator: Dia v0.90
-%%CreationDate: Fri Sep 6 21:01:53 2002
-%%For: a user
-%%Magnification: 1.0000
-%%Orientation: Portrait
-%%BoundingBox: 0 0 698 396
-%%Pages: 1
-%%EndComments
-%%BeginProlog
-/cp {closepath} bind def
-/c {curveto} bind def
-/f {fill} bind def
-/a {arc} bind def
-/ef {eofill} bind def
-/ex {exch} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth pop} bind def
-/tr {translate} bind def
-
-/ellipsedict 8 dict def
-ellipsedict /mtrx matrix put
-/ellipse
-{ ellipsedict begin
- /endangle exch def
- /startangle exch def
- /yrad exch def
- /xrad exch def
- /y exch def
- /x exch def /savematrix mtrx currentmatrix def
- x y tr xrad yrad sc
- 0 0 1 startangle endangle arc
- savematrix setmatrix
- end
-} def
-
-/mergeprocs {
-dup length
-3 -1 roll
-dup
-length
-dup
-5 1 roll
-3 -1 roll
-add
-array cvx
-dup
-3 -1 roll
-0 exch
-putinterval
-dup
-4 2 roll
-putinterval
-} bind def
-%%EndProlog
-
-%%BeginSetup
-%%EndSetup
-28.346000 -28.346000 scale
--2.853249 -14.882857 translate
-
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0 slj
-0 slc
-0 slj
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 2.925202 11.305475 m 7.825202 10.776368 10.275202 10.599999 15.175202 10.599999 c 20.075202 10.599999 22.525202 10.776368 27.425202 11.305475 c 27.425202 14.127381 l 22.525202 14.656488 20.075202 14.832857 15.175202 14.832857 c 10.275202 14.832857 7.825202 14.656488 2.925202 14.127381 c 2.925202 11.305475 l f
-0.000000 0.000000 0.000000 srgb
-n 2.925202 11.305475 m 7.825202 10.776368 10.275202 10.599999 15.175202 10.599999 c 20.075202 10.599999 22.525202 10.776368 27.425202 11.305475 c 27.425202 14.127381 l 22.525202 14.656488 20.075202 14.832857 15.175202 14.832857 c 10.275202 14.832857 7.825202 14.656488 2.925202 14.127381 c 2.925202 11.305475 l s
-0 slc
-0 slj
-[] 0 sd
-n 2.925202 11.305475 m 7.825202 11.834583 10.275202 12.010952 15.175202 12.010952 c 20.075202 12.010952 22.525202 11.834583 27.425202 11.305475 c s
- [ /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /space /T /r /a /n /s /p /o /xi /xi /t /L /y /e /S /R
- /c /d /P /l /A /i /H /h /k /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
-] /e0 exch def
-/Courier_e0 undefinefont
-/Courier_e0
- /Courier findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding e0 def
- currentdict end
-definefont pop
-/Courier_e0 ff 0.800000 scf sf
-( !"#$%&'"* +#,-" ) sw
-2 div 15.175202 ex sub 13.286309 m ( !"#$%&'"* +#,-" )
- gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0 slj
-0 slc
-0 slj
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 2.925202 7.452368 m 7.815202 6.850591 10.260202 6.649999 15.150202 6.649999 c 20.040202 6.649999 22.485202 6.850591 27.375202 7.452368 c 27.375202 10.661842 l 22.485202 11.263619 20.040202 11.464211 15.150202 11.464211 c 10.260202 11.464211 7.815202 11.263619 2.925202 10.661842 c 2.925202 7.452368 l f
-0.000000 0.000000 0.000000 srgb
-n 2.925202 7.452368 m 7.815202 6.850591 10.260202 6.649999 15.150202 6.649999 c 20.040202 6.649999 22.485202 6.850591 27.375202 7.452368 c 27.375202 10.661842 l 22.485202 11.263619 20.040202 11.464211 15.150202 11.464211 c 10.260202 11.464211 7.815202 11.263619 2.925202 10.661842 c 2.925202 7.452368 l s
-0 slc
-0 slj
-[] 0 sd
-n 2.925202 7.452368 m 7.815202 8.054144 10.260202 8.254736 15.150202 8.254736 c 20.040202 8.254736 22.485202 8.054144 27.375202 7.452368 c s
-/Courier_e0 ff 0.800000 scf sf
-( !+. /-0'"1 ) sw
-2 div 15.150202 ex sub 9.275432 m ( !+. /-0'"1 )
- gs 1 -1 sc sh gr
-(2"'*'0'3) sw
-2 div 15.150202 ex sub 10.075432 m (2"'*'0'3)
- gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0 slj
-0 slc
-0 slj
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 2.903249 3.602368 m 7.799070 3.000591 10.246981 2.799999 15.142802 2.799999 c 20.038623 2.799999 22.486534 3.000591 27.382355 3.602368 c 27.382355 6.811842 l 22.486534 7.413619 20.038623 7.614211 15.142802 7.614211 c 10.246981 7.614211 7.799070 7.413619 2.903249 6.811842 c 2.903249 3.602368 l f
-0.000000 0.000000 0.000000 srgb
-n 2.903249 3.602368 m 7.799070 3.000591 10.246981 2.799999 15.142802 2.799999 c 20.038623 2.799999 22.486534 3.000591 27.382355 3.602368 c 27.382355 6.811842 l 22.486534 7.413619 20.038623 7.614211 15.142802 7.614211 c 10.246981 7.614211 7.799070 7.413619 2.903249 6.811842 c 2.903249 3.602368 l s
-0 slc
-0 slj
-[] 0 sd
-n 2.903249 3.602368 m 7.799070 4.204144 10.246981 4.404736 15.142802 4.404736 c 20.038623 4.404736 22.486534 4.204144 27.382355 3.602368 c s
-/Courier_e0 ff 0.800000 scf sf
-( 4&&350#*5'$ !+. 6#$1%7#8- !+. 43-"*) sw
-2 div 15.142802 ex sub 5.425432 m ( 4&&350#*5'$ !+. 6#$1%7#8- !+. 43-"*)
- gs 1 -1 sc sh gr
-( 2"'*'0'3 2"'*'0'3 2"'*'0'3) sw
-2 div 15.142802 ex sub 6.225432 m ( 2"'*'0'3 2"'*'0'3 2"'*'0'3)
- gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 20.275302 4.378604 m 20.312578 7.538693 l s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 12.075202 7.582857 m 12.125202 4.382857 l s
-showpage
diff --git a/doc/tex/layers.tex b/doc/tex/layers.tex
deleted file mode 100644
index 40f6d504e3..0000000000
--- a/doc/tex/layers.tex
+++ /dev/null
@@ -1,30 +0,0 @@
-\section{TLS layers\index{TLS Layers}}
-
-\tlsI{} is a layered protocol, and consists of the Record Protocol,
-the Handshake Protocol and the Alert Protocol. The Record Protocol
-is to serve all other protocols and is above the transport layer.
-The Record protocol offers symmetric encryption, data authenticity, and
-optionally compression.
-
-\par
-The Alert protocol offers some signaling to the other protocols. It can
-help informing the peer for the cause of failures and other error
-conditions. See section \ref{alert} on page \pageref{alert} for more information.
-The alert protocol is above the record protocol.
-
-\par
-The Handshake protocol is responsible for the security parameters'
-negotiation, the initial key exchange and
-authentication.
-See section \ref{handshake} on page \pageref{handshake} for more information
-about the handshake protocol.
-The protocol layering in TLS is shown at \hyperref{figure}{figure }{}{fig:layers}.
-
-\begin{figure}[hbtp]
-\includegraphics[height=8cm,width=12cm]{layers}
-\label{fig:layers}
-\caption{Layers in the TLS protocol}
-\end{figure}
-
-\addvspace{1.5cm}
-
diff --git a/doc/tex/library.tex b/doc/tex/library.tex
deleted file mode 100644
index 6600aff909..0000000000
--- a/doc/tex/library.tex
+++ /dev/null
@@ -1,109 +0,0 @@
-\chapter{The Library}
-
-\section{Description}
-\par
-In brief \gnutls{} can be described as a library which offers
-an API to access secure communication protocols. These protocols provide
-privacy over insecure lines, and were designed to prevent
-eavesdropping, tampering, or message forgery.
-
-\par
-Technically \gnutls{} is a portable ANSI {\bf C} based library which implements the
-\tlsI{}\footnote{See section \ref{sec:tlsintro} on page \pageref{sec:tlsintro} for
-a more detailed description of the protocols.} and \sslIII{} protocols,
-accompanied with the required framework for authentication and
-public key infrastructure.
-The library is available under the GNU Lesser GPL license\footnote{A copy of the license is included
-in the distribution}.
-Important features of the \gnutls{} library include:
-
-\begin{itemize}
-\item Support for \tlsI{}, \tlsII{} and \sslIII{} protocols.
-\item Support for both {\bf X.509} and {\bf OpenPGP} certificates.
-\item Support for handling and verification of certificates.
-\item Support for {\bf SRP} for \tls{} authentication.
-\item Support for \tls{} {\bf Extension mechanism}.
-\item Support for \tls{} {\bf Compression Methods}.
-\end{itemize}
-
-Additionally \gnutls{} provides a limited emulation API for the widely used
-OpenSSL\footnote{\htmladdnormallink{http://www.openssl.org/}{http://www.openssl.org/}}
-library, to ease integration with existing applications.
-
-\par
-\gnutls{} consists of three
-independent parts, namely the ``TLS protocol part'', the ``Certificate part'', and
-the ``Crypto backend'' part.
-The `TLS protocol part' is the actual protocol implementation, and is entirely
-implemented within the \gnutls{} library.
-The `Certificate part' consists of the certificate parsing, and verification
-functions which is partially implemented in the \gnutls{} library. The
-Libtasn1\footnote{\htmladdnormallink{ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/libtasn1/}{ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/libtasn1/}}
-a library which offers ASN.1 parsing capabilities, is used for the
-X.509 certificate parsing functions, and
-Opencdk\footnote{\htmladdnormallink{ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/opencdk/}{ftp://ftp.gnupg.org/gcrypt/alpha/gnutls/opencdk/}}
-is used for the OpenPGP key support in \gnutls{}.
-The `Crypto backend' is provided by the
-libgcrypt\footnote{\htmladdnormallink{ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/}{ftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/}}
-library.
-\par
-In order to ease integration in embedded systems, parts of the \gnutls{} library
-can be disabled at compile time. That way a small library, with the required features,
-can be generated.
-
-\section{General Idea}
-% explain how it works
-A brief description of how \gnutls{} works internally is shown at
-the figure \ref{fig:internals}. This section may be easier to understand
-after having seen the examples on page \pageref{examples}.
-
-\begin{figure}[htp]
-\includegraphics[height=8cm,width=12cm]{internals}
-\label{fig:internals}
-\end{figure}
-
-\par
-As shown in the figure, there is a read-only global state that
-is initialized once by the global initialization function.
-This global structure, among others, contains the memory allocation
-functions used, and some structures needed for the ASN.1 parser.
-This structure is never modified by any \gnutls{} function, except
-for the deinitialization function which frees all memory allocated in
-the global structure and is called after the program has permanently finished
-using \gnutls{}.
-
-\par
-The credentials structure is used by some authentication methods,
-such as certificate authentication\footnote{see section \ref{certificate} on page \pageref{certificate}}.
-A credentials structure may contain certificates, private keys, temporary parameters
-for diffie hellman or RSA key exchange, and other stuff that may be shared
-between several TLS sessions.
-
-This structure should be initialized using the appropriate initialization
-functions. For example an application which uses certificate authentication
-would probably initialize the credentials, using the appropriate functions,
-and put its trusted certificates in this structure. The next step is to
-associate the credentials structure with each \tls{} session.
-
-\par A \gnutls{} session contains all the required stuff for a
-session to handle one secure connection. This session calls directly
-to the transport layer functions, in order to communicate with the peer.
-Every session has a unique session ID shared with the peer.
-
-\par
-Since TLS sessions can be resumed, servers would probably need a database
-backend to hold the session's parameters. Every \gnutls{} session after
-a successful handshake calls the appropriate backend function\footnote{see section \ref{resume}
-on \pageref{resume} for information on initialization} to store the
-newly negotiated session. The session database is examined by the server
-just after having received the client hello\footnote{The first message
-in a \tls{} handshake}, and if the session ID sent by the client,
-matches a stored session, the stored session will be retrieved, and the
-new session will be a resumed one, and will share the same session ID
-with the previous one.
-
-\input{errors}
-
-\input{memory}
-
-\input{callbacks}
diff --git a/doc/tex/macros.tex b/doc/tex/macros.tex
deleted file mode 100644
index 550dcc05c5..0000000000
--- a/doc/tex/macros.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\newcommand{\gnutls}{{\emph{GnuTLS}}}
-\newcommand{\gnutlse}{{\emph{GnuTLS-extra}}}
-\newcommand{\tlsI}{{\emph{TLS 1.0}}}
-\newcommand{\tlsII}{{\emph{TLS 1.1}}}
-\newcommand{\tls}{{\emph{TLS}}}
-\newcommand{\sslIII}{{\emph{SSL 3.0}}}
-\newcommand{\sslII}{{\emph{SSL 2.0}}}
-\newcommand{\ssl}{{\emph{SSL}}}
-\newcommand{\HRule}{\rule{\linewidth}{0.4mm}}
-
-\newcommand{\option}[1]{%
- {\tt{#1}}
-}
-
-\newcommand{\command}[1]{%
- ``{\tt{#1}}''
-}
-
-% accepts section name, function name
-\newcommand{\printfunc}[2]{%
- \hyperref{#2}{#2() (see section }{ p.\pageref{#1})}{#1}
-}
-
diff --git a/doc/tex/memory.tex b/doc/tex/memory.tex
deleted file mode 100644
index d353cd6914..0000000000
--- a/doc/tex/memory.tex
+++ /dev/null
@@ -1,17 +0,0 @@
-\section{Memory handling}
-
-\gnutls{} internally handles heap allocated objects differently, depending
-on the sensitivity of the data they contain. However for performance
-reasons, the default memory functions do not overwrite sensitive data from
-memory, nor protect such objects from being written to the swap.
-In order to change the default behavior the
-\printfunc{gnutls_global_set_mem_functions}{gnutls\_global\_set\_mem\_functions}
-function is available which can be used to set other memory
-handlers than the defaults.
-\par
-The \emph{libgcrypt} library on which \gnutls{} depends, has such secure
-memory allocation functions available. These should be used in cases
-where even the system's swap memory is not considered secure. See
-the documentation of \emph{libgcrypt} for more information.
-
-
diff --git a/doc/tex/openssl.tex b/doc/tex/openssl.tex
deleted file mode 100644
index f44af5e603..0000000000
--- a/doc/tex/openssl.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\section{Compatibility with the OpenSSL\index{OpenSSL} library}
-
-To ease \gnutls{}' integration with existing applications, a compatibility
-layer with the widely used OpenSSL library is included in the \emph{gnutls-openssl}
-library. This compatibility layer is not complete and it is not
-intended to completely reimplement the OpenSSL API with \gnutls{}.
-It only provides source-level compatibility. There is currently no
-attempt to make it binary-compatible with OpenSSL.
-\par
-The prototypes for the compatibility functions are in the
-``gnutls/openssl.h'' header file.
-
-Current limitations imposed by the compatibility layer include:
-
-\begin{itemize}
-
-\item Error handling is not thread safe.
-
-\end{itemize}
-
diff --git a/doc/tex/pgp-fig1.eps b/doc/tex/pgp-fig1.eps
deleted file mode 100644
index a24985a5e3..0000000000
--- a/doc/tex/pgp-fig1.eps
+++ /dev/null
@@ -1,479 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: /usr/home/nmav/pgp1.dia
-%%Creator: Dia v0.88.1
-%%CreationDate: Mon Jun 10 16:43:25 2002
-%%For: nmav
-%%Magnification: 1.0000
-%%Orientation: Portrait
-%%BoundingBox: 0 0 471 433
-%%Pages: 1
-%%BeginSetup
-%%EndSetup
-%%EndComments
-%%BeginProlog
-[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
-/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
-/two /three /four /five /six /seven /eight /nine /colon /semicolon
-/less /equal /greater /question /at /A /B /C /D /E
-/F /G /H /I /J /K /L /M /N /O
-/P /Q /R /S /T /U /V /W /X /Y
-/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
-/d /e /f /g /h /i /j /k /l /m
-/n /o /p /q /r /s /t /u /v /w
-/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
-/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
-/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
-/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
-/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
-/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
-/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
-/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
-/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
-/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
-/Times-Roman-latin1
- /Times-Roman findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Times-Italic-latin1
- /Times-Italic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Times-Bold-latin1
- /Times-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Times-BoldItalic-latin1
- /Times-BoldItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/AvantGarde-Book-latin1
- /AvantGarde-Book findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/AvantGarde-BookOblique-latin1
- /AvantGarde-BookOblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/AvantGarde-Demi-latin1
- /AvantGarde-Demi findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/AvantGarde-DemiOblique-latin1
- /AvantGarde-DemiOblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Bookman-Light-latin1
- /Bookman-Light findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Bookman-LightItalic-latin1
- /Bookman-LightItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Bookman-Demi-latin1
- /Bookman-Demi findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Bookman-DemiItalic-latin1
- /Bookman-DemiItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Courier-latin1
- /Courier findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Courier-Oblique-latin1
- /Courier-Oblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Courier-Bold-latin1
- /Courier-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Courier-BoldOblique-latin1
- /Courier-BoldOblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-latin1
- /Helvetica findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Oblique-latin1
- /Helvetica-Oblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Bold-latin1
- /Helvetica-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-BoldOblique-latin1
- /Helvetica-BoldOblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Narrow-latin1
- /Helvetica-Narrow findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Narrow-Oblique-latin1
- /Helvetica-Narrow-Oblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Narrow-Bold-latin1
- /Helvetica-Narrow-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Helvetica-Narrow-BoldOblique-latin1
- /Helvetica-Narrow-BoldOblique findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/NewCenturySchoolbook-Roman-latin1
- /NewCenturySchoolbook-Roman findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/NewCenturySchoolbook-Italic-latin1
- /NewCenturySchoolbook-Italic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/NewCenturySchoolbook-Bold-latin1
- /NewCenturySchoolbook-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/NewCenturySchoolbook-BoldItalic-latin1
- /NewCenturySchoolbook-BoldItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Palatino-Roman-latin1
- /Palatino-Roman findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Palatino-Italic-latin1
- /Palatino-Italic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Palatino-Bold-latin1
- /Palatino-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Palatino-BoldItalic-latin1
- /Palatino-BoldItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/Symbol-latin1
- /Symbol findfont
-definefont pop
-/ZapfChancery-MediumItalic-latin1
- /ZapfChancery-MediumItalic findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/ZapfDingbats-latin1
- /ZapfDingbats findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding isolatin1encoding def
- currentdict end
-definefont pop
-/cp {closepath} bind def
-/c {curveto} bind def
-/f {fill} bind def
-/a {arc} bind def
-/ef {eofill} bind def
-/ex {exch} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth pop} bind def
-/tr {translate} bind def
-
-/ellipsedict 8 dict def
-ellipsedict /mtrx matrix put
-/ellipse
-{ ellipsedict begin
- /endangle exch def
- /startangle exch def
- /yrad exch def
- /xrad exch def
- /y exch def
- /x exch def /savematrix mtrx currentmatrix def
- x y tr xrad yrad sc
- 0 0 1 startangle endangle arc
- savematrix setmatrix
- end
-} def
-
-/mergeprocs {
-dup length
-3 -1 roll
-dup
-length
-dup
-5 1 roll
-3 -1 roll
-add
-array cvx
-dup
-3 -1 roll
-0 exch
-putinterval
-dup
-4 2 roll
-putinterval
-} bind def
-28.346000 -28.346000 scale
-0.024000 -15.632857 translate
-%%EndProlog
-
-
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 4.162000 3.350000 2.512000 1.000000 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 4.162000 3.350000 2.512000 1.000000 0 360 ellipse cp s
-/Courier-Bold-latin1 ff 0.800000 scf sf
-(Alice) dup sw 2 div 4.162000 ex sub 3.555217 m gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 2.604400 11.000000 1.654400 1.000000 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 2.604400 11.000000 1.654400 1.000000 0 360 ellipse cp s
-/Courier-Bold-latin1 ff 0.800000 scf sf
-(Bob) dup sw 2 div 2.604400 ex sub 11.205217 m gs 1 -1 sc sh gr
-0.100000 slw
-0 slc
-[] 0 sd
-n 2.385748 4.057107 m 2.604400 10.000000 l s
-0 slj
-n 2.664993 4.847374 m 2.385748 4.057107 l 2.165331 4.865758 l f
-/Helvetica-latin1 ff 0.800000 scf sf
-0.100000 slw
-0 slc
-[] 0 sd
-n 3.774237 10.292893 m 4.162000 4.350000 l s
-0 slj
-n 3.576856 9.478313 m 3.774237 10.292893 l 4.075795 9.510868 l f
-/Helvetica-latin1 ff 0.800000 scf sf
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 8.589200 7.050000 2.139200 1.000000 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 8.589200 7.050000 2.139200 1.000000 0 360 ellipse cp s
-/Courier-Bold-latin1 ff 0.800000 scf sf
-(Dave) dup sw 2 div 8.589200 ex sub 7.255217 m gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0 slj
-0 slc
-0 slj
-[] 0 sd
-n 0.500000 0.900000 m 16.050000 0.900000 l s
-0 slc
-0 slj
-[] 0 sd
-n 0.500000 13.550000 m 16.050000 13.550000 l s
-0 slc
-0 slj
-[] 0 sd
-n 0.500000 0.900000 m 0.500000 13.550000 l s
-0 slc
-0 slj
-[] 0 sd
-n 16.050000 0.900000 m 16.050000 13.550000 l s
-/Courier-latin1 ff 0.800000 scf sf
-(An example of the) dup sw 2 div 8.200000 ex sub 14.650000 m gs 1 -1 sc sh gr
-( web of trust model) dup sw 2 div 8.200000 ex sub 15.450000 m gs 1 -1 sc sh gr
-0.100000 slw
-0 slc
-[] 0 sd
-n 5.938252 4.057107 m 7.076557 6.342893 l s
-0 slj
-n 6.518659 4.661779 m 5.938252 4.057107 l 6.071086 4.884666 l f
-/Helvetica-latin1 ff 0.800000 scf sf
-0.100000 slw
-[] 0 sd
-[0.400000] 0 sd
-0 slc
-n 8.589200 6.050000 m 6.674000 3.350000 l s
-0.100000 slw
-[] 0 sd
-0 slj
-0 slc
-n 7.340758 3.857872 m 6.674000 3.350000 l 6.932938 4.147152 l s
-/Courier-latin1 ff 0.800000 scf sf
-({Trust}) 7.631600 4.700000 m gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 10.396800 10.950000 2.996800 1.000000 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 10.396800 10.950000 2.996800 1.000000 0 360 ellipse cp s
-/Courier-Bold-latin1 ff 0.800000 scf sf
-(Charlie) dup sw 2 div 10.396800 ex sub 11.155217 m gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 12.562000 2.900000 2.512000 1.000000 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 12.562000 2.900000 2.512000 1.000000 0 360 ellipse cp s
-/Courier-Bold-latin1 ff 0.800000 scf sf
-(Kevin) dup sw 2 div 12.562000 ex sub 3.105217 m gs 1 -1 sc sh gr
-0.100000 slw
-0 slc
-[] 0 sd
-n 10.101843 6.342893 m 12.562000 3.900000 l s
-0 slj
-n 10.493363 5.601805 m 10.101843 6.342893 l 10.845670 5.956601 l f
-/Helvetica-latin1 ff 0.800000 scf sf
-0.100000 slw
-[] 0 sd
-[0.400000] 0 sd
-0 slc
-n 10.396800 9.950000 m 14.338252 3.607107 l s
-0.100000 slw
-[] 0 sd
-0 slj
-0 slc
-n 14.128358 4.418553 m 14.338252 3.607107 l 13.703672 4.154655 l s
-/Courier-latin1 ff 0.800000 scf sf
-({Trust}) 12.367476 6.778548 m gs 1 -1 sc sh gr
-0.100000 slw
-0 slc
-[] 0 sd
-n 4.258800 11.000000 m 7.400000 10.950000 l s
-0 slj
-n 5.054720 10.737299 m 4.258800 11.000000 l 5.062678 11.237236 l f
-/Helvetica-latin1 ff 0.800000 scf sf
-0.100000 slw
-0 slc
-[] 0 sd
-n 14.338252 3.607107 m 12.515858 10.242893 l s
-0 slj
-n 14.367466 4.444750 m 14.338252 3.607107 l 13.885317 4.312337 l f
-/Helvetica-latin1 ff 0.800000 scf sf
-showpage
diff --git a/doc/tex/pgpcert.xml.tex b/doc/tex/pgpcert.xml.tex
deleted file mode 100644
index 1e11aeb4fe..0000000000
--- a/doc/tex/pgpcert.xml.tex
+++ /dev/null
@@ -1,59 +0,0 @@
-\begin{verbatim}
-
-<?xml version="1.0"?>
-
-<gnutls:openpgp:key version="1.0">
- <OPENPGPKEY>
- <MAINKEY>
- <KEYID>BD572CDCCCC07C3</KEYID>
- <FINGERPRINT>BE615E88D6CFF27225B8A2E7BD572CDCCCC07C35</FINGERPRINT>
- <PKALGO>DSA</PKALGO>
- <KEYLEN>1024</KEYLEN>
- <CREATED>1011533164</CREATED>
- <REVOKED>0</REVOKED>
- <KEY ENCODING="HEX"/>
- <DSA-P>0400E72E76B62EEFA9A3BD594093292418050C02D7029D6CA2066EFC34C86038627C643EB1A652A7AF1D37CF46FC505AC1E0C699B37895B4BCB3E53541FFDA4766D6168C2B8AAFD6AB22466D06D18034D5DAC698E6993BA5B350FF822E1CD8702A75114E8B73A6B09CB3B93CE44DBB516C9BB5F95BB666188602A0A1447236C0658F</DSA-P>
- <DSA-Q>00A08F5B5E78D85F792CC2072F9474645726FB4D9373</DSA-Q>
- <DSA-G>03FE3578D689D6606E9118E9F9A7042B963CF23F3D8F1377A273C0F0974DBF44B3CABCBE14DD64412555863E39A9C627662D77AC36662AE449792C3262D3F12E9832A7565309D67BA0AE4DF25F5EDA0937056AD5BE89F4069EBD7EC76CE432441DF5D52FFFD06D39E5F61E36947B698A77CB62AB81E4A4122BF9050671D9946C865E</DSA-G>
- <DSA-Y>0400D061437A964DDE318818C2B24DE008E60096B60DB8A684B85A838D119FC930311889AD57A3B927F448F84EB253C623EDA73B42FF78BCE63A6A531D75A64CE8540513808E9F5B10CE075D3417B801164918B131D3544C8765A8ECB9971F61A09FC73D509806106B5977D211CB0E1D04D0ED96BCE89BAE8F73D800B052139CBF8D</DSA-Y>
- </MAINKEY>
- <USERID>
- <NAME>OpenCDK test key (Only intended for test purposes!)</NAME>
- <EMAIL>opencdk@foo-bar.org</EMAIL>
- <PRIMARY>0</PRIMARY>
- <REVOKED>0</REVOKED>
- </USERID>
- <SIGNATURE>
- <VERSION>4</VERSION>
- <SIGCLASS>19</SIGCLASS>
- <EXPIRED>0</EXPIRED>
- <PKALGO>DSA</PKALGO>
- <MDALGO>SHA1</MDALGO>
- <CREATED>1011533164</CREATED>
- <KEYID>BD572CDCCCC07C3</KEYID>
- </SIGNATURE>
- <SUBKEY>
- <KEYID>FCB0CF3A5261E06</KEYID>
- <FINGERPRINT>297B48ACC09C0FF683CA1ED1FCB0CF3A5261E067</FINGERPRINT>
- <PKALGO>ELG</PKALGO>
- <KEYLEN>1024</KEYLEN>
- <CREATED>1011533167</CREATED>
- <REVOKED>0</REVOKED>
- <KEY ENCODING="HEX"/>
- <ELG-P>0400E20156526069D067D24F4D71E6D38658E08BE3BF246C1ADCE08DB69CD8D459C1ED335738410798755AFDB79F1797CF022E70C7960F12CA6896D27CFD24A11CD316DDE1FBCC1EA615C5C31FEC656E467078C875FC509B1ECB99C8B56C2D875C50E2018B5B0FA378606EB6425A2533830F55FD21D649015615D49A1D09E9510F5F</ELG-P>
- <ELG-G>000305</ELG-G>
- <ELG-Y>0400D0BDADE40432758675C87D0730C360981467BAE1BEB6CC105A3C1F366BFDBEA12E378456513238B8AD414E52A2A9661D1DF1DB6BB5F33F6906166107556C813224330B30932DB7C8CC8225672D7AE24AF2469750E539B661EA6475D2E03CD8D3838DC4A8AC4AFD213536FE3E96EC9D0AEA65164B576E01B37A8DCA89F2B257D0</ELG-Y>
- </SUBKEY>
- <SIGNATURE>
- <VERSION>4</VERSION>
- <SIGCLASS>24</SIGCLASS>
- <EXPIRED>0</EXPIRED>
- <PKALGO>DSA</PKALGO>
- <MDALGO>SHA1</MDALGO>
- <CREATED>1011533167</CREATED>
- <KEYID>BD572CDCCCC07C3</KEYID>
- </SIGNATURE>
- </OPENPGPKEY>
-</gnutls:openpgp:key>
-
-\end{verbatim}
diff --git a/doc/tex/preface.tex b/doc/tex/preface.tex
deleted file mode 100644
index 77730ea34b..0000000000
--- a/doc/tex/preface.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-\chapter*{Preface}
-
-\section*{Introduction}
-This document tries to demonstrate and explain the \gnutls{} library API.
-A brief introduction to the protocols and the technology involved, is
-also included so that an application programmer can better understand
-the \gnutls{} purpose and actual offerings.
-Even if \gnutls{} is a typical library software, it operates over several
-security and cryptographic protocols, which require the programmer
-to make careful and correct usage of them, otherwise he risks to offer
-just a false sense of security. Security and the network security terms
-are very general terms even for computer software thus cannot be easily
-restricted to a single cryptographic library.
-For that reason, do not consider a program secure just because it uses \gnutls{};
-there are several ways to compromise a program or a communication line
-and \gnutls{} only helps with some of them.
-\par
-This document tries to be self contained, although basic
-network programming and PKI knowlegde is assumed in most of it.
-\cite{GUTPKI} is a good introduction to Public Key Infrastructure.
-
-\section*{Availability}
-Updated versions of the \gnutls{} software and this document will
-be available from
-\htmladdnormallink{http://www.gnutls.org/}{http://www.gnutls.org/}
-and \htmladdnormallink{http://www.gnu.org/software/gnutls/}{http://www.gnu.org/software/gnutls/}.
diff --git a/doc/tex/preparation.tex b/doc/tex/preparation.tex
deleted file mode 100644
index f356441705..0000000000
--- a/doc/tex/preparation.tex
+++ /dev/null
@@ -1,133 +0,0 @@
-%\section{Preparation\footnote{This section is heavily based on the `libksba' documentation}}
-\section{Preparation}
-
-To use \gnutls{}, you have to perform some changes to your sources and
-your build system. The necessary changes are explained in the following
-subsections.
-
-\subsection*{Headers}
-
-All the data types and functions of the \gnutls{} library are defined in
-the header file `gnutls/gnutls.h'. This must be included in all programs that
-make use of the \gnutls{} library.
-\par
-The extra functionality of the \gnutlse{} library is available by
-including the header file `gnutls/extra.h' in your programs.
-
-\subsection*{Version check}
-It is often desirable to check that the version of `gnutls' used is indeed
-one which fits all requirements. Even with binary compatibility new
-features may have been introduced but due to problem with the dynamic
-linker an old version is actually used. So you may want to check that
-the version is okay right after program startup.
-See the function \printfunc{gnutls_check_version}{gnutls\_check\_version}
-
-
-\subsection*{Building the source}
-
-If you want to compile a source file including the `gnutls/gnutls.h' header
-file, you must make sure that the compiler can find it in the
-directory hierarchy. This is accomplished by adding the path to the
-directory in which the header file is located to the compilers include
-file search path (via the -I option).
-
-However, the path to the include file is determined at the time the
-source is configured. To solve this problem, \gnutls{} ships with two small
-helper programs \command{libgnutls-config} and \command{libgnutls-extra-config}
-that knows about the path to the
-include file and other configuration options. The options that need
-to be added to the compiler invocation at compile time are output by
-the \option{--cflags} option to \option{libgnutls-config}. The following
-example shows how it can be used at the command line:
-
-\begin{verbatim}
-gcc -c foo.c `libgnutls-config --cflags`
-\end{verbatim}
-
-Adding the output of \command{libgnutls-config --cflags} to the compilers
-command line will ensure that the compiler can find the \gnutls{} header
-file.
-
-A similar problem occurs when linking the program with the library.
-Again, the compiler has to find the library files. For this to work,
-the path to the library files has to be added to the library search
-path (via the -L option). For this, the option
-\option{--libs} to \command{libgnutls-config} can be used. For
-convenience, this option also outputs all other options that are
-required to link the program with the \gnutls{} libararies.
-The example shows how to link `foo.o'
-with the \gnutls{} libraries to a program \emph{foo}.
-
-\begin{verbatim}
-gcc -o foo foo.o `libgnutls-config --libs`
-\end{verbatim}
-
-Of course you can also combine both examples to a single command by
-specifying both options to `libgnutls-config':
-
-\begin{verbatim}
-gcc -o foo foo.c `libgnutls-config --cflags --libs`
-\end{verbatim}
-
-
-\section{Multi-threaded applications}
-
-Although the \gnutls{} library is thread safe by design, some parts of the crypto
-backend, such as the random generator, are not. Since \emph{libgcrypt 1.1.92}
-there was an automatic detection of the thread library used by the
-application, so most applications wouldn't need to do any changes to
-ensure thread-safety. Due to the unportability of the automatic thread
-detection, this was removed from later releases of \emph{libgcrypt}, so
-applications have now to register callback functions to ensure proper locking
-in sensitive parts of \emph{libgcrypt}.
-\par
-There are helper macros to help you properly initialize the libraries.
-Examples are shown below.
-\begin{itemize}
-
-\item POSIX threads
-\begin{verbatim}
-#include <gnutls.h>
-#include <gcrypt.h>
-#include <errno.h>
-#include <pthread.h>
-GCRY_THREAD_OPTION_PTHREAD_IMPL;
-
-int main()
-{
- /* The order matters.
- */
- gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
- gnutls_global_init();
-}
-\end{verbatim}
-
-\item GNU PTH threads
-\begin{verbatim}
-#include <gnutls.h>
-#include <gcrypt.h>
-#include <errno.h>
-#include <pth.h>
-GCRY_THREAD_OPTION_PTH_IMPL;
-
-int main()
-{
- gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pth);
- gnutls_global_init();
-}
-\end{verbatim}
-
-\item Other thread packages
-\begin{verbatim}
-/* The gcry_thread_cbs structure must have been
- * initialized.
- */
-static struct gcry_thread_cbs gcry_threads_other = { ... };
-
-int main()
-{
- gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_other);
-}
-\end{verbatim}
-\end{itemize}
-
diff --git a/doc/tex/programs.tex b/doc/tex/programs.tex
deleted file mode 100644
index 4aea3994cb..0000000000
--- a/doc/tex/programs.tex
+++ /dev/null
@@ -1,245 +0,0 @@
-\chapter{Included programs}
-
-\section{The ``srptool'' program\index{srptool}}
-\label{srptool}
-
-The ``srptool'' is a very simple program that emulates the programs in the
-\emph{Stanford SRP libraries}.
-It is intended for use in places where you don't expect SRP
-authentication to be the used for system users.
-Traditionally \emph{libsrp} used two files. One called 'tpasswd' which holds usernames
-and verifiers, and 'tpasswd.conf' which holds generators and primes.
-\par
-How to use srptool:
-
-\begin{itemize}
-
-
-\item To create tpasswd.conf which holds the g and n values for
-SRP protocol (generator and a large prime), run:
-\begin{verbatim}
-$ srptool --create-conf /etc/tpasswd.conf
-\end{verbatim}
-
-
-\item This command will create /etc/tpasswd and will add user 'test' (you will also
-be prompted for a password). Verifiers are stored by default in the
-way libsrp expects.
-\begin{verbatim}
-$ srptool --passwd /etc/tpasswd \
- --passwd-conf /etc/tpasswd.conf -u test
-\end{verbatim}
-
-\item This command will check against a password. If the password matches
-the one in /etc/tpasswd you will get an ok.
-\begin{verbatim}
-$ srptool --passwd /etc/tpasswd \
- --passwd-conf /etc/tpasswd.conf --verify -u test
-\end{verbatim}
-
-\end{itemize}
-
-
-
-\section{The ``gnutls-cli-debug'' program\index{gnutls-cli-debug}}
-
-This program was created to assist in debugging \gnutls{}, but it
-might be useful to extract a \tls{} server's capabilities.
-It's purpose is to connect onto a \tls{} server, perform
-some tests and print the server's capabilities. If called with the
-`-v' parameter a more checks will be performed. An example output is:
-
-\begin{verbatim}
-crystal:/cvs/gnutls/src$ ./gnutls-cli-debug localhost -p 5556
-Resolving 'localhost'...
-Connecting to '127.0.0.1:5556'...
-Checking for TLS 1.1 support... yes
-Checking fallback from TLS 1.1 to... N/A
-Checking for TLS 1.0 support... yes
-Checking for SSL 3.0 support... yes
-Checking for version rollback bug in RSA PMS... no
-Checking for version rollback bug in Client Hello... no
-Checking whether we need to disable TLS 1.0... N/A
-Checking whether the server ignores the RSA PMS version... no
-Checking whether the server can accept Hello Extensions... yes
-Checking whether the server can accept cipher suites not in SSL 3.0 spec... yes
-Checking whether the server can accept a bogus TLS record version in the client hello... yes
-Checking for certificate information... N/A
-Checking for trusted CAs... N/A
-Checking whether the server understands TLS closure alerts... yes
-Checking whether the server supports session resumption... yes
-Checking for export-grade ciphersuite support... no
-Checking RSA-export ciphersuite info... N/A
-Checking for anonymous authentication support... no
-Checking anonymous Diffie Hellman group info... N/A
-Checking for ephemeral Diffie Hellman support... no
-Checking ephemeral Diffie Hellman group info... N/A
-Checking for AES cipher support (TLS extension)... yes
-Checking for 3DES cipher support... yes
-Checking for ARCFOUR 128 cipher support... yes
-Checking for ARCFOUR 40 cipher support... no
-Checking for MD5 MAC support... yes
-Checking for SHA1 MAC support... yes
-Checking for RIPEMD160 MAC support (TLS extension)... yes
-Checking for ZLIB compression support (TLS extension)... yes
-Checking for LZO compression support (GnuTLS extension)... yes
-Checking for max record size (TLS extension)... yes
-Checking for SRP authentication support (TLS extension)... yes
-Checking for OpenPGP authentication support (TLS extension)... no
-
-\end{verbatim}
-
-\section{The ``certtool'' program\index{certtool}}
-
-This is a program to generate X.509 certificates, certificate requests, CRLs and
-private keys. The program can be used interactively or non interactively by
-specifying the \emph{--template} command line option. See \emph{doc/certtool.cfg},
-in the distribution, for an example of a template file.
-
-How to use certtool interactively:
-
-\begin{itemize}
-
-\item To create a self signed certificate, use the command:
-\begin{verbatim}
-$ certtool --generate-privkey --outfile ca-key.pem
-$ certtool --generate-self-signed --load-privkey ca-key.pem --outfile ca-cert.pem
-\end{verbatim}
-Note that a self-signed certificate usually belongs to a certificate
-authority, that signs other certificates.
-
-\item To create a private key, run:
-\begin{verbatim}
-$ certtool --generate-privkey --outfile key.pem
-\end{verbatim}
-
-\item To create a certificate request, run:
-\begin{verbatim}
-$ certtool --generate-request --load-privkey key.pem --outfile request.pem
-\end{verbatim}
-
-\item To generate a certificate using the previous request, use the command:
-\begin{verbatim}
-$ certtool --generate-certificate --load-request request.pem --outfile cert.pem \
- --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem
-\end{verbatim}
-
-\item To view the certificate information, use:
-\begin{verbatim}
-$ certtool --certificate-info --infile cert.pem
-\end{verbatim}
-
-\item To generate a PKCS \#12 structure using the previous key and certificate, use the command:
-\begin{verbatim}
-$ certtool --load-certificate cert.pem --load-privkey key.pem --to-p12 \
- --outder --outfile key.p12
-\end{verbatim}
-
-
-\end{itemize}
-\par
-Certtool's template file format:
-
-\begin{itemize}
-\item Firstly create a file named 'cert.cfg' that contains the information
-about the certificate. An example file is listed below.
-\item Then execute
-\begin{verbatim}
-$ certtool --generate-certificate cert.pem --load-privkey key.pem \
- --template cert.cfg \
- --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem
-\end{verbatim}
-\end{itemize}
-\par
-An example certtool template file:
-
-\begin{verbatim}
-# X.509 Certificate options
-#
-# DN options
-
-# The organization of the subject.
-organization = "Koko inc."
-
-# The organizational unit of the subject.
-unit = "sleeping dept."
-
-# The locality of the subject.
-# locality =
-
-# The state of the certificate owner.
-state = "Attiki"
-
-# The country of the subject. Two letter code.
-country = GR
-
-# The common name of the certificate owner.
-cn = "Cindy Lauper"
-
-# A user id of the certificate owner.
-#uid = "clauper"
-
-# If the supported DN OIDs are not adequate you can set
-# any OID here.
-# For example set the X.520 Title and the X.520 Pseudonym
-# by using OID and string pairs.
-#dn_oid = "2.5.4.12" "Dr." "2.5.4.65" "jackal"
-
-# This is deprecated and should not be used in new
-# certificates.
-# pkcs9_email = "none@none.org"
-
-# The serial number of the certificate
-serial = 007
-
-# In how many days, counting from today, this certificate will expire.
-expiration_days = 700
-
-# X.509 v3 extensions
-
-# A dnsname in case of a WWW server.
-#dns_name = "www.none.org"
-
-# An IP address in case of a server.
-#ip_address = "192.168.1.1"
-
-# An email in case of a person
-email = "none@none.org"
-
-# An URL that has CRLs (certificate revocation lists)
-# available. Needed in CA certificates.
-#crl_dist_points = "http://www.getcrl.crl/getcrl/"
-
-# Whether this is a CA certificate or not
-#ca
-
-# Whether this certificate will be used for a TLS client
-#tls_www_client
-
-# Whether this certificate will be used for a TLS server
-#tls_www_server
-
-# Whether this certificate will be used to sign data (needed
-# in TLS DHE ciphersuites).
-signing_key
-
-# Whether this certificate will be used to encrypt data (needed
-# in TLS RSA ciphersuites). Note that it is prefered to use different
-# keys for encryption and signing.
-#encryption_key
-
-# Whether this key will be used to sign other certificates.
-#cert_signing_key
-
-# Whether this key will be used to sign CRLs.
-#crl_signing_key
-
-# Whether this key will be used to sign code.
-#code_signing_key
-
-# Whether this key will be used to sign OCSP data.
-#ocsp_signing_key
-
-# Whether this key will be used for time stamping.
-#time_stamping_key
-\end{verbatim}
diff --git a/doc/tex/record.tex b/doc/tex/record.tex
deleted file mode 100644
index 19defc52e9..0000000000
--- a/doc/tex/record.tex
+++ /dev/null
@@ -1,28 +0,0 @@
-\section{The TLS record protocol\index{TLS protocols!Record}}
-
-The Record protocol is the secure communications provider. Its purpose
-is to encrypt, authenticate and --optionally-- compress packets.
-The following functions are available:
-\par
-\begin{itemize}
-\item \printfunc{gnutls_record_send}{gnutls\_record\_send}:
-to send a record packet (with application data).
-\item \printfunc{gnutls_record_recv}{gnutls\_record\_recv}:
-to receive a record packet (with application data).
-\end{itemize}
-
-As you may have already noticed, the functions which access the Record protocol,
-are quite limited, given the importance of this protocol in \tls{}.
-This is because the Record protocol's parameters are all set by
-the Handshake protocol.
-\par
-The Record protocol initially starts with NULL parameters, which means
-no encryption, and no MAC is used. Encryption and authentication begin
-just after the handshake protocol has finished.
-
-\input{ciphers}
-
-\input{compression}
-
-\input{record_weaknesses}
-
diff --git a/doc/tex/record_weaknesses.tex b/doc/tex/record_weaknesses.tex
deleted file mode 100644
index 21845dd1e1..0000000000
--- a/doc/tex/record_weaknesses.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\subsection*{Weaknesses and countermeasures}
-\index{TLS protocols!Record}
-
-Some weaknesses that may affect the security of the Record layer have been
-found in \tlsI{} protocol. These weaknesses can be exploited by active attackers,
-and exploit the facts that
-\begin{enumerate}
-\item \tls{} has separate alerts for ``decryption\_failed'' and ``bad\_record\_mac''
-\item the decryption failure reason can be detected by timing the response time
-\item the IV for CBC encrypted packets is the last block of the previous encrypted packet
-\end{enumerate}
-
-Those weaknesses were solved in \tlsII{} which is implemented in
-\gnutls{}. For a detailed discussion see the archives of the TLS Working Group mailing list
-and the paper \cite{CBCATT}.
-
diff --git a/doc/tex/srp.tex b/doc/tex/srp.tex
deleted file mode 100644
index 3966f58014..0000000000
--- a/doc/tex/srp.tex
+++ /dev/null
@@ -1,80 +0,0 @@
-\section{Authentication using SRP\index{SRP authentication}}
-
-Authentication using the SRP\footnote{SRP stands for Secure Remote Password and
-is described in \cite{RFC2945}. The SRP key exchange is an extension to the \tlsI{} protocol}
-protocol is actually password authentication. The two peers can be identified using a
-single password, or there can be combinations where the client is
-authenticated using SRP and the server using a certificate.
-\par
-The advantage of SRP authentication, over other proposed secure password
-authentication schemas, is that SRP does not require the server to hold
-the user's password. This kind of protection is similar to the one used traditionally
-in the \emph{UNIX} ``passwd'' file, where the contents of this file did not cause
-harm to the system security if they were revealed.
-The SRP needs instead of the plain password something called a verifier,
-which is calculated using the user's password, and if stolen cannot
-be used to impersonate the user. See \cite{TOMSRP} for a detailed description
-of the SRP protocol and the Stanford SRP libraries, which includes a PAM module
-that synchronizes the system's users passwords with the SRP password files. That
-way SRP authentication could be used for all the system's users.
-
-\par
-The implementation in \gnutls{} is based on paper \cite{TLSSRP}.
-The available key exchange methods are shown in \hyperref{figure}{figure }{}{fig:srp}.
-
-\begin{figure}[hbtp]
-\begin{tabular}{|l|p{9cm}|}
-
-\hline
-SRP & Authentication using the SRP protocol.
-\\
-\hline
-SRP\_DSS & Client authentication using the SRP protocol. Server is
-authenticated using a certificate with DSA parameters.
-\\
-\hline
-SRP\_RSA & Client authentication using the SRP protocol. Server is
-authenticated using a certificate with RSA parameters.
-\\
-\hline
-\end{tabular}
-
-\caption{Supported SRP key exchange algorithms}
-\label{fig:srp}
-
-\end{figure}
-
-If clients supporting SRP know the username and password before the connection,
-should initialize the client credentials and call the
-function \printfunc{gnutls_srp_set_client_credentials}{gnutls\_srp\_set\_client\_credentials}.
-Alternatively they could specify a callback function by using the
-function \printfunc{gnutls_srp_set_client_credentials_function}{gnutls\_srp\_set\_client\_credentials\_function}.
-This has the advantage that allows probing the server for SRP support.
-In that case the callback function will be called twice per handshake.
-The first time is before the ciphersuite is negotiated, and
-if the callback returns a negative error code, the callback will be
-called again if SRP has been negotiated.
-This uses a special TLS-SRP handshake idiom in order to avoid, in
-interactive applications, to ask the user for SRP password and username
-if the server does not negotiate an SRP ciphersuite.
-\par
-In server side the default behaviour of \gnutls{} is to read the usernames
-and SRP verifiers from password files. These password files are the ones used
-by the \emph{Stanford srp libraries} and can be specified using the
-\printfunc{gnutls_srp_set_server_credentials_file}{gnutls\_srp\_set\_server\_credentials\_file}.
-If a different password file format is to be used, then the
-function \printfunc{gnutls_srp_set_server_credentials_function}{gnutls\_srp\_set\_server\_credentials\_function},
-should be called, in order to set an appropriate callback.
-\par
-Some helper functions such as
-\begin{itemize}
-\item \printfunc{gnutls_srp_verifier}{gnutls\_srp\_verifier}
-\item \printfunc{gnutls_srp_base64_encode}{gnutls\_srp\_base64\_encode}
-\item \printfunc{gnutls_srp_base64_decode}{gnutls\_srp\_base64\_decode}
-\end{itemize}
-are included in \gnutls{}, and may be used to generate, and maintain
-SRP verifiers, and password files.
-A program to manipulate the required parameters
-for SRP authentication is also included. See section \ref{srptool} on
-page \pageref{srptool} for more information.
-
diff --git a/doc/tex/supported_ciphersuites.tex b/doc/tex/supported_ciphersuites.tex
deleted file mode 100644
index 0bf7209c7e..0000000000
--- a/doc/tex/supported_ciphersuites.tex
+++ /dev/null
@@ -1,69 +0,0 @@
-\chapter{All the supported ciphersuites in \gnutls{}\index{Ciphersuites}}\label{ap:ciphersuites}
-\begin{center}
-\tablefirsthead{%
-\hline
-\multicolumn{1}{|c}{Cipher suite} &
-\multicolumn{1}{|c|}{TLS value} &
-\multicolumn{1}{c|}{defined at} \\
-\hline}
-\tablehead{%
-\hline
-\multicolumn{3}{|l|}{\small\sl continued from previous page}\\
-\hline
-\multicolumn{1}{|c}{Cipher suite} &
-\multicolumn{1}{|c|}{TLS value} &
-\multicolumn{1}{c|}{defined at} \\
-\hline}
-\tabletail{%
-\hline
-\multicolumn{3}{|r|}{\small\sl continued on next page}\\
-\hline}
-\tablelasttail{\hline}
-\bottomcaption{The ciphersuites table}
-
-
-\begin{supertabular}{|l|l|l|}
-{\small{TLS\_RSA\_NULL\_MD5}} & 0x00 0x01 & RFC2246 \\
-{\small{TLS\_ANON\_DH\_3DES\_EDE\_CBC\_SHA}} & 0x00 0x1B & RFC2246\\
-{\small{TLS\_ANON\_DH\_ARCFOUR\_MD5}} & 0x00 0x18 & RFC2246 \\
-{\small{TLS\_ANON\_DH\_AES\_128\_CBC\_SHA}} & 0x00 0x34 & RFC2246 \\
-{\small{TLS\_ANON\_DH\_AES\_256\_CBC\_SHA}} & 0x00 0x3A & RFC2246 \\
-{\small{TLS\_RSA\_ARCFOUR\_SHA}} & 0x00 0x05 & RFC2246 \\
-{\small{TLS\_RSA\_ARCFOUR\_MD5}} & 0x00 0x04 & RFC2246 \\
-{\small{TLS\_RSA\_3DES\_EDE\_CBC\_SHA}} & 0x00 0x0A & RFC2246 \\
-{\small{TLS\_RSA\_EXPORT\_ARCFOUR\_40\_MD5}} & 0x00 0x03 & RFC2246 \\
-{\small{TLS\_DHE\_DSS\_3DES\_EDE\_CBC\_SHA}} & 0x00 0x13 & RFC2246 \\
-{\small{TLS\_DHE\_RSA\_3DES\_EDE\_CBC\_SHA}} & 0x00 0x16 & RFC2246 \\
-
-{\small{TLS\_RSA\_AES\_128\_CBC\_SHA}} & 0x00 0x2F & RFC3268 \\
-{\small{TLS\_RSA\_AES\_128\_CBC\_SHA}} & 0x00 0x35 & RFC3268 \\
-{\small{TLS\_DHE\_DSS\_AES\_256\_CBC\_SHA}} & 0x00 0x38 & RFC3268 \\
-{\small{TLS\_DHE\_DSS\_AES\_128\_CBC\_SHA}} & 0x00 0x32 & RFC3268 \\
-{\small{TLS\_DHE\_RSA\_AES\_256\_CBC\_SHA}} & 0x00 0x39 & RFC3268 \\
-{\small{TLS\_DHE\_RSA\_AES\_128\_CBC\_SHA}} & 0x00 0x33 & RFC3268 \\
-
-{\small{TLS\_SRP\_SHA\_3DES\_EDE\_CBC\_SHA}} & 0x00 0x50 & draft-ietf-tls-srp \\
-{\small{TLS\_SRP\_SHA\_AES\_128\_CBC\_SHA}} & 0x00 0x53 & draft-ietf-tls-srp \\
-{\small{TLS\_SRP\_SHA\_AES\_256\_CBC\_SHA}} & 0x00 0x56 & draft-ietf-tls-srp \\
-{\small{TLS\_SRP\_SHA\_RSA\_3DES\_EDE\_CBC\_SHA}} & 0x00 0x51 & draft-ietf-tls-srp \\
-{\small{TLS\_SRP\_SHA\_DSS\_3DES\_EDE\_CBC\_SHA}} & 0x00 0x52 & draft-ietf-tls-srp \\
-{\small{TLS\_SRP\_SHA\_RSA\_AES\_128\_CBC\_SHA}} & 0x00 0x54 & draft-ietf-tls-srp \\
-{\small{TLS\_SRP\_SHA\_DSS\_AES\_128\_CBC\_SHA}} & 0x00 0x55 & draft-ietf-tls-srp \\
-{\small{TLS\_SRP\_SHA\_RSA\_AES\_256\_CBC\_SHA}} & 0x00 0x57 & draft-ietf-tls-srp \\
-{\small{TLS\_SRP\_SHA\_DSS\_AES\_256\_CBC\_SHA}} & 0x00 0x58 & draft-ietf-tls-srp \\
-
-{\small{TLS\_DHE\_DSS\_3DES\_EDE\_CBC\_RMD}} & 0x00 0x72 & draft-ietf-tls-openpgp-keys \\
-{\small{TLS\_DHE\_RSA\_3DES\_EDE\_CBC\_RMD}} & 0x00 0x77 & draft-ietf-tls-openpgp-keys \\
-{\small{TLS\_DHE\_DSS\_AES\_256\_CBC\_RMD}} & 0x00 0x73 & draft-ietf-tls-openpgp-keys \\
-{\small{TLS\_DHE\_DSS\_AES\_128\_CBC\_RMD}} & 0x00 0x74 & draft-ietf-tls-openpgp-keys \\
-{\small{TLS\_DHE\_RSA\_AES\_128\_CBC\_RMD}} & 0x00 0x78 & draft-ietf-tls-openpgp-keys \\
-{\small{TLS\_DHE\_RSA\_AES\_256\_CBC\_RMD}} & 0x00 0x79 & draft-ietf-tls-openpgp-keys \\
-{\small{TLS\_RSA\_3DES\_EDE\_CBC\_RMD}} & 0x00 0x7C & draft-ietf-tls-openpgp-keys \\
-{\small{TLS\_RSA\_AES\_128\_CBC\_RMD}} & 0x00 0x7D & draft-ietf-tls-openpgp-keys \\
-{\small{TLS\_RSA\_AES\_256\_CBC\_RMD}} & 0x00 0x7E & draft-ietf-tls-openpgp-keys \\
-
-{\small{TLS\_DHE\_DSS\_ARCFOUR\_SHA}} & 0x00 0x66 & draft-ietf-tls-56-bit-ciphersuites \\
-
-\end{supertabular}
-
-\end{center}
diff --git a/doc/tex/tls_extensions.tex b/doc/tex/tls_extensions.tex
deleted file mode 100644
index 9bf698cbd6..0000000000
--- a/doc/tex/tls_extensions.tex
+++ /dev/null
@@ -1,41 +0,0 @@
-\section{TLS Extensions}
-\index{TLS Extensions}
-
-A number of extensions to the \tls{} protocol have been proposed
-mainly in \cite{TLSEXT}. The extensions supported in \gnutls{} are
-\begin{itemize}
-\item Maximum fragment length negotiation
-\item Server name indication
-\end{itemize}
-discussed in the subsections that follow.
-
-\subsection*{Maximum fragment length negotiation}
-\index{TLS Extensions!Maximum fragment length}
-
-This extension allows a \tlsI{} implementation to negotiate
-a smaller value for record packet maximum length. This extension
-may be useful to clients with constrained capabilities. See
-the
-\printfunc{gnutls_record_set_max_size}{gnutls\_record\_set\_max\_size}
-and the
-\printfunc{gnutls_record_get_max_size}{gnutls\_record\_get\_max\_size}
-functions.
-
-\subsection*{Server name indication}
-\index{TLS Extensions!Server name indication}
-\label{serverind}
-
-A common problem in HTTPS servers is the fact that the \tls{}
-protocol is not aware of the hostname that a client connects to, when
-the handshake procedure begins. For that reason the \tls{} server
-has no way to know which certificate to send.
-
-This extension solves that problem within the \tls{} protocol
-and allows a client to send the HTTP hostname
-before the handshake begins --within the first handshake packet.
-The functions
-\printfunc{gnutls_server_name_set}{gnutls\_server\_name\_set} and
-\printfunc{gnutls_server_name_get}{gnutls\_server\_name\_get}
-can be used to enable this extension, or to retrieve the name sent
-by a client.
-
diff --git a/doc/tex/tlsintro.tex b/doc/tex/tlsintro.tex
deleted file mode 100644
index 636a47eb24..0000000000
--- a/doc/tex/tlsintro.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-\chapter{Introduction to \tls{}}
-
-\label{sec:tlsintro}
-\tls{} stands for 'Transport Layer Security' and is the successor of \ssl{},
-the Secure Sockets Layer protocol\footnote{described in \cite{SSL3}} designed by Netscape.
-\tlsI{} is an Internet protocol,
-defined by {IETF}\footnote{IETF or Internet Engineering Task Force
-is a large open international community of network
-designers, operators, vendors, and researchers concerned with the evolution of
-the Internet architecture and the smooth operation of the Internet. It is open
-to any interested individual.}, described in \cite{RFC2246} and
-also in \cite{RESCOLA}. The protocol provides confidentiality, and
-authentication layers over any reliable transport layer. The description,
-below, refers to \tlsI{} but also applies to \sslIII{} since the differences
-of these protocols are minor. Older protocols such as \sslII{} are not
-discussed nor implemented in \gnutls{} since they are not considered secure
-today.
-
-\input{layers}
-
-\input{translayer}
-
-\input{record}
-
-\input{alert}
-
-\input{handshake}
-
-\input{tls_extensions}
diff --git a/doc/tex/translayer.tex b/doc/tex/translayer.tex
deleted file mode 100644
index 8ab54a3b44..0000000000
--- a/doc/tex/translayer.tex
+++ /dev/null
@@ -1,31 +0,0 @@
-\section{The transport layer}
-\par
-\tls{} is not limited to one transport layer, it
-can be used above any transport layer, as long as it is a reliable
-one. A set of functions is provided and their purpose is to load
-to \gnutls{} the required callbacks to access the transport layer.
-
-\begin{itemize}
-\item \printfunc{gnutls_transport_set_push_function}{gnutls\_transport\_set\_push\_function}
-\item \printfunc{gnutls_transport_set_pull_function}{gnutls\_transport\_set\_pull\_function}
-\item \printfunc{gnutls_transport_set_ptr}{gnutls\_transport\_set\_ptr}
-\end{itemize}
-
-These functions accept a callback function as a parameter.
-The callback functions should return the number of bytes written, or -1 on
-error and should set errno appropriately.
-\par
-\gnutls{} currently only interprets the EINTR and EAGAIN errno values and
-returns the corresponding \gnutls{} error codes GNUTLS\_E\_INTERRUPTED and
-GNUTLS\_E\_AGAIN.
-These values are usually returned by interrupted system calls, or
-when non blocking IO is used. All \gnutls{} functions
-can be resumed (called again), if any of these error codes is returned.
-The error codes above refer to the system call, not the \gnutls{} function,
-since signals do not interrupt \gnutls{}' functions.
-
-\par
-By default, if the transport functions are not set, \gnutls{} will use
-the Berkeley Sockets functions. In this case
-\gnutls{} will use some hacks in order for \emph{select()} to work, thus
-making it easy to add \tls{} support to existing TCP/IP servers.
diff --git a/doc/tex/x509-1.eps b/doc/tex/x509-1.eps
deleted file mode 100644
index 5129adb383..0000000000
--- a/doc/tex/x509-1.eps
+++ /dev/null
@@ -1,251 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: tree1
-%%Creator: Dia v0.90
-%%CreationDate: Thu Sep 5 21:44:57 2002
-%%For: a user
-%%Magnification: 1.0000
-%%Orientation: Portrait
-%%BoundingBox: 0 0 470 617
-%%Pages: 1
-%%EndComments
-%%BeginProlog
-/cp {closepath} bind def
-/c {curveto} bind def
-/f {fill} bind def
-/a {arc} bind def
-/ef {eofill} bind def
-/ex {exch} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth pop} bind def
-/tr {translate} bind def
-
-/ellipsedict 8 dict def
-ellipsedict /mtrx matrix put
-/ellipse
-{ ellipsedict begin
- /endangle exch def
- /startangle exch def
- /yrad exch def
- /xrad exch def
- /y exch def
- /x exch def /savematrix mtrx currentmatrix def
- x y tr xrad yrad sc
- 0 0 1 startangle endangle arc
- savematrix setmatrix
- end
-} def
-
-/mergeprocs {
-dup length
-3 -1 roll
-dup
-length
-dup
-5 1 roll
-3 -1 roll
-add
-array cvx
-dup
-3 -1 roll
-0 exch
-putinterval
-dup
-4 2 roll
-putinterval
-} bind def
-%%EndProlog
-
-%%BeginSetup
-%%EndSetup
-28.346000 -28.346000 scale
--0.000000 -21.685957 translate
-
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 2.600000 13.250000 0.300000 0.300000 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 2.600000 13.250000 0.300000 0.300000 0 360 ellipse cp s
-n 1.400000 13.850000 m 3.800000 13.850000 l s
-n 2.600000 13.550000 m 2.600000 15.050000 l s
-n 2.600000 15.050000 m 1.400000 16.350000 l s
-n 2.600000 15.050000 m 3.800000 16.350000 l s
- [ /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /A /l /i /c /e /B /o /b /xi /xi /R /t /space /C /I /W
- /S /r /v /T /w /y /p /a /X /period /five /zero /nine /f /n /h
- /s /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
- /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi /xi
-] /e0 exch def
-/Courier-Bold_e0 undefinefont
-/Courier-Bold_e0
- /Courier-Bold findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding e0 def
- currentdict end
-definefont pop
-/Courier-Bold_e0 ff 0.800000 scf sf
-( !"#$) sw
-2 div 2.600000 ex sub 17.555217 m ( !"#$)
- gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 7.200000 13.450000 0.300000 0.300000 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 7.200000 13.450000 0.300000 0.300000 0 360 ellipse cp s
-n 6.000000 14.050000 m 8.400000 14.050000 l s
-n 7.200000 13.750000 m 7.200000 15.250000 l s
-n 7.200000 15.250000 m 6.000000 16.550000 l s
-n 7.200000 15.250000 m 8.400000 16.550000 l s
-/Courier-Bold_e0 ff 0.800000 scf sf
-(%&') sw
-2 div 7.200000 ex sub 17.755217 m (%&')
- gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 6.952400 3.067467 3.052400 1.017467 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 6.952400 3.067467 3.052400 1.017467 0 360 ellipse cp s
-/Courier-Bold_e0 ff 0.800000 scf sf
-(*&&+,- ) sw
-2 div 6.952400 ex sub 3.272684 m (*&&+,- )
- gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 3.365200 8.200000 2.015200 1.000000 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 3.365200 8.200000 2.015200 1.000000 0 360 ellipse cp s
-/Courier-Bold_e0 ff 0.800000 scf sf
-(- ,.) sw
-2 div 3.365200 ex sub 8.405217 m (- ,.)
- gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 11.671600 8.100000 2.471600 1.000000 0 360 ellipse f
-0.000000 0.000000 0.000000 srgb
-n 11.671600 8.100000 2.471600 1.000000 0 360 ellipse cp s
-/Courier-Bold_e0 ff 0.800000 scf sf
-(- ,..) sw
-2 div 11.671600 ex sub 8.305217 m (- ,..)
- gs 1 -1 sc sh gr
-0.100000 slw
-[] 0 sd
-1.000000 1.000000 1.000000 srgb
-n 10.400000 11.650000 m 10.400000 13.450000 l 16.037600 13.450000 l 16.037600 11.650000 l f
-0.000000 0.000000 0.000000 srgb
-n 10.400000 11.650000 m 10.400000 13.450000 l 16.037600 13.450000 l 16.037600 11.650000 l cp s
-/Helvetica_e0 undefinefont
-/Helvetica_e0
- /Helvetica findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding e0 def
- currentdict end
-definefont pop
-/Helvetica_e0 ff 0.800000 scf sf
-(/$',0$12$1) sw
-2 div 13.218800 ex sub 12.762903 m (/$',0$12$1)
- gs 1 -1 sc sh gr
-0.050000 slw
-n 10.900000 12.950000 m 15.537600 12.950000 l s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0 slj
-0 slc
-0 slj
-[] 0 sd
-n 0.050000 0.000000 m 16.500000 0.000000 l s
-0 slc
-0 slj
-[] 0 sd
-n 0.050000 19.950000 m 16.500000 19.950000 l s
-0 slc
-0 slj
-[] 0 sd
-n 0.050000 0.000000 m 0.050000 19.950000 l s
-0 slc
-0 slj
-[] 0 sd
-n 16.500000 0.000000 m 16.500000 19.950000 l s
-0.100000 slw
-0 slc
-[] 0 sd
-n 3.489200 7.200000 m 6.896800 4.050000 l s
-0 slj
-n 3.906952 6.473376 m 3.489200 7.200000 l 4.246356 6.840534 l f
-0.100000 slw
-0 slc
-[] 0 sd
-n 11.712000 7.100000 m 6.896800 4.050000 l s
-0 slj
-n 10.902394 6.883118 m 11.712000 7.100000 l 11.169943 6.460724 l f
-0.100000 slw
-0 slc
-[] 0 sd
-n 2.600000 12.350000 m 3.489200 9.200000 l s
-0 slj
-n 2.576738 11.512170 m 2.600000 12.350000 l 3.057933 11.648005 l f
-0.100000 slw
-0 slc
-[] 0 sd
-n 13.141200 11.650000 m 11.712000 9.100000 l s
-0 slj
-n 12.531985 11.074364 m 13.141200 11.650000 l 12.968150 10.829906 l f
-0.100000 slw
-0 slc
-[] 0 sd
-n 7.200000 12.550000 m 11.712000 9.100000 l s
-0 slj
-n 7.683658 11.865474 m 7.200000 12.550000 l 7.987363 12.262668 l f
-/Courier_e0 undefinefont
-/Courier_e0
- /Courier findfont
- dup length dict begin
- {1 index /FID ne {def} {pop pop} ifelse} forall
- /Encoding e0 def
- currentdict end
-definefont pop
-/Courier_e0 ff 0.800000 scf sf
-(34&,+56"#7!,89:;<,-$1+"="#7+"&>) sw
-2 div 8.307760 ex sub 20.703100 m (34&,+56"#7!,89:;<,-$1+"="#7+"&>)
- gs 1 -1 sc sh gr
-(67+?@) sw
-2 div 8.307760 ex sub 21.503100 m (67+?@)
- gs 1 -1 sc sh gr
-showpage
diff --git a/doc/tex/x509cert.xml.tex b/doc/tex/x509cert.xml.tex
deleted file mode 100644
index 331284b879..0000000000
--- a/doc/tex/x509cert.xml.tex
+++ /dev/null
@@ -1,190 +0,0 @@
-\begin{verbatim}
-
-<?xml version="1.0" encoding="UTF-8"?>
-
-<gnutls:x509:certificate version="1.1">
- <certificate type="SEQUENCE">
- <tbsCertificate type="SEQUENCE">
- <version type="INTEGER" encoding="HEX">02</version>
- <serialNumber type="INTEGER" encoding="HEX">01</serialNumber>
- <signature type="SEQUENCE">
- <algorithm type="OBJECT ID">1.2.840.113549.1.1.4</algorithm>
- <parameters type="ANY">
- <md5WithRSAEncryption encoding="HEX">0500</md5WithRSAEncryption>
- </parameters>
- </signature>
- <issuer type="CHOICE">
- <rdnSequence type="SEQUENCE OF">
- <unnamed1 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.6</type>
- <value type="ANY">
- <X520countryName>GR</X520countryName>
- </value>
- </unnamed1>
- </unnamed1>
- <unnamed2 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.8</type>
- <value type="ANY">
- <X520StateOrProvinceName>Attiki</X520StateOrProvinceName>
- </value>
- </unnamed1>
- </unnamed2>
- <unnamed3 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.7</type>
- <value type="ANY">
- <X520LocalityName>Athina</X520LocalityName>
- </value>
- </unnamed1>
- </unnamed3>
- <unnamed4 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.10</type>
- <value type="ANY">
- <X520OrganizationName>GNUTLS</X520OrganizationName>
- </value>
- </unnamed1>
- </unnamed4>
- <unnamed5 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.11</type>
- <value type="ANY">
- <X520OrganizationalUnitName>GNUTLS dev.</X520OrganizationalUnitName>
- </value>
- </unnamed1>
- </unnamed5>
- <unnamed6 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.3</type>
- <value type="ANY">
- <X520CommonName>GNUTLS TEST CA</X520CommonName>
- </value>
- </unnamed1>
- </unnamed6>
- <unnamed7 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">1.2.840.113549.1.9.1</type>
- <value type="ANY">
- <Pkcs9email>gnutls-dev@gnupg.org</Pkcs9email>
- </value>
- </unnamed1>
- </unnamed7>
- </rdnSequence>
- </issuer>
- <validity type="SEQUENCE">
- <notBefore type="CHOICE">
- <utcTime type="TIME">010707101845Z</utcTime>
- </notBefore>
- <notAfter type="CHOICE">
- <utcTime type="TIME">020707101845Z</utcTime>
- </notAfter>
- </validity>
- <subject type="CHOICE">
- <rdnSequence type="SEQUENCE OF">
- <unnamed1 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.6</type>
- <value type="ANY">
- <X520countryName>GR</X520countryName>
- </value>
- </unnamed1>
- </unnamed1>
- <unnamed2 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.8</type>
- <value type="ANY">
- <X520StateOrProvinceName>Attiki</X520StateOrProvinceName>
- </value>
- </unnamed1>
- </unnamed2>
- <unnamed3 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.7</type>
- <value type="ANY">
- <X520LocalityName>Athina</X520LocalityName>
- </value>
- </unnamed1>
- </unnamed3>
- <unnamed4 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.10</type>
- <value type="ANY">
- <X520OrganizationName>GNUTLS</X520OrganizationName>
- </value>
- </unnamed1>
- </unnamed4>
- <unnamed5 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.11</type>
- <value type="ANY">
- <X520OrganizationalUnitName>GNUTLS dev.</X520OrganizationalUnitName>
- </value>
- </unnamed1>
- </unnamed5>
- <unnamed6 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">2.5.4.3</type>
- <value type="ANY">
- <X520CommonName>localhost</X520CommonName>
- </value>
- </unnamed1>
- </unnamed6>
- <unnamed7 type="SET OF">
- <unnamed1 type="SEQUENCE">
- <type type="OBJECT ID">1.2.840.113549.1.9.1</type>
- <value type="ANY">
- <Pkcs9email>root@localhost</Pkcs9email>
- </value>
- </unnamed1>
- </unnamed7>
- </rdnSequence>
- </subject>
- <subjectPublicKeyInfo type="SEQUENCE">
- <algorithm type="SEQUENCE">
- <algorithm type="OBJECT ID">1.2.840.113549.1.1.1</algorithm>
- <parameters type="ANY">
- <rsaEncryption encoding="HEX">0500</rsaEncryption>
- </parameters>
- </algorithm>
- <subjectPublicKey type="BIT STRING" encoding="HEX" length="1120">30818902818100D00B49EBB226D951F5CC57072199DDF287683D2DA1A0EFCC96BFF73164777C78C3991E92EDA66584E7B97BAB4BE68D595D225557E01E7E57B5C35C04B491948C5C427AD588D8C6989764996D6D44E17B65CCFC86F3B4842DE559B730C1DE3AEF1CE1A328AFF8A357EBA911E1F7E8FC1598E21E4BF721748C587F50CF46157D950203010001</subjectPublicKey>
- </subjectPublicKeyInfo>
- <extensions type="SEQUENCE OF">
- <unnamed1 type="SEQUENCE">
- <extnID type="OBJECT ID">2.5.29.35</extnID>
- <critical type="BOOLEAN">FALSE</critical>
- <extnValue type="SEQUENCE">
- <keyIdentifier type="OCTET STRING" encoding="HEX">EFEE94ABC8CA577F5313DB76DC1A950093BAF3C9</keyIdentifier>
- </extnValue>
- </unnamed1>
- <unnamed2 type="SEQUENCE">
- <extnID type="OBJECT ID">2.5.29.37</extnID>
- <critical type="BOOLEAN">FALSE</critical>
- <extnValue type="SEQUENCE OF">
- <unnamed1 type="OBJECT ID">1.3.6.1.5.5.7.3.1</unnamed1>
- <unnamed2 type="OBJECT ID">1.3.6.1.5.5.7.3.2</unnamed2>
- <unnamed3 type="OBJECT ID">1.3.6.1.4.1.311.10.3.3</unnamed3>
- <unnamed4 type="OBJECT ID">2.16.840.1.113730.4.1</unnamed4>
- </extnValue>
- </unnamed2>
- <unnamed3 type="SEQUENCE">
- <extnID type="OBJECT ID">2.5.29.19</extnID>
- <critical type="BOOLEAN">TRUE</critical>
- <extnValue type="SEQUENCE">
- <cA type="BOOLEAN">FALSE</cA>
- </extnValue>
- </unnamed3>
- </extensions>
- </tbsCertificate>
- <signatureAlgorithm type="SEQUENCE">
- <algorithm type="OBJECT ID">1.2.840.113549.1.1.4</algorithm>
- <parameters type="ANY">
- <md5WithRSAEncryption encoding="HEX">0500</md5WithRSAEncryption>
- </parameters>
- </signatureAlgorithm>
- <signature type="BIT STRING" encoding="HEX" length="1024">B73945273AF2A395EC54BF5DC669D953885A9D811A3B92909D24792D36A44EC27E1C463AF8738BEFD29B311CCE8C6D9661BEC30911DAABB39B8813382B32D2E259581EBCD26C495C083984763966FF35D1DEFE432891E610C85072578DA7423244A8F5997B41A1F44E61F4F22C94375775055A5E72F25D5E4557467A91BD4251</signature>
- </certificate>
-</gnutls:x509:certificate>
-
-\end{verbatim}
diff --git a/doc/tex/figures/x509-1.dia b/doc/x509-1.dia
index 0742bb3677..0742bb3677 100644
--- a/doc/tex/figures/x509-1.dia
+++ b/doc/x509-1.dia
Binary files differ