2002-08-16 Timo Schulz <ts@winpt.org>
authorTimo Schulz <twoaday@freakmail.de>
Sun, 18 Aug 2002 17:24:21 +0000 (17:24 +0000)
committerTimo Schulz <twoaday@freakmail.de>
Sun, 18 Aug 2002 17:24:21 +0000 (17:24 +0000)
        * g10.c (main): enable opt.interactive.

        * import.c (import_one): Ask the user if the key shall be
        imported when the interactive mode is used. Useful to extract
        selected keys from a file.

g10/ChangeLog
g10/g10.c
g10/import.c

index 34dbb2c..1857317 100644 (file)
@@ -1,3 +1,11 @@
+2002-08-16  Timo Schulz  <ts@winpt.org>
+
+       * g10.c (main): enable opt.interactive.
+
+       * import.c (import_one): Ask the user if the key shall be
+       imported when the interactive mode is used. Useful to extract
+       selected keys from a file.
+       
 2002-08-16  Werner Koch  <wk@gnupg.org>
 
        * seckey-cert.c: Workaround to allow decryption of v3 keys created
index 70c609c..ca8d8ef 100644 (file)
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -403,7 +403,7 @@ static ARGPARSE_OPTS opts[] = {
     { oDisableMDC, "disable-mdc", 0, N_("never use a MDC for encryption") },
     { oNoDisableMDC, "no-disable-mdc", 0, "@" },
     { oDryRun, "dry-run",   0, N_("do not make any changes") },
-  /*{ oInteractive, "interactive", 0, N_("prompt before overwriting") }, */
+    { oInteractive, "interactive", 0, N_("prompt before overwriting") },
     { oUseAgent, "use-agent",0, N_("use the gpg-agent")},
     { oNoUseAgent, "no-use-agent",0, "@"},
     { oGpgAgentInfo, "gpg-agent-info",2, "@"},
index bc4be7a..ec9ada6 100644 (file)
@@ -641,6 +641,23 @@ import_one( const char *fname, KBNODE keyblock, int fast,
        log_error( _("key %08lX: no user ID\n"), (ulong)keyid[1]);
        return 0;
     }
+    
+    if( opt.interactive ) {
+        char *prompt, *p;
+        size_t n = 0;
+        
+        p = get_user_id( pk->keyid, &n );
+        prompt = m_alloc( n + 16 + 128 + 1 );
+        snprintf( prompt, n + 16 + 128,
+                  "Do you want to import %08lX \"%s\" ? (y/n) ",
+                  (ulong)keyid[1], p );
+        m_free( p );
+        if( !cpr_get_answer_is_yes( "import.okay", prompt ) ) {
+            m_free( prompt );
+            return 0;
+        }
+        m_free( prompt );
+    }
 
     clear_kbnode_flags( keyblock );