Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/camel/ChangeLog,v
retrieving revision 1.1645
diff -u -3 -r1.1645 ChangeLog
--- ChangeLog	13 Sep 2002 21:36:28 -0000	1.1645
+++ ChangeLog	18 Sep 2002 07:27:52 -0000
@@ -1,3 +1,9 @@
+2002-09-18  Not Zed  <NotZed@Ximian.com>
+
+	* providers/imap/camel-imap-command.c
+	(camel_imap_command_response): If we get an ALERT, pass it to the
+	user.  An rfc2060 MUST, and bug #22496.
+
 2002-09-13  Jeffrey Stedfast  <fejj@ximian.com>
 
 	* camel-mime-part.c (process_header): If header_msgid_decode fails
Index: providers/imap/camel-imap-command.c
===================================================================
RCS file: /cvs/gnome/evolution/camel/providers/imap/camel-imap-command.c,v
retrieving revision 1.51
diff -u -3 -r1.51 camel-imap-command.c
--- providers/imap/camel-imap-command.c	3 Sep 2002 14:55:03 -0000	1.51
+++ providers/imap/camel-imap-command.c	18 Sep 2002 07:27:54 -0000
@@ -42,6 +42,7 @@
 #include <camel/camel-exception.h>
 #include <camel/camel-private.h>
 #include <camel/camel-utf8.h>
+#include <camel/camel-session.h>
 
 #define d(x) x
 
@@ -318,6 +319,15 @@
 		respbuf = imap_read_untagged (store, respbuf, ex);
 		if (!respbuf)
 			type = CAMEL_IMAP_RESPONSE_ERROR;
+		else if (!g_strncasecmp(respbuf, "* OK [ALERT]", 12)) {
+			char *msg;
+
+			/* for imap ALERT codes, account user@host */
+			msg = g_strdup_printf(_("Alert from IMAP server %s@%s:\n%s"),
+					      ((CamelService *)store)->url->user, ((CamelService *)store)->url->host, respbuf+12);
+			camel_session_alert_user(((CamelService *)store)->session, CAMEL_SESSION_ALERT_WARNING, msg, FALSE);
+			g_free(msg);
+		}
 		
 		break;
 	case '+':
