From b7b6d42af5b9cac5991991820e05e390a889cc6b Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Sat, 27 Sep 2008 08:13:26 +0000 Subject: [PATCH] 2008-09-27 [colin] 3.5.0cvs135 * src/imap.c Fix crash when error happen on session establishment --- ChangeLog | 5 ++++ PATCHSETS | 1 + configure.ac | 2 +- src/imap.c | 85 ++++++++++++++++++++++++++-------------------------- 4 files changed, 50 insertions(+), 43 deletions(-) diff --git a/ChangeLog b/ChangeLog index fa3c59e2c..d376c72b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-09-27 [colin] 3.5.0cvs135 + + * src/imap.c + Fix crash when error happen on session establishment + 2008-09-26 [mones] 3.5.0cvs134 * po/es.po diff --git a/PATCHSETS b/PATCHSETS index fafc853ed..d96f28b4f 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -3546,3 +3546,4 @@ ( cvs diff -u -r 1.204.2.179 -r 1.204.2.180 src/prefs_common.c; cvs diff -u -r 1.103.2.114 -r 1.103.2.115 src/prefs_common.h; cvs diff -u -r 1.1.2.14 -r 1.1.2.15 src/plugins/pgpcore/pgp_viewer.c; ) > 3.5.0cvs132.patchset ( cvs diff -u -r 1.1.2.4 -r 1.1.2.5 src/plugins/pgpcore/claws.def; ) > 3.5.0cvs133.patchset ( cvs diff -u -r 1.60.2.54 -r 1.60.2.55 po/es.po; ) > 3.5.0cvs134.patchset +( cvs diff -u -r 1.179.2.230 -r 1.179.2.231 src/imap.c; ) > 3.5.0cvs135.patchset diff --git a/configure.ac b/configure.ac index 2f18677f2..c279d13a3 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=5 MICRO_VERSION=0 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=134 +EXTRA_VERSION=135 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/imap.c b/src/imap.c index f7ed27b3c..256cef837 100644 --- a/src/imap.c +++ b/src/imap.c @@ -557,139 +557,140 @@ static gboolean is_fatal(int libetpan_errcode) static void imap_handle_error(Session *session, int libetpan_errcode) { + const gchar *session_server = (session ? session->server:"(null)"); switch(libetpan_errcode) { case MAILIMAP_NO_ERROR: return; case MAILIMAP_NO_ERROR_AUTHENTICATED: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: authenticated\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: authenticated\n"), session_server); break; case MAILIMAP_NO_ERROR_NON_AUTHENTICATED: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: not authenticated\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: not authenticated\n"), session_server); break; case MAILIMAP_ERROR_BAD_STATE: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: bad state\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: bad state\n"), session_server); break; case MAILIMAP_ERROR_STREAM: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: stream error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: stream error\n"), session_server); break; case MAILIMAP_ERROR_PARSE: log_warning(LOG_PROTOCOL, _("IMAP error on %s: parse error " - "(very probably non-RFC compliance from the server)\n"), session->server); + "(very probably non-RFC compliance from the server)\n"), session_server); break; case MAILIMAP_ERROR_CONNECTION_REFUSED: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: connection refused\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: connection refused\n"), session_server); break; case MAILIMAP_ERROR_MEMORY: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: memory error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: memory error\n"), session_server); break; case MAILIMAP_ERROR_FATAL: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: fatal error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: fatal error\n"), session_server); break; case MAILIMAP_ERROR_PROTOCOL: log_warning(LOG_PROTOCOL, _("IMAP error on %s: protocol error" - "(very probably non-RFC compliance from the server)\n"), session->server); + "(very probably non-RFC compliance from the server)\n"), session_server); break; case MAILIMAP_ERROR_DONT_ACCEPT_CONNECTION: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: connection not accepted\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: connection not accepted\n"), session_server); break; case MAILIMAP_ERROR_APPEND: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: APPEND error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: APPEND error\n"), session_server); break; case MAILIMAP_ERROR_NOOP: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: NOOP error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: NOOP error\n"), session_server); break; case MAILIMAP_ERROR_LOGOUT: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: LOGOUT error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: LOGOUT error\n"), session_server); break; case MAILIMAP_ERROR_CAPABILITY: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: CAPABILITY error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: CAPABILITY error\n"), session_server); break; case MAILIMAP_ERROR_CHECK: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: CHECK error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: CHECK error\n"), session_server); break; case MAILIMAP_ERROR_CLOSE: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: CLOSE error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: CLOSE error\n"), session_server); break; case MAILIMAP_ERROR_EXPUNGE: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: EXPUNGE error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: EXPUNGE error\n"), session_server); break; case MAILIMAP_ERROR_COPY: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: COPY error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: COPY error\n"), session_server); break; case MAILIMAP_ERROR_UID_COPY: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: UID COPY error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: UID COPY error\n"), session_server); break; case MAILIMAP_ERROR_CREATE: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: CREATE error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: CREATE error\n"), session_server); break; case MAILIMAP_ERROR_DELETE: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: DELETE error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: DELETE error\n"), session_server); break; case MAILIMAP_ERROR_EXAMINE: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: EXAMINE error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: EXAMINE error\n"), session_server); break; case MAILIMAP_ERROR_FETCH: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: FETCH error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: FETCH error\n"), session_server); break; case MAILIMAP_ERROR_UID_FETCH: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: UID FETCH error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: UID FETCH error\n"), session_server); break; case MAILIMAP_ERROR_LIST: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: LIST error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: LIST error\n"), session_server); break; case MAILIMAP_ERROR_LOGIN: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: LOGIN error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: LOGIN error\n"), session_server); break; case MAILIMAP_ERROR_LSUB: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: LSUB error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: LSUB error\n"), session_server); break; case MAILIMAP_ERROR_RENAME: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: RENAME error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: RENAME error\n"), session_server); break; case MAILIMAP_ERROR_SEARCH: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: SEARCH error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: SEARCH error\n"), session_server); break; case MAILIMAP_ERROR_UID_SEARCH: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: UID SEARCH error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: UID SEARCH error\n"), session_server); break; case MAILIMAP_ERROR_SELECT: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: SELECT error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: SELECT error\n"), session_server); break; case MAILIMAP_ERROR_STATUS: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: STATUS error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: STATUS error\n"), session_server); break; case MAILIMAP_ERROR_STORE: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: STORE error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: STORE error\n"), session_server); break; case MAILIMAP_ERROR_UID_STORE: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: UID STORE error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: UID STORE error\n"), session_server); break; case MAILIMAP_ERROR_SUBSCRIBE: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: SUBSCRIBE error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: SUBSCRIBE error\n"), session_server); break; case MAILIMAP_ERROR_UNSUBSCRIBE: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: UNSUBSCRIBE error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: UNSUBSCRIBE error\n"), session_server); break; case MAILIMAP_ERROR_STARTTLS: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: STARTTLS error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: STARTTLS error\n"), session_server); break; case MAILIMAP_ERROR_INVAL: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: INVAL error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: INVAL error\n"), session_server); break; case MAILIMAP_ERROR_EXTENSION: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: EXTENSION error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: EXTENSION error\n"), session_server); break; case MAILIMAP_ERROR_SASL: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: SASL error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: SASL error\n"), session_server); break; #if (defined(USE_OPENSSL) || defined (USE_GNUTLS)) case MAILIMAP_ERROR_SSL: - log_warning(LOG_PROTOCOL, _("IMAP error on %s: SSL error\n"), session->server); + log_warning(LOG_PROTOCOL, _("IMAP error on %s: SSL error\n"), session_server); break; #endif default: log_warning(LOG_PROTOCOL, _("IMAP error on %s: Unknown error [%d]\n"), - session->server, libetpan_errcode); + session_server, libetpan_errcode); break; } -- 2.25.1