Univention Bugzilla – Bug 21958
[Web/CLI] Falsche/Defekte DHCP-Einträge werden angezeigt, wenn Rechnerobjekt keine MAC-Adresse besitzt
Last modified: 2011-09-14 10:57:06 CEST
Ein Anzeigefehler in Web-UDM und CLI-UDM tritt auf, wenn ein Rechnerobjekt keine MAC-Adresse besitzt und es nochmal geöffnet wird. Der Fehler lässt sich mit 2.4-1 und 2.4-2 reproduzieren. Reproduzierbar via: - Managed Client erstellen mit IP-Adresse, MAC-Adresse, Forward- und Reverse- DNS-Einträgen sowie einem DHCP-Eintrag und speichern - Managed Client öffnen ==> MAC-Adresse entfernen ==> speichern - Managed Client öffnen ==> DHCP-Reiter öffnen ==> dort werden 2 Einträge ohne MAC-Adresse angezeigt Beim UDM CLI sieht es wie folgt aus: root@qamaster:~# udm computers/managedclient list --filter=cn=mana4 cn=mana4 DN: cn=mana4,cn=computers,dc=univention,dc=qa ARG: None domain: univention.qa ip: 10.200.18.105 network: None reinstalloption: None unixhome: /dev/null instprofile: None shell: /bin/bash description: None inventoryNumber: None mac: 33:44:55:66:77:88 reinstalltext: None groups: cn=Computers,cn=groups,dc=univention,dc=qa primaryGroup: cn=Computers,cn=groups,dc=univention,dc=qa password: None reinstall: None dnsEntryZoneForward: zoneName=univention.qa,cn=dns,dc=univention,dc=qa 10.200.18.105 name: mana4 fqdn: mana4.univention.qa dnsEntryZoneReverse: zoneName=18.200.10.in-addr.arpa,cn=dns,dc=univention,dc=qa 10.200.18.105 dhcpEntryZone: cn=univention.qa,cn=dhcp,dc=univention,dc=qa 10.200.18.105 33:44:55:66:77:88 root@qamaster:~# [MAC-Adresse wird im Web-UDM entfernt und Objekt gespeichert] root@qamaster:~# udm computers/managedclient list --filter=cn=mana4 cn=mana4 DN: cn=mana4,cn=computers,dc=univention,dc=qa ARG: None domain: univention.qa ip: 10.200.18.105 network: None reinstalloption: None unixhome: /dev/null instprofile: None shell: /bin/bash description: None inventoryNumber: None mac: None reinstalltext: None groups: cn=Computers,cn=groups,dc=univention,dc=qa primaryGroup: cn=Computers,cn=groups,dc=univention,dc=qa password: None reinstall: None dnsEntryZoneForward: zoneName=univention.qa,cn=dns,dc=univention,dc=qa 10.200.18.105 name: mana4 fqdn: mana4.univention.qa dnsEntryZoneReverse: zoneName=18.200.10.in-addr.arpa,cn=dns,dc=univention,dc=qa 10.200.18.105 dhcpEntryZone: dc=univention,dc=qa 10.203.10.120 dhcpEntryZone: dc=univention,dc=qa 10.200.18.95 root@qamaster:~#
Die DHCP-Einträge im LDAP sind korrekt, d.h. auch wenn per CLI/Web-UDM ein kaputter DHCP-Eintrag angezeigt wird, ist im LDAP keiner vorhanden. Mindestens reproduzierbar mit den Systemrollen Memberserver und DC Slave.
Der Fehler konnte noch einfacher wie folgt reproduziert werden: ==================== eval "$(ucr shell)" mac=$(date +'%H%M%S%N' | md5sum | sed -r 's/(..)/\1:/g' | cut -d: -f 1-6) name=computer$(date +'%H%M%S') udm computers/managedclient create \ --position "cn=computers,$ldap_base" \ --set name=$name \ --set mac=$mac udm computers/managedclient modify \ --dn "cn=$name,cn=computers,$ldap_base" --set mac='' ==================== Problem bei der Anzeige war, dass - wie in dem Beispiel oben - die Liste der MAC-Adressen einen Eintrag mit leeren String enthielt. Die daraus generierte LDAP-Abfrage mit leerer MAC-Adresse fand daraufhin auch einen DHCP-Eintrag, der dann über das UDM-Interface (CLI/Web) angezeigt wurde: ==================== $ ldapsearch -x -LLL \ "(&(dhcpHWAddress=ethernet )(objectClass=univentionDhcpHost))" | \ ldapsearch-decode64 dn: cn=qamaster,dc=univention,dc=qa objectClass: top objectClass: univentionDhcpHost cn: qamaster univentionDhcpFixedAddress: 10.203.10.120 univentionDhcpFixedAddress: 10.200.26.11 dhcpHWAddress: ethernet ==================== Zur Lösung des Problems wurde eine zusätzliche Abfrage beim Öffnen des simpleComputer-Objektes eingebaut, die leere MAC-Adressen ignoriert. Die Frage bleibt bestehen woher der entsprechende DHCP-Eintrag ohne MAC-Adresse kommt? Dieser Eintrag scheint auf allen QA-VMs zu finden zu sein. Das Paket wurde gebaut, das Changelog angepasst. univention-directory-manager-modules (6.0.210-1) unstable; urgency=low * fixed displaying DHCP entries when MAC address ist not given (Bug #21958)
Zur Information, der Fehler trat ursprünglich in Bug #18965 auf.
Das tritt mit 2.4-3 nicht mehr auf. ChangeLog-Eintrag existiert.
UCS 2.4-3 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".