+2004-11-17 [colin] 0.9.12cvs156.1
+
+ * src/prefs_account.c
+ * src/prefs_account.h
+ * src/procmsg.c
+ Sync with HEAD (add pref to store encrypted mails encrypted)
+
2004-11-17 [paul] 0.9.12cvs155.1
* ChangeLog
( cvs diff -u -r 1.1.2.9 -r 1.1.2.10 src/plugins/pgpmime/pgpmime.c; ) > 0.9.12cvs150.1.patchset
( cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/plugins/pgpmime/pgpmime.c; ) > 0.9.12cvs151.1.patchset
( cvs diff -u -r 1.396.2.12 -r 1.396.2.13 ChangeLog; cvs diff -u -r 1.2504.2.32 -r 1.2504.2.33 ChangeLog.claws; cvs diff -u -r 1.391.2.12 -r 1.391.2.13 ChangeLog.jp; cvs diff -u -r 1.42.2.4 -r 1.42.2.5 NEWS; cvs diff -u -r 1.654.2.278 -r 1.654.2.279 configure.ac; cvs diff -u -r 1.382.2.67 -r 1.382.2.68 src/compose.c; cvs diff -u -r 1.18.2.4 -r 1.18.2.5 src/jpilot.c; cvs diff -u -r 1.10.2.2 -r 1.10.2.3 src/privacy.c; cvs diff -u -r 1.49.2.21 -r 1.49.2.22 src/procmime.c; cvs diff -u -r 1.17.2.7 -r 1.17.2.8 src/procmime.h; cvs diff -u -r 1.150.2.15 -r 1.150.2.16 src/procmsg.c; cvs diff -u -r 1.43.2.11 -r 1.43.2.12 src/toolbar.c; cvs diff -u -r 1.1 -r 1.2 src/pixmaps/error.xpm; ) > 0.9.12cvs155.1.patchset
+( cvs diff -u -r 1.105.2.12 -r 1.105.2.13 src/prefs_account.c; cvs diff -u -r 1.49.2.7 -r 1.49.2.8 src/prefs_account.h; cvs diff -u -r 1.150.2.16 -r 1.150.2.17 src/procmsg.c; ) > 0.9.12cvs156.1.patchset
MICRO_VERSION=12
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=155
+EXTRA_VERSION=156
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=.1
GtkWidget *default_privacy_system;
GtkWidget *default_encrypt_chkbtn;
GtkWidget *default_sign_chkbtn;
+ GtkWidget *save_clear_text_chkbtn;
} privacy;
#if USE_OPENSSL
{"default_sign", "FALSE", &tmp_ac_prefs.default_sign, P_BOOL,
&privacy.default_sign_chkbtn,
prefs_set_data_from_toggle, prefs_set_toggle},
+ {"save_clear_text", "FALSE", &tmp_ac_prefs.save_encrypted_as_clear_text, P_BOOL,
+ &privacy.save_clear_text_chkbtn,
+ prefs_set_data_from_toggle, prefs_set_toggle},
#if USE_OPENSSL
/* SSL */
GtkWidget *default_privacy_system;
GtkWidget *default_encrypt_chkbtn;
GtkWidget *default_sign_chkbtn;
+ GtkWidget *save_clear_text_chkbtn;
vbox1 = gtk_vbox_new (FALSE, VSPACING);
gtk_widget_show (vbox1);
_("Encrypt message by default"));
PACK_CHECK_BUTTON (vbox2, default_sign_chkbtn,
_("Sign message by default"));
-
+ PACK_CHECK_BUTTON (vbox2, save_clear_text_chkbtn,
+ _("Save sent encrypted messages as clear text"));
+
privacy.default_privacy_system = default_privacy_system;
privacy.default_encrypt_chkbtn = default_encrypt_chkbtn;
privacy.default_sign_chkbtn = default_sign_chkbtn;
+ privacy.save_clear_text_chkbtn = save_clear_text_chkbtn;
}
#if USE_OPENSSL
gchar *default_privacy_system;
gboolean default_encrypt;
gboolean default_sign;
+ gboolean save_encrypted_as_clear_text;
/* Advanced */
gboolean set_smtpport;
gchar buf[BUFFSIZE];
gint hnum;
PrefsAccount *mailac = NULL, *newsac = NULL;
+ gboolean save_clear_text = TRUE;
+ gchar *tmp_enc_file = NULL;
+
int local = 0;
g_return_val_if_fail(file != NULL, -1);
if (encrypt) {
MimeInfo *mimeinfo;
+ save_clear_text = (mailac != NULL && mailac->save_encrypted_as_clear_text);
+
fclose(fp);
-
+ fp = NULL;
+
mimeinfo = procmime_scan_queue_file(file);
if (!privacy_encrypt(privacy_system, mimeinfo, encrypt_data)
|| (fp = my_tmpfile()) == NULL
g_free(encrypt_data);
return -1;
}
-
- procmime_mimeinfo_free_all(mimeinfo);
+
rewind(fp);
+ if (!save_clear_text) {
+ gchar *content = NULL;
+ FILE *tmpfp = get_tmpfile_in_dir(get_mime_tmp_dir(), &tmp_enc_file);
+ if (tmpfp) {
+ fclose(tmpfp);
+
+ content = file_read_stream_to_str(fp);
+ rewind(fp);
+
+ get_tmpfile_in_dir(get_mime_tmp_dir(), &tmp_enc_file);
+ str_write_to_file(content, tmp_enc_file);
+ g_free(content);
+ } else {
+ g_warning("couldn't get tempfile\n");
+ }
+ }
+
+ procmime_mimeinfo_free_all(mimeinfo);
+
filepos = 0;
}
outbox = folder_find_item_from_identifier(savecopyfolder);
if (!outbox)
outbox = folder_get_default_outbox();
-
- procmsg_save_to_outbox(outbox, file, TRUE);
+
+ if (save_clear_text || tmp_enc_file == NULL) {
+ procmsg_save_to_outbox(outbox, file, TRUE);
+ } else {
+ procmsg_save_to_outbox(outbox, tmp_enc_file, FALSE);
+ unlink(tmp_enc_file);
+ free(tmp_enc_file);
+ }
}
if (replymessageid != NULL || fwdmessageid != NULL) {