diff --git a/include/class_acl.inc b/include/class_acl.inc index 1f27d5f15e546b70120092c74ce231fd10ad2edd..4cda415ceecc6ad303930cfc8c994d24b1b2c5df 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 ecb2f283c2d821089ecc045081554711b2870e7b..34c80f3649f1a6500c6583afac5e21419af156ba 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; }