* Fixes: NB#56474
[modest] / src / modest-tny-account.c
index 67c0988..5c76d04 100644 (file)
@@ -30,6 +30,7 @@
 #include <modest-tny-platform-factory.h>
 #include <modest-tny-account.h>
 #include <modest-tny-account-store.h>
+#include <modest-tny-local-folders-account.h>
 #include <modest-runtime.h>
 #include <tny-simple-list.h>
 #include <modest-tny-folder.h>
@@ -127,8 +128,14 @@ modest_tny_account_get_special_folder (TnyAccount *account,
  */
 #define MODEST_ACCOUNT_OPTION_SSL "use_ssl"
 #define MODEST_ACCOUNT_OPTION_SSL_NEVER "never"
-#define MODEST_ACCOUNT_OPTION_SSL_ALWAYS "always"
+/* This is a tinymail camel-lite specific option, 
+ * roughly equivalent to "always" in regular camel,
+ * which is appropriate for a generic "SSL" connection option: */
+#define MODEST_ACCOUNT_OPTION_SSL_WRAPPED "wrapped"
+/* Not used in our UI so far: */
 #define MODEST_ACCOUNT_OPTION_SSL_WHEN_POSSIBLE "when-possible"
+/* This is a tinymailcamel-lite specific option that is not in regular camel. */
+#define MODEST_ACCOUNT_OPTION_SSL_TLS "tls"
 
 /* These seem to be listed in 
  * libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-provider.c 
@@ -231,10 +238,15 @@ modest_tny_account_new_from_server_account (ModestAccountMgr *account_mgr,
                        option_security = MODEST_ACCOUNT_OPTION_SSL "=" MODEST_ACCOUNT_OPTION_SSL_NEVER;
                        break;
                case MODEST_PROTOCOL_CONNECTION_SSL:
+                       /* Apparently, use of "IMAPS" (specified in our UI spec), implies 
+                        * use of the "wrapped" option: */
+                       option_security = MODEST_ACCOUNT_OPTION_SSL "=" MODEST_ACCOUNT_OPTION_SSL_WRAPPED;
+                       break;
                case MODEST_PROTOCOL_CONNECTION_TLS:
-                       option_security = MODEST_ACCOUNT_OPTION_SSL "=" MODEST_ACCOUNT_OPTION_SSL_ALWAYS;;
+                       option_security = MODEST_ACCOUNT_OPTION_SSL "=" MODEST_ACCOUNT_OPTION_SSL_TLS;
                        break;
                case MODEST_PROTOCOL_CONNECTION_TLS_OP:
+                       /* This is not actually in our UI: */
                        option_security = MODEST_ACCOUNT_OPTION_SSL "=" MODEST_ACCOUNT_OPTION_SSL_WHEN_POSSIBLE;
                        break;
                default:
@@ -443,9 +455,19 @@ modest_tny_account_new_for_local_folders (ModestAccountMgr *account_mgr, TnySess
 
        g_return_val_if_fail (account_mgr, NULL);
        
-       tny_account = tny_camel_store_account_new ();
+       if (!location_filepath) {
+               /* A NULL filepath means that this is the special local-folders maildir 
+                * account: */
+               tny_account = TNY_STORE_ACCOUNT (modest_tny_local_folders_account_new ());
+       }
+       else {
+               /* Else, for instance, a per-account outbox maildir account: */
+               tny_account = TNY_STORE_ACCOUNT (tny_camel_store_account_new ());
+       }
+               
        if (!tny_account) {
-               g_printerr ("modest: cannot create account for local folders");
+               g_printerr ("modest: %s: cannot create account for local folders. filepath=%s", 
+                       __FUNCTION__, location_filepath);
                return NULL;
        }
        tny_camel_account_set_session (TNY_CAMEL_ACCOUNT(tny_account), session);