Univention Bugzilla – Bug 14235
String-Custom-Attribute lässt sich nicht leersetzen
Last modified: 2012-05-02 09:43:41 CEST
Ich habe in UCS 2.2 das organizationalPerson-Attribut "audio" an einem User als Custom Attribute mit der Syntax String angelegt, damit lassen sich auch Werte setzen. Versucht man aber den String zu entfernen kommt der LDAP-Fehler "Inappropriate matching". Ich glaube dass ich das als multivalue angelegt habe.
Ticket#: 2010072710001621 Das tritt auch unter 2.3-2 mit extendet Attributes auf. Der letze Wert eines Multivalue-String EA lässt sich nicht über den UDM löschen ( "Inappropriate matching") # udm settings/extended_attribute create --position "cn=custom attributes,cn=univention,dc=univention,dc=qa" --set name=fax --set shortDescription=FaxNumber --set tabName=Contact --set translationTabName="de_DE Kontakt" --set CLIName=fax --set mayChange=1 --set multivalue=1 --set module="users/user" --set objectClass=inetOrgPerson --set ldapMapping=facsimileTelephoneNumber
facsimileTelephoneNumber besitzt keine equality- oder substr-Rule. python-ldap versucht jedoch, den letzten Wert gezielt unter Angabe des Wertes aus dem LDAP zu entfernen, was dann zu dem Fehler "Inappropriate matching" führt. Die Syntax 1.3.6.1.4.1.1466.115.121.1.22 (FAX-Nummer) bietet nicht die Möglichkeit, eine equality-Regel anzugeben. Daher wurde der Datentyp des Attributs auf String (max Länge: 64) geändert und mit entsprechenden equality- und substr-Rules versehen. Die Änderung wurde als Patch gegen das Paket openldap realisiert. Das "audio"-Attribut ist laut http://www.ietf.org/rfc/rfc1274.txt darauf ausgelegt, u-law Audio-Daten zu speichern. Das ergibt als Custom Attribute keinen Sinn. Daher wurde dieses Attribut nicht angepasst. Paket wurde im 2.4-2 Scope neu gebaut. Changelogeintrag wurde vorgenommen.
Mit facsimileTelephoneNumber funktioniert es nun (audio sollte kein multivalue sein): -> udm settings/extended_attribute create \ --position "cn=custom attributes,cn=univention,dc=univention,dc=qa" \ --set name=fax --set shortDescription=FaxNumber \ --set tabName=Contact --set translationTabName="de_DE Kontakt" \ --set CLIName=fax --set mayChange=1 --set multivalue=1 \ --set module="users/user" --set objectClass=inetOrgPerson \ --set ldapMapping=facsimileTelephoneNumber -> udm users/user modify --dn uid=Administrator,cn=users,dc=univention,dc=qa \ --append fax=1 -> udm users/user modify --dn uid=Administrator,cn=users,dc=univention,dc=qa \ --append fax=2 -> udm users/user modify --dn uid=Administrator,cn=users,dc=univention,dc=qa \ --append fax=3 -> ldapsearch -x uid=Administrator facsimileTelephoneNumber -LLL dn: uid=Administrator,cn=users,dc=univention,dc=qa facsimileTelephoneNumber: 1 facsimileTelephoneNumber: 2 facsimileTelephoneNumber: 3 -> udm users/user modify --dn uid=Administrator,cn=users,dc=univention,dc=qa \ --remove fax=1 -> udm users/user modify --dn uid=Administrator,cn=users,dc=univention,dc=qa \ --remove fax=2 -> udm users/user modify --dn uid=Administrator,cn=users,dc=univention,dc=qa \ --remove fax=3 -> ldapsearch -x uid=Administrator facsimileTelephoneNumber -LLL dn: uid=Administrator,cn=users,dc=univention,dc=qa -> cat /etc/ldap/schema/core.schema attributetype ( 2.5.4.23 NAME ( 'facsimileTelephoneNumber' 'fax' ) DESC 'RFC2256: Facsimile (Fax) Telephone Number' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{64} ) Changelog Eintrag vorhanden.
UCS 2.4-2 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte der Bug dupliziert werden: "Clone This Bug".
*** Bug 22204 has been marked as a duplicate of this bug. ***