* Calendar objects UID now generated by generate_uuid() which creates
authorArt Cancro <ajc@citadel.org>
Fri, 15 Oct 2004 03:10:26 +0000 (03:10 +0000)
committerArt Cancro <ajc@citadel.org>
Fri, 15 Oct 2004 03:10:26 +0000 (03:10 +0000)
  pseudo-DCE-ish UUID's.

webcit/ChangeLog
webcit/calendar.c
webcit/calendar_tools.c
webcit/event.c
webcit/tools.c
webcit/webcit.h

index 0ac846ef07bcea366106b76efaead628cdbbb658..56067409c252bb22c95359d6e4617d6e2ecdff09 100644 (file)
@@ -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 <ajc@uncnsrd.mt-kisco.ny.us>
 
 1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
        * webserver.c: warning fix
+
index 91a2c413a91bb30bf4c37dc88e82a91b1d39b952..a28eadaa3f94e5746d065c3dfb31e5e8a856877f 100644 (file)
@@ -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)
                        );
index 5b34a88c1d88f10070bacd6e895ce916d50d0e3c..713a7feb046990b3ee705faeccca300c977cef83 100644 (file)
@@ -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)
  */
index 8f99da03aba5903646ed897509a33a9e9cf139ea..b9ea1fea389e4a7f37e63bbd15cc6489dbbaad79 100644 (file)
@@ -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)
                        );
index 25258ce1b1f8d1588d845b39da551f9d84d7978c..4a2d35b637f488c2fd1caf8463a26b9272b72e75 100644 (file)
@@ -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()
+       );
+}
+
index 0ff542d77eee5aeaf52abc0a7f4e70d79c2dd531..fdf003a9bae0aa880c73fab7f8275faba10e290c 100644 (file)
@@ -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);