#1488432 closed Bugs (fixed)

contact photo stored incorrectly in vcard

Reported by: ralph Owned by:
Priority: 5 Milestone: 0.8-rc
Component: Addressbook Version: git-master
Severity: major Keywords:
Cc:

Description

I am using roundcube-carddav to use my address book stored in a davical server. This works great. Only there is a problem with the photo stored by roundcube in the vcard. The photo is stored in such a way other clients (tested with evolution and android) can not display the photo anymore.

Steps to reproduce:

  • create a contact with photo in evolution in an addressbook stored in a davical server
  • using roudcube with the roundcube-carddav plugin installed, open the contact in the carddav addressbook and press save (without editing anything)
  • open the same contact in evolution (after resyncing) and the photo is missing

I used cadaver to find out what was stored in the davical server and it seems the photo field of the vcard created by roundcube is incorrect :

Roundcube stores the photo as:

PHOTO;type=X-EVOLUTION-UNKNOWN:iVBORw0KGgoAAAA....

while it should be stored as:

PHOTO;ENCODING=b;TYPE=X-EVOLUTION-UNKNOWN:iVBORw0KGgoAAAA....

When adding a hack to the roundcube-carddav plugin to replace type=X with ENCODING=b;TYPE=X the photos will work as expected.

I initially filed this bug with roundcube-carddav ( https://github.com/graviox/Roundcube-CardDAV/issues/13 ) but since the plugin uses the internal roundcube address book classes, it should be fixed inside roundcube and not the plugin. Please see the linked issue for more information.

Change History (5)

comment:1 Changed 14 months ago by alec

  • Milestone set to 0.8-rc

When I export a contact with photo. I get

PHOTO;BASE64:....

So, I suppose it depends on Roundcube classes usage. Need more info.

comment:2 Changed 13 months ago by ralph

I did some testing with importing evolution contacts using .vcf files and exporting them again in a normal (non carddav) roundcube addressbook and then it works fine. So yes, perhaps it depend on how the classes are used by the plugin. I'll check.

comment:3 Changed 13 months ago by alec

  • Resolution set to invalid
  • Status changed from new to closed

Provide the content of 1st argument of rcube_vcard class constructor. So, we could try to find if the problem is on our side or not.

comment:4 Changed 13 months ago by alec

  • Resolution invalid deleted
  • Status changed from closed to reopened

It looks that it's indeed rcube_vcard issue. Working on a fix.

comment:5 Changed 13 months ago by alec

  • Resolution set to fixed
  • Status changed from reopened to closed

Fixed in [db70b3fc].

Note: See TracTickets for help on using tickets.