Marked unused slots in the trustdb.
[gnupg.git] / doc / DETAILS
index 8734cc5..b9599f1 100644 (file)
@@ -45,12 +45,16 @@ record.
                d = The key has been disabled
                r = The key has been revoked
                e = The key has expired
-               q = Undefined (no value assigned)
+               - = Unknown trust (i.e. no value assigned)
+               q = Undefined trust
+                   '-' and 'q' may safely be treated as the same
+                   value for most purposes
                n = Don't trust this key at all
                m = There is marginal trust in this key
-               f = The key is full trusted.
-               u = The key is ultimately trusted; this is only used for
-                   keys for which the secret key is also available.
+               f = The key is fully trusted
+               u = The key is ultimately trusted.  This often means
+                   that the secret key is available, but any key may
+                   be marked as ultimately trusted.
  3. Field:  length of key in bits.
  4. Field:  Algorithm: 1 = RSA
                       16 = ElGamal (encrypt only)
@@ -267,8 +271,27 @@ more arguments in future versions.
     IMPORTED   <long keyid>  <username>
        The keyid and name of the signature just imported
 
+    IMPORT_OK  <reason> [<fingerprint>]
+        The key with the primary key's FINGERPRINT has been imported.
+        Reason flags:
+          0 := Not actually changed
+          1 := Entirely new key.
+          2 := New user IDs
+          4 := New signatures
+          8 := New subkeys 
+         16 := Contains private key.
+        The flags may be ORed.
+
+    IMPORT_PROBLEM <reason> [<fingerprint>]
+        Issued for each import failure.  Reason codes are:
+          0 := "No specific reason given".
+          1 := "Invalid Certificate".
+          2 := "Issuer Certificate missing".
+          3 := "Certificate Chain too long".
+          4 := "Error storing certificate".
+
     IMPORT_RES <count> <no_user_id> <imported> <imported_rsa> <unchanged>
-       <n_uids> <n_subk> <n_sigs> <n_revoc> <sec_read> <sec_imported> <sec_dups>
+       <n_uids> <n_subk> <n_sigs> <n_revoc> <sec_read> <sec_imported> <sec_dups> <not_imported>
        Final statistics on import process (this is one long line)
 
     FILE_START <what> <filename>
@@ -313,11 +336,13 @@ more arguments in future versions.
                   (only the first character should be checked)
            class: 2 hex digits with the signature class
         
-    KEY_CREATED <type>
+    KEY_CREATED <type> <fingerprint>
         A key has been created
             type: 'B' = primary and subkey
                   'P' = primary
                   'S' = subkey
+        The fingerprint is one of the primary key for type B and P and
+        the one of the subkey for S.
 
     SESSION_KEY  <algo>:<hexdigits>
        The session key used to decrypt the message.  This message will
@@ -346,6 +371,17 @@ more arguments in future versions.
           0 := "No specific reason given".
           1 := "Not Found"
           2 := "Ambigious specification"
+          3 := "Wrong key usage"
+          4 := "Key revoked"
+          5 := "Key expired"
+          6 := "No CRL known"
+          7 := "CRL too old"
+          8 := "Policy mismatch"
+          9 := "Not a secret key"
+        10 := "Key not trusted"
+
+        Note that this status is also used for gpgsm's SIGNER command
+        where it relates to signer's of course.
 
     NO_RECP <reserved>
         Issued when no recipients are usable.
@@ -515,10 +551,10 @@ $ cat >foo <<EOF
      %commit
      %echo done
 EOF
-$ gpg --batch --gen-key -a foo
+$ gpg --batch --gen-key foo
  [...]
-$ gpg --no-default-keyring --secret-keyring foo.sec \
-                                 --keyring foo.pub --list-secret-keys
+$ gpg --no-default-keyring --secret-keyring ./foo.sec \
+                                 --keyring ./foo.pub --list-secret-keys
 /home/wk/work/gnupg-stable/scratch/foo.sec
 ------------------------------------------
 sec  1024D/915A878D 2000-03-09 Joe Tester (with stupid passphrase) <joe@foo.bar>
@@ -551,17 +587,17 @@ FIXME:  The layout changed, document it here.
      1 byte max_cert_depth
            The three items are used to check whether the cached
            validity value from the dir record can be used.
-     1 u32  locked flags
+     1 u32  locked flags [not used]
      1 u32  timestamp of trustdb creation
      1 u32  timestamp of last modification which may affect the validity
            of keys in the trustdb.  This value is checked against the
            validity timestamp in the dir records.
-     1 u32  timestamp of last validation
+     1 u32  timestamp of last validation [currently not used]
            (Used to keep track of the time, when this TrustDB was checked
             against the pubring)
-     1 u32  record number of keyhashtable
+     1 u32  record number of keyhashtable [currently not used]
      1 u32  first free record
-     1 u32  record number of shadow directory hash table
+     1 u32  record number of shadow directory hash table [currently not used]
            It does not make sense to combine this table with the key table
            because the keyid is not in every case a part of the fingerprint.
      1 u32  record number of the trusthashtbale