* options.h, import.c (parse_import_options, clean_sigs_from_all_uids,
authorDavid Shaw <dshaw@jabberwocky.com>
Thu, 10 Nov 2005 21:30:27 +0000 (21:30 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Thu, 10 Nov 2005 21:30:27 +0000 (21:30 +0000)
import_one): Add import-minimal option. Similar to export-minimal, except
it works on the way in.

g10/ChangeLog
g10/export.c
g10/import.c
g10/options.h

index 76a93d7..7c7dc37 100644 (file)
@@ -1,5 +1,9 @@
 2005-11-10  David Shaw  <dshaw@jabberwocky.com>
 
+       * options.h, import.c (parse_import_options,
+       clean_sigs_from_all_uids, import_one): Add import-minimal option.
+       Similar to export-minimal, except it works on the way in.
+
        * trustdb.h, trustdb.c (clean_sigs_from_uid): Add flag to remove
        all non-selfsigs from key during cleaning.  Change all callers.
 
index a571054..4052fb7 100644 (file)
@@ -72,7 +72,7 @@ parse_export_options(char *str,unsigned int *options,int noisy)
        N_("remove unusable user IDs during export")},
       {"export-minimal",
        EXPORT_MINIMAL|EXPORT_CLEAN_SIGS|EXPORT_CLEAN_UIDS,NULL,
-       N_("export the smallest key possible")},
+       N_("remove unusable user IDs and all signatures during export")},
       {"export-reset-subkey-passwd",EXPORT_RESET_SUBKEY_PASSWD,NULL,
        N_("remove the passphrase from exported subkeys")},
       /* Aliases for backward compatibility */
index f367b03..17cc38f 100644 (file)
@@ -107,6 +107,9 @@ parse_import_options(char *str,unsigned int *options,int noisy)
        N_("remove unusable signatures after import")},
       {"import-clean-uids",IMPORT_CLEAN_UIDS,NULL,
        N_("remove unusable user IDs after import")},
+      {"import-minimal",
+       IMPORT_MINIMAL|IMPORT_CLEAN_SIGS|IMPORT_CLEAN_UIDS,NULL,
+       N_("remove unusable user IDs and all signatures after import")},
       /* Aliases for backward compatibility */
       {"allow-local-sigs",IMPORT_LOCAL_SIGS,NULL,NULL},
       {"repair-hkp-subkey-bug",IMPORT_REPAIR_PKS_SUBKEY_BUG,NULL,NULL},
@@ -667,14 +670,14 @@ check_prefs(KBNODE keyblock)
 }
 
 static int
-clean_sigs_from_all_uids(KBNODE keyblock)
+clean_sigs_from_all_uids(KBNODE keyblock,int self_only)
 {
   KBNODE uidnode;
   int deleted=0;
 
   for(uidnode=keyblock->next;uidnode;uidnode=uidnode->next)
     if(uidnode->pkt->pkttype==PKT_USER_ID)
-      deleted+=clean_sigs_from_uid(keyblock,uidnode,opt.verbose,0);
+      deleted+=clean_sigs_from_uid(keyblock,uidnode,opt.verbose,self_only);
 
   return deleted;
 }
@@ -746,7 +749,7 @@ import_one( const char *fname, KBNODE keyblock,
        the end result, but does result in less logging which might
        confuse the user. */
     if(options&IMPORT_CLEAN_SIGS)
-      clean_sigs_from_all_uids(keyblock);
+      clean_sigs_from_all_uids(keyblock,options&IMPORT_MINIMAL);
 
     if(options&IMPORT_CLEAN_UIDS)
       clean_uids_from_key(keyblock,opt.verbose);
@@ -899,7 +902,8 @@ import_one( const char *fname, KBNODE keyblock,
          }
 
        if(options&IMPORT_CLEAN_SIGS)
-         n_sigs_cleaned=clean_sigs_from_all_uids(keyblock_orig);
+         n_sigs_cleaned=clean_sigs_from_all_uids(keyblock_orig,
+                                                 options&IMPORT_MINIMAL);
 
         if(options&IMPORT_CLEAN_UIDS)
          n_uids_cleaned=clean_uids_from_key(keyblock_orig,opt.verbose);
index dd07d08..181f658 100644 (file)
@@ -265,8 +265,9 @@ struct {
 #define IMPORT_FAST                      (1<<2)
 #define IMPORT_SK2PK                     (1<<3)
 #define IMPORT_MERGE_ONLY                (1<<4)
-#define IMPORT_CLEAN_SIGS                (1<<5)
-#define IMPORT_CLEAN_UIDS                (1<<6)
+#define IMPORT_MINIMAL                   (1<<5)
+#define IMPORT_CLEAN_SIGS                (1<<6)
+#define IMPORT_CLEAN_UIDS                (1<<7)
 
 #define EXPORT_LOCAL_SIGS                (1<<0)
 #define EXPORT_ATTRIBUTES                (1<<1)