in the UI replace 'POP3' with 'POP' and 'IMAP4' with 'IMAP'
[claws.git] / src / imap.c
index a38c8d09cb119358ca2b2312027eea55c8c808aa..6c9161aed97a29d33fd82cf131ac1b552cc0f496 100644 (file)
@@ -400,7 +400,7 @@ static gint imap_cmd_store  (IMAPSession    *session,
                                 IMAPFlags flags,
                                 GSList *tags,
                                 int do_add);
-static gint imap_cmd_expunge   (IMAPSession    *session, gboolean force);
+static gint imap_cmd_expunge   (IMAPSession    *session);
 
 static void imap_path_separator_subst          (gchar          *str,
                                                 gchar           separator);
@@ -460,7 +460,7 @@ FolderClass *imap_get_class(void)
        if (imap_class.idstr == NULL) {
                imap_class.type = F_IMAP;
                imap_class.idstr = "imap";
-               imap_class.uistr = "IMAP4";
+               imap_class.uistr = "IMAP";
                imap_class.supports_server_search = TRUE;
 
                /* Folder functions */
@@ -505,9 +505,6 @@ FolderClass *imap_get_class(void)
                imap_class.synchronise = imap_synchronise;
                imap_class.remove_cached_msg = imap_remove_cached_msg;
                imap_class.commit_tags = imap_commit_tags;
-#ifdef USE_PTREAD
-               pthread_mutex_init(&imap_mutex, NULL);
-#endif
        }
        
        return &imap_class;
@@ -579,7 +576,7 @@ static void imap_disc_session_destroy(IMAPSession *session)
        
        if (rfolder == NULL)
                return;
-       log_warning(LOG_PROTOCOL, _("IMAP4 connection broken\n"));
+       log_warning(LOG_PROTOCOL, _("IMAP connection broken\n"));
        SESSION(session)->state = SESSION_DISCONNECTED;
        SESSION(session)->sock = NULL;
 }
@@ -741,7 +738,7 @@ static void imap_handle_error(Session *session, const gchar *server, int libetpa
                break;
 #ifdef USE_GNUTLS
        case MAILIMAP_ERROR_SSL:
-               log_warning(LOG_PROTOCOL, g_strconcat(_("IMAP error on %s:"), " ", _("SSL error"), "\n", NULL), session_server);
+               log_warning(LOG_PROTOCOL, g_strconcat(_("IMAP error on %s:"), " ", _("SSL/TLS error"), "\n", NULL), session_server);
                break;
 #endif
        default:
@@ -1009,10 +1006,10 @@ static IMAPSession *imap_reconnect_if_possible(Folder *folder, IMAPSession *sess
                session = NULL;
        } else {
                rfolder->session = NULL;
-               log_warning(LOG_PROTOCOL, _("IMAP4 connection to %s has been"
+               log_warning(LOG_PROTOCOL, _("IMAP connection to %s has been"
                            " disconnected. Reconnecting...\n"),
                            folder->account->recv_server);
-               statusbar_print_all(_("IMAP4 connection to %s has been"
+               statusbar_print_all(_("IMAP connection to %s has been"
                            " disconnected. Reconnecting...\n"),
                            folder->account->recv_server);
                SESSION(session)->state = SESSION_DISCONNECTED;
@@ -1153,8 +1150,8 @@ static IMAPSession *imap_session_new(Folder * folder,
        if (account->ssl_imap != SSL_NONE) {
                if (alertpanel_full(_("Insecure connection"),
                        _("This connection is configured to be secured "
-                         "using SSL, but SSL is not available in this "
-                         "build of Claws Mail. \n\n"
+                         "using SSL/TLS, but SSL/TLS is not available "
+                         "in this build of Claws Mail. \n\n"
                          "Do you want to continue connecting to this "
                          "server? The communication would not be "
                          "secure."),
@@ -1168,7 +1165,7 @@ static IMAPSession *imap_session_new(Folder * folder,
 #endif
 
        imap_init(folder);
-       buf = g_strdup_printf(_("Account '%s': Connecting to IMAP4 server: %s:%d..."),
+       buf = g_strdup_printf(_("Account '%s': Connecting to IMAP server: %s:%d..."),
                                folder->account->account_name, folder->account->recv_server,
                                port);
        statuswindow_print_all("%s", buf);
@@ -1210,16 +1207,16 @@ static IMAPSession *imap_session_new(Folder * folder,
        else {
 #ifdef USE_GNUTLS
                if (r == MAILIMAP_ERROR_SSL)
-                       log_error(LOG_PROTOCOL, _("SSL handshake failed\n"));
+                       log_error(LOG_PROTOCOL, _("SSL/TLS handshake failed\n"));
                else
 #endif
                        imap_handle_error(NULL, account->recv_server, r);
 
                if(!prefs_common.no_recv_err_panel) {
-                       alertpanel_error_log(_("Can't connect to IMAP4 server: %s:%d"),
+                       alertpanel_error_log(_("Can't connect to IMAP server: %s:%d"),
                                         account->recv_server, port);
                } else {
-                       log_error(LOG_PROTOCOL, _("Can't connect to IMAP4 server: %s:%d\n"),
+                       log_error(LOG_PROTOCOL, _("Can't connect to IMAP server: %s:%d\n"),
                                         account->recv_server, port);
                } 
                
@@ -1252,7 +1249,7 @@ static IMAPSession *imap_session_new(Folder * folder,
 
                ok = imap_cmd_starttls(session);
                if (ok != MAILIMAP_NO_ERROR) {
-                       log_warning(LOG_PROTOCOL, _("Can't start TLS session.\n"));
+                       log_warning(LOG_PROTOCOL, _("Can't start STARTTLS session.\n"));
                        if (!is_fatal(ok)) {
                                SESSION(session)->sock = NULL;
                                imap_safe_destroy(session);
@@ -1277,19 +1274,17 @@ static IMAPSession *imap_session_new(Folder * folder,
 static gint imap_session_authenticate(IMAPSession *session, 
                                      PrefsAccount *account)
 {
-       gchar *pass, *acc_pass;
+       gchar *pass, *acc_pass = NULL;
        gboolean failed = FALSE;
        gint ok = MAILIMAP_NO_ERROR;
        g_return_val_if_fail(account->userid != NULL, MAILIMAP_ERROR_BAD_STATE);
 
-       if (password_get(account->userid, account->recv_server, "imap",
-                        SESSION(session)->port, &pass)) {
-               Xstrdup_a(acc_pass, pass, {g_free(pass); return MAILIMAP_NO_ERROR;});
-               g_free(pass);
-       } else {
+       if (!password_get(account->userid, account->recv_server, "imap",
+                        SESSION(session)->port, &acc_pass)) {
                acc_pass = passwd_store_get_account(account->account_id,
                                PWS_ACCOUNT_RECV);
        }
+
 try_again:
        pass = acc_pass;
        if (!pass && account->imap_auth_type != IMAP_AUTH_ANON && account->imap_auth_type != IMAP_AUTH_GSSAPI) {
@@ -2554,7 +2549,7 @@ static gint imap_do_remove_msgs(Folder *folder, FolderItem *dest,
                        return ok;
                }
        } /* else we just need to expunge */
-       ok = imap_cmd_expunge(session, folder->account->imap_use_trash);
+       ok = imap_cmd_expunge(session);
        if (ok != MAILIMAP_NO_ERROR) {
                log_warning(LOG_PROTOCOL, _("can't expunge\n"));
                g_free(destdir);
@@ -3730,7 +3725,7 @@ static void imap_delete_all_cached_messages(FolderItem *item)
                remove_all_numbered_files(dir);
        g_free(dir);
 
-       debug_print("done.\n");
+       debug_print("Deleting all cached messages done.\n");
 }
 
 gchar imap_get_path_separator_for_item(FolderItem *item)
@@ -4106,10 +4101,10 @@ static gint imap_cmd_login(IMAPSession *session,
                gint ok = MAILIMAP_ERROR_BAD_STATE;
                if (imap_has_capability(session, "STARTTLS")) {
 #ifdef USE_GNUTLS
-                       log_warning(LOG_PROTOCOL, _("Server requires TLS to log in.\n"));
+                       log_warning(LOG_PROTOCOL, _("Server requires STARTTLS to log in.\n"));
                        ok = imap_cmd_starttls(session);
                        if (ok != MAILIMAP_NO_ERROR) {
-                               log_warning(LOG_PROTOCOL, _("Can't start TLS session.\n"));
+                               log_warning(LOG_PROTOCOL, _("Can't start STARTTLS session.\n"));
                                return ok;
                        } else {
                                /* refresh capas */
@@ -4122,8 +4117,8 @@ static gint imap_cmd_login(IMAPSession *session,
                        }
 #else          
                        log_error(LOG_PROTOCOL, _("Connection to %s failed: "
-                                       "server requires TLS, but Claws Mail "
-                                       "has been compiled without TLS "
+                                       "server requires STARTTLS, but Claws Mail "
+                                       "has been compiled without STARTTLS "
                                        "support.\n"),
                                        SESSION(session)->server);
                        return MAILIMAP_ERROR_LOGIN;
@@ -4134,18 +4129,18 @@ static gint imap_cmd_login(IMAPSession *session,
                }
        }
 
-       log_print(LOG_PROTOCOL, "IMAP4> Logging %s to %s using %s\n", 
+       log_print(LOG_PROTOCOL, "IMAP> Logging %s to %s using %s\n", 
                        user,
                        SESSION(session)->server,
                        type);
        r = imap_threaded_login(session->folder, user, pass, type);
        if (r != MAILIMAP_NO_ERROR) {
                imap_handle_error(SESSION(session), NULL, r);
-               log_print(LOG_PROTOCOL, "IMAP4< Error logging in to %s\n",
+               log_print(LOG_PROTOCOL, "IMAP< Error logging in to %s\n",
                                SESSION(session)->server);
                ok = r;
        } else {
-               log_print(LOG_PROTOCOL, "IMAP4< Login to %s successful\n",
+               log_print(LOG_PROTOCOL, "IMAP< Login to %s successful\n",
                                SESSION(session)->server);
                ok = MAILIMAP_NO_ERROR;
        }
@@ -4198,7 +4193,7 @@ static gint imap_cmd_starttls(IMAPSession *session)
                SESSION(session)->server, SESSION(session)->port);
        if (r != MAILIMAP_NO_ERROR) {
                imap_handle_error(SESSION(session), NULL, r);
-               debug_print("starttls err %d\n", r);
+               debug_print("STARTTLS err %d\n", r);
                return r;
        }
        return MAILIMAP_NO_ERROR;
@@ -4435,13 +4430,10 @@ static gint imap_cmd_store(IMAPSession *session,
        return MAILIMAP_NO_ERROR;
 }
 
-static gint imap_cmd_expunge(IMAPSession *session, gboolean do_expunge)
+static gint imap_cmd_expunge(IMAPSession *session)
 {
        int r;
        
-       if (!do_expunge)
-               return MAILIMAP_NO_ERROR;
-
        if (prefs_common.work_offline && 
            !inc_offline_should_override(FALSE,
                _("Claws Mail needs network access in order "
@@ -4464,7 +4456,7 @@ gint imap_expunge(Folder *folder, FolderItem *item)
        if (session == NULL)
                return -1;
        
-       return imap_cmd_expunge(session, TRUE);
+       return imap_cmd_expunge(session);
 }
 
 static void imap_path_separator_subst(gchar *str, gchar separator)
@@ -5060,7 +5052,7 @@ static gint imap_remove_msg(Folder *folder, FolderItem *item, gint uid)
                return ok;
        }
 
-       ok = imap_cmd_expunge(session, folder->account->imap_use_trash);
+       ok = imap_cmd_expunge(session);
 
        if (ok != MAILIMAP_NO_ERROR) {
                log_warning(LOG_PROTOCOL, _("can't expunge\n"));
@@ -6094,7 +6086,7 @@ static Folder     *imap_folder_new        (const gchar    *name,
                        _("You have one or more IMAP accounts "
                          "defined. However this version of "
                          "Claws Mail has been built without "
-                         "IMAP support; your IMAP account(s) are "
+                         "IMAP support; your IMAP accounts are "
                          "disabled.\n\n"
                          "You probably need to "
                          "install libetpan and recompile "
@@ -6129,7 +6121,7 @@ FolderClass *imap_get_class(void)
        if (imap_class.idstr == NULL) {
                imap_class.type = F_IMAP;
                imap_class.idstr = "imap";
-               imap_class.uistr = "IMAP4";
+               imap_class.uistr = "IMAP";
 
                imap_class.new_folder = imap_folder_new;
                imap_class.create_tree = imap_create_tree;