Do not sent a message if the backend did not sent any data. gpgol-0.10.14
authorWerner Koch <wk@gnupg.org>
Wed, 28 May 2008 08:10:17 +0000 (08:10 +0000)
committerWerner Koch <wk@gnupg.org>
Wed, 28 May 2008 08:10:17 +0000 (08:10 +0000)
Typo fixes.

NEWS
configure.ac
po/de.po
po/sv.po
src/ChangeLog
src/mapihelp.cpp
src/mimemaker.c
src/mimeparser.c

diff --git a/NEWS b/NEWS
index 4bdac22..698b5f2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+Noteworthy changes for version 0.10.14 (2008-05-28)
+===================================================
+
+ * Minor fixes.
+
+
 Noteworthy changes for version 0.10.13 (2008-05-06)
 ===================================================
 
index a049753..808fc4b 100644 (file)
@@ -16,7 +16,7 @@ min_automake_version="1.9.4"
 # Remember to change the version number immediately *after* a release.
 # Set my_issvn to "yes" for non-released code.  Remember to run an
 # "svn up" and "autogen.sh" right before creating a distribution.
-m4_define([my_version], [0.10.13])
+m4_define([my_version], [0.10.14])
 m4_define([my_issvn], [no])
 
 m4_define([svn_revision], m4_esyscmd([echo -n $( (svn info 2>/dev/null \
index b73cac9..09cde40 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GpgOL 0.10.0\n"
 "Report-Msgid-Bugs-To: bug-gpgol@g10code.com\n"
-"POT-Creation-Date: 2008-04-16 19:43+0200\n"
+"POT-Creation-Date: 2008-05-06 10:41+0200\n"
 "PO-Revision-Date: 2008-04-16 19:44+0200\n"
 "Last-Translator: Werner Koch <wk@gnupg.org>\n"
 "Language-Team: de\n"
@@ -362,7 +362,7 @@ msgstr ""
 "[Aufgrund eines Verarbeitungsfehlers in GpgOL ist der Inhalt dieser "
 "Nachricht nicht sichtbar.]"
 
-#: src/message-events.cpp:244
+#: src/message-events.cpp:249
 msgid ""
 "Sorry, we can only encrypt plain text messages and\n"
 "no RTF messages. Please make sure that only the text\n"
@@ -447,11 +447,11 @@ msgstr "Verschl├╝sselungsfehler (%s)"
 msgid "Signing failed (%s)"
 msgstr "Unterschrifterstellungsfehler (%s)"
 
-#: src/mimeparser.c:1115
+#: src/mimeparser.c:1124
 msgid "Error writing to stream"
 msgstr "Dateischreibfehler"
 
-#: src/mimeparser.c:1116
+#: src/mimeparser.c:1125
 msgid "I/O-Error"
 msgstr "Ein-/Ausgabefehler"
 
index 533eebc..59ed6dc 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GPGol\n"
 "Report-Msgid-Bugs-To: bug-gpgol@g10code.com\n"
-"POT-Creation-Date: 2008-04-16 19:43+0200\n"
+"POT-Creation-Date: 2008-05-06 10:41+0200\n"
 "PO-Revision-Date: 2006-12-12 23:52+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -347,7 +347,7 @@ msgid ""
 msgstr ""
 
 # A bit unclear in the original text
-#: src/message-events.cpp:244
+#: src/message-events.cpp:249
 msgid ""
 "Sorry, we can only encrypt plain text messages and\n"
 "no RTF messages. Please make sure that only the text\n"
@@ -418,12 +418,12 @@ msgstr "Kryptering misslyckades"
 msgid "Signing failed (%s)"
 msgstr "Signering misslyckades"
 
-#: src/mimeparser.c:1115
+#: src/mimeparser.c:1124
 #, fuzzy
 msgid "Error writing to stream"
 msgstr "Fel vid skrivning av fil"
 
-#: src/mimeparser.c:1116
+#: src/mimeparser.c:1125
 msgid "I/O-Error"
 msgstr "In-/Ut-fel"
 
index ee77869..f41cb46 100644 (file)
@@ -1,3 +1,14 @@
+2008-05-23  Werner Koch  <wk@g10code.com>
+
+       * mimemaker.c (struct sink_s): Add field ENC_COUNTER.
+       (write_buffer_for_cb): Update that.
+       (mime_encrypt): Bail out if no data has been encrypted.
+       (mime_sign_encrypt): Ditto.
+
+2008-05-07  Werner Koch  <wk@g10code.com>
+
+       * mimeparser.c (t2body): Fix last change.
+
 2008-05-02  Werner Koch  <wk@g10code.com>
 
        * mimeparser.c (t2body): Detect non-inline text parts.
index fa7b0b2..70aa078 100644 (file)
@@ -560,7 +560,7 @@ get_msgcls_from_pgp_lines (LPMESSAGE message)
       class after accessing them.  Thus in old stores there may be a
       lot of *.CexEnc message which are actually just signed.
  
-   2. Is the smime-typeparameter is missing we need another way to
+   2. If the smime-type parameter is missing we need another way to
       decide whether to decrypt or to verify.
  */
 static int
index 7252979..9dc2699 100644 (file)
@@ -63,6 +63,7 @@ struct sink_s
   void *cb_data;
   sink_t extrasink;
   int (*writefnc)(sink_t sink, const void *data, size_t datalen);
+  unsigned long enc_counter; /* Used by write_buffer_for_cb.  */
 /*   struct { */
 /*     int idx; */
 /*     unsigned char inbuf[4]; */
@@ -237,7 +238,7 @@ write_buffer (sink_t sink, const void *data, size_t datalen)
 {
   if (!sink || !sink->writefnc)
     {
-      log_error ("%s:%s: sink not properliy setup", SRCNAME, __func__);
+      log_error ("%s:%s: sink not properly setup", SRCNAME, __func__);
       return -1;
     }
   return sink->writefnc (sink, data, datalen);
@@ -250,6 +251,7 @@ static int
 write_buffer_for_cb (void *opaque, const void *data, size_t datalen)
 {
   sink_t sink = opaque;
+  sink->enc_counter += datalen;
   return write_buffer (sink, data, datalen) ? -1 : datalen;
 }
 
@@ -1565,8 +1567,8 @@ mime_encrypt (LPMESSAGE message, HWND hwnd,
     return -1;
 
   /* Prepare the encryption.  We do this early as it is quite common
-     that some recipients are not be available and thus the encryption
-     will fail early. */
+     that some recipient keys are not available and thus the
+     encryption will fail early. */
   if (engine_create_filter (&filter, write_buffer_for_cb, sink))
     goto failure;
   if (engine_encrypt_prepare (filter, hwnd, protocol, recipients, &protocol))
@@ -1639,7 +1641,13 @@ mime_encrypt (LPMESSAGE message, HWND hwnd,
     goto failure;
   filter = NULL; /* Not valid anymore.  */
   encsink->cb_data = NULL; /* Not needed anymore.  */
-  
+
+    if (!sink->enc_counter)
+    {
+      log_debug ("%s:%s: nothing received from engine", SRCNAME, __func__);
+      goto failure;
+    }
+
   /* Write the final boundary (for OpenPGP) and finish the attachment.  */
   if (*boundary && (rc = write_boundary (sink, boundary, 1)))
     goto failure;
@@ -1799,6 +1807,12 @@ mime_sign_encrypt (LPMESSAGE message, HWND hwnd,
     goto failure;
   filter = NULL; /* Not valid anymore.  */
   encsink->cb_data = NULL; /* Not needed anymore.  */
+
+  if (!sink->enc_counter)
+    {
+      log_debug ("%s:%s: nothing received from engine", SRCNAME, __func__);
+      goto failure;
+    }
   
   /* Write the final boundary (for OpenPGP) and finish the attachment.  */
   if (*boundary && (rc = write_boundary (sink, boundary, 1)))
index 79b83b6..5bd2372 100644 (file)
@@ -733,7 +733,7 @@ t2body (mime_context_t ctx, rfc822parse_t msg)
       if (s)
         filename = xstrdup (s);
       s = rfc822parse_query_parameter (field, NULL, 1);
-      if (s && !strcmp (s, "inline"))
+      if (s && strcmp (s, "inline"))
         not_inline_text = 1;
       rfc822parse_release_field (field);
     }