[evolution/gnome-3-16] Bug 724227 - Do not mix PGP and S/MIME security on message reply
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/gnome-3-16] Bug 724227 - Do not mix PGP and S/MIME security on message reply
- Date: Thu, 2 Apr 2015 09:53:40 +0000 (UTC)
commit 0a53c47c33453555869af6b061833ab89d8d5278
Author: Milan Crha <mcrha redhat com>
Date: Thu Apr 2 11:53:15 2015 +0200
Bug 724227 - Do not mix PGP and S/MIME security on message reply
composer/e-msg-composer.c | 30 ++++++++++++++++++++----------
mail/em-composer-utils.c | 38 ++++++++++++++++++++++++++------------
2 files changed, 46 insertions(+), 22 deletions(-)
---
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 54feb53..2768315 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -2926,12 +2926,17 @@ handle_multipart_signed (EMsgComposer *composer,
content_type = camel_data_wrapper_get_mime_type_field (content);
protocol = camel_content_type_param (content_type, "protocol");
- if (protocol == NULL)
+ if (protocol == NULL) {
action = NULL;
- else if (g_ascii_strcasecmp (protocol, "application/pgp-signature") == 0)
- action = GTK_TOGGLE_ACTION (ACTION (PGP_SIGN));
- else if (g_ascii_strcasecmp (protocol, "application/x-pkcs7-signature") == 0)
- action = GTK_TOGGLE_ACTION (ACTION (SMIME_SIGN));
+ } else if (g_ascii_strcasecmp (protocol, "application/pgp-signature") == 0) {
+ if (!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (ACTION (SMIME_SIGN))) &&
+ !gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (ACTION (SMIME_ENCRYPT))))
+ action = GTK_TOGGLE_ACTION (ACTION (PGP_SIGN));
+ } else if (g_ascii_strcasecmp (protocol, "application/x-pkcs7-signature") == 0) {
+ if (!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (ACTION (PGP_SIGN))) &&
+ !gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (ACTION (PGP_ENCRYPT))))
+ action = GTK_TOGGLE_ACTION (ACTION (SMIME_SIGN));
+ }
if (action)
gtk_toggle_action_set_active (action, TRUE);
@@ -3010,12 +3015,17 @@ handle_multipart_encrypted (EMsgComposer *composer,
content_type = camel_mime_part_get_content_type (multipart);
protocol = camel_content_type_param (content_type, "protocol");
- if (protocol && g_ascii_strcasecmp (protocol, "application/pgp-encrypted") == 0)
- action = GTK_TOGGLE_ACTION (ACTION (PGP_ENCRYPT));
- else if (content_type && (
+ if (protocol && g_ascii_strcasecmp (protocol, "application/pgp-encrypted") == 0) {
+ if (!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (ACTION (SMIME_SIGN))) &&
+ !gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (ACTION (SMIME_ENCRYPT))))
+ action = GTK_TOGGLE_ACTION (ACTION (PGP_ENCRYPT));
+ } else if (content_type && (
camel_content_type_is (content_type, "application", "x-pkcs7-mime")
- || camel_content_type_is (content_type, "application", "pkcs7-mime")))
- action = GTK_TOGGLE_ACTION (ACTION (SMIME_ENCRYPT));
+ || camel_content_type_is (content_type, "application", "pkcs7-mime"))) {
+ if (!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (ACTION (PGP_SIGN))) &&
+ !gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (ACTION (PGP_ENCRYPT))))
+ action = GTK_TOGGLE_ACTION (ACTION (SMIME_ENCRYPT));
+ }
if (action)
gtk_toggle_action_set_active (action, TRUE);
diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c
index 8e5212b..a4deb18 100644
--- a/mail/em-composer-utils.c
+++ b/mail/em-composer-utils.c
@@ -1702,23 +1702,37 @@ emu_update_composers_security (EMsgComposer *composer,
/* Pre-set only for encrypted messages, not for signed */
if (sign_by_default) {
- if (validity_found & E_MAIL_PART_VALIDITY_SMIME)
- action = E_COMPOSER_ACTION_SMIME_SIGN (composer);
- else
- action = E_COMPOSER_ACTION_PGP_SIGN (composer);
+ action = NULL;
+
+ if (validity_found & E_MAIL_PART_VALIDITY_SMIME) {
+ if (!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (E_COMPOSER_ACTION_PGP_SIGN
(composer))) &&
+ !gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (E_COMPOSER_ACTION_PGP_ENCRYPT
(composer))))
+ action = E_COMPOSER_ACTION_SMIME_SIGN (composer);
+ } else {
+ if (!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (E_COMPOSER_ACTION_SMIME_SIGN
(composer))) &&
+ !gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (E_COMPOSER_ACTION_SMIME_ENCRYPT
(composer))))
+ action = E_COMPOSER_ACTION_PGP_SIGN (composer);
+ }
- gtk_toggle_action_set_active (
- GTK_TOGGLE_ACTION (action), TRUE);
+ if (action)
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
}
if (validity_found & E_MAIL_PART_VALIDITY_ENCRYPTED) {
- if (validity_found & E_MAIL_PART_VALIDITY_SMIME)
- action = E_COMPOSER_ACTION_SMIME_ENCRYPT (composer);
- else
- action = E_COMPOSER_ACTION_PGP_ENCRYPT (composer);
+ action = NULL;
+
+ if (validity_found & E_MAIL_PART_VALIDITY_SMIME) {
+ if (!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (E_COMPOSER_ACTION_PGP_SIGN
(composer))) &&
+ !gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (E_COMPOSER_ACTION_PGP_ENCRYPT
(composer))))
+ action = E_COMPOSER_ACTION_SMIME_ENCRYPT (composer);
+ } else {
+ if (!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (E_COMPOSER_ACTION_SMIME_SIGN
(composer))) &&
+ !gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (E_COMPOSER_ACTION_SMIME_ENCRYPT
(composer))))
+ action = E_COMPOSER_ACTION_PGP_ENCRYPT (composer);
+ }
- gtk_toggle_action_set_active (
- GTK_TOGGLE_ACTION (action), TRUE);
+ if (action)
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]