See ChangeLog: Thu Apr 8 09:35:53 CEST 1999 Werner Koch
authorWerner Koch <wk@gnupg.org>
Thu, 8 Apr 1999 07:41:35 +0000 (07:41 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 8 Apr 1999 07:41:35 +0000 (07:41 +0000)
ChangeLog
acinclude.m4
doc/DETAILS
g10/ChangeLog
g10/mainproc.c
g10/passphrase.c
g10/status.c
g10/status.h

index 4fb2bee..8ed66e3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Apr  8 09:35:53 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * acinclude.m4 (GNUPG_CHECK_RDYNAMIC): Fix for
+                                              amiga-openbsd (Peter Reich)
+       (GNUPG_PROG_NM): Ditto
+
 Wed Apr  7 20:51:39 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
        * Makefile.am (g10defs.h): Removed.
index 11ba6fd..2d2ab4d 100644 (file)
@@ -204,7 +204,7 @@ define(GNUPG_CHECK_RDYNAMIC,
             CFLAGS_RDYNAMIC="-Wl,-dy"
             ;;
 
-          freebsd2* | osf4* )
+          openbsd* | freebsd2* | osf4* )
             CFLAGS_RDYNAMIC=""
             ;;
           * )
@@ -404,7 +404,7 @@ case "$host_os" in
 aix*)
   ac_symcode='[BCDTU]'
   ;;
-sunos* | cygwin32* | mingw32*)
+openbsd* | sunos* | cygwin32* | mingw32*)
   ac_sympat='_\([_A-Za-z][_A-Za-z0-9]*\)'
   ac_symxfrm='_\1 \1'
   ;;
index 27a8d9d..618c2a0 100644 (file)
@@ -108,9 +108,16 @@ more arguments in future versions.
     NEED_PASSPHRASE <long keyid>
        Issued whenever a passphrase is needed.
 
+    NEED_PASSPHRASE_SYM <cipher_algo> <s2k_mode> <s2k_hash>
+       Issued whenever a passphrase for symmetric encryption is needed.
+
     BAD_PASSPHRASE <long keyid>
        The supplied passphrase was wrong
 
+    DECRYPTION_FAILED
+       The symmetric decryption failed - one reason could be a wrong
+       passphrase for a symmetrical encrypted message.
+
     NO_PUBKEY  <long keyid>
     NO_SECKEY  <long keyid>
        The key is not available
index c2885b4..217367e 100644 (file)
@@ -1,3 +1,9 @@
+Thu Apr  8 09:35:53 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
+
+       * mainproc.c (proc_encrypted): Add a new status output
+       * passphrase.c (passphrase_to_dek): Ditto.
+       * status.h status.c: Add new status tokens.
+
 Wed Apr  7 20:51:39 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
        * encr-data.c (decrypt_data): Fixes for 128 bit blocksize
index bb78f4b..45acb38 100644 (file)
@@ -245,6 +245,7 @@ proc_encrypted( CTX c, PACKET *pkt )
            log_info(_("decryption okay\n"));
     }
     else {
+       write_status( STATUS_DECRYPTION_FAILED );
        log_error(_("decryption failed: %s\n"), g10_errstr(result));
        /* FIXME: if this is secret key not available, try with
         * other keys */
index 6da5280..3cc8e00 100644 (file)
@@ -133,14 +133,20 @@ passphrase_to_dek( u32 *keyid, int cipher_algo, STRING2KEY *s2k, int mode )
                                            :DEFAULT_DIGEST_ALGO;
     }
 
-    if( keyid && !next_pw && is_status_enabled() ) {
+    if( !next_pw && is_status_enabled() ) {
        char buf[50];
-       sprintf( buf, "%08lX%08lX", (ulong)keyid[0], (ulong)keyid[1] );
-       if( keyid[2] && keyid[3] && keyid[0] != keyid[2]
-                                && keyid[1] != keyid[3] )
-           sprintf( buf+strlen(buf), " %08lX%08lX",
-                                     (ulong)keyid[2], (ulong)keyid[3] );
-       write_status_text( STATUS_NEED_PASSPHRASE, buf );
+       if( keyid ) {
+           sprintf( buf, "%08lX%08lX", (ulong)keyid[0], (ulong)keyid[1] );
+           if( keyid[2] && keyid[3] && keyid[0] != keyid[2]
+                                    && keyid[1] != keyid[3] )
+               sprintf( buf+strlen(buf), " %08lX%08lX",
+                                         (ulong)keyid[2], (ulong)keyid[3] );
+           write_status_text( STATUS_NEED_PASSPHRASE, buf );
+       }
+       else {
+           sprintf( buf, "%d %d %d", cipher_algo, s2k->mode, s2k->hash_algo );
+           write_status_text( STATUS_NEED_PASSPHRASE_SYM, buf );
+       }
     }
 
     if( keyid && !opt.batch && !next_pw ) {
index 1b6dc10..889c63b 100644 (file)
@@ -104,6 +104,8 @@ write_status_text ( int no, const char *text)
       case STATUS_BAD_PASSPHRASE : s = "BAD_PASSPHRASE\n"; break;
       case STATUS_NO_PUBKEY     : s = "NO_PUBKEY\n"; break;
       case STATUS_NO_SECKEY     : s = "NO_SECKEY\n"; break;
+      case STATUS_NEED_PASSPHRASE_SYM: s = "NEED_PASSPHRASE_SYM\n"; break;
+      case STATUS_DECRYPTION_FAILED: s = "DECRYPTION_FAILED\n"; break;
       default: s = "?\n"; break;
     }
 
index 7beb321..a4622f8 100644 (file)
@@ -55,6 +55,8 @@
 #define STATUS_BAD_PASSPHRASE  25
 #define STATUS_NO_PUBKEY       26
 #define STATUS_NO_SECKEY       27
+#define STATUS_NEED_PASSPHRASE_SYM 28
+#define STATUS_DECRYPTION_FAILED 29
 
 /*-- status.c --*/
 void set_status_fd ( int fd );