$Log$
+ Revision 630.8 2005/01/27 22:05:21 ajc
+ * Renamed the "Extended message ID" field to "Exclusive message ID"
+ (nothing changes except documentation and internal variable names)
+
Revision 630.7 2005/01/27 21:59:22 ajc
* serv_vcard.c: changed the logic a bit. When saving a vCard to a user's
"My Citadel Config" room, force-feed the vCard a site-compliant UID and
Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
* Initial CVS import
+
/*
- * Check to see if any messages already exist which carry the same Extended ID
+ * Check to see if any messages already exist which carry the same Exclusive ID
* as this one.
*
* If any are found:
int abort_this = 0;
lprintf(CTDL_DEBUG, "ReplicationChecks() started\n");
- /* No extended id? Don't do anything. */
+ /* No exclusive id? Don't do anything. */
if (msg->cm_fields['E'] == NULL) return 0;
if (strlen(msg->cm_fields['E']) == 0) return 0;
- lprintf(CTDL_DEBUG, "Extended ID: <%s>\n", msg->cm_fields['E']);
+ lprintf(CTDL_DEBUG, "Exclusive ID: <%s>\n", msg->cm_fields['E']);
CtdlAllocUserData(SYM_REPL, sizeof(struct repl));
- strcpy(msg_repl->extended_id, msg->cm_fields['E']);
+ strcpy(msg_repl->exclusive_id, msg->cm_fields['E']);
msg_repl->highest = atol(msg->cm_fields['T']);
template = (struct CtdlMessage *) malloc(sizeof(struct CtdlMessage));
CtdlForEachMessage(MSGS_ALL, 0L, NULL, template, check_repl, NULL);
- /* If a newer message exists with the same Extended ID, abort
+ /* If a newer message exists with the same Exclusive ID, abort
* this save.
*/
if (msg_repl->highest > atol(msg->cm_fields['T']) ) {
lprintf(CTDL_DEBUG, "Performing before-save hooks\n");
if (PerformMessageHooks(msg, EVT_BEFORESAVE) > 0) return(-1);
- /* If this message has an Extended ID, perform replication checks */
+ /* If this message has an Exclusive ID, perform replication checks */
lprintf(CTDL_DEBUG, "Performing replication checks\n");
if (ReplicationChecks(msg) > 0) return(-1);
struct repl { /* Info for replication checking */
- char extended_id[SIZ];
+ char exclusive_id[SIZ];
time_t highest;
};
* the summary of the event (becomes message subject),
* and the start time (becomes message date/time).
*/
-void ical_ctdl_set_extended_msgid(char *name, char *filename, char *partnum,
+void ical_ctdl_set_exclusive_msgid(char *name, char *filename, char *partnum,
char *disp, void *content, char *cbtype, size_t length,
char *encoding, void *cbuserdata)
{
/* If this is a text/calendar object, hunt for the UID and drop it in
* the "user data" pointer for the MIME parser. When
- * ical_obj_beforesave() sees it there, it'll set the Extended msgid
+ * ical_obj_beforesave() sees it there, it'll set the Exclusive msgid
* to that string.
*/
if (!strcasecmp(cbtype, "text/calendar")) {
/*
* See if we need to prevent the object from being saved (we don't allow
* MIME types other than text/calendar in "calendar" or "tasks" rooms). Also,
- * when saving an event to the calendar, set the message's Citadel extended
+ * when saving an event to the calendar, set the message's Citadel exclusive
* message ID to the UID of the object. This causes our replication checker to
* automatically delete any existing instances of the same object. (Isn't
* that cool?)
memset(&imm, 0, sizeof(struct icalmessagemod));
mime_parser(msg->cm_fields['M'],
NULL,
- *ical_ctdl_set_extended_msgid,
+ *ical_ctdl_set_exclusive_msgid,
NULL, NULL,
(void *)&imm,
0
/* If this is a text/calendar object, hunt for the UID and drop it in
* the "user data" pointer for the MIME parser. When
- * ical_obj_beforesave() sees it there, it'll set the Extended msgid
+ * ical_obj_beforesave() sees it there, it'll set the Exclusive msgid
* to that string.
*/
if (!strcasecmp(cbtype, "text/calendar")) {
/*
* If we are in a "notes" view room, and the client has sent an RFC822
* message containing an X-KOrg-Note-Id: field (Aethera does this, as
- * do some Kolab clients) then set both the Subject and the Extended ID
+ * do some Kolab clients) then set both the Subject and the Exclusive ID
* of the message to that. It's going to be a UUID so we want to replace
* any existing message containing that UUID.
*/
#define ADDRESS_BOOK_ROOM "Global Address Book"
/*
- * Format of the "Extended ID" field of the message containing a user's
+ * Format of the "Exclusive ID" field of the message containing a user's
* vCard. Doesn't matter what it really looks like as long as it's both
* unique and consistent (because we use it for replication checking to
* delete the old vCard network-wide when the user enters a new one).
/*
* When a user is being deleted, we have to remove his/her vCard.
* This is accomplished by issuing a message with 'CANCEL' in the S (special)
- * field, and the same Extended ID as the existing card.
+ * field, and the same Exclusive ID as the existing card.
*/
void vcard_purge(struct ctdluser *usbuf) {
struct CtdlMessage *msg;
message in the queue to be delivered to one or more recipients, there will be
*two* messages in the room: one containing the actual message, and the other
containing delivery instructions. It is expected that the instructions
-message may be replaced at any time (using an Extended ID field) if delivery
+message may be replaced at any time (using an Exclusive ID field) if delivery
to only some of the recipients has been accomplished.
Citadel keeps reference counts of each message on disk. Therefore if a
internal API handles it.
D Destination Contains name of the system this message should
be sent to, for mail routing (private mail only).
-E Extended ID A persistent alphanumeric Message ID used for
+E Exclusive ID A persistent alphanumeric Message ID used for
network replication. When a message arrives that
- contains an Extended ID, any existing messages which
- contain the same Extended ID and are *older* than this
+ contains an Exclusive ID, any existing messages which
+ contain the same Exclusive ID and are *older* than this
message should be deleted. If there exist any messages
- with the same Extended ID that are *newer*, then this
+ with the same Exclusive ID that are *newer*, then this
message should be dropped.
F rFc822 address For Internet mail, this is the delivery address of the
message author.