From: Art Cancro Date: Mon, 15 Dec 2003 16:33:47 +0000 (+0000) Subject: * Added support for "Cc" and "Bcc" IMAP SEARCHes X-Git-Tag: v7.86~5672 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=0fe98a70f77338333359eb7963a45a16e0ebaf03 * Added support for "Cc" and "Bcc" IMAP SEARCHes * Bumped the version number to 6.13 --- diff --git a/citadel/ChangeLog b/citadel/ChangeLog index 4f436095f..6b9ccf53f 100644 --- a/citadel/ChangeLog +++ b/citadel/ChangeLog @@ -1,4 +1,8 @@ $Log$ + Revision 612.14 2003/12/15 16:33:47 ajc + * Added support for "Cc" and "Bcc" IMAP SEARCHes + * Bumped the version number to 6.13 + Revision 612.13 2003/12/11 04:21:23 ajc * Removed a "FIXME this needs blah blah" comment because blah blah has since been completed @@ -5154,3 +5158,4 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant Fri Jul 10 1998 Art Cancro * Initial CVS import + diff --git a/citadel/citadel.h b/citadel/citadel.h index 3d2434bea..52944563d 100644 --- a/citadel/citadel.h +++ b/citadel/citadel.h @@ -32,7 +32,7 @@ extern "C" { /* * Text description of this software */ -#define CITADEL "Citadel/UX 6.12" +#define CITADEL "Citadel/UX 6.13" /* * REV_LEVEL is the current version number (multiplied by 100 to avoid having @@ -44,7 +44,7 @@ extern "C" { * usually more strict because you're not really supposed to dump/load and * upgrade at the same time. */ -#define REV_LEVEL 612 /* This version */ +#define REV_LEVEL 613 /* This version */ #define REV_MIN 591 /* Oldest compatible database */ #define EXPORT_REV_MIN 612 /* Oldest compatible export files */ @@ -243,7 +243,7 @@ struct floor { char f_name[256]; /* name of floor */ int f_ref_count; /* reference count */ struct ExpirePolicy f_ep; /* default expiration policy */ - }; +}; #define F_INUSE 1 /* floor is in use */ diff --git a/citadel/imap_search.c b/citadel/imap_search.c index 8141ff7f1..351d16f9d 100644 --- a/citadel/imap_search.c +++ b/citadel/imap_search.c @@ -69,6 +69,7 @@ int imap_do_search_msg(int seq, struct CtdlMessage *msg, int is_or = 0; int pos = 0; int i; + char *fieldptr; if (num_items == 0) return(0); @@ -101,7 +102,13 @@ int imap_do_search_msg(int seq, struct CtdlMessage *msg, } else if (!strcasecmp(itemlist[pos], "BCC")) { - /* FIXME */ + fieldptr = rfc822_fetch_field(msg->cm_fields['M'], "Bcc"); + if (fieldptr != NULL) { + if (bmstrstr(fieldptr, itemlist[pos+1], strncasecmp)) { + match = 1; + } + phree(fieldptr); + } pos += 2; } @@ -123,7 +130,13 @@ int imap_do_search_msg(int seq, struct CtdlMessage *msg, } else if (!strcasecmp(itemlist[pos], "CC")) { - /* FIXME */ + fieldptr = rfc822_fetch_field(msg->cm_fields['M'], "Cc"); + if (fieldptr != NULL) { + if (bmstrstr(fieldptr, itemlist[pos+1], strncasecmp)) { + match = 1; + } + phree(fieldptr); + } pos += 2; } diff --git a/citadel/techdoc/delivery-list.txt b/citadel/techdoc/delivery-list.txt index da66a322e..11c7552fd 100644 --- a/citadel/techdoc/delivery-list.txt +++ b/citadel/techdoc/delivery-list.txt @@ -2,7 +2,9 @@ Description of the custom MIME type "application/x-citadel-delivery-list" This MIME type may be found in the outbound queue room on Citadel systems, which is typically called "__CitadelSMTPspoolout__". The room is flagged as -private, but we will eventually hide it even to Aides. +a "system" room, which means that it's completely hidden to everyone, although +an Aide can get to it if the full name is specified (but unlike a normal +hidden room, it does not appear in the known rooms list on subsequent visits). Messages in this format contain delivery instructions. Therefore, for each message in the queue to be delivered to one or more recipients, there will be