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

mQCNAiyGvQcAAAEEAM6X/jLxtkkfg8qjvdP/GbhEe6PfmYW9Wj2qCw2j7DHc+xJD
Kp3Tl61Lw6yXh5e62tTbXhFdWhHjIRfgugBTPi2Nr4YlchhlQrSJHPHuDBm4xY6p
XJhZR+WUCPPM6VQiRdBFHO6Epg0hrZNTuProoCjcpB9bMuOg+K5WMo4MTPyPAAUR
tCNCZW5qYW1pbiBDb3ggPGJjMzUrQGFuZHJldy5jbXUuZWR1PokAlQIFECy7hjys
HXbqpJCt5QEB0tkEAKM01l/qQhyGusGkph8r4hOFQp+mUlPOMv6SXrk5K53o7gHY
kMiWzrZA8EgtB8CISgnRThX9xiCbqMTN/vQJXD9P4aYCKIliHxXlT3Box2B7sbot
HpKIZQbl69PKdIGcG3His0QR6G4lRnXKScPIU8iuqYoQPAcd03Nl4fo0EKsmiQCV
AgUQLJns565WMo4MTPyPAQGmhgP/ajJCuMdvqra3AOdbFU7bbcJe6m/06t2O+sZs
tlH1L9mgrdN3dJLAt3x1Yqyx1EJZ1LRUQBxIZdYARRalblPPRgx963oi2YLneEbf
ZIz6oBXkLu5vq4+rnA25Bjn6lEDrky49uhiucsClNNkQx5ZCtNH/oK/fKLFQaBJu
npmfLfKJAJUCBRAsh6dVAv8OKEHVt/kBATQvA/9lszo3GHTioRT7t88nuaXqRJLi
H5egY7kn1XitCSVVKNjIJCfqsedZ026UdqVSIV3TlwXItrftTJnKd+TxexgOP4Yk
EsIZgShlOFaRql1DQnHpJfBtTzswRdcYOIa7LuQqGtDVQhIFO0LVDUjOzxlZgA1V
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
