Please read the file COPYING in this directory for information on
distributing PGPD.

Included in this directory are two programs, "pgpd" and "pg_inetd".
They provide an interactive PGP key server similar to the mail servers
described in KEYSERV.DOC with the PGP distribution.

The "pgpd" program works with stdin and stdout; it can be run at the
command line and used interactively without a network connection.
Ideally, it should be configured into /etc/services and
/etc/inetd.conf so that it can be used as a network server.

The "pg_inetd" program works as a substitute for the /etc/services and
/etc/inetd.conf configuration, in case you want to try it out before
you install it there, or (if you're like me) you don't have root
access to your workstation.  :)  You can choose the port it listens
on with the KTPPORT variable in the makefile, which is by default
13013 (an unprivileged port).

The "pgpd" is the first implementation of the "KTP" Key Transfer
Protocol, which I hope to develop more fully in the near future.  For
now, here's a rough idea: commands are one word with possibly an
argument; case is unimportant.  Responses are lines of text which
begin with a three-digit code.  Automated KTP clients need only
examine the first three characters of the response to see what the
results were.

The following commands are implemented:

    add             Add a key to the server's keyring
    debug           Toggle command echoing
    get <keyspec>   Get the specified key ("pgp -f -o- -kxa <keyspec>")
    quit            Quit
    index           Get the keyring index ("pgp -kv")
    vindex          Get the keyring index ("pgp -kvv")
    help            Print a list of commands


The following response codes are indicated:

000     OK
001     Goodbye
002     Error
003     Unknown command

050     Noise (clients may ignore these messages)

100     Key data follows
101     Key not found
102     Key index follows
103     PGP error

200     Send your PGP key data


Text information (such as ASCII-Armored key data and key indexes) is
transmitted as lines of plaintext (preceded by 100 or 103, or
solicited by 200) followed by a line containing only "." (like SMTP).


An example session follows:

-----------------------------------cut-here-----------------------------------
050 Welcome to the PGP key server, PGPD version 0.1 (experimental).
050 Type 'help' for help.
000 Ok.
help
050 Valid commands are:
050     get <keyspec>
050     add
050     debug
050     index
050     vindex
050     help
050     quit
000 Ok.
get bc35+@andrew.cmu.edu
100 Key data follows, followed by '.' on a line by itself.
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.3a


hUUn+rg7tb+OZ3+y2Q==
=TjiK
-----END PGP PUBLIC KEY BLOCK-----
.
000 Ok.
quit
001 Goodbye.
-----------------------------------cut-here-----------------------------------

Please feel free to contact me at thoth@netcom.com
for more information about this set of programs.

__
Ben Cox
thoth@netcom.com
