[svn] GnuPG - r4159 - trunk/g10

svn author dshaw cvs at cvs.gnupg.org
Mon Jun 12 14:05:41 CEST 2006


Author: dshaw
Date: 2006-06-12 14:05:34 +0200 (Mon, 12 Jun 2006)
New Revision: 4159

Modified:
   trunk/g10/ChangeLog
   trunk/g10/import.c
Log:
* import.c (import_one): Add a flag (from_sk) so we don't check prefs
on an autoconverted public key.  The check should only happen on the
sk size.  Noted by Dirk Traulsen.


Modified: trunk/g10/ChangeLog
===================================================================
--- trunk/g10/ChangeLog	2006-06-10 04:11:05 UTC (rev 4158)
+++ trunk/g10/ChangeLog	2006-06-12 12:05:34 UTC (rev 4159)
@@ -1,3 +1,9 @@
+2006-06-12  David Shaw  <dshaw at jabberwocky.com>
+
+	* import.c (import_one): Add a flag (from_sk) so we don't check
+	prefs on an autoconverted public key.  The check should only
+	happen on the sk size.  Noted by Dirk Traulsen.
+
 2006-06-09  David Shaw  <dshaw at jabberwocky.com>
 
 	* keygen.c (gen_card_key): Add optional argument to return a

Modified: trunk/g10/import.c
===================================================================
--- trunk/g10/import.c	2006-06-10 04:11:05 UTC (rev 4158)
+++ trunk/g10/import.c	2006-06-12 12:05:34 UTC (rev 4159)
@@ -66,7 +66,7 @@
 static void revocation_present(KBNODE keyblock);
 static int import_one(const char *fname, KBNODE keyblock,struct stats_s *stats,
 		      unsigned char **fpr,size_t *fpr_len,
-		      unsigned int options);
+		      unsigned int options,int from_sk);
 static int import_secret_one( const char *fname, KBNODE keyblock,
                               struct stats_s *stats, unsigned int options);
 static int import_revoke_cert( const char *fname, KBNODE node,
@@ -256,7 +256,7 @@
 
     while( !(rc = read_block( inp, &pending_pkt, &keyblock) )) {
 	if( keyblock->pkt->pkttype == PKT_PUBLIC_KEY )
-	    rc = import_one( fname, keyblock, stats, fpr, fpr_len, options );
+	    rc = import_one( fname, keyblock, stats, fpr, fpr_len, options, 0);
 	else if( keyblock->pkt->pkttype == PKT_SECRET_KEY ) 
                 rc = import_secret_one( fname, keyblock, stats, options );
 	else if( keyblock->pkt->pkttype == PKT_SIGNATURE
@@ -677,7 +677,8 @@
  */
 static int
 import_one( const char *fname, KBNODE keyblock, struct stats_s *stats,
-	    unsigned char **fpr,size_t *fpr_len,unsigned int options )
+	    unsigned char **fpr,size_t *fpr_len,unsigned int options,
+	    int from_sk )
 {
     PKT_public_key *pk;
     PKT_public_key *pk_orig;
@@ -973,7 +974,7 @@
     if(mod_key)
       {
 	revocation_present(keyblock_orig);
-	if(seckey_available(keyid)==0)
+	if(!from_sk && seckey_available(keyid)==0)
 	  check_prefs(keyblock_orig);
       }
     else if(new_key)
@@ -997,7 +998,7 @@
 	  }
 
 	revocation_present(keyblock);
-	if(seckey_available(keyid)==0)
+	if(!from_sk && seckey_available(keyid)==0)
 	  check_prefs(keyblock);
       }
 
@@ -1169,7 +1170,7 @@
 	    if(pub_keyblock)
 	      {
 		import_one(fname,pub_keyblock,stats,
-			   NULL,NULL,opt.import_options);
+			   NULL,NULL,opt.import_options,1);
 		release_kbnode(pub_keyblock);
 	      }
 	  }




More information about the Gnupg-commits mailing list