Univention Bugzilla – Bug 28231
Zu ungenauer sed Ausdruck beim ermitteln des Bind-DN
Last modified: 2012-08-16 11:47:23 CEST
Created attachment 4598 [details] Korrigierter sed Ausdruck 2012081621000484 Ein zu ungenauer sed Ausdruck in univention-join kann (z.B: wenn ein Extended Attibute mit "DN: " im Namen existiert) dazu führen dass der Bind-DN nicht korrekt ermittelt wird und der Join damit fehlschlägt.
Breits für UCS-3.1 mit svn34833 im Rahmen von Bug #19430 korrigiert. *** This bug has been marked as a duplicate of bug 19430 ***
Es gibt aber noch einige weitere Stellen, wo prinzipiell das selbe Problem auftreten kann: $ git grep -ic '\<s\(.\)DN: \1\1' base/univention-lib/shell/ldap.sh:1 base/univention-pam/lock-user:1 base/univention-server/managed-client:1 base/univention-server/mobile-client:1 base/univention-system-setup/usr/lib/univention-system-setup/scripts/basis/10hostname:14 base/univention-system-setup/usr/lib/univention-system-setup/scripts/basis/16windows_domain:1 base/univention-system-setup/usr/lib/univention-system-setup/scripts/net/10interfaces:4 base/univention-system-setup/usr/lib/univention-system-setup/scripts/setup_utils.sh:1 management/univention-directory-manager-modules/scripts/fix_primary_group_membership:2 management/univention-directory-manager-modules/test/univention-admin-test:1 management/univention-join/umc/python/join/__init__.py:1 management/univention-join/univention-run-join-scripts:1 management/univention-join/univention-server-join:1 management/univention-ldap/10univention-ldap-server.inst:5 management/univention-ldap/debian/univention-ldap-server.postinst:1 management/univention-ldap/univention-backup2master:3 services/univention-samba/26univention-samba.inst:1 services/univention-samba/addmachine.sh:1 services/univention-samba4/96univention-samba4.inst:1 Generell sollte das grep ^dn: | sed s/dn: // | head -n1 am besten durch folgendes ersetzt werden: sed -ne 's/^dn: //p;T;q' -n: standardmäßig nichts ausgeben -e: Das nächste Argument ist das Programm s//: Substitution p: nach erfolgreicher Substitution Ergebnis ausgeben T: nach erfogloser Substition zum Programmanfang springen und mit nächster Zeile fortfahen q: ansonsten (nach erolgreicher Substitution) sed-Programm beenden Ein Fall für ucslint?