Bug 21958 - [Web/CLI] Falsche/Defekte DHCP-Einträge werden angezeigt, wenn Rechnerobjekt keine MAC-Adresse besitzt
[Web/CLI] Falsche/Defekte DHCP-Einträge werden angezeigt, wenn Rechnerobjekt ...
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UDM (Generic)
UCS 2.4
Other Linux
: P5 normal (vote)
: UCS 2.4-3
Assigned To: Alexander Kläser
Andreas Büsching
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-03-23 16:16 CET by Sönke Schwardt-Krummrich
Modified: 2011-09-14 10:57 CEST (History)
1 user (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sönke Schwardt-Krummrich univentionstaff 2011-03-23 16:16:24 CET
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:~#
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2011-03-23 16:19:06 CET
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.
Comment 2 Alexander Kläser univentionstaff 2011-07-14 15:33:56 CEST
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)
Comment 3 Alexander Kläser univentionstaff 2011-07-19 09:58:14 CEST
Zur Information, der Fehler trat ursprünglich in Bug #18965 auf.
Comment 4 Andreas Büsching univentionstaff 2011-08-15 16:06:14 CEST
Das tritt mit 2.4-3 nicht mehr auf. ChangeLog-Eintrag existiert.
Comment 5 Sönke Schwardt-Krummrich univentionstaff 2011-09-14 10:57:06 CEST
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".