* gcrypt.texi: Changed license from FDL to GPL because this is a
authorWerner Koch <wk@gnupg.org>
Wed, 3 Dec 2003 13:31:42 +0000 (13:31 +0000)
committerWerner Koch <wk@gnupg.org>
Wed, 3 Dec 2003 13:31:42 +0000 (13:31 +0000)
reference manual only useful along with actual code.
* fdl.texi: Removed.

* gcrypt.texi: Minor cleanups
(Working with keys): Clarified generation of RSA's E parameter.
(Multi Threading): Clarified.

doc/ChangeLog
doc/fdl.texi [deleted file]
doc/gcrypt.texi

index 314dc1e..537d73b 100644 (file)
@@ -1,3 +1,13 @@
+2003-12-03  Werner Koch  <wk@gnupg.org>
+
+       * gcrypt.texi: Changed license from FDL to GPL because this is a
+       reference manual only useful along with actual code.
+       * fdl.texi: Removed.
+
+       * gcrypt.texi: Minor cleanups
+       (Working with keys): Clarified generation of RSA's E parameter.
+       (Multi Threading): Clarified.
+       
 2003-11-11  Werner Koch  <wk@gnupg.org>
 
        * gcrypt.texi (Working with S-expressions): Added "%b".
diff --git a/doc/fdl.texi b/doc/fdl.texi
deleted file mode 100644 (file)
index 50028ab..0000000
+++ /dev/null
@@ -1,402 +0,0 @@
-@node Free Documentation License
-@appendix GNU Free Documentation License
-
-@cindex FDL, GNU Free Documentation License
-@center Version 1.1, March 2000
-
-@display
-Copyright @copyright{} 2000 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA  02111-1307, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-@end display
-
-@enumerate 0
-@item
-PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-written document @dfn{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.
-
-@item
-APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work that contains a
-notice placed by the copyright holder saying it can be distributed
-under the terms of this License.  The ``Document'', below, refers to any
-such manual or work.  Any member of the public is a licensee, and is
-addressed as ``you''.
-
-A ``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 ``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.  (For example, 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 ``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.
-
-The ``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 ``Transparent'' copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, whose contents can be viewed and edited directly and
-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 has been designed to thwart or discourage
-subsequent modification by readers is not Transparent.  A copy that is
-not ``Transparent'' is called ``Opaque''.
-
-Examples of suitable formats for Transparent copies include plain
-@sc{ascii} without markup, Texinfo input format, La@TeX{} input format,
-@acronym{SGML} or @acronym{XML} using a publicly available
-@acronym{DTD}, and standard-conforming simple @acronym{HTML} designed
-for human modification.  Opaque formats include PostScript,
-@acronym{PDF}, proprietary formats that can be read and edited only by
-proprietary word processors, @acronym{SGML} or @acronym{XML} for which
-the @acronym{DTD} and/or processing tools are not generally available,
-and the machine-generated @acronym{HTML} produced by some word
-processors for output purposes only.
-
-The ``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.
-
-@item
-VERBATIM COPYING
-
-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.
-
-@item
-COPYING IN QUANTITY
-
-If you publish printed copies 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 publicly-accessible computer-network location containing a complete
-Transparent copy of the Document, free of added material, which the
-general network-using public has access to download anonymously at no
-charge using public-standard network protocols.  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.
-
-@item
-MODIFICATIONS
-
-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:
-
-@enumerate A
-@item
-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
-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 less than five).
-
-@item
-State on the Title page the name of the publisher of the
-Modified Version, as the publisher.
-
-@item
-Preserve all the copyright notices of the Document.
-
-@item
-Add an appropriate copyright notice for your modifications
-adjacent to the other copyright notices.
-
-@item
-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
-Preserve in that license notice the full lists of Invariant Sections
-and required Cover Texts given in the Document's license notice.
-
-@item
-Include an unaltered copy of this License.
-
-@item
-Preserve the section entitled ``History'', and 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
-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
-In any section entitled ``Acknowledgments'' or ``Dedications'',
-preserve the section's title, and preserve in the section all the
-substance and tone of each of the contributor acknowledgments
-and/or dedications given therein.
-
-@item
-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
-Delete any section entitled ``Endorsements''.  Such a section
-may not be included in the Modified Version.
-
-@item
-Do not retitle any existing section as ``Endorsements''
-or to conflict in title with any Invariant Section.
-@end enumerate
-
-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.
-
-@item
-COMBINING DOCUMENTS
-
-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.
-
-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 ``Acknowledgments'',
-and any sections entitled ``Dedications''.  You must delete all sections
-entitled ``Endorsements.''
-
-@item
-COLLECTIONS OF DOCUMENTS
-
-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.
-
-@item
-AGGREGATION WITH INDEPENDENT WORKS
-
-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, does not as a whole count as a Modified Version
-of the Document, provided no compilation copyright is claimed for the
-compilation.  Such a compilation is called an ``aggregate'', and this
-License does not apply to the other self-contained works thus compiled
-with the Document, on account of their being thus compiled, if they
-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 quarter
-of the entire aggregate, the Document's Cover Texts may be placed on
-covers that surround only the Document within the aggregate.
-Otherwise they must appear on covers around the whole aggregate.
-
-@item
-TRANSLATION
-
-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 provided that you also include the
-original English version of this License.  In case of a disagreement
-between the translation and the original English version of this
-License, the original English version will prevail.
-
-@item
-TERMINATION
-
-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.
-
-@item
-FUTURE REVISIONS OF THIS LICENSE
-
-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
-@uref{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.
-@end enumerate
-
-@page
-@appendixsubsec ADDENDUM: How to use this License for your documents
-
-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:
-
-@smallexample
-@group
-  Copyright (C)  @var{year}  @var{your name}.
-  Permission is granted to copy, distribute and/or modify this document
-  under the terms of the GNU Free Documentation License, Version 1.1
-  or any later version published by the Free Software Foundation;
-  with the Invariant Sections being @var{list their titles}, with the
-  Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}.
-  A copy of the license is included in the section entitled ``GNU
-  Free Documentation License''.
-@end group
-@end smallexample
-
-If you have no Invariant Sections, write ``with no Invariant Sections''
-instead of saying which ones are invariant.  If you have no
-Front-Cover Texts, write ``no Front-Cover Texts'' instead of
-``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts.
-
-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.
-
-@c Local Variables:
-@c ispell-local-pdict: "ispell-dict"
-@c End:
-
index 83d04b6..3fd2263 100644 (file)
@@ -4,11 +4,10 @@
 @c This file is part of the Libgcrypt.
 @c
 @c Permission is granted to copy, distribute and/or modify this document
-@c under the terms of the GNU Free Documentation License, Version 1.1 or
-@c any later version published by the Free Software Foundation; with no
-@c Invariant Sections, with no the Front-Cover texts, and with no
-@c Back-Cover Texts. 
-@c A copy of the license is included in the file 'fdl.texi'.
+@c under the terms of the GNU General Public License as published by the
+@c Free Software Foundation; either version 2 of the License, or (at your
+@c option) any later version. A copy of the license is included in the 
+@c file 'gpl.texi'.
 @c
 @setfilename gcrypt.info
 @settitle The `Libgcrypt' Reference Manual
@@ -34,11 +33,10 @@ This is Edition @value{EDITION}, last updated @value{UPDATED}, of
 Copyright @copyright{} 2000, 2002, 2003 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no the Front-Cover texts, and with no
-Back-Cover Texts.  A copy of the license is included in the section
-entitled ``GNU Free Documentation License''.
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2 of the License, or (at your
+option) any later version. The text of the license can be found in the
+section entitled ``Copying''.
 @end ifinfo
 
 @c @iftex
@@ -59,12 +57,13 @@ entitled ``GNU Free Documentation License''.
 Copyright @copyright{} 2000, 2002, 2003 Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no the Front-Cover texts, and with no
-Back-Cover Texts.  A copy of the license is included in the section
-entitled ``GNU Free Documentation License''.
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2 of the License, or (at your
+option) any later version. The text of the license can be found in the
+section entitled ``Copying''.
 @end titlepage
+@summarycontents
+@contents
 @page
 
 @ifnottex
@@ -73,6 +72,15 @@ entitled ``GNU Free Documentation License''.
 This is Edition @value{EDITION}, last updated @value{UPDATED}, of
 @cite{The `Libgcrypt' Reference Manual}, for Version
 @value{VERSION} of the @acronym{Libgcrypt} library.
+
+Copyright @copyright{} 2000, 2002, 2003 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2 of the License, or (at your
+option) any later version. The text of the license can be found in the
+section entitled ``Copying''.
+
 @end ifnottex
 
 @menu
@@ -92,11 +100,9 @@ This is Edition @value{EDITION}, last updated @value{UPDATED}, of
 Appendices
 
 * Library Copying::             The GNU Lesser General Public License
-                                says how you can copy and share `@acronym{Libgcrypt}'.
+                                says how you can copy and share `Libgcrypt'.
 * Copying::                     The GNU General Public License says how you
-                                can copy and share some parts of `@acronym{Libgcrypt}'.
-* Free Documentation License::  This manual is under the GNU Free
-                                Documentation License.
+                                can copy and share some parts of `Libgcrypt'.
 
 Indices
 
@@ -171,7 +177,7 @@ MPI library
 * Calculations::                Performing MPI calculations.
 * Comparisons::                 How to compare MPI values.
 * Bit manipulations::           How to access single bits of MPI values.
-* Misc::                        Misc, fixme.
+* Misc::                        Miscellaneous MPI functions.
 
 Utilities
 * Memory allocation::           Functions related with memory allocation.
@@ -180,6 +186,8 @@ Utilities
 
 @end menu
 
+
+
 @c **********************************************************
 @c *******************  Introduction  ***********************
 @c **********************************************************
@@ -267,11 +275,11 @@ library is initialized, and how the requirements of the library are
 verified.
 
 @menu
-* Header::                              What header file you need to include.
-* Building sources::                    How to build sources using the library.
-* Building sources using Automake::     How to build sources with the help auf Automake.
-* Initializing the library::            How to initialize the library.
-* Multi Threading::                     How @acronym{Libgcrypt} can be used in a MT environment.
+* Header::                      What header file you need to include.
+* Building sources::            How to build sources using the library.
+* Building sources using Automake::  How to build sources with the help auf Automake.
+* Initializing the library::    How to initialize the library.
+* Multi Threading::             How @acronym{Libgcrypt} can be used in a MT environment.
 @end menu
 
 
@@ -400,63 +408,48 @@ make use of the other functions of @acronym{Libgcrypt}.
 @node Multi Threading
 @section Multi Threading
 
-As mentioned earlier, the `@acronym{Libgcrypt}' library is fully thread-safe;
-the library automagically detects whether an applications uses no
-threading, pthreads or GNU Pth.
-
-If you link your program dynamically to @acronym{Libgcrypt} and your
-supported thread library, @acronym{Libgcrypt} will automatically
-detect the presence of this library and activate its use.  You must
-link to the thread library before linking to @acronym{Libgcrypt}.  If
-you link to both pthread and GNU Pth, @acronym{Libgcrypt} will use the
-pthread support.  This feature requires weak symbol support.
-
-If you link your program statically to @acronym{Libgcrypt}, or your
-system does not support weak symbols, there is currently no easy way
-to make sure that @acronym{Libgcrypt} detects the presence of the
-thread library.  This will be solved in a future version.
-
+As mentioned earlier, the `@acronym{Libgcrypt}' library is 
+thread-safe if you adhere to the following requirements:
+
+@itemize @bullet
+@item
+@acronym{Libgcrypt} supports the thread libraries pthread and GNU Pth.
+The support for this has to be enabled at compile time.
+@acronym{Libgcrypt} will automatically detect the location in which the
+thread libraries are installed and activate the support for them at
+build time.
+
+Support for other thread libraries is very easy to add.  Please
+contact us if you have the need.
+
+@item
+If you want to use @acronym{Libgcrypt} with threads, you must link to
+the right version of the library.  The name of the right library is
+@code{libgcrypt-} followed by the name of the thread package you use.
+For example, if you use GNU Pth, the right name is
+@code{libgcrypt-pth}.  Use the Automake macros or
+@command{libgcrypt-config} program for simplicity.
+
+@item
 The function @code{gcry_check_version} must be called before any other
 function in the library, because it initializes the thread support
-subsystem in @acronym{Libgcrypt}.  To achieve this in all generality,
-it is necessary to synchronize the call to this function with all
-other calls to functions in the library, using the synchronization
-mechanisms available in your thread library.  Otherwise, specific
-compiler or CPU memory cache optimizations could lead to the situation
-where a thread is started and uses @acronym{Libgcrypt} before the
-effects of the initialization are visible for this thread.  It doesn't
-even suffice to call @code{gcry_check_version} before creating this
-other thread@footnote{In SMP systems the new thread could be started
-on another CPU before the effects of the initialization are seen by
-that CPU's memory cache.  Not doing proper synchronization here leads
-to the same problems the double-checked locking idiom has.  You might
-find that if you don't do proper synchronization, it still works in
-most configurations.  Don't let this fool you.  Someday it might lead
-to subtle bugs when someone tries it on a DEC Alpha or an SMP
-machine.}.
-
-For example, if you are using POSIX threads, each thread that wants to
-call functions in @acronym{Libgcrypt} could call the following
-function before any function in the library:
+subsystem in @acronym{Libgcrypt}.  To achieve this in
+multi-threaded programs, you must synchronize the memory with respect
+to other threads that also want to use @acronym{Libgcrypt}.  For this, it
+is sufficient to call @code{gcry_check_version} before creating the
+other threads using @acronym{Libgcrypt}@footnote{At least this is true for
+POSIX threads, as @code{pthread_create} is a function that
+synchronizes memory with respects to other threads.  There are many
+functions which have this property, a complete list can be found in
+POSIX, IEEE Std 1003.1-2003, Base Definitions, Issue 6, in the
+definition of the term ``Memory Synchronization''.  For other thread
+packages other, more relaxed or more strict rules may apply.}.
+
+@item
+As with the function @code{gpg_strerror}, @code{gcry_strerror} is not
+thread safe.  You have to use @code{gpg_strerror_r} instead.
+@end itemize
 
-@example
-#include <pthread.h>
-
-void
-initialize_gcrypt (void)
-@{
-  static int gcrypt_init;
-  static pthread_mutext_t gcrypt_init_lock = PTHREAD_MUTEX_INITIALIZER;
-
-  pthread_mutex_lock (&gcrypt_init_lock);
-  if (! gcrypt_init)
-    @{
-      gcry_check_version ();
-      gcrypt_init = 1;
-    @}
-  pthread_mutex_unlock (&gcrypt_init_lock);
-@}
-@end example
 
 @c **********************************************************
 @c *******************  General  ****************************
@@ -549,10 +542,10 @@ libgpg-error to provide a common error handling scheme.  For more
 information on libgpg-error, see the according manual.
 
 @menu
-* Error Values::                  The error value and what it means.
-* Error Sources::                 A list of important error sources.
-* Error Codes::                   A list of important error codes.
-* Error Strings::                 How to get a descriptive string from a value.
+* Error Values::                The error value and what it means.
+* Error Sources::               A list of important error sources.
+* Error Codes::                 A list of important error codes.
+* Error Strings::               How to get a descriptive string from a value.
 @end menu
 
 
@@ -601,21 +594,21 @@ error code part of an error value.  The error source is left
 unspecified and might be anything.
 @end deftp
 
-@deftypefun {static __inline__ gcry_err_code_t} gcry_err_code (@w{gcry_error_t @var{err}})
+@deftypefun {gcry_err_code_t} gcry_err_code (@w{gcry_error_t @var{err}})
 The static inline function @code{gcry_err_code} returns the
 @code{gcry_err_code_t} component of the error value @var{err}.  This
 function must be used to extract the error code from an error value in
 order to compare it with the @code{GPG_ERR_*} error code macros.
 @end deftypefun
 
-@deftypefun {static __inline__ gcry_err_source_t} gcry_err_source (@w{gcry_error_t @var{err}})
+@deftypefun {gcry_err_source_t} gcry_err_source (@w{gcry_error_t @var{err}})
 The static inline function @code{gcry_err_source} returns the
 @code{gcry_err_source_t} component of the error value @var{err}.  This
 function must be used to extract the error source from an error value in
 order to compare it with the @code{GPG_ERR_SOURCE_*} error source macros.
 @end deftypefun
 
-@deftypefun {static __inline__ gcry_error_t} gcry_err_make (@w{gcry_err_source_t @var{source}}, @w{gcry_err_code_t @var{code}})
+@deftypefun {gcry_error_t} gcry_err_make (@w{gcry_err_source_t @var{source}}, @w{gcry_err_code_t @var{code}})
 The static inline function @code{gcry_err_make} returns the error
 value consisting of the error source @var{source} and the error code
 @var{code}.
@@ -624,7 +617,7 @@ This function can be used in callback functions to construct an error
 value to return it to the library.
 @end deftypefun
 
-@deftypefun {static __inline__ gcry_error_t} gcry_error (@w{gcry_err_code_t @var{code}})
+@deftypefun {gcry_error_t} gcry_error (@w{gcry_err_code_t @var{code}})
 The static inline function @code{gcry_error} returns the error value
 consisting of the default error source and the error code @var{code}.
 
@@ -1027,11 +1020,11 @@ an open/process/close paradigm and is in that similar to other
 building blocks provided by @acronym{Libgcrypt}.
 
 @menu
-* Available ciphers::            List of ciphers supported by the library.
-* Cipher modules::               How to work with cipher modules.
-* Available cipher modes::       List of cipher modes supported by the library.
+* Available ciphers::           List of ciphers supported by the library.
+* Cipher modules::              How to work with cipher modules.
+* Available cipher modes::      List of cipher modes supported by the library.
 * Working with cipher handles::  How to perform operations related to cipher handles.
-* General cipher functions::     General cipher functions independent of cipher handles.
+* General cipher functions::    General cipher functions independent of cipher handles.
 @end menu
 
 @node Available ciphers
@@ -1497,9 +1490,9 @@ For convenience reasons, a few cyclic redudancy check value operations
 are also supported.
 
 @menu
-* Available hash algorithms::           List of hash algorithms supported by the library.
-* Hash algorithm modules::              How to work with hash algorithm modules.
-* Working with hash algorithms::        List of functions related to hashing.
+* Available hash algorithms::   List of hash algorithms supported by the library.
+* Hash algorithm modules::      How to work with hash algorithm modules.
+* Working with hash algorithms::  List of functions related to hashing.
 @end menu
 
 @node Available hash algorithms
@@ -1956,10 +1949,10 @@ public key cryptography, this chapter explains the one based on
 S-expressions.
 
 @menu
-* Used S-expressions::                    Introduction into the used S-expression.
-* Available algorithms::                  Algorithms supported by the library.
-* Public key modules::                    How to work with public key modules.
-* Cryptographic Functions::               Functions for performing the cryptographic actions.
+* Available algorithms::        Algorithms supported by the library.
+* Used S-expressions::          Introduction into the used S-expression.
+* Public key modules::          How to work with public key modules.
+* Cryptographic Functions::     Functions for performing the cryptographic actions.
 * General public-key related Functions::  General functions, not implementing any cryptography.
 @end menu
 
@@ -1981,14 +1974,13 @@ do.
 The following information are stored in S-expressions:
 
 @table @asis
-@item Keys
+@item keys
 
 @item plain text data
 
 @item encrypted data
 
 @item signatures
-...
 
 @end table
 
@@ -2650,12 +2642,12 @@ former chapter, this one follows an open/use/close paradigm like other
 building blocks of the library.
 
 @menu
-* Available asymmetric algorithms:: List of algorithms supported by the library.
-* Working with sets of data::       How to work with sets of data.
-* Working with handles::            How to use handles.
-* Working with keys::               How to work with keys.
-* Using cryptographic functions::   How to perform cryptographic operations.
-* Handle-independent functions::    General functions independent of handles.
+* Available asymmetric algorithms::  List of algorithms supported by the library.
+* Working with sets of data::   How to work with sets of data.
+* Working with handles::        How to use handles.
+* Working with keys::           How to work with keys.
+* Using cryptographic functions::  How to perform cryptographic operations.
+* Handle-independent functions::  General functions independent of handles.
 @end menu
 
 @node Available asymmetric algorithms
@@ -2822,10 +2814,14 @@ has the following meanings:
 @item = 0
 Let @acronym{Libgcrypt} device what exponent should be used.
 @item = 1
-Request the use of a ``secure'' exponent; this is required by sosme
+Request the use of a ``secure'' exponent; this is required by some
 specification to be 65537.
 @item > 2
-Try starting at this value until a working exponent is found.
+Try starting at this value until a working exponent is found.  Note,
+that the current implementation leaks some information about the
+private key because the incrementation used is not randomized.  Thus,
+this function will be changed in the future to return a random
+exponent of the given size.
 @end table
 @end table
 @end table
@@ -3001,8 +2997,8 @@ to parse and construct them.  For detailed information, see
 @uref{http://theory.lcs.mit.edu/~rivest/sexp.html}}.
 
 @menu
-* Data types for S-expressions::   Data types related with S-expressions.
-* Working with S-expressions::     How to work with S-expressions.
+* Data types for S-expressions::  Data types related with S-expressions.
+* Working with S-expressions::  How to work with S-expressions.
 @end menu
 
 @node Data types for S-expressions
@@ -3653,8 +3649,6 @@ Release the memory area pointed to by @var{p}.
 
 @include gpl.texi
 
-@include fdl.texi
-
 @node Concept Index
 @unnumbered Concept Index
 
@@ -3665,8 +3659,6 @@ Release the memory area pointed to by @var{p}.
 
 @printindex fn
 
-@summarycontents
-@contents
 @bye
 
   /* Version check should be the very first gcry call because it