dovecot: Header searches didn't decode MIME encoded words.

dovecot at dovecot.org dovecot at dovecot.org
Sat Oct 20 23:47:33 EEST 2007


details:   http://hg.dovecot.org/dovecot/rev/ab3a1a8ade55
changeset: 6574:ab3a1a8ade55
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Oct 20 23:47:30 2007 +0300
description:
Header searches didn't decode MIME encoded words.

diffstat:

1 file changed, 8 insertions(+), 6 deletions(-)
src/lib-storage/index/index-search.c |   14 ++++++++------

diffs (33 lines):

diff -r c901bdf0db75 -r ab3a1a8ade55 src/lib-storage/index/index-search.c
--- a/src/lib-storage/index/index-search.c	Sat Oct 20 22:58:54 2007 +0300
+++ b/src/lib-storage/index/index-search.c	Sat Oct 20 23:47:30 2007 +0300
@@ -323,6 +323,7 @@ static void search_header_arg(struct mai
 {
         struct message_search_context *msg_search_ctx;
 	struct message_block block;
+	struct message_header_line hdr;
 	int ret;
 
 	/* first check that the field name matches to argument. */
@@ -381,14 +382,15 @@ static void search_header_arg(struct mai
 					     (unsigned int)-1, TRUE);
 		str = t_str_new(ctx->hdr->value_len);
 		message_address_write(str, addr);
-		block.data = str_data(str);
-		block.size = str_len(str);
-		ret = message_search_more_decoded(msg_search_ctx, &block);
+		hdr = *ctx->hdr;
+		hdr.value = hdr.full_value = str_data(str);
+		hdr.value_len = hdr.full_value_len = str_len(str);
+		block.hdr = &hdr;
+		ret = message_search_more(msg_search_ctx, &block);
 		t_pop();
 	} else {
-		block.data = ctx->hdr->full_value;
-		block.size = ctx->hdr->full_value_len;
-		ret = message_search_more_decoded(msg_search_ctx, &block);
+		block.hdr = ctx->hdr;
+		ret = message_search_more(msg_search_ctx, &block);
 	}
 
 	if (ret > 0 ||


More information about the dovecot-cvs mailing list