diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/Makefile.am | 2 | ||||
-rw-r--r-- | doc/assuan.texi | 193 | ||||
-rw-r--r-- | doc/glossary.texi | 2 | ||||
-rw-r--r-- | doc/gnupg.texi | 7 | ||||
-rw-r--r-- | doc/instguide.texi | 19 |
6 files changed, 30 insertions, 197 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 261adfb3b..bb12bcf24 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,5 +1,9 @@ 2006-09-22 Werner Koch <[email protected]> + * instguide.texi (Installation): New. + * assuan.texi (Assuan): Removed. Use the libassuan manual instead. + * gnupg.texi: Reflect these changes. + * gpg.texi: Make some parts depend on the "gpgone" set command. This allows us to use the same source for gpg1 and gpg2. diff --git a/doc/Makefile.am b/doc/Makefile.am index 8258e8364..06b02f6a2 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -40,7 +40,7 @@ info_TEXINFOS = gnupg.texi dist_pkgdata_DATA = qualified.txt FAQ faq.html com-certs.pem gnupg_TEXINFOS = \ - gpg.texi gpgsm.texi gpg-agent.texi scdaemon.texi assuan.texi \ + gpg.texi gpgsm.texi gpg-agent.texi scdaemon.texi instguide.texi \ tools.texi debugging.texi glossary.texi contrib.texi gpl.texi \ sysnotes.texi gnupg-card-architecture.fig diff --git a/doc/assuan.texi b/doc/assuan.texi deleted file mode 100644 index cb6eb9c31..000000000 --- a/doc/assuan.texi +++ /dev/null @@ -1,193 +0,0 @@ -@c Copyright (C) 2002 Free Software Foundation, Inc. -@c This is part of the GnuPG manual. -@c For copying conditions, see the file gnupg.texi. - -@node Assuan -@appendix Description of the Assuan protocol. -@cindex Assuan, IPC - -The architecture of the modular GnuPG system is based on a couple of -highly specialized modules which make up a network of client server -communication. A common framework for intermodule communication is -therefore needed and should be implemented in a library. - -@appendixsubsec Goals - -@itemize @bullet -@item Common framework for module communication -@item Easy debugging -@item Easy module testing -@item Extendible -@item Optional authentication and encryption facility -@item Usable to access external hardware -@end itemize - - -@appendixsubsec Design criteria - -@itemize @bullet -@item Client Server with back channel -@item Use a mainly text based protocol -@item Escape certain control characters -@item Allow indefinite data length -@item Request confidentiality for parts of the communication -@item Dummy module should allow direct linking of client and server. -@item Inline data or descriptor passing for bulk data -@item No protection against DoS needed -@item Subliminal channels are not an issue -@end itemize - - -@appendixsubsec Implementation - -@noindent -The implementation is line based with a maximum line size of 1000 -octects. The default IPC mechanism are Unix Domain Sockets. - -On a connect request the server responds either with an okay or an error -status. For authentication check the server may send an Inquiry -Response prior to the first Okay, it may also issue Status messages. -The server must check that the client is allowed to connect, this is -done by requesting the credentials for the peer and comparing them to -those of the server. This avoids attacks based on wrong socket -permissions. - -It may choose to delay the first response in case of an error. The -server never closes the connection - however the lower protocol may do -so after some time of inactivity or when the connection is in an error -state. - -All textual messages are assumed to be in UTF-8 unless otherwise noted. - - -@appendixsubsec Server responses - -@table @code -@item OK [<arbitary debugging information>] -Request was successful. - -@item ERR @var{errorcode} [<human readable error description>] -Request could not be fulfilled. The error codes are mostly application -specific except for a few common ones. - -@item S @var{keyword} <status information depending on keyword> -Informational output by the server, still processing the request. - -@item # <string> -Comment line issued only for debugging purposes. Totally ignored. - -@item D <raw data> -Raw data returned to client. There must be exactly one space after the -'D'. The values for '%', CR and LF must be percent escaped; this is -encoded as %25, %0D and %0A. Only uppercase letters should be used in -the hexadecimal representation. Other characters may be percent escaped -for easier debugging. All these Data lines are considered one data -stream up to the OK or ERR response. Status and Inquiry Responses -may be mixed with the Data lines. - -@item INQUIRE @var{keyword}> <parameters> -Server needs further information from the client. The client should -answer with a command which is allowed after an inquiry. Note that the -server does not confirm that client command but either continues -processing or ends processing with an error status. Not all commands -are allowed. -@end table - - -A client should only check the first letter of each line and then skip -over to the next token (except for data lines where the raw data starts -exactly after 2 bytes). Lines larger than 1000 bytes should be -treated as a communication error. (The rationale for having a line -length limit is to allow for easier multiplexing of multiple channels). - - -@appendixsubsec Client requests - -The server waits for client requests after he sent an Okay or Error. -The client should not issue a request in other cases with the -exception of the CANCEL command. - -@example -@var{command} <parameters> -@end example - -@var{command} is a one word string without preceding white space. -Parameters are command specific, CR, LF and the percent signs should be -percent escaped as described above. To send a backslash as the last -character it should also be percent escaped. Percent escaping is -allowed anywhere in the parameters but not in the command. The line -ends with a CR, LF or just a LF. - -Not yet implemented feature: If there is a need for a parameter list -longer than the line length limit (1000 characters including command and -CR, LF), the last character of the line (right before the CR/LF or LF) -must be a non-escape encoded backslash. The following line is then -expected to be a continuation of the line with the backslash replaced by -a blank and the line ending removed. - -@example -D <raw data> -@end example - -Raw data to the server. There must be exactly one space after the 'D'. -The values for '%', CR and LF must be percent escaped; this is encoded -as %25, %0D and %0A. Only uppercase letters should be used in the -hexadecimal representation. Other characters may be percent escaped for -easier debugging. All these Data lines are considered one data stream -up to the OKAY or ERROR response. Status and Inquiry Responses may be -mixed with the Data lines. - -@example -END -@end example - - - -Lines beginning with a @code{#} or empty lines are ignored. This is -useful to comment test scripts. - - -Although the commands are application specific, some of them are used by -all protocols and partly directly supported by the Assuan library: - -@table @code -@item CANCEL -his is the one special command which aborts the current request. it can -be sent at any time and the server will stop its operation right before -it would send the next response line (of any type). - -@item BYE -Close the connect, the server will reply with an @code{OK}. - -@item AUTH -Not yet specified as we don't implement it in the first phase. See my -mail to gpa-dev on 2001-10-25 about the rationale for measurements -against local attacks. - -@item RESET -Reset the connection but not any existing authentication. The server -should release all resources associated with the connection. - -@item END -Used by a client to mark the end of raw data. The server may send END -to indicate a partial end of data. -@end table - - - -@appendixsubsec Error Codes - -Here we keep a list of error codes used in any Assuan based -protocol. The format is the string @code{ERR}, white space, the error -number, white space, a textual description of the error. - -@table @code - -@item 100 Unknown Command -@item 101 Not Implemented - -@item 301 certificate has been revoked [DirMngr] -@item 302 no CRL known for this certificate [DirMngr] -@item 303 CRL is too old and a new one could not be retrieved [DirMngr] - -@end table diff --git a/doc/glossary.texi b/doc/glossary.texi index e739947ef..5ea4a95f2 100644 --- a/doc/glossary.texi +++ b/doc/glossary.texi @@ -13,7 +13,7 @@ certificates. @item CRL - The @emph{Certificate Revocation List} is a list containing + The @emph{Certificate Revocation List} is a list containing certificates revoked by the issuer. @item Keygrip diff --git a/doc/gnupg.texi b/doc/gnupg.texi index e6744866d..48151f764 100644 --- a/doc/gnupg.texi +++ b/doc/gnupg.texi @@ -114,6 +114,8 @@ the administration and the architecture. @end ifnottex @menu +* Installation:: A short installation guide. + * Invoking GPG:: Using the OpenPGP protocol. * Invoking GPGSM:: Using the S/MIME protocol. * Invoking GPG-AGENT:: How to launch the secret key daemon. @@ -124,7 +126,7 @@ the administration and the architecture. * System Notes:: Notes pertaining to certain OSes. * Debugging:: How to solve problems -* Assuan:: Description of the Assuan protocol. + * Copying:: GNU General Public License says how you can copy and share GnuPG * Contributors:: People who have contributed to GnuPG. @@ -148,6 +150,8 @@ the administration and the architecture. @end ifhtml +@include instguide.texi + @include gpg.texi @include gpgsm.texi @include gpg-agent.texi @@ -165,7 +169,6 @@ the administration and the architecture. @include debugging.texi -@include assuan.texi @include gpl.texi @include contrib.texi diff --git a/doc/instguide.texi b/doc/instguide.texi new file mode 100644 index 000000000..1a65afbcb --- /dev/null +++ b/doc/instguide.texi @@ -0,0 +1,19 @@ +@c instguide.texi - Installation guide for GnuPG +@c Copyright (C) 2006 Free Software Foundation, Inc. +@c This is part of the GnuPG manual. +@c For copying conditions, see the file gnupg.texi. + +@node Installation +@chapter A short installation guide. + +[to be written] + +Tell how to setup the system, install certificates, how dirmngr relates +to GnuPG etc. + +** Explain how to setup a root CA key as trusted +** Explain how trustlist.txt might be managed. + + + + |