aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2012-11-21 19:36:27 +0800
committerMilan Crha <mcrha@redhat.com>2012-11-21 19:36:27 +0800
commitce64eb6ba1f35ffdd09029498a6d4eb631a9bfca (patch)
tree007e72d942293b3c7402189c42e06c99d43b9aab /mail
parent3775df17d1da447c5ba486928aad07390bda9d82 (diff)
downloadgsoc2013-evolution-ce64eb6ba1f35ffdd09029498a6d4eb631a9bfca.tar.gz
gsoc2013-evolution-ce64eb6ba1f35ffdd09029498a6d4eb631a9bfca.tar.zst
gsoc2013-evolution-ce64eb6ba1f35ffdd09029498a6d4eb631a9bfca.zip
Bug #677378 - Alert about self-signed certificates when checking auth types
Diffstat (limited to 'mail')
-rw-r--r--mail/e-mail-config-auth-check.c8
-rw-r--r--mail/e-mail-ui-session.c12
-rw-r--r--mail/e-mail-ui-session.h4
3 files changed, 16 insertions, 8 deletions
diff --git a/mail/e-mail-config-auth-check.c b/mail/e-mail-config-auth-check.c
index 9d12ab2270..8abfa6fa09 100644
--- a/mail/e-mail-config-auth-check.c
+++ b/mail/e-mail-config-auth-check.c
@@ -16,8 +16,6 @@
*
*/
-#include "e-mail-config-auth-check.h"
-
#include <config.h>
#include <glib/gi18n-lib.h>
@@ -25,6 +23,9 @@
#include <e-util/e-mktemp.h>
#include <misc/e-auth-combo-box.h>
#include <mail/e-mail-config-service-page.h>
+#include "e-mail-ui-session.h"
+
+#include "e-mail-config-auth-check.h"
#define E_MAIL_CONFIG_AUTH_CHECK_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE \
@@ -146,6 +147,9 @@ mail_config_auth_check_update (EMailConfigAuthCheck *auth_check)
"user-cache-dir", temp_dir,
NULL);
+ /* to be able to answer for invalid/self-signed server certificates */
+ CAMEL_SESSION_GET_CLASS (session)->alert_user = e_mail_ui_session_alert_user;
+
service = camel_session_add_service (
session, "fake-uid",
backend_class->backend_name,
diff --git a/mail/e-mail-ui-session.c b/mail/e-mail-ui-session.c
index 4af8907440..47eeea2eea 100644
--- a/mail/e-mail-ui-session.c
+++ b/mail/e-mail-ui-session.c
@@ -620,11 +620,11 @@ mail_ui_session_remove_service (CamelSession *session,
e_mail_account_store_remove_service (store, NULL, service);
}
-static gint
-mail_ui_session_alert_user (CamelSession *session,
- CamelSessionAlertType type,
- const gchar *prompt,
- GSList *button_captions)
+gint
+e_mail_ui_session_alert_user (CamelSession *session,
+ CamelSessionAlertType type,
+ const gchar *prompt,
+ GSList *button_captions)
{
struct _user_message_msg *m;
GCancellable *cancellable;
@@ -702,7 +702,7 @@ e_mail_ui_session_class_init (EMailUISessionClass *class)
session_class = CAMEL_SESSION_CLASS (class);
session_class->add_service = mail_ui_session_add_service;
session_class->remove_service = mail_ui_session_remove_service;
- session_class->alert_user = mail_ui_session_alert_user;
+ session_class->alert_user = e_mail_ui_session_alert_user;
session_class->get_filter_driver = mail_ui_session_get_filter_driver;
mail_session_class = E_MAIL_SESSION_CLASS (class);
diff --git a/mail/e-mail-ui-session.h b/mail/e-mail-ui-session.h
index ebab600cdb..86ba4dd3f3 100644
--- a/mail/e-mail-ui-session.h
+++ b/mail/e-mail-ui-session.h
@@ -85,6 +85,10 @@ EMailLabelListStore *
(EMailUISession *session);
void e_mail_ui_session_add_activity (EMailUISession *session,
EActivity *activity);
+gint e_mail_ui_session_alert_user (CamelSession *session,
+ CamelSessionAlertType type,
+ const gchar *prompt,
+ GSList *button_captions);
G_END_DECLS