From: Art Cancro Date: Fri, 15 Oct 2004 03:10:26 +0000 (+0000) Subject: * Calendar objects UID now generated by generate_uuid() which creates X-Git-Tag: v7.86~5219 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=7b6378740e80c464164cc5393f0a724705649830 * Calendar objects UID now generated by generate_uuid() which creates pseudo-DCE-ish UUID's. --- diff --git a/webcit/ChangeLog b/webcit/ChangeLog index 0ac846ef0..56067409c 100644 --- a/webcit/ChangeLog +++ b/webcit/ChangeLog @@ -1,4 +1,8 @@ $Log$ +Revision 524.5 2004/10/15 03:10:24 ajc +* Calendar objects UID now generated by generate_uuid() which creates + pseudo-DCE-ish UUID's. + Revision 524.4 2004/10/05 01:59:31 ajc * localtime_r() fixes @@ -2093,3 +2097,4 @@ Sun Dec 6 19:50:55 EST 1998 Art Cancro 1998-12-03 Nathan Bryant * webserver.c: warning fix + diff --git a/webcit/calendar.c b/webcit/calendar.c index 91a2c413a..a28eadaa3 100644 --- a/webcit/calendar.c +++ b/webcit/calendar.c @@ -672,7 +672,7 @@ void save_individual_task(icalcomponent *supplied_vtodo, long msgnum) { lprintf(9, "Give this task a UID if it doesn't have one.\n"); if (icalcomponent_get_first_property(vtodo, ICAL_UID_PROPERTY) == NULL) { - generate_new_uid(buf); + generate_uuid(buf); icalcomponent_add_property(vtodo, icalproperty_new_uid(buf) ); diff --git a/webcit/calendar_tools.c b/webcit/calendar_tools.c index 5b34a88c1..713a7feb0 100644 --- a/webcit/calendar_tools.c +++ b/webcit/calendar_tools.c @@ -172,18 +172,6 @@ struct icaltimetype icaltime_from_webform(char *prefix) { } -/* - * Generate a new, globally unique UID parameter for a calendar object. - */ -void generate_new_uid(char *buf) { - static int seq = 0; - - sprintf(buf, "%ld-%d@%s", - (long)time(NULL), - (seq++), - serv_info.serv_fqdn); -} - /* * Render a PARTSTAT parameter as a string (and put it in parentheses) */ diff --git a/webcit/event.c b/webcit/event.c index 8f99da03a..b9ea1fea3 100644 --- a/webcit/event.c +++ b/webcit/event.c @@ -556,7 +556,7 @@ void save_individual_event(icalcomponent *supplied_vevent, long msgnum) { lprintf(9, "Give this event a UID if it doesn't have one.\n"); if (icalcomponent_get_first_property(vevent, ICAL_UID_PROPERTY) == NULL) { - generate_new_uid(buf); + generate_uuid(buf); icalcomponent_add_property(vevent, icalproperty_new_uid(buf) ); diff --git a/webcit/tools.c b/webcit/tools.c index 25258ce1b..4a2d35b63 100644 --- a/webcit/tools.c +++ b/webcit/tools.c @@ -548,3 +548,20 @@ int CtdlDecodeBase64(char *dest, const char *source, size_t length) } } } + + +/* + * Generate a new, globally unique UID parameter for a calendar etc. object + */ +void generate_uuid(char *buf) { + static int seq = 0; + + sprintf(buf, "{%08x-%04x-%04x-%04x-%012x}", + (int)time(NULL), + (seq++), + getpid(), + rand(), + rand() + ); +} + diff --git a/webcit/webcit.h b/webcit/webcit.h index 0ff542d77..fdf003a9b 100644 --- a/webcit/webcit.h +++ b/webcit/webcit.h @@ -428,6 +428,7 @@ void free_attachments(struct wcsession *sess); void set_room_policy(void); void display_inetconf(void); void save_inetconf(void); +void generate_uuid(char *); #ifdef WEBCIT_WITH_CALENDAR_SERVICE @@ -439,7 +440,6 @@ void display_icaltimetype_as_webform(struct icaltimetype *, char *); struct icaltimetype icaltime_from_webform(char *prefix); void display_edit_individual_event(icalcomponent *supplied_vtodo, long msgnum); void save_individual_event(icalcomponent *supplied_vtodo, long msgnum); -void generate_new_uid(char *); void respond_to_request(void); void handle_rsvp(void); void ical_dezonify(icalcomponent *cal);