6.0.0-beta1
▾
Tasks
New Task
Search
Photos
Wiki
▾
Tickets
New Ticket
Search
dev.horde.org
Toggle Alerts Log
Help
8/14/25
H
istory
A
ttachments
C
omment
W
atch
Download
Comment on [#14199] Decoding of base64 encoded Kolab (.xml) objects is broken
*
Your Email Address
*
Spam protection
Enter the letters below:
.__..__.. .. ..__ | || |\ /|_/ [ __ |__||__| \/ | \[_./
Comment
> Kolab groupware objects are stored as XML files / MIME attachments > in mails on Kolab servers. Retrieving Kolab groupware objects means: > retrieving message from an IMAP server, finding the Kolab XML file in > the MIME attachment(s) of that mail and parse the contained (probably > transfer-encoded) XML DOM tree. > > The code in Kolab_Storage_Object decodes MIME attachments containing > Kolab XML objects twice(!). The first decoding step (by a call to > Horde_Imap_Data_Fetch::getBodyPart()) decodes from the MIME > attachment's transfer-encoding to 8bit encoding. The second decoding > step is--by design--actually a non-decoding step, and rather happens > by accident in Horde_Mime_Part::setContents(). Even worse, it seems > that the second encoding step defaults to the MIME attachments > transfer encoding (base64), which has already been decoded to 8bit > encoding. > > So what happens with Kolab MIME attachments with base64 transfer > encoding: they get base64-decoded twice. Which, of course, fails. > > Without the provided patch applied, this results in: > > * Saving failures of events, tasks, etc. if they contain umlauts > and already contained umlauts when opening them. > > * Events, tasks, contacts, etc. not being shown on Kolab shared > folders. People that a certain Kolab container (calendar, address book, > task list) is shared with, cannot see events, tasks, contacts, if > the underlying Kolab XML object's MIME attachment is stored with base64 > transfer encoding. > > * Reproduce: > - create task with title "TEST" (saving works ok) > - modify task, rename title to TÄST (saving works ok) > - modify task again: rename title to TEST (or TÖST, does not > matter): saving fails > - the task named "TÄST" is now immutable and not visible anymore > to other people > how share the task list that task item is in > > The error message, btw., is very similar to what has been reported here: > https://bugs.horde.org/ticket/13865 > > """ > Failed writing the Kolab object: Failed parsing Kolab > object input data of type string! Input was: <some-weird-characters> > """ > >
Attachment
Watch this ticket
N
ew Ticket
M
y Tickets
S
earch
Q
uery Builder
R
eports
Saved Queries
Open Bugs
Bugs waiting for Feedback
Open Bugs in Releases
Open Enhancements
Enhancements waiting for Feedback
Bugs with Patches
Enhancements with Patches
Release Showstoppers
Stalled Tickets
New Tickets
Horde 5 Showstoppers