diff --git a/include/class_acl.inc b/include/class_acl.inc index ec61c4d42a8adc739ff1c6ee7f3f79606959a0aa..4a35e8c84e335124ec94718795d0997a06709a6f 100644 --- a/include/class_acl.inc +++ b/include/class_acl.inc @@ -141,7 +141,12 @@ class acl foreach ($ma as $memberdn) { // Check for wildcard here $dn = base64_decode($memberdn); - if ($dn != "*") { + if ($dn != '*') { + if (empty($dn)) { + trigger_error('Empty dn found in members of ACL'); + continue; + } + $ldap->cat($dn, array('cn', 'objectClass', 'description', 'uid')); /* Found entry... */ diff --git a/plugins/admin/acl/class_aclAssignment.inc b/plugins/admin/acl/class_aclAssignment.inc index ab785338bd00fae594e3287c50c620af01244b17..39fe886299190d9b692ee6e6e16f95ca359752c6 100644 --- a/plugins/admin/acl/class_aclAssignment.inc +++ b/plugins/admin/acl/class_aclAssignment.inc @@ -156,6 +156,11 @@ class ACLsAssignmentDialog extends GenericDialog function handle_finish () { $this->dialog->save_object(); + $messages = $this->dialog->check(); + if (!empty($messages)) { + msg_dialog::displayChecks($messages); + return $this->dialog->execute(); + } $this->attribute->addValue($this->dialog->getAclEntry()); return FALSE; }