2005-12-02 [paul] 1.9.100cvs55
[claws.git] / src / plugins / pgpmime / pgpmime.c
index 801a71781b063d374792bbd7cd7b0367733fceb4..2784e53bccd4a59788aab7e384915ff4c4b3e0b2 100644 (file)
@@ -404,6 +404,10 @@ gboolean pgpmime_sign(MimeInfo *mimeinfo, PrefsAccount *account)
        gchar *test_msg;
        
        fp = my_tmpfile();
+       if (fp == NULL) {
+               perror("my_tmpfile");
+               return FALSE;
+       }
        procmime_write_mimeinfo(mimeinfo, fp);
        rewind(fp);
 
@@ -439,6 +443,10 @@ gboolean pgpmime_sign(MimeInfo *mimeinfo, PrefsAccount *account)
 
        /* write message content to temporary file */
        fp = my_tmpfile();
+       if (fp == NULL) {
+               perror("my_tmpfile");
+               return FALSE;
+       }
        procmime_write_mimeinfo(sigmultipart, fp);
        rewind(fp);
 
@@ -494,7 +502,12 @@ gboolean pgpmime_sign(MimeInfo *mimeinfo, PrefsAccount *account)
        newinfo = procmime_mimeinfo_new();
        newinfo->type = MIMETYPE_APPLICATION;
        newinfo->subtype = g_strdup("pgp-signature");
+       g_hash_table_insert(newinfo->typeparameters, g_strdup("name"),
+                            g_strdup("signature.asc"));
        newinfo->content = MIMECONTENT_MEM;
+       newinfo->disposition = DISPOSITIONTYPE_ATTACHMENT;
+       g_hash_table_insert(newinfo->dispositionparameters, g_strdup("filename"),
+                           g_strdup("signature.asc"));
        newinfo->data.mem = g_malloc(len + 1);
        g_memmove(newinfo->data.mem, sigcontent, len);
        newinfo->data.mem[len] = '\0';
@@ -561,6 +574,10 @@ gboolean pgpmime_encrypt(MimeInfo *mimeinfo, const gchar *encrypt_data)
 
        /* write message content to temporary file */
        fp = my_tmpfile();
+       if (fp == NULL) {
+               perror("my_tmpfile");
+               return FALSE;
+       }
        procmime_write_mimeinfo(encmultipart, fp);
        rewind(fp);