dovecot-2.0: doveadm fetch: Added support for mailbox-guid searc...

dovecot at dovecot.org dovecot at dovecot.org
Fri Apr 30 15:36:02 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/5d0027f17bd8
changeset: 11233:5d0027f17bd8
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Apr 30 15:33:15 2010 +0300
description:
doveadm fetch: Added support for mailbox-guid search key/fetch field.

diffstat:

 src/doveadm/doveadm-mail-expunge.c |   4 ++++
 src/doveadm/doveadm-mail-fetch.c   |  11 +++++++++++
 2 files changed, 15 insertions(+), 0 deletions(-)

diffs (63 lines):

diff -r 389a251c9cfe -r 5d0027f17bd8 src/doveadm/doveadm-mail-expunge.c
--- a/src/doveadm/doveadm-mail-expunge.c	Fri Apr 30 15:32:50 2010 +0300
+++ b/src/doveadm/doveadm-mail-expunge.c	Fri Apr 30 15:33:15 2010 +0300
@@ -52,6 +52,7 @@
 				return FALSE;
 			break;
 		case SEARCH_MAILBOX:
+		case SEARCH_MAILBOX_GUID:
 		case SEARCH_MAILBOX_GLOB:
 			break;
 		default:
@@ -71,6 +72,7 @@
 	for (arg = args; arg != NULL; arg = arg->next) {
 		switch (arg->type) {
 		case SEARCH_MAILBOX:
+		case SEARCH_MAILBOX_GUID:
 		case SEARCH_MAILBOX_GLOB:
 			return TRUE;
 		case SEARCH_OR:
@@ -112,6 +114,7 @@
 	for (arg = args; arg != NULL; arg = arg->next) {
 		switch (arg->type) {
 		case SEARCH_MAILBOX:
+		case SEARCH_MAILBOX_GUID:
 		case SEARCH_MAILBOX_GLOB:
 			return FALSE;
 		case SEARCH_OR:
@@ -138,6 +141,7 @@
 	for (arg = args; arg != NULL; arg = arg->next) {
 		switch (arg->type) {
 		case SEARCH_MAILBOX:
+		case SEARCH_MAILBOX_GUID:
 		case SEARCH_MAILBOX_GLOB:
 			break;
 		case SEARCH_OR:
diff -r 389a251c9cfe -r 5d0027f17bd8 src/doveadm/doveadm-mail-fetch.c
--- a/src/doveadm/doveadm-mail-fetch.c	Fri Apr 30 15:32:50 2010 +0300
+++ b/src/doveadm/doveadm-mail-fetch.c	Fri Apr 30 15:33:15 2010 +0300
@@ -38,6 +38,16 @@
 	return 0;
 }
 
+static int fetch_mailbox_guid(struct fetch_context *ctx)
+{
+	uint8_t guid[MAIL_GUID_128_SIZE];
+
+	if (mailbox_get_guid(ctx->mail->box, guid) < 0)
+		return -1;
+	str_append(ctx->hdr, mail_guid_128_to_string(guid));
+	return 0;
+}
+
 static int fetch_seq(struct fetch_context *ctx)
 {
 	str_printfa(ctx->hdr, "%u", ctx->mail->seq);
@@ -208,6 +218,7 @@
 
 static const struct fetch_field fetch_fields[] = {
 	{ "mailbox",       0,                        fetch_mailbox },
+	{ "mailbox-guid",  0,                        fetch_mailbox_guid },
 	{ "seq",           0,                        fetch_seq },
 	{ "uid",           0,                        fetch_uid },
 	{ "guid",          0,                        fetch_guid },


More information about the dovecot-cvs mailing list