* Added support for "Cc" and "Bcc" IMAP SEARCHes
authorArt Cancro <ajc@citadel.org>
Mon, 15 Dec 2003 16:33:47 +0000 (16:33 +0000)
committerArt Cancro <ajc@citadel.org>
Mon, 15 Dec 2003 16:33:47 +0000 (16:33 +0000)
* Bumped the version number to 6.13

citadel/ChangeLog
citadel/citadel.h
citadel/imap_search.c
citadel/techdoc/delivery-list.txt

index 4f436095f2c6bff9e80101a1e93191c19677ae82..6b9ccf53fc73bc060d746d8f430cd0d6b6b0b40e 100644 (file)
@@ -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 <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
        * Initial CVS import
+
index 3d2434bea06a6395d60295a786a1fa497ed69381..52944563d598453bdf6b15a8316f2050bff72c91 100644 (file)
@@ -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 */
 
index 8141ff7f18b4dd25c0253985a3c46ed3bf1b5837..351d16f9da0bb72780fc3c905df04259969d86d0 100644 (file)
@@ -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;
        }
 
index da66a322eebc9dec0b2136d4ff44b9ab1fbf840e..11c7552fdf10839656d7a859451ff19b77c9b5d1 100644 (file)
@@ -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