diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-05-27 17:18:56 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2011-05-27 17:19:15 +0200 |
commit | 32d903954844c38a7f57e7d11f739a13e7c4580b (patch) | |
tree | d08fc4beba5d33c2f6a079f900297e90895be86a | |
parent | 1e00c52df333191fa0c64f37b9bca9c238b8388d (diff) | |
download | gnutls-32d903954844c38a7f57e7d11f739a13e7c4580b.tar.gz |
guile bindings added as a separate document.
-rw-r--r-- | doc/Makefile.am | 9 | ||||
-rw-r--r-- | doc/cha-ciphersuites.texi | 16 | ||||
-rw-r--r-- | doc/cha-functions.texi | 2 | ||||
-rw-r--r-- | doc/cha-preface.texi | 3 | ||||
-rw-r--r-- | doc/gnutls-guile.texi (renamed from doc/guile.texi) | 122 | ||||
-rw-r--r-- | guile/src/core.c | 4 |
6 files changed, 108 insertions, 48 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am index ec00dc9b27..6c91ac9826 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -21,14 +21,15 @@ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. EXTRA_DIST = TODO certtool.cfg gnutls.ps gnutls.pdf gnutls.html \ - doxygen/Doxyfile.in doxygen/Doxyfile.orig texinfo.css + doxygen/Doxyfile.in doxygen/Doxyfile.orig texinfo.css \ + gnutls-guile.pdf gnutls-guile.html SUBDIRS = examples cyclo scripts manpages credentials if ENABLE_GTK_DOC SUBDIRS += reference endif -info_TEXINFOS = gnutls.texi +info_TEXINFOS = gnutls.texi gnutls-guile.texi gnutls_TEXINFOS = gnutls.texi fdl-1.3.texi lgpl-2.1.texi gpl-3.0.texi \ cha-auth.texi cha-bib.texi cha-cert-auth.texi \ cha-ciphersuites.texi cha-copying.texi cha-functions.texi \ @@ -177,11 +178,11 @@ algorithms.texi: $(srcdir)/printlist.c # Guile texinfos. -guile_texi = core.c.texi extra.c.texi -gnutls_TEXINFOS += guile.texi $(guile_texi) +guile_texi = core.c.texi extra.c.texi BUILT_SOURCES = $(guile_texi) MAINTAINERCLEANFILES += $(guile_texi) EXTRA_DIST += $(guile_texi) extract-guile-c-doc.scm +guile_TEXINFOS = gnutls-guile.texi $(guile_texi) if HAVE_GUILE diff --git a/doc/cha-ciphersuites.texi b/doc/cha-ciphersuites.texi index 1b2c2116b3..df908658c7 100644 --- a/doc/cha-ciphersuites.texi +++ b/doc/cha-ciphersuites.texi @@ -1,5 +1,5 @@ -@node All the supported ciphersuites in GnuTLS -@chapter All the Supported Ciphersuites in @acronym{GnuTLS} +@node Supported ciphersuites in GnuTLS +@appendix Supported Ciphersuites in @acronym{GnuTLS} @anchor{ciphersuites} @cindex Ciphersuites @@ -13,8 +13,11 @@ RSA is public key cryptosystem designed by Ronald Rivest, Adi Shamir and Leonard Adleman. It can be used with any hash functions. @item DSA -DSA is the USA's Digital Signature Standard. It uses only the SHA-1 -hash algorithm. +DSA is the USA's Digital Signature Standard. It may use the SHA +family of hash algorithms. + +@item ECDSA +ECDSA is the elliptic curve counter-part of DSA. @item MD2 MD2 is a cryptographic hash algorithm designed by Ron Rivest. It is @@ -36,8 +39,3 @@ the EU project RIPE. Outputs 160 bits of data. @end table -@c -@c Guile Bindings -@c - -@include guile.texi diff --git a/doc/cha-functions.texi b/doc/cha-functions.texi index d0260ba395..a818800db2 100644 --- a/doc/cha-functions.texi +++ b/doc/cha-functions.texi @@ -1,5 +1,5 @@ @node Function reference -@chapter Function Reference +@appendix Function Reference @cindex Function reference @menu diff --git a/doc/cha-preface.texi b/doc/cha-preface.texi index 1b2d5a33f4..68a7c828f1 100644 --- a/doc/cha-preface.texi +++ b/doc/cha-preface.texi @@ -137,9 +137,6 @@ parsing OpenPGP packets. It is included GnuTLS. Use parameter functionality in GnuTLS. Unfortunately, we didn't have resources to maintain the code in a separate library. -Regarding the Guile bindings, there are additional installation -considerations, see @xref{Guile Preparations}. - A few @code{configure} options may be relevant, summarized in the table. diff --git a/doc/guile.texi b/doc/gnutls-guile.texi index a21c1b2fe1..742611a04b 100644 --- a/doc/guile.texi +++ b/doc/gnutls-guile.texi @@ -1,9 +1,75 @@ -@c Documentation of the GNU Guile bindings. +\input texinfo @c -*-texinfo-*- +@comment %**start of header +@setfilename gnutls-guile.info +@include version.texi +@settitle GnuTLS-Guile @value{VERSION} + +@c don't indent the paragraphs. +@paragraphindent 0 + +@c Unify some of the indices. +@syncodeindex tp fn +@syncodeindex pg cp + +@comment %**end of header +@finalout +@copying +This manual is last updated @value{UPDATED} for version +@value{VERSION} of GnuTLS. + +Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. + +@quotation +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 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 quotation +@end copying + +@dircategory Software libraries +@direntry +* GnuTLS-Guile: (gnutls-guile). GNU Transport Layer Security Library. Guile bindings. +@end direntry + +@titlepage +@title GnuTLS-Guile +@subtitle Guile binding for GNU TLS +@subtitle for version @value{VERSION}, @value{UPDATED} +@sp 7 +@image{gnutls-logo,6cm,6cm} +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage + +@macro xcite{ref} +[\ref\] (@pxref{Bibliography}) +@end macro + +@contents + +@ifnottex +@node Top +@top GnuTLS-Guile + +@insertcopying +@end ifnottex -@node Guile Bindings -@chapter Guile Bindings +@menu +* Preface:: Preface. +* Guile Preparations:: Note on installation and environment. +* Guile API Conventions:: Naming conventions and other idiosyncrasies. +* Guile Examples:: Quick start. +* Guile Reference:: The Scheme GnuTLS programming interface. +@end menu + +@node Preface +@chapter Preface -This chapter describes the @uref{http://www.gnu.org/software/guile/, +This manual describes the @uref{http://www.gnu.org/software/guile/, GNU Guile} Scheme programming interface to GnuTLS. The reader is assumed to have basic knowledge of the protocol and library. Details missing from this chapter may be found in @ref{Function reference, @@ -12,17 +78,9 @@ the C API reference}. At this stage, not all the C functions are available from Scheme, but a large subset thereof is available. - -@menu -* Guile Preparations:: Note on installation and environment. -* Guile API Conventions:: Naming conventions and other idiosyncrasies. -* Guile Examples:: Quick start. -* Guile Reference:: The Scheme GnuTLS programming interface. -@end menu - @c ********************************************************************* @node Guile Preparations -@section Guile Preparations +@chapter Guile Preparations The GnuTLS Guile bindings are by default installed under the GnuTLS installation directory (e.g., typically @@ -110,7 +168,7 @@ guile> @c ********************************************************************* @node Guile API Conventions -@section Guile API Conventions +@chapter Guile API Conventions This chapter details the conventions used by Guile API, as well as specificities of the mapping of the C API to Scheme. @@ -124,7 +182,7 @@ specificities of the mapping of the C API to Scheme. @end menu @node Enumerates and Constants -@subsection Enumerates and Constants +@section Enumerates and Constants @cindex enumerate @cindex constant @@ -203,7 +261,7 @@ and not internationalized. @node Procedure Names -@subsection Procedure Names +@section Procedure Names Unlike C functions in GnuTLS, the corresponding Scheme procedures are named in a way that is close to natural English. Abbreviations are @@ -222,7 +280,7 @@ to @code{gnutls_transport_set_ptr}, making it clear that this procedure applies to session. @node Representation of Binary Data -@subsection Representation of Binary Data +@section Representation of Binary Data Many procedures operate on binary data. For instance, @code{pkcs3-import-dh-parameters} expects binary data as input and, @@ -257,7 +315,7 @@ OpenPGP Keys Guile Example}. @node Input and Output -@subsection Input and Output +@section Input and Output @findex set-session-transport-port! @findex set-session-transport-fd! @@ -321,7 +379,7 @@ less convenient than the above and should rarely be needed. @node Exception Handling -@subsection Exception Handling +@section Exception Handling @cindex exceptions @cindex errors @@ -379,7 +437,7 @@ as in this example. @c ********************************************************************* @node Guile Examples -@section Guile Examples +@chapter Guile Examples This chapter provides examples that illustrate common use cases. @@ -390,7 +448,7 @@ This chapter provides examples that illustrate common use cases. @end menu @node Anonymous Authentication Guile Example -@subsection Anonymous Authentication Guile Example +@section Anonymous Authentication Guile Example @dfn{Anonymous authentication} is very easy to use. No certificates are needed by the communicating parties. Yet, it allows them to @@ -471,7 +529,7 @@ This is it! @node OpenPGP Authentication Guile Example -@subsection OpenPGP Authentication Guile Example +@section OpenPGP Authentication Guile Example GnuTLS allows users to authenticate using OpenPGP certificates. The relevant procedures are provided by the @code{(gnutls extra)} module. @@ -544,12 +602,10 @@ Similarly, server-side code would be along these lines: In practice, generating RSA parameters (and Diffie-Hellman parameters) can time a long time. Thus, you may want to generate them once and -store them in a file for future re-use (@pxref{Core Interface, -@code{pkcs1-export-rsa-parameters} and -@code{pkcs1-import-rsa-parameters}}). +store them in a file for future re-use (@pxref{Core Interface, @code{pkcs1-export-rsa-parameters} and @code{pkcs1-import-rsa-parameters}}). @node Importing OpenPGP Keys Guile Example -@subsection Importing OpenPGP Keys Guile Example +@section Importing OpenPGP Keys Guile Example The following example provides a simple way of importing ``ASCII-armored'' OpenPGP keys from files, using the @@ -593,7 +649,7 @@ return an OpenPGP public key and private key object, respectively @c ********************************************************************* @node Guile Reference -@section Guile Reference +@chapter Guile Reference This chapter documents GnuTLS Scheme procedures available to Guile programmers. @@ -604,7 +660,7 @@ programmers. @end menu @node Core Interface -@subsection Core Interface +@section Core Interface This section lists the Scheme procedures exported by the @code{(gnutls)} module (@pxref{The Guile module system,,, guile, The @@ -614,7 +670,7 @@ Lesser General Public Licence, version 2.1 or later. @include core.c.texi @node Extra Interface -@subsection Extra Interface +@section Extra Interface This section lists the Scheme procedures exported by the @code{(gnutls extra)} module. This module is licenced under the GNU General Public @@ -631,3 +687,11 @@ Licence, version 3 or later. @c Local Variables: @c ispell-local-dictionary: "american" @c End: + +@node GNU Free Documentation License +@appendix GNU Free Documentation License + +@cindex FDL, GNU Free Documentation License +@include fdl-1.3.texi + +@bye diff --git a/guile/src/core.c b/guile/src/core.c index 4e0f340727..ba9ffabb4c 100644 --- a/guile/src/core.c +++ b/guile/src/core.c @@ -539,8 +539,8 @@ SCM_DEFINE (scm_gnutls_set_session_priorities_x, (SCM session, SCM priorities), "Have @var{session} use the given @var{priorities} for " "the ciphers, key exchange methods, MACs and compression " - "methods. @var{priorities} must be a string (@pxref{" - "Priority Strings}). When @var{priorities} cannot be " + "methods. @var{priorities} must be a string (see " + "Priority Strings). When @var{priorities} cannot be " "parsed, an @code{error/invalid-request} error is raised, " "with an extra argument indication the position of the " "error.\n") |