release 0.2.3
[gnupg.git] / g10 / seckey-cert.c
index 7f76b31..855e3d1 100644 (file)
@@ -60,7 +60,7 @@ static int
 check_elg( PKT_secret_cert *cert )
 {
     byte *buffer;
-    u16 n, csum=0;
+    u16 csum=0;
     int res;
     unsigned nbytes;
     u32 keyid[2];
@@ -73,7 +73,7 @@ check_elg( PKT_secret_cert *cert )
        BLOWFISH_context *blowfish_ctx=NULL;
 
        switch( cert->d.elg.protect_algo ) {
-         case CIPHER_ALGO_NONE: log_bug(NULL); break;
+         case CIPHER_ALGO_NONE: BUG(); break;
          case CIPHER_ALGO_BLOWFISH:
            keyid_from_skc( cert, keyid );
            dek = get_passphrase_hash( keyid, NULL );
@@ -85,6 +85,9 @@ check_elg( PKT_secret_cert *cert )
            blowfish_decode_cfb( blowfish_ctx,
                                 cert->d.elg.protect.blowfish.iv,
                                 cert->d.elg.protect.blowfish.iv, 8 );
+           mpi_set_secure(cert->d.elg.x );
+           /*fixme: maybe it is better to set the buger secure with a
+            * new get_buffer_secure() function */
            buffer = mpi_get_buffer( cert->d.elg.x, &nbytes, NULL );
            csum = checksum_u16( nbytes*8 );
            blowfish_decode_cfb( blowfish_ctx, buffer, buffer, nbytes );
@@ -142,7 +145,7 @@ protect_elg( PKT_secret_cert *cert, DEK *dek )
        BLOWFISH_context *blowfish_ctx=NULL;
 
        switch( cert->d.elg.protect_algo ) {
-         case CIPHER_ALGO_NONE: log_bug(NULL); break;
+         case CIPHER_ALGO_NONE: BUG(); break;
          case CIPHER_ALGO_BLOWFISH:
            blowfish_ctx = m_alloc_secure( sizeof *blowfish_ctx );
            blowfish_setkey( blowfish_ctx, dek->key, dek->keylen );
@@ -171,7 +174,7 @@ static int
 check_rsa( PKT_secret_cert *cert )
 {
     byte *buffer;
-    u16 n, csum=0;
+    u16 csum=0;
     int res;
     unsigned nbytes;
     u32 keyid[2];
@@ -183,7 +186,7 @@ check_rsa( PKT_secret_cert *cert )
 
        switch( cert->d.rsa.protect_algo ) {
            /* FIXME: use test variables to check for the correct key */
-         case CIPHER_ALGO_NONE: log_bug(NULL); break;
+         case CIPHER_ALGO_NONE: BUG(); break;
          case CIPHER_ALGO_BLOWFISH:
            keyid_from_skc( cert, keyid );
            dek = get_passphrase_hash( keyid, NULL );
@@ -196,6 +199,7 @@ check_rsa( PKT_secret_cert *cert )
                                 cert->d.rsa.protect.blowfish.iv, 8 );
            csum = 0;
            #define X(a) do { \
+               mpi_set_secure(cert->d.rsa.rsa_##a); \
                buffer = mpi_get_buffer( cert->d.rsa.rsa_##a, &nbytes, NULL );\
                csum += checksum_u16( nbytes*8 );                            \
                blowfish_decode_cfb( blowfish_ctx, buffer, buffer, nbytes ); \
@@ -313,7 +317,7 @@ protect_secret_key( PKT_secret_cert *cert, DEK *dek )
 
     if( cert->pubkey_algo == PUBKEY_ALGO_ELGAMAL )
        return protect_elg( cert, dek );
-  #ifdef 0 /* noy yet implemented */
+  #if 0 /* noy yet implemented */
     else if( cert->pubkey_algo == PUBKEY_ALGO_RSA )
        return protect_rsa( cert, dek );
   #endif