JP Rosevear wrote:
On Tue, 2005-03-08 at 21:35 +0100, Armin Bauer wrote:JP Rosevear wrote:On Tue, 2005-03-08 at 07:10 +0100, Armin Bauer wrote:Hi, i discovered two bugs: The first one is in the way evo2 generates vcalendars: Categories get generated as: CATEGORIES:Birthday\,Business but it should be (taken from http://www.ietf.org/rfc/rfc2445.txt): CATEGORIES:MEETING,PROJECTIt appears the rfc is contradicting itself in the examples, see 4.3.11. That shows the "text" grammar type to need escaping of commas and CATEGORIES is of this type, as well: The "TEXT" property values may also contain special characters that are used to signify delimiters, such as a COMMA character for lists of values or a SEMICOLON character for structured values. In order to support the inclusion of these special characters in "TEXT" property values, they MUST be escaped with a BACKSLASH character. A BACKSLASH character (US-ASCII decimal 92) in a "TEXT" property value MUST be escaped with another BACKSLASH character. A COMMA character in a "TEXT" property value MUST be escaped with a BACKSLASH character (US-ASCII decimal 92). A SEMICOLON character in a "TEXT" property value MUST be escaped with a BACKSLASH character (US-ASCII decimal 92). However, a COLON character in a "TEXT" property value SHALL NOT be escaped with a BACKSLASH character.Example: A multiple line value of:actually its not: Type name: CATEGORIES Type purpose: To specify application category information about the vCard.Type encoding: 8bit Type value: One or more text values separated by a COMMA character (ASCII decimal 44).Hmm, the above block is indeed a little confusing. Let me state what i'm seeing: It says that "TEXT" property values may include a COMMA for a delimiter but that in order to include a COMMA in a "TEXT" property they must be escaped. What they really want to say I guess is that they want to delimit blocks of "text", as defined in the abnf notation: text = *(TSAFE-CHAR / ":" / DQUOTE / ESCAPED-CHAR)) with a comma, ie :text,text,text to make up a TEXT property value as a whole. Anyhow, I think whats really happening is that Evolution wants to use the CATEGORIES as a whole single string and breaks it up in the UI itself. The \, means we are treating the categories as a single block rather a delimited list, that is valid icalendar, if a bit unusual.
So, judging from your answer, that you are not going to change this?
Type example: CATEGORIES:TRAVEL AGENT CATEGORIES:INTERNET,IETF,INDUSTRY,INFORMATION TECHNOLOGY so this would be valid: sometext\,,somemoretext i know that the standard is just plain stupid at this point since the categories is the only occasion they are using a comma and besides... even the evolution2 vcard parser is expecting the categories with an unescaped comma :)The second one is that when i add several tasks/events, request them via e_cal_get_changes, delete all of them and request again using e_cal_get_changes the returned GList will contain more items than delete d and the additional items look like random memory locations. I attached the code that produces this result. I took a look at the bug database and there are quite some bugs which reporting crashing etc when deleting tasks/events, so maybe this is related.Probably unrelated, but it might help against some pilot bugs. What is the exactly version you are coding against?ii evolution 2.0.4-0.1 The groupware suite ii evolution-data 1.0.4-0.1 evolution database backend server entry 20050308T203113Z-6966-1000-6736-0 azrael entry 20050308T203113Z-6966-1000-6736-1 azrael entry 20050308T203002Z-6781-1000-1-1 azrael entry 20050308T203113Z-6966-1000-6736-2 azrael entry 20050308T203002Z-6781-1000-1-2 azrael entry 20050307T183359Z-32171-1000-1-42 azrael Note that i deleted 3 tasks (the ones with *1000-1*)Have you looked at the .xml file on disk to see if thats being updated properly?
Yes. i attached the ics and .db files after the first sync (after i added 3 tasks) and after the second one (with the deletion). Nothing suspicious... But there seems to be another bug: take a look at before.ics. there are errors in there which i guess is not correct. (but these errors are not the root of the problem, i checked this)
-JP
BEGIN:VCALENDAR CALSCALE:GREGORIAN PRODID:-//Ximian//NONSGML Evolution Calendar//EN VERSION:2.0 BEGIN:VTIMEZONE TZID:/softwarestudio.org/Olson_20011030_5/Europe/Berlin X-LIC-LOCATION:Europe/Berlin BEGIN:DAYLIGHT TZOFFSETFROM:+0100 TZOFFSETTO:+0200 TZNAME:CEST DTSTART:19700329T020000 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3 END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:+0200 TZOFFSETTO:+0100 TZNAME:CET DTSTART:19701025T030000 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10 END:STANDARD END:VTIMEZONE END:VCALENDAR
<?xml version="1.0" encoding="UTF-8"?> <xmlhash/>
BEGIN:VCALENDAR CALSCALE:GREGORIAN PRODID:-//Ximian//NONSGML Evolution Calendar//EN VERSION:2.0 BEGIN:VTIMEZONE TZID:/softwarestudio.org/Olson_20011030_5/Europe/Berlin X-LIC-LOCATION:Europe/Berlin BEGIN:DAYLIGHT TZOFFSETFROM:+0100 TZOFFSETTO:+0200 TZNAME:CEST DTSTART:19700329T020000 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3 END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:+0200 TZOFFSETTO:+0100 TZNAME:CET DTSTART:19701025T030000 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10 END:STANDARD END:VTIMEZONE BEGIN:VTODO UID:20050308T225333Z-7732-1000-1-6 azrael DTSTAMP:20050308T225333Z SUMMARY:1 X-LIC-ERROR;X-LIC-ERRORTYPE=VALUE-PARSE-ERROR:No value for STATUS property. Removing entire property: PRIORITY:0 CREATED:20050308T225333 LAST-MODIFIED:20050308T225333 END:VTODO BEGIN:VTODO UID:20050308T225333Z-7732-1000-1-7 azrael DTSTAMP:20050308T225333Z SUMMARY:2 X-LIC-ERROR;X-LIC-ERRORTYPE=VALUE-PARSE-ERROR:No value for STATUS property. Removing entire property: PRIORITY:0 CREATED:20050308T225333 LAST-MODIFIED:20050308T225333 END:VTODO BEGIN:VTODO UID:20050308T225333Z-7732-1000-1-8 azrael DTSTAMP:20050308T225333Z SUMMARY:3 X-LIC-ERROR;X-LIC-ERRORTYPE=VALUE-PARSE-ERROR:No value for STATUS property. Removing entire property: PRIORITY:0 CREATED:20050308T225333 LAST-MODIFIED:20050308T225333 END:VTODO END:VCALENDAR
<?xml version="1.0" encoding="UTF-8"?> <xmlhash><object uid="20050308T225333Z-7732-1000-1-8 azrael">BEGIN:VTODO UID:20050308T225333Z-7732-1000-1-8 azrael DTSTAMP:20050308T225333Z SUMMARY:3 X-LIC-ERROR;X-LIC-ERRORTYPE=VALUE-PARSE-ERROR:No value for STATUS property. Removing entire property: PRIORITY:0 CREATED:20050308T225333 LAST-MODIFIED:20050308T225333 END:VTODO </object><object uid="20050308T225333Z-7732-1000-1-6 azrael">BEGIN:VTODO UID:20050308T225333Z-7732-1000-1-6 azrael DTSTAMP:20050308T225333Z SUMMARY:1 X-LIC-ERROR;X-LIC-ERRORTYPE=VALUE-PARSE-ERROR:No value for STATUS property. Removing entire property: PRIORITY:0 CREATED:20050308T225333 LAST-MODIFIED:20050308T225333 END:VTODO </object><object uid="20050308T225333Z-7732-1000-1-7 azrael">BEGIN:VTODO UID:20050308T225333Z-7732-1000-1-7 azrael DTSTAMP:20050308T225333Z SUMMARY:2 X-LIC-ERROR;X-LIC-ERRORTYPE=VALUE-PARSE-ERROR:No value for STATUS property. Removing entire property: PRIORITY:0 CREATED:20050308T225333 LAST-MODIFIED:20050308T225333 END:VTODO </object></xmlhash>
Attachment:
signature.asc
Description: OpenPGP digital signature