Bug 56436

Summary: PIM API: valid UID characters
Product: SyncEvolution Reporter: Patrick Ohly <patrick.ohly>
Component: SyncEvolutionAssignee: Patrick Ohly <patrick.ohly>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: syncevolution-issues
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 55916    

Description Patrick Ohly 2012-10-26 16:58:40 UTC
The API allowed colons as part of the peer UID. This special character is avoided in SyncEvolution config file names and thus currently gets replaced by underscores (SetPeer works, GetAllPeers returns different uid).

Instead of trying to figure out how to support a colon in UID, better remove it from the API definition.
Comment 1 Patrick Ohly 2012-10-26 17:56:17 UTC
Uppercase characters are also problematic: GetAllPeers() returns the lower case, while the database UID in EDS is in upper case.

Only allow lower case?

The alternative is to use the peerName property to store the original UID. Makes the implementation more complicated, though.
Comment 2 Patrick Ohly 2012-11-30 14:25:33 UTC
(In reply to comment #0)
> The API allowed colons as part of the peer UID. This special character is
> avoided in SyncEvolution config file names and thus currently gets replaced
> by underscores (SetPeer works, GetAllPeers returns different uid).
> 
> Instead of trying to figure out how to support a colon in UID, better remove
> it from the API definition.

Done.

(In reply to comment #1)
> Uppercase characters are also problematic: GetAllPeers() returns the lower
> case, while the database UID in EDS is in upper case.
> 
> Only allow lower case?

Actually, that was the orginal proposal. The implementation just didn't check it. Added such a check.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.