Re: [Evolution-hackers] error in generated vcalendar + error reading changed tasks/events





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,PROJECT


It 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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]