dovecot-2.2: fts-solr: Log a better error if Solr sends invalid ...

dovecot at dovecot.org dovecot at dovecot.org
Fri Aug 10 05:24:41 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/817b69b2b21f
changeset: 14819:817b69b2b21f
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Jul 31 22:03:00 2012 +0300
description:
fts-solr: Log a better error if Solr sends invalid XML input.

diffstat:

 src/plugins/fts-solr/solr-connection.c |  8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diffs (25 lines):

diff -r f74557336910 -r 817b69b2b21f src/plugins/fts-solr/solr-connection.c
--- a/src/plugins/fts-solr/solr-connection.c	Tue Jul 31 20:59:22 2012 +0300
+++ b/src/plugins/fts-solr/solr-connection.c	Tue Jul 31 22:03:00 2012 +0300
@@ -88,7 +88,7 @@
 			  const void *data, size_t size, bool done)
 {
 	enum XML_Error err;
-	int line;
+	int line, col;
 
 	if (conn->xml_failed)
 		return -1;
@@ -99,8 +99,10 @@
 	err = XML_GetErrorCode(conn->xml_parser);
 	if (err != XML_ERROR_FINISHED) {
 		line = XML_GetCurrentLineNumber(conn->xml_parser);
-		i_error("fts_solr: Invalid XML input at line %d: %s",
-			line, XML_ErrorString(err));
+		col = XML_GetCurrentColumnNumber(conn->xml_parser);
+		i_error("fts_solr: Invalid XML input at %d:%d: %s "
+			"(near: %.*s)", line, col, XML_ErrorString(err),
+			(int)I_MIN(size, 128), data);
 		conn->xml_failed = TRUE;
 		return -1;
 	}


More information about the dovecot-cvs mailing list