I have an application that stores contacts in OpenLDAP. It uses the c attribute to store a string describing a country name. The syntax of c only allows a two-letter country code, but the application uses full country names. Therefore the attribute it should be using is co, or friendlyCountryName. Unfortunately I cannot change this application. (It's Mozilla).

I am looking for a way to make this work. I can, of course, change the schema definition of c to that of co, but that seems bad practice. I could also disable schema checking, but that is even worse.

I have also tried using the rwm overlay to map c onto co, which works (as in: client saves c, database contains co), but then the syntax of c is still enforced, so that doesn't work.

So, the best option I have now is to change the syntax of c in the core schema. But I am curious: are there better ways to work around this?

  • By Mozilla do you mean Thunderbird? – 84104 Apr 16 '16 at 18:17
  • Yes. I'm using the official Mozilla schema spec, which can be found here – roelvanmeer Apr 18 '16 at 5:52

If your LDAP server is configured with the mozillaAbPersonAlpha schema, you can tack the AUX objectClass: mozillaAbPersonAlpha onto your entries (provided they have cn) and then use the mozillaHomeCountryName attribute.

  • How will that help? Thunderbird will still use the c attribute for storing the country name. It's not that I need a place to store the full country name, I need a way to let Thunderbird store the full country name in the attribute that it uses for that (which is c). – roelvanmeer Apr 19 '16 at 7:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.