+ /* debug: */
+/* g_debug ("provider id: %s, server type: %d", provider_id, info); */
+ return protocol_type;
+}
+
+
+
+ModestProtocolType
+modest_presets_get_info_server_security (ModestPresets *self, const gchar *provider_id,
+ gboolean incoming_server)
+{
+ ModestProtocolType protocol_type = MODEST_PROTOCOLS_CONNECTION_NONE;
+ gchar *val = NULL;
+
+ g_return_val_if_fail (self && self->keyfile, MODEST_PROTOCOLS_CONNECTION_NONE);
+
+ if (incoming_server) {
+ val = g_key_file_get_string (self->keyfile, provider_id,
+ MODEST_PRESETS_KEY_INCOMING, NULL);
+ if (val) {
+ g_free (val);
+
+ val = g_key_file_get_string (self->keyfile, provider_id,
+ MODEST_PRESETS_KEY_INCOMING_SECURITY, NULL);
+ if (val && strcmp (val, "1") == 0) {
+ protocol_type = MODEST_PROTOCOLS_CONNECTION_TLS;
+ } else if (val && strcmp (val, "2") == 0) {
+ protocol_type = MODEST_PROTOCOLS_CONNECTION_SSL;
+ } else if (val && (strcmp (val, "tls") == 0)) {
+ protocol_type = MODEST_PROTOCOLS_CONNECTION_TLS;
+ } else if (val && (strcmp (val, "ssl") == 0)) {
+ protocol_type = MODEST_PROTOCOLS_CONNECTION_SSL;
+ }
+ g_free (val);
+ }
+ } else /* outgoing: */ {
+ val = g_key_file_get_string (self->keyfile, provider_id,
+ MODEST_PRESETS_KEY_OUTGOING, NULL);
+ if (val) {
+ g_free (val);
+
+ val = g_key_file_get_string (self->keyfile, provider_id,
+ MODEST_PRESETS_KEY_SECURE_SMTP, NULL);
+ if (val && strcmp(val,"true") == 0)
+ protocol_type = MODEST_PROTOCOLS_CONNECTION_SSL;
+ else if (val && strcmp (val, "ssl") == 0)
+ protocol_type = MODEST_PROTOCOLS_CONNECTION_SSL;
+ else if (val && strcmp (val, "2") == 0)
+ protocol_type = MODEST_PROTOCOLS_CONNECTION_SSL;
+ else if (val && strcmp (val, "tls") == 0)
+ protocol_type = MODEST_PROTOCOLS_CONNECTION_TLS;
+ else if (val && strcmp (val, "1") == 0)
+ protocol_type = MODEST_PROTOCOLS_CONNECTION_TLS;
+ g_free(val);
+ }
+ }
+
+ return protocol_type;
+}
+
+gboolean
+modest_presets_get_info_server_use_alternate_port (ModestPresets *self, const gchar *provider_id,
+ gboolean incoming_server)
+{
+ gboolean result = FALSE;
+ gchar *val = NULL;
+
+ g_return_val_if_fail (self && self->keyfile, MODEST_PROTOCOLS_CONNECTION_NONE);
+
+ if (incoming_server) {
+ val = g_key_file_get_string (self->keyfile, provider_id,
+ MODEST_PRESETS_KEY_INCOMING, NULL);
+ if (val) {
+ g_free (val);
+
+ val = g_key_file_get_string (self->keyfile, provider_id,
+ MODEST_PRESETS_KEY_INCOMING_SECURITY, NULL);
+ if (val && (strcmp (val, "2") == 0)) {
+ result = TRUE;
+ }
+ g_free (val);
+ }
+ }
+
+ return result;
+}
+
+ModestProtocolType
+modest_presets_get_info_server_auth (ModestPresets *self, const gchar *provider_id,
+ gboolean incoming_server)
+{
+ ModestProtocolType protocol_type = MODEST_PROTOCOLS_AUTH_NONE;
+ gchar *val = NULL;
+
+ g_return_val_if_fail (self && self->keyfile, MODEST_PROTOCOLS_AUTH_NONE);
+
+ if (incoming_server) {
+ val = g_key_file_get_string (self->keyfile, provider_id,
+ MODEST_PRESETS_KEY_INCOMING, NULL);
+ if (val) {
+ g_free (val);
+ val = g_key_file_get_string (self->keyfile, provider_id,
+ MODEST_PRESETS_KEY_APOP, NULL);
+ if (val && strcmp(val, "true") == 0)
+ protocol_type = MODEST_PROTOCOLS_AUTH_PASSWORD;
+ g_free(val);
+
+ }
+ } else /* outgoing: */ {
+ val = g_key_file_get_string (self->keyfile, provider_id,
+ MODEST_PRESETS_KEY_OUTGOING, NULL);
+ if (val) {
+ g_free (val);
+
+ val = g_key_file_get_string (self->keyfile, provider_id,
+ MODEST_PRESETS_KEY_SECURE_SMTP, NULL);
+ /* printf("debug: %s: provider_id=%s, secure-smtp val=%s\n", __FUNCTION__, provider_id, val); */
+ if (val && strcmp(val,"true") == 0)
+ protocol_type = MODEST_PROTOCOLS_AUTH_PASSWORD;
+ g_free(val);
+ }