OpenOffice.org(OOo) uses Mozilla's AB Query implementation. When the Mozilla attribute "PreferMailFormat" is accessed from a mork database, the values "0", "1" or "2" are returned. When an LDAP Directory Server supporting this attribute is accessed, the returned values are "true" or "false". Mozilla itself does not have this problem because it never requests individual properties, it always requests an nsIAbCard interface which it uses to fetch the values. On the other-hand OOo is requesting the properties without using the nsIAbCard interface. This problem was highlighted following the fix for bug #119331 I hope to attach a patch for this bug soon.
Created attachment 68884 [details] [diff] [review] Ensure consistent returned values for non-Mozilla queries
John, since you have the patch do you want to take this bug.
Taking ownership of this and will press aheadd for a review.
Created attachment 90238 [details] [diff] [review] keep patch up-to-date with head no content change but keep patch up-to-date with head
Comment on attachment 90238 [details] [diff] [review] keep patch up-to-date with head It's not entirely clear to me what's going on here. Can you add some comments to the code to help clear that up? Also, be sure to add your name to the Contributors list in the license boilerplate at the top of the file.
Created attachment 94908 [details] [diff] [review] Add explanation as requested by dan. Finally responding to Dan's initial look at this and hoping the comments clarify the reasoning behind this request.I will re-submit this for review.
I am going to mark this as "WONTFIX". The is a bug, but it is only visible from OpenOffice.org (OOo) which integrates with Mozilla's Address Book. OOo accessed the card properties by requesting individual properties and then getting the value. Mozilla on the other hand uses the "card:nsIAbCard" interface and thus individual card properties can be retreived from there. OOo is now going to request the card properties using the same interface thus ensuring that this code is not activated.