diff options
author | Dan Winship <danw@src.gnome.org> | 2001-03-27 13:22:44 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2001-03-27 13:22:44 +0800 |
commit | 4c42c93dc6a2a1ed4c0b758ffff790fe74e7dffa (patch) | |
tree | c9779ab81d453b73b821985670116a353186f440 /camel/providers/pop3 | |
parent | 26b82892c72f977aa4602ddef20cca2cc4743e05 (diff) | |
download | gsoc2013-evolution-4c42c93dc6a2a1ed4c0b758ffff790fe74e7dffa.tar gsoc2013-evolution-4c42c93dc6a2a1ed4c0b758ffff790fe74e7dffa.tar.gz gsoc2013-evolution-4c42c93dc6a2a1ed4c0b758ffff790fe74e7dffa.tar.bz2 gsoc2013-evolution-4c42c93dc6a2a1ed4c0b758ffff790fe74e7dffa.tar.lz gsoc2013-evolution-4c42c93dc6a2a1ed4c0b758ffff790fe74e7dffa.tar.xz gsoc2013-evolution-4c42c93dc6a2a1ed4c0b758ffff790fe74e7dffa.tar.zst gsoc2013-evolution-4c42c93dc6a2a1ed4c0b758ffff790fe74e7dffa.zip |
Add an "extra_conf" field to CamelProvider with structures and defines and
* camel-provider.h: Add an "extra_conf" field to CamelProvider
with structures and defines and stuff, for providers to specify
additional configuration options that they want. Also add a
"supports ssl" flag to the provider flags.
* camel-remote-store.c: add a "default_ssl_port" field.
(remote_construct): If the URL has the "use_ssl" parameter, set
the store's use_ssl flag.
(remote_connect): If using SSL and no port specified, use the
default_ssl_port rather than the default_port.
* providers/smtp/camel-smtp-provider.c (smtp_provider): add
CAMEL_PROVIDER_SUPPORTS_SSL and CAMEL_URL_ALLOW_USER. (The config
gui code knows that the ALLOW_USER and ALLOW_AUTH go together.)
(ssmtp_provider): gone
* providers/smtp/camel-smtp-transport.c (smtp_construct): Set a
flag if "use_ssl" param is set.
(smtp_connect): Check the CamelSmtpTransport use_ssl flag rather
than checking if this is smtp or ssmtp.
* providers/imap/camel-imap-provider.c (imap_conf_entries): Add a
bunch of IMAP-specific configuration options, like "check for new
mail in all folders" (default TRUE), "show only subscribed
folders" (default TRUE), "ignore server-supplied namespace", and
"apply filters to INBOX" (not yet implemented).
(imap_provider): We support SSL and we no longer allow a path in
the URL. (namespace is handled via extra_conf)
(simap_provider): Gone
* providers/imap/camel-imap-store.c (camel_imap_store_init): Set
default_ssl_port, don't set CAMEL_STORE_SUBSCRIPTIONS here
(construct): remove simap stuff, deal with "use_lsub",
"namespace", "check_all", and "filter" parameters. Set base_url
to not include params.
(imap_store_setup_online): Don't ask for the namespace if it was
set explicitly. Don't get subscribed folders if !use_lsub.
(imap_concat): Fix a bug.
(get_folder_info): Support for not checking all folders.
* providers/pop3/camel-pop3-provider.c (pop3_conf_entries): "keep
on server" (currently still implemented by the mailer code, not
here), "delete after N days" (not yet implemented).
(pop3_provider): we support SSL
(spop_provider): gone
* providers/pop3/camel-pop3-store.c (camel_pop3_store_init): Set
default_ssl_port
(pop3_connect): Remove spop code
svn path=/trunk/; revision=8968
Diffstat (limited to 'camel/providers/pop3')
-rw-r--r-- | camel/providers/pop3/camel-pop3-provider.c | 42 | ||||
-rw-r--r-- | camel/providers/pop3/camel-pop3-store.c | 10 | ||||
-rw-r--r-- | camel/providers/pop3/libcamelpop3.urls | 1 |
3 files changed, 16 insertions, 37 deletions
diff --git a/camel/providers/pop3/camel-pop3-provider.c b/camel/providers/pop3/camel-pop3-provider.c index 1cfecde700..6dae1f6edb 100644 --- a/camel/providers/pop3/camel-pop3-provider.c +++ b/camel/providers/pop3/camel-pop3-provider.c @@ -29,6 +29,17 @@ #include "camel-session.h" #include "camel-url.h" +CamelProviderConfEntry pop3_conf_entries[] = { + { CAMEL_PROVIDER_CONF_SECTION_START, NULL, NULL, + N_("Message storage") }, + { CAMEL_PROVIDER_CONF_CHECKBOX, "keep_on_server", NULL, + N_("Leave messages on server"), "0" }, + { CAMEL_PROVIDER_CONF_CHECKSPIN, "delete_after", "UNIMPLEMENTED", + N_("Delete after %s day(s)"), "0:1:7:365" }, + { CAMEL_PROVIDER_CONF_SECTION_END }, + { CAMEL_PROVIDER_CONF_END } +}; + static CamelProvider pop3_provider = { "pop", N_("POP"), @@ -39,31 +50,15 @@ static CamelProvider pop3_provider = { "mail", - CAMEL_PROVIDER_IS_REMOTE | CAMEL_PROVIDER_IS_SOURCE, + CAMEL_PROVIDER_IS_REMOTE | CAMEL_PROVIDER_IS_SOURCE | + CAMEL_PROVIDER_SUPPORTS_SSL, CAMEL_URL_NEED_USER | CAMEL_URL_NEED_HOST | CAMEL_URL_ALLOW_AUTH, - /* ... */ -}; - -#if defined (HAVE_NSS) || defined (HAVE_OPENSSL) -static CamelProvider spop_provider = { - "spop", - N_("Secure POP"), - - N_("For connecting to POP servers over an SSL connection. The POP " - "protocol can also be used to retrieve mail from certain web " - "mail providers and proprietary email systems."), - - "mail", - - CAMEL_PROVIDER_IS_REMOTE | CAMEL_PROVIDER_IS_SOURCE, - - CAMEL_URL_NEED_USER | CAMEL_URL_NEED_HOST | CAMEL_URL_ALLOW_AUTH, + pop3_conf_entries, /* ... */ }; -#endif CamelServiceAuthType camel_pop3_password_authtype = { N_("Password"), @@ -112,13 +107,4 @@ camel_provider_module_init (CamelSession *session) pop3_provider.authtypes = g_list_prepend (pop3_provider.authtypes, &camel_pop3_password_authtype); camel_session_register_provider (session, &pop3_provider); - -#if defined (HAVE_NSS) || defined (HAVE_OPENSSL) - spop_provider.object_types[CAMEL_PROVIDER_STORE] = - camel_pop3_store_get_type (); - spop_provider.service_cache = g_hash_table_new (camel_url_hash, camel_url_equal); - spop_provider.authtypes = g_list_copy (pop3_provider.authtypes); - - camel_session_register_provider (session, &spop_provider); -#endif } diff --git a/camel/providers/pop3/camel-pop3-store.c b/camel/providers/pop3/camel-pop3-store.c index e38141d624..558d8a8b38 100644 --- a/camel/providers/pop3/camel-pop3-store.c +++ b/camel/providers/pop3/camel-pop3-store.c @@ -112,6 +112,8 @@ camel_pop3_store_init (gpointer object, gpointer klass) CamelRemoteStore *remote_store = CAMEL_REMOTE_STORE (object); remote_store->default_port = 110; + /* FIXME: what should this port be?? */ + remote_store->default_ssl_port = 995; } CamelType @@ -419,14 +421,6 @@ pop3_connect (CamelService *service, CamelException *ex) } #endif - if (!g_strcasecmp (service->url->protocol, "spop")) { - CamelRemoteStore *rstore = CAMEL_REMOTE_STORE (service); - - /* FIXME: what should this port be?? */ - rstore->default_port = 995; - rstore->use_ssl = TRUE; - } - res = CAMEL_SERVICE_CLASS (parent_class)->connect (service, ex); #ifdef HAVE_KRB4 diff --git a/camel/providers/pop3/libcamelpop3.urls b/camel/providers/pop3/libcamelpop3.urls index 789e1d7db1..7fffa4d861 100644 --- a/camel/providers/pop3/libcamelpop3.urls +++ b/camel/providers/pop3/libcamelpop3.urls @@ -1,2 +1 @@ pop -spop |