Add missing SSL settings copy when cloning accounts.
[claws.git] / src / account.c
index 285257bc5110c849ce8a0fb6bb54567079cf3ae7..a8d8375f6e5b9284c1fd38ca740d612cefdf4043 100644 (file)
@@ -55,7 +55,7 @@
 #include "prefs_actions.h"
 #include "hooks.h"
 #include "passwordstore.h"
-#include "claws_io.h"
+#include "file-utils.h"
 
 enum {
        ACCOUNT_IS_DEFAULT,
@@ -295,8 +295,8 @@ PrefsAccount *account_find_from_smtp_server(const gchar *address,
 
        for (cur = account_list; cur != NULL; cur = cur->next) {
                ac = (PrefsAccount *)cur->data;
-               if (!strcmp2(address, ac->address) &&
-                   !strcmp2(smtp_server, ac->smtp_server))
+               if (!g_strcmp0(address, ac->address) &&
+                   !g_strcmp0(smtp_server, ac->smtp_server))
                        return ac;
        }
 
@@ -485,7 +485,7 @@ void account_open(PrefsAccount *ac_prefs, gboolean called_from_acc_list)
                if (!prev_default && ac_prefs->is_default)
                        account_set_as_default(ac_prefs);
 
-               if (ac_prefs->folder && strcmp2(ac_name, ac_prefs->account_name) != 0) {
+               if (ac_prefs->folder && g_strcmp0(ac_name, ac_prefs->account_name) != 0) {
                        old_prefix = folder_get_identifier(FOLDER(ac_prefs->folder));
                        folder_set_name(FOLDER(ac_prefs->folder),
                                        ac_prefs->account_name);
@@ -944,7 +944,13 @@ static void account_clone(GtkWidget *widget, gpointer data)
        ACP_FASSIGN(ssl_imap);
        ACP_FASSIGN(ssl_nntp);
        ACP_FASSIGN(ssl_smtp);
+       ACP_FASSIGN(ssl_certs_auto_accept);
        ACP_FASSIGN(use_nonblocking_ssl);
+       ACP_FASSIGN(use_tls_sni);
+       ACP_FASSIGN(in_ssl_client_cert_file);
+       ACP_FASSIGN(in_ssl_client_cert_pass);
+       ACP_FASSIGN(out_ssl_client_cert_file);
+       ACP_FASSIGN(out_ssl_client_cert_pass);
        
        /* receive */
        ACP_FASSIGN(use_apop_auth);
@@ -1931,50 +1937,50 @@ gboolean password_get(const gchar *user,
        return FALSE;
 }
 
-static GSList *account_signatures_list = NULL;
+static GSList *account_sigsep_list = NULL;
 
 /* create a list of unique signatures from accounts list */
-void account_signatures_matchlist_create(void)
+void account_sigsep_matchlist_create(void)
 {
        GList *cur_ac = NULL;
        PrefsAccount *ac_prefs = NULL;
 
-       if (account_signatures_list)
+       if (account_sigsep_list)
                return;
 
-       account_signatures_list = g_slist_prepend(account_signatures_list, g_strdup("-- "));
+       account_sigsep_list = g_slist_prepend(account_sigsep_list, g_strdup("-- "));
        for (cur_ac = account_get_list();
                 cur_ac != NULL;
                 cur_ac = g_list_next(cur_ac)) {
                ac_prefs = (PrefsAccount *)cur_ac->data;
 
                if (ac_prefs->sig_sep && *ac_prefs->sig_sep != '\0') {
-                       if (!g_slist_find_custom(account_signatures_list, ac_prefs->sig_sep,
-                                       (GCompareFunc)strcmp2)) {
-                               account_signatures_list = g_slist_prepend(account_signatures_list,
+                       if (!g_slist_find_custom(account_sigsep_list, ac_prefs->sig_sep,
+                                       (GCompareFunc)g_strcmp0)) {
+                               account_sigsep_list = g_slist_prepend(account_sigsep_list,
                                                g_strdup(ac_prefs->sig_sep));
                        }
                }
        }
 }
 
-/* delete the list of signatures created by account_signatures_matchlist_create() */
-void account_signatures_matchlist_delete(void)
+/* delete the list of signatures created by account_sigsep_matchlist_create() */
+void account_sigsep_matchlist_delete(void)
 {
-       if (account_signatures_list) {
-               slist_free_strings_full(account_signatures_list);
-               account_signatures_list = NULL;
+       if (account_sigsep_list) {
+               slist_free_strings_full(account_sigsep_list);
+               account_sigsep_list = NULL;
        }
 }
 
 /* match a string against all signatures in list, using the specified format */
-gboolean account_signatures_matchlist_str_found(const gchar *str, const gchar *format)
+gboolean account_sigsep_matchlist_str_found(const gchar *str, const gchar *format)
 {
        gchar *tmp = NULL;
        gboolean found = FALSE;
        GSList *item;
 
-       for (item = account_signatures_list;
+       for (item = account_sigsep_list;
                 item != NULL && !found;
                 item = g_slist_next(item)) {
                tmp = g_strdup_printf(format, (gchar *)item->data);
@@ -1982,7 +1988,7 @@ gboolean account_signatures_matchlist_str_found(const gchar *str, const gchar *f
                        found = (strcmp(tmp, str) == 0);
                        g_free(tmp);
                } else {
-                       g_warning("account_signatures_matchlist_str_found: g_strdup_printf failed, check format '%s'",
+                       g_warning("account_sigsep_matchlist_str_found: g_strdup_printf failed, check format '%s'",
                                format);
                        return FALSE;
                }
@@ -1991,14 +1997,14 @@ gboolean account_signatures_matchlist_str_found(const gchar *str, const gchar *f
 }
 
 /* match M first char of a string against all signatures in list, using the specified format */
-gboolean account_signatures_matchlist_nchar_found(const gchar *str, const gchar *format)
+gboolean account_sigsep_matchlist_nchar_found(const gchar *str, const gchar *format)
 {
        gchar *tmp = NULL;
        gboolean found = FALSE;
        GSList *item;
        gint len;
 
-       for (item = account_signatures_list;
+       for (item = account_sigsep_list;
                 item != NULL && !found;
                 item = g_slist_next(item)) {
                tmp = g_strdup_printf(format, (gchar *)item->data);
@@ -2007,7 +2013,7 @@ gboolean account_signatures_matchlist_nchar_found(const gchar *str, const gchar
                        found = (strncmp(tmp, str, len) == 0);
                        g_free(tmp);
                } else {
-                       g_warning("account_signatures_matchlist_nchar_found: g_strdup_printf failed, check format '%s'",
+                       g_warning("account_sigsep_matchlist_nchar_found: g_strdup_printf failed, check format '%s'",
                                format);
                        return FALSE;
                }