| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-service.c: Change "gboolean connected" to
"CamelServiceConnectionStatus status", which can be disconnected,
connecting, connected, or disconnecting.
(camel_service_init, camel_service_finalize): create/destroy the
connect_op_lock. Refer to service->status rather than
service->connected.
(camel_service_connect): When connecting, note the current
operation (and create a new one if there's none registered) and
mark the connection "connecting" until we succeed or fail.
(camel_service_disconnect): Likewise in reverse.
(camel_service_cancel_connect): New function to cancel a
connection attempt.
(cancel_connect): Default implementation: Call
camel_operation_cancel on the connect_op.
* camel-disco-store.c (disco_connect): Only call
CamelRemoteStore's connect func if we're online.
(disco_cancel_connect): Fall back to offline if a connection gets
cancelled.
(disco_get_folder_info): Kludge: call connect explicitly before
deciding whether to do the online or offline version, so if the
connect fails, we fall back correctly.
* camel-session.c (camel_session_get_service_connected):
s/svc->connected/svc->status/
* camel-remote-store.c (camel_remote_store_finalise):
Change service->connected check to service->status check.
(remote_connect): Don't set service->connected here:
camel_service_connect() itself does that.
* camel-operation.c (camel_operation_registered): Deal with the
possibility that there's no registered op.
svn path=/trunk/; revision=13191
|
|
|
|
|
|
|
|
|
|
| |
2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (camel_remote_store_finalise): Disconnect
from the service here otherwise the locks will be destroyed and by
the time CamelService finalizes we'll crash or hang.
svn path=/trunk/; revision=12692
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-09-06 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (remote_recv_line): Use
camel_stream_buffer_read_line() instead of duplicationing the
functionality. Also, the previous way was broken anyway. What if a
line was the same length as our buffer? Then we'd go and read a
second line and a third and so on until they weren't the same
length, leaving \r's in the middle of the buffer.
svn path=/trunk/; revision=12662
|
|
|
|
|
|
|
|
|
|
| |
2001-09-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (remote_disconnect): Too late to sync the
folders here... if this is gonna happen at all it should be done
in the provider.
svn path=/trunk/; revision=12596
|
|
|
|
|
|
|
|
|
|
| |
2001-08-28 Peter Williams <peterw@ximian.com>
* camel-remote-store.c (remote_send_string): Don't reveal the
user's IMAP password if their server supports LITERALPLUS. Also
add some more dashes to make it line up nicely :-)
svn path=/trunk/; revision=12503
|
|
|
|
|
|
|
|
|
|
| |
2001-08-10 Jeffrey Stedfast <fejj@ximian.com>
* camel-mime-utils.c (header_raw_check_mailing_list): regfree the
pattern before continue'ing. This was showing up quite a bit under
purify.
svn path=/trunk/; revision=11867
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-17 Peter Williams <peterw@ximian.com>
Clean up some exception misusage.
* providers/imap/camel-imap-command.c (camel_imap_command): Use
our own internal exception for sending the string and transfer it
to @ex if anything goes wrong.
(imap_read_response): Use our own internal exception for reading
the untagged responses and blah blah blah.
* camel-session.c (get_service): Use our own internal exception
when constructing the service and transfer it to @ex if anything
goes wrong.
* camel-remote-store.c (remote_recv_line): Instead of having
gboolean exception, use our own internal exception and copy
it to @ex if anything goes wrong.
* camel-store.c (store_sync): Create an internal exception
because sync_folder() checks it for validity. Transfer it to
@ex when done.
* camel-exception.c (camel_exception_get_description): If @ex is
NULL, complain - passing NULL exceptions to Camel is okay, but
there should be no circumstances under which they're then
examined.
(camel_exception_get_id): Same here,
(camel_exception_xfer): NULL-protect and warn if transferring from
a NULL exception.
svn path=/trunk/; revision=11177
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-13 Peter Williams <peterw@ximian.com>
* Makefile.am (install-exec-local): Let people install as non-root,
but give them a bigass warning so they're not allowed to complain when
it doesn't work right.
* camel-remote-store.c (sync_remote_folder): New function:
hash table callback.
(remote_disconnect): If cleanly disconnecting, sync our folders. Fixes
deadlocks on exit (folders syncing after store disconnects) and also makes
sense.
svn path=/trunk/; revision=11090
|
|
|
|
|
|
| |
helixcode.com with ximian.com all over the place.
svn path=/trunk/; revision=10440
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-05-04 Jeffrey Stedfast <fejj@ximian.com>
* providers/smtp/camel-smtp-transport.c (connect_to_server): Add
support for using OpenSSL.
* camel-remote-store.c (remote_connect): Add support for using the
OpenSSL implementation.
* camel-tcp-stream-ssl.c (ssl_bad_cert): Hmmmm, don't pass in a
NULL as the last argument to alert_user - prototype doesn't take
that argument anymore?
* camel-tcp-stream-openssl.c (camel_tcp_stream_openssl_finalize):
(ssl_verify): Use a global hash table to try and lookup the
CamelTcpStreamOpenSSL object given the ssl context since OpenSSL
doesn't think one needs to pass data around, we should all be
living in a world of global variables, duh!
svn path=/trunk/; revision=9697
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-object.c (camel_object_hook_event):
* camel-uid-cache.c (camel_uid_cache_get_new_uids):
* camel-url.c (camel_url_new_with_base): Plug leaks.
* camel-remote-store.c (camel_remote_store_init): Don't
re-initialize the folders hash table.
* providers/imap/camel-imap-store.c (imap_disconnect): Free
authtypes since they'll be re-read on re-connect.
(get_folder_info): Free folderinfos that we're discarding from the
list.
svn path=/trunk/; revision=9302
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-29 Not Zed <NotZed@Ximian.com>
* providers/smtp/camel-smtp-transport.c (smtp_connect): Free host
name info when done ... blah blah.
* camel-sasl-kerberos4.c (krb4_challenge): Free host name info
after we're done with it.
* camel-sasl-digest-md5.c (digest_md5_challenge): Free host name
info after we're done with it.
* camel-remote-store.c (remote_connect): Free the host name info
from get_host after we're finished with it.
* camel-service.c (camel_get_host_byname): New function to
lookup a name, and still be cancellable.
(camel_free_host): And a function to free the structure
returned.
(camel_service_gethost): Call get_host_byname for this.
svn path=/trunk/; revision=9033
|
|
|
|
| |
svn path=/trunk/; revision=9024
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-provider.h: (CamelProvider) add a "GList *authtypes", so
you can get the list of authtypes used by a provider without
needing to have an actual CamelService object handy. (Will be
needed by the new config druid.)
(CAMEL_PROVIDER_ALLOWS, CAMEL_PROVIDER_NEEDS): New macros to test
the URL part stuff, since the way it works is too complicated and
everyone always does it wrong.
* camel-service.c (camel_service_query_auth_types): Remove the
@connected arg again: if you don't want to connect, you can just
get the list of authtypes off the provider.
(camel_service_free_auth_types): Remove this. All existing
implementations do authtypes the same way, so just say the caller
should "g_list_free" the list. (Oh, look, removing this function
doesn't actually cause the mailer to not build. How 'bout that.)
(construct, get_path): Use the new URL part macros.
* camel-remote-store.c (remote_query_auth_types): Update
(remote_free_auth_types): Nuke
(camel_remote_store_authtype_list): New function for use by
subclasses.
* providers/imap/camel-imap-provider.c:
* providers/pop3/camel-pop3-provider.c:
* providers/smtp/camel-smtp-provider.c: Update CamelProvider
structures.
(camel_provider_module_init): Put all the SSL parts together so
there's only 1 #ifdef. Set up the provider authtypes field using
the SASL, CamelRemoteStore, and standard authtypes, as
appropriate. Copy that from the normal provider to the SSL
provider.
* providers/local/camel-local-provider.c:
* providers/sendmail/camel-sendmail-provider.c:
* camel-session.c: Update CamelProvider structures.
* providers/imap/camel-imap-store.c (query_auth_types):
* providers/pop3/camel-pop3-store.c (query_auth_types): Update
* providers/smtp/camel-smtp-store.c (query_auth_types): Update.
Remove the no_authtype, because that's what "ALLOW_AUTH" rather
than "NEED_AUTH" means.
(free_auth_types): Nuke.
svn path=/trunk/; revision=8872
|
|
|
|
|
|
|
|
|
| |
2001-03-18 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (remote_recv_line): Protect against a
possibly NULL exception.
svn path=/trunk/; revision=8811
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (remote_connect): Pass the service into the
SSL stream, not the session.
* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_init): Set the
service to NULL.
(camel_tcp_stream_ssl_finalize): Unref the service.
(camel_tcp_stream_ssl_new): Takes a CamelService arg now rather
than a CamelSession arg.
svn path=/trunk/; revision=8720
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-14 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c: Numerous fixes to get it to build
correctly with NSS enabled.
* camel-remote-store.c (remote_connect): Pass in the session and
expected host args, oops.
* camel-provider.h (CAMEL_URL_ALLOW_SSL): Defined.
* providers/imap/camel-imap-store.c (camel_imap_store_init): Check
to see if we are supposed to use SSL and set the options
accordingly.
(imap_connect): Return FALSE here instead of NULL.
* providers/imap/camel-imap-provider.c: Add CAMEL_URL_ALLOW_SSL.
* providers/imap/libcamelimap.urls: Add "imaps" which is the
protocol for Secure IMAP.
svn path=/trunk/; revision=8711
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-03-13 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (camel_tcp_stream_ssl_get_type):
Oops. Make this a subclass of CamelTcpStream, not CamelStream.
* camel-types.h: Add the defs for CamelTcpStream and
CamelTcpStreamRaw
* Makefile.am: Add camel-tcp-stream and camel-tcp-stream-raw to
the build.
* camel-remote-store.c (remote_connect): Update to use
CamelTcpStreams.
* camel-tcp-stream-raw.c (stream_connect): Made cancellable by
copying the currently used code in camel-remote-store.c.
(stream_setsockopt): Oops, flags = fcntl (..., GET_FL);
(camel_tcp_stream_raw_get_type): Oops. Make this a subclass of
CamelTcpStream, not CamelStream.
svn path=/trunk/; revision=8697
|
|
|
|
| |
svn path=/trunk/; revision=8585
|
|
|
|
|
|
|
|
|
|
| |
* camel-remote-store.c (camel_remote_store_connected): Return the
return value of camel_service_connect rather than returning
!camel_exception_is_set(), since that will be wrong if ex==NULL...
Fixes a crash in the IMAP keepalive code, but this same problem
probably exists in other places too...
svn path=/trunk/; revision=8580
|
|
|
|
|
|
|
|
|
| |
* camel-remote-store.c (remote_recv_line): If we get back 0 bytes
from camel_stream_buffer_gets, that means the socket got
disconnected, so set an exception. (Noticed because of a message
that crashes our IMAP server when you try to look at it. :)
svn path=/trunk/; revision=8429
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-store.c: Rewrite a bunch. Replace the existing folder
cache stuff with much simpler code that still handles all the
existing cases. Now the folder hash table is always created by the
base class, using hash and compare functions provided by the class
implementation. (If they are set to NULL, CamelStore won't cache
folders.) lookup_folder, cache_folder, and uncache_folder are no
longer class methods, and get_name is gone completely.
(camel_store_get_inbox): Renamed from
camel_store_get_default_folder, since that wasn't being used, and
this is what we actually need.
(camel_store_get_root_folder): Removed, since it's not needed for
anything given get_folder_info.
* camel-remote-store.c:
* providers/local/camel-local-store.c:
* providers/local/camel-mbox-store.c:
* providers/local/camel-mh-store.c:
* providers/local/camel-maildir-store.c:
* providers/nntp/camel-nntp-store.c:
* providers/pop3/camel-pop3-store.c:
* providers/vee/camel-vee-store.c: Minor updates for CamelStore
changes
* providers/imap/camel-imap-store.c (camel_imap_store_class_init):
Update for CamelStore changes.
(hash_folder_name, compare_folder_name): treat INBOX
case-insensitively, otherwise use g_str_hash and g_str_equal.
* camel-service.c (camel_service_construct): Remove
camel_service_new and create camel_service_construct (as a class
method) in its place.
* camel-session.c (camel_session_get_service): Use
camel_object_new and camel_service_construct to replace
camel_service_new.
* providers/local/camel-local-store.c (construct): Append a '/' to
the URL path if it doesn't end with one
svn path=/trunk/; revision=8145
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-02-07 Not Zed <NotZed@Ximian.com>
* camel-operation.c (camel_operation_start): Changed to push the
operation into a status stack.
(camel_operation_progress): Changed to only accept % complete.
(camel_operation_reset): Free status stack as well.
* providers/pop3/camel-pop3-folder.c (pop3_get_message): Get the
octect count from the return line, and pass it to
get_additional_data().
(pop3_refresh_info): Added status stuff.
* providers/pop3/camel-pop3-store.c
(camel_pop3_command_get_additional_data): Added a total bytes
expected argument for progress reporting & fixed callers.
(camel_pop3_command_get_additional_data): Added progress
reporting.
* providers/local/camel-mbox-summary.c (mbox_summary_sync_full):
(mbox_summary_sync_quick):
(summary_rebuild): Added progress reporting stuff.
svn path=/trunk/; revision=8095
|
|
|
|
|
|
|
|
|
| |
2001-02-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-remote-store.c (remote_query_auth_types): Oops. Change
this too.
svn path=/trunk/; revision=7992
|
|
|
|
|
|
|
|
|
|
| |
2001-01-30 Not Zed <NotZed@Ximian.com>
* camel-remote-store.c (timeout_cb): Remvoe the stream locking
here. I think this was leading to a deadlock when a keepalive is
being sent, in imap.
svn path=/trunk/; revision=7898
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-tcp-stream-raw.c (stream_getsockopt, stream_setsockopt):
* camel-stream-fs.c (stream_read, stream_write):
* camel-remote-store.c (socket_connect): fcntl(fd, F_GETFL)
returns the flags as the return value, not via a passed in
pointer. And F_SETFL looks for an int, not a long, and you have to
pass it what it's expecting because it's a va_arg parameter. (Yes,
the man page lies on Linux. But check the UNIX98 spec or the glibc
source.) Also, fix another bug in socket_connect: if we manage to
connect right away, unset O_NONBLOCK so it doesn't mess us up
later.
Fixes a bunch of problems with non-blocking I/O being done in the
allegedly-blocking case and then returning EWOULDBLOCK.
svn path=/trunk/; revision=7555
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-01-16 Not Zed <NotZed@Ximian.com>
* camel-folder-summary.c (camel_folder_summary_decode_string):
Chganged len back to be unsigned. And do a simple range check on
the string value to try and detect corrupted summary files.
* providers/imap/camel-imap-command.c (imap_read_untagged): Handle
cancelled stream reads with an appropriate exception.
* providers/imap/camel-imap-private.h: Fix the include-once
macro. Doh, confliced with camel-private.h.
* providers/imap/camel-imap-store.c (imap_store_refresh_folders):
A copy of camel_remote_store_refresh_folders. We avoid locking
each folder when we call it though. This should be removed when i
can work out how to remove the folder lock from this function
easily.
* camel-stream-fs.c (stream_write): Fix n' argument of select.
(stream_read): Likewise.
* camel-remote-store.c (socket_connect): Bump the connect timeout
upto 4 minutes.
(socket_connect): Oops, fix the 'n' argument of select.
* camel-session.c (camel_cancel_cancel): If we are given no
cancellation node, then do it for all active ones.
svn path=/trunk/; revision=7526
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-01-15 Not Zed <NotZed@Ximian.com>
* camel-remote-store.c (socket_connect): A cancellable connection
routine.
(remote_send_string): Return cancelled exception if we were.
(remote_send_stream): "
(remote_recv_line): "
* camel-stream-fs.c (stream_read): First cut at cancellation
stuff. Its looking a bit ugly.
svn path=/trunk/; revision=7496
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
available). Deal with servers that don't return LIST flags in
response to LSUB (like UW) to get rid of the "not a selectable
folder" error messages in the UI. Take advantage of the \Marked
and \Unmarked flags to try to speed up the folder scan by not
doing STATUS on unmarked folders. Some further tweaks on the shape
of the resulting folder tree in various situations...
* camel-store.h: Remove the (read) message_count, since nothing
uses it, and we can speed up IMAP a bit this way.
* camel-store.c (camel_folder_info_build): Redo this a bit to make
it more useful for IMAP since that's the only thing that uses it.
* camel-remote-store.c (camel_remote_store_connected): Public
function to check if the store is connected, and try to connect it
if it's not.
(remote_send_string, remote_send_stream, remote_recv_line): Use
that.
* providers/imap/camel-imap-store.c (camel_imap_store_finalize):
fix up for changes.
(camel_imap_store_init): Initialize subscribed_folders to NULL
rather than an empty hash table.
(imap_connect): Get the list of subscribed folders here. If the
server doesn't claim that any of them are either Marked or
Unmarked, then assume that it doesn't do that for LSUB and
remember that for later. If the server supports the NAMESPACE
extension and the user didn't specify a namespace, use the
server-provided one.
(imap_disconnect): Free the list of subscribed folders, and the
namespace.
(get_folder): check camel_remote_store_connected
(get_folder_info): check camel_remote_store_connected. Add a bunch
of new cleverness. If we learned that the server doesn't do LSUB
usefully, do a bunch of LISTs by hand. Then, if we're getting
unread counts, only do it for folders that weren't listed as
Unmarked. Also, deal with namespaces that end with the separator
character, and update for changes to camel_folder_info_build.
(folder_subscribed): Add a g_return_val_if_fail.
(subscribe_folder, unsubscribe_folder): check
camel_remote_store_connected.
* providers/nntp/camel-nntp-store.c (build_folder_info,
build_folder_info_from_grouplist, nntp_store_get_folder_info):
Don't fill in message_count since it doesn't exist any more.
svn path=/trunk/; revision=7343
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
query_auth_types_generic.
* camel-url.c: Remove "empty" from CamelURL.
(camel_url_new): No longer set it.
(camel_url_to_string): Treat "" as equivalent to NULL for
authmech. (Unrelated change, but it simplifies some stuff with the
new config dialog.)
* camel-service.c (camel_service_new): Remove url->empty check: if
the URL isn't valid, we don't create the service.
(camel_service_query_auth_types): No longer need to switch between
generic and connected variants.
* providers/smtp/camel-smtp-transport.c (query_auth_types):
* providers/pop3/camel-pop3-store.c (query_auth_types):
* providers/nntp/camel-nntp-store.c (nntp_store_query_auth_types):
* providers/imap/camel-imap-store.c (query_auth_types):
* camel-remote-store.c (remote_query_auth_types): Remove generic
version, rename connected version.
svn path=/trunk/; revision=7327
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-12-24 Not Zed <NotZed@HelixCode.com>
* providers/imap/camel-imap-search.c (imap_body_contains): Lock
the command channel while searching.
(imap_body_contains): If performing a whole uid search, then add
references to our own summary items, dont look it up in the
folder. This way they can't vanish unexpectedly.
* providers/imap/camel-imap-folder.h (CamelImapFolder): Added a
private field.
* providers/imap/camel-imap-private.h: Added lock for imap
searches.
* Merge from camel-mt-branch.
* providers/imap/camel-imap-folder.c (imap_update_summary): Merge
fix, use the folder->summary.
(imap_get_message_flags, imap_set_message_flags,
imap_get_message_user_flag, imap_set_message_user_flag): Removed
again.
(camel_imap_folder_init): Setup private data/lock.
(imap_finalize): Free private data/search lock.
(imap_search_free): Lock the search_lock.
(imap_search_by_expression): Lock the search lock when using the
search object. Also copy/ref hte summary, rather than getting it
directly.
(imap_refresh_info): Free any info lookups. Use folder->summary
not imap_folder->summary. And lock around commands.
svn path=/trunk/; revision=7150
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-stream-buffer.c (camel_stream_buffer_gets): Update the
doc comment: since it always NUL-terminates the buffer, it reads
at most @max-1 bytes, not @max.
* camel-remote-store.c (remote_recv_line): Fix the "did
camel_stream_buffer_gets fill the whole buffer" check. Fixes a bug
when reading lines longer than 1024 characters (eg, IMAP SEARCH
responses in very large folders).
svn path=/trunk/; revision=7117
|
|
|
|
|
|
|
|
| |
* camel-remote-store.c (remote_recv_line): Don't set exception to
g_strerror (errno) when nread == 0, because it won't have been
set.
svn path=/trunk/; revision=6702
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-20 Jeffrey Stedfast <fejj@helixcode.com>
* camel-remote-store.c (remote_recv_line): Fixed to return the
correct bytecount in all cases which is the real fix to
imap_parse_nstring.
* providers/imap/camel-imap-command.c (imap_read_untagged): Again,
don't use strlen for the post-data, use 'n'.
* providers/imap/camel-imap-utils.c (imap_parse_nstring): Undo my
previous temp-fix.
svn path=/trunk/; revision=6621
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-11-17 Jeffrey Stedfast <fejj@helixcode.com>
* providers/imap/camel-imap-command.c (imap_read_untagged): Use
the byte-read count to decrement the number of bytes left to read
rather than using strlen. Not only does this protect against a DoS
(embedded NUL chars in the literal string would make strlen
inaccurate) but it also improves performace a little.
* camel-remote-store.c (remote_recv_line): *Sigh* Return the
number of bytes read on success rather than 0. Also don't use
camel_stream_buffer_read_line since we can't get an accurate octet
count.
svn path=/trunk/; revision=6599
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-provider.h: Add an "url_flags" field to CamelProvider.
Move the CAMEL_SERVICE_URL_* defines here and remove the SERVICE_
part of the name.
* camel-service.h: Remove CAMEL_SERVICE_URL_* flags and
service->url_flags field.
* camel-service.c (check_url, get_path): Get URL flags from
service->provider, update for changed flag names.
* providers/*/camel-*-provider.c: Add URL flags to provider
structures.
* providers/*/camel-*-{store,transport}.c, camel-remote-store.c:
Remove service->url_flags initialization.
svn path=/trunk/; revision=6370
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-service.c (service_disconnect): Add a new argument, clean,
that says whether or not to try to disconnect cleanly.
* camel-remote-store.c (remote_send_string, remote_send_stream,
remote_recv_line): disconnect uncleanly on failure to prevent
infinite loops when providers would normally send commands from
disconnect(). Remove some unneeded CamelException goo.
* providers/smtp/camel-smtp-transport.c (smtp_disconnect):
* providers/pop3/camel-pop3-store.c (pop3_disconnect):
* providers/nntp/camel-nntp-store.c (nntp_store_disconnect):
* providers/imap/camel-imap-store.c (imap_disconnect): Don't send
QUIT/LOGOUT if !clean.
svn path=/trunk/; revision=6303
|
|
|
|
| |
svn path=/trunk/; revision=6143
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* camel-provider.h: Remove default_ports.
* camel-remote-store.c (remote_connect): Get default_port from
CamelRemoteStore rather than CamelProvider.
* providers/{imap,nntp,pop3}/camel-*-store.c: Initialize
CamelRemoteStore::default_port
* providers/*/camel-*-provider.c: Remove default_ports.
svn path=/trunk/; revision=5669
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* configure.in: Added check for gnome-app-lib. Removed
directories that have been moved to gal.
From addressbook/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* backend/ebook/Makefile.am, contact-editor/Makefile.am,
ename/Makefile.am, gui/component/Makefile.am,
gui/widgets/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS). Removed unneeded libraries.
* backend/ebook/e-card.c, backend/pas/pas-backend-file.c,
contact-editor/e-contact-editor-address.c,
contact-editor/e-contact-editor-categories.c,
contact-editor/e-contact-editor-categories.h,
contact-editor/e-contact-editor-fullname.c,
contact-editor/e-contact-editor.c,
contact-editor/e-contact-save-as.c, ename/e-address-western.c,
ename/test-ename-western-gtk.c,
gui/component/addressbook-factory.c, gui/component/addressbook.c,
gui/component/e-cardlist-model.h, gui/component/e-ldap-storage.c,
gui/component/select-names/e-select-names-bonobo.c,
gui/component/select-names/e-select-names-manager.c,
gui/component/select-names/e-select-names-model.c,
gui/component/select-names/e-select-names-table-model.c,
gui/component/select-names/e-select-names-table-model.h,
gui/component/select-names/e-select-names-text-model.h,
gui/component/select-names/e-select-names.c,
gui/component/select-names/e-select-names.h,
gui/search/e-addressbook-search-dialog.c,
gui/widgets/e-addressbook-model.h,
gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-label.c,
gui/widgets/e-minicard-view-widget.c,
gui/widgets/e-minicard-view-widget.h,
gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h,
gui/widgets/e-minicard-widget.h, gui/widgets/e-minicard.c,
gui/widgets/test-minicard-label.c, gui/widgets/test-reflow.c,
printing/e-contact-print.c: Fixed the #include lines to deal
properly with gal.
From calendar/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* gui/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS). Removed unneeded libraries.
* gui/calendar-model.h, gui/e-calendar-table.c, gui/e-day-view.c,
gui/e-week-view-event-item.c, gui/e-week-view.c,
gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/main.c,
gui/print.c, gui/dialogs/task-editor.c: Fixed the #include lines
to deal properly with gal.
* gui/check-filled.xpm: New file since we can't include it from
e-table anymore.
From camel/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* camel-folder-search.c, camel-folder-search.h,
camel-remote-store.c, providers/imap/camel-imap-folder.c,
providers/imap/camel-imap-store.c: Fixed the #include lines to
deal properly with gal.
From composer/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS). Removed unneeded libraries.
* e-msg-composer-address-dialog.c, e-msg-composer-address-entry.c,
e-msg-composer-attachment.c, e-msg-composer-hdrs.c,
e-msg-composer.c: Fixed the #include lines to deal properly with
gal.
From e-util/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Removed all the files moved to gal.
* e-dialog-widgets.c: Fixed the #include lines to deal properly
with gal.
* e-gui-utils.c, e-gui-utils.h: Removed all of the functionality
that was moved to gal.
* e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c,
e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h,
e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c,
e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h,
e-xml-utils.c, e-xml-utils.h: Moved to gal.
From filter/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* filter-editor.c, filter-filter.c, filter-folder.c,
filter-input.c, filter-message-search.c, filter-option.c,
filter-rule.c, score-editor.c, vfolder-editor.c, vfolder-rule.c:
Fixed the #include lines to deal properly with gal.
From mail/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS). Removed unneeded libraries.
* component-factory.c, folder-browser-factory.c, folder-browser.c,
mail-callbacks.c, mail-config-gui.c, mail-display.c,
mail-display.h, main.c, message-list.c, message-list.h: Fixed the
#include lines to deal properly with gal.
From po/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* POTFILES.in: Removed files that have been moved to gal.
From shell/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS). Removed unneeded libraries.
* e-component-registry.c, e-corba-storage-registry.c,
e-corba-storage.c, e-folder-type-registry.c, e-folder.c,
e-local-folder.c, e-local-storage.c,
e-shell-folder-creation-dialog.c,
e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c,
e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c,
e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c,
e-storage.c, evolution-local-storage.c, evolution-session.c,
evolution-shell-client.c, evolution-shell-component-client.c,
evolution-shell-component.c, evolution-shell-view.c,
evolution-storage-listener.c, evolution-storage.c, main.c: Fixed
the #include lines to deal properly with gal.
From widgets/meeting-time-sel/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS). Removed unneeded libraries.
* e-meeting-time-sel-list-item.c, e-meeting-time-sel.c,
e-meeting-time-sel.h: Fixed the #include lines to deal properly
with gal.
If you've read this far, you deserve a prize. The first email in my
mailbox with the subject "What a commit message!" (and your physical
mailing address somewhere in the message) will receive a free Helix
Code T-shirt mailed to anywhere within the continental United States.
I cannot be held responsible for problems with email systems anywhere.
This is supposed to be for fun, so please don't make a fuss if
something goes wrong and your mail doesn't reach me. Find my email
elsewhere in this message, and if it's been more than a few days,
you're probably too late.
From widgets/misc/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS). Removed unneeded libraries.
* e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c:
Fixed the #include lines to deal properly with gal.
* e-scroll-frame.c, e-scroll-frame.h: Moved to gal.
From widgets/shortcut-bar/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and
$(EXTRA_GNOME_LIBS). Removed unneeded libraries.
* e-icon-bar.c, e-icon-bar.h, e-shortcut-bar.c,
e-shortcut-model.c, test-shortcut-bar.c: Fixed the #include lines
to deal properly with gal.
From widgets/ChangeLog:
2000-09-18 Christopher James Lahey <clahey@helixcode.com>
* Makefile.am: Removed directories that have been moved to gal.
* e-paned/.cvsignore, e-paned/Makefile.am, e-paned/e-hpaned.c,
e-paned/e-hpaned.h, e-paned/e-paned.c, e-paned/e-paned.h,
e-paned/e-vpaned.c, e-paned/e-vpaned.h: Moved to gal.
* e-reflow/.cvsignore, e-reflow/Makefile.am,
e-reflow/e-reflow-sorted.c, e-reflow/e-reflow-sorted.h,
e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved to gal.
* e-table/.cvsignore, e-table/ChangeLog, e-table/LICENSE,
e-table/Makefile.am, e-table/ROADMAP.e-table, e-table/TODO,
e-table/add-col.xpm, e-table/arrow-down.xpm, e-table/arrow-up.xpm,
e-table/check-empty.xpm, e-table/check-filled.xpm,
e-table/clip.png, e-table/e-cell-checkbox.c,
e-table/e-cell-checkbox.h, e-table/e-cell-string.c,
e-table/e-cell-text.c, e-table/e-cell-text.h,
e-table/e-cell-toggle.c, e-table/e-cell-toggle.h,
e-table/e-cell-tree.c, e-table/e-cell-tree.h, e-table/e-cell.c,
e-table/e-cell.h, e-table/e-table-click-to-add.c,
e-table/e-table-click-to-add.h, e-table/e-table-col-dnd.h,
e-table/e-table-col.c, e-table/e-table-col.h,
e-table/e-table-column-model.h, e-table/e-table-column.c,
e-table/e-table-config.c, e-table/e-table-config.glade,
e-table/e-table-config.glade.h, e-table/e-table-config.h,
e-table/e-table-defines.h, e-table/e-table-example-1.c,
e-table/e-table-example-2.c,
e-table/e-table-field-chooser-dialog.c,
e-table/e-table-field-chooser-dialog.h,
e-table/e-table-field-chooser-item.c,
e-table/e-table-field-chooser-item.h,
e-table/e-table-field-chooser.c,
e-table/e-table-field-chooser.glade,
e-table/e-table-field-chooser.glade.h,
e-table/e-table-field-chooser.h,
e-table/e-table-group-container.c,
e-table/e-table-group-container.h, e-table/e-table-group-leaf.c,
e-table/e-table-group-leaf.h, e-table/e-table-group.c,
e-table/e-table-group.glade, e-table/e-table-group.glade.h,
e-table/e-table-group.h, e-table/e-table-header-item.c,
e-table/e-table-header-item.h, e-table/e-table-header.c,
e-table/e-table-header.h, e-table/e-table-item.c,
e-table/e-table-item.h, e-table/e-table-model.c,
e-table/e-table-model.h, e-table/e-table-one.c,
e-table/e-table-one.h, e-table/e-table-scrolled.c,
e-table/e-table-scrolled.h, e-table/e-table-selection-model.c,
e-table/e-table-selection-model.h, e-table/e-table-simple.c,
e-table/e-table-simple.h, e-table/e-table-size-test.c,
e-table/e-table-sort-info.c, e-table/e-table-sort-info.h,
e-table/e-table-sorted-variable.c,
e-table/e-table-sorted-variable.h, e-table/e-table-sorted.c,
e-table/e-table-sorted.h, e-table/e-table-sorter.c,
e-table/e-table-sorter.h, e-table/e-table-subset-variable.c,
e-table/e-table-subset-variable.h, e-table/e-table-subset.c,
e-table/e-table-subset.h, e-table/e-table-text-model.c,
e-table/e-table-text-model.h, e-table/e-table-tooltip.h,
e-table/e-table-tree.h, e-table/e-table.c, e-table/e-table.h,
e-table/e-tree-example-1.c, e-table/e-tree-example-2.c,
e-table/e-tree-model.c, e-table/e-tree-model.h,
e-table/e-tree-simple.c, e-table/e-tree-simple.h,
e-table/image1.png, e-table/image2.png, e-table/image3.png,
e-table/remove-col.xpm, e-table/sample.table,
e-table/table-test.c, e-table/table-test.h, e-table/test-check.c,
e-table/test-cols.c, e-table/test-table.c: Moved to gal.
* e-text/.cvsignore, e-text/Makefile.am, e-text/e-entry-test.c,
e-text/e-entry.c, e-text/e-entry.h,
e-text/e-text-event-processor-emacs-like.c,
e-text/e-text-event-processor-emacs-like.h,
e-text/e-text-event-processor-types.h,
e-text/e-text-event-processor.c, e-text/e-text-event-processor.h,
e-text/e-text-model.c, e-text/e-text-model.h,
e-text/e-text-test.c, e-text/e-text.c, e-text/e-text.h: Moved to
gal.
i.e.,
...
changed evolution to work with gal.
svn path=/trunk/; revision=5490
|
|
|
|
|
|
|
|
|
|
| |
* camel.c (camel_init): Set camel_verbose_debug to TRUE if
CAMEL_VERBOSE_DEBUG is set in the environment.
* camel-remote-store.c (remote_send_line, remote_recv_line): only
log if camel_verbose_debug is TRUE.
svn path=/trunk/; revision=5462
|
|
|
|
| |
svn path=/trunk/; revision=5202
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-08-30 Jeffrey Stedfast <fejj@helixcode.com>
* camel-remote-store.c (remote_send_string): Don't wrap printed
strings in quotes, makes things messy
* providers/imap/camel-imap-folder.c (imap_get_message): Updated
to use the camel_imap_fetch_command
* providers/imap/camel-imap-stream.c (stream_read): Updated to use
camel_imap_fetch_command
* providers/imap/camel-imap-store.c (camel_imap_command_extended):
No longer handles FETCH requests so no longer needs to be
concerned with checking to make sure that server responses are
valid (they have to be).
(camel_imap_fetch_command): New convenience function that handles
all FETCH requests
svn path=/trunk/; revision=5122
|
|
|
|
|
|
| |
CamelRemoteStore do its stuff in service::connect, not ::post_connect.
svn path=/trunk/; revision=5116
|
|
|
|
|
|
|
|
|
|
|
|
| |
2000-08-30 Jeffrey Stedfast <fejj@helixcode.com>
* camel-remote-store.c: Prevent exceptions from being overwritten
* providers/imap/camel-imap-folder.c (imap_expunge): Beautified
(imap_get_subfolder_names_internal): Removed old code as the
replacement code has now been tested and proven to work
svn path=/trunk/; revision=5107
|
|
Prepare for the ability to cancel operations (much better exception handling). Clean up IMAP like nobody's business
svn path=/trunk/; revision=5103
|