Expunge fails under certain LDAP Provisioner configuration with posix

XMLWordPrintable

      Under certain circumstances when UnixClusters are being used and the LDAP Provisioner is configured to provision the posixAccount and posixGroup objectclasses expunging a user can fail.

      This appears in the logs:

      2024-12-19 16:34:23 Warning: Warning (2): Undefined array key "objectclass" in [/srv/comanage-registry/app/Plugin/LdapProvisioner/Model/CoLdapProvisionerTarget.php, line 1548]
      Trace:
      ErrorHandler::handleError() - CORE/Cake/Error/ErrorHandler.php, line 230
      CoLdapProvisionerTarget::assembleAttributes() - APP/Plugin/LdapProvisioner/Model/CoLdapProvisionerTarget.php, line 1548
      CoLdapProvisionerTarget::provision() - APP/Plugin/LdapProvisioner/Model/CoLdapProvisionerTarget.php, line 1796
      ProvisionerBehavior::invokePlugin() - APP/Model/Behavior/ProvisionerBehavior.php, line 648
      ProvisionerBehavior::invokePlugins() - APP/Model/Behavior/ProvisionerBehavior.php, line 830
      ProvisionerBehavior::provisionGroups() - APP/Model/Behavior/ProvisionerBehavior.php, line 1456
      ProvisionerBehavior::determineProvisioning() - APP/Model/Behavior/ProvisionerBehavior.php, line 527
      ProvisionerBehavior::afterSave() - APP/Model/Behavior/ProvisionerBehavior.php, line 132
      ObjectCollection::trigger() - CORE/Cake/Utility/ObjectCollection.php, line 129
      CakeEventManager::dispatch() - CORE/Cake/Event/CakeEventManager.php, line 244
      Model::_doSave() - CORE/Cake/Model/Model.php, line 1970
      Model::save() - CORE/Cake/Model/Model.php, line 1760
      Model::saveField() - CORE/Cake/Model/Model.php, line 1712
      CoPerson::recalculateStatus() - APP/Model/CoPerson.php, line 1108
      CoPersonRole::afterSave() - APP/Model/CoPersonRole.php, line 304
      CakeEventManager::dispatch() - CORE/Cake/Event/CakeEventManager.php, line 242
      Model::_doSave() - CORE/Cake/Model/Model.php, line 1970
      Model::save() - CORE/Cake/Model/Model.php, line 1760
      Model::saveField() - CORE/Cake/Model/Model.php, line 1712
      CoPipeline::processDelete() - APP/Model/CoPipeline.php, line 764
      CoPipeline::execute() - APP/Model/CoPipeline.php, line 395
      CoOrgIdentityLink::delete() - APP/Model/CoOrgIdentityLink.php, line 231
      CoPerson::expunge() - APP/Model/CoPerson.php, line 461
      CoPeopleController::expunge() - APP/Controller/CoPeopleController.php, line 580
      ReflectionMethod::invokeArgs() - [internal], line ??
      Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 499
      Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193
      Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167
      [main] - APP/webroot/index.php, line 96
       
      2024-12-19 16:34:23 Error: [TypeError] array_search(): Argument #2 ($haystack) must be of type array, null given
      Request URL: /registry/co_people/expunge/29
      Stack Trace:
      #0 /srv/comanage-registry/app/Plugin/LdapProvisioner/Model/CoLdapProvisionerTarget.php(1548): array_search()
      #1 /srv/comanage-registry/app/Plugin/LdapProvisioner/Model/CoLdapProvisionerTarget.php(1796): CoLdapProvisionerTarget->assembleAttributes()
      #2 /srv/comanage-registry/app/Model/Behavior/ProvisionerBehavior.php(648): CoLdapProvisionerTarget->provision()
      #3 /srv/comanage-registry/app/Model/Behavior/ProvisionerBehavior.php(830): ProvisionerBehavior->invokePlugin()
      #4 /srv/comanage-registry/app/Model/Behavior/ProvisionerBehavior.php(1456): ProvisionerBehavior->invokePlugins()
      #5 /srv/comanage-registry/app/Model/Behavior/ProvisionerBehavior.php(527): ProvisionerBehavior->provisionGroups()
      #6 /srv/comanage-registry/app/Model/Behavior/ProvisionerBehavior.php(132): ProvisionerBehavior->determineProvisioning()
      #7 /srv/comanage-registry/lib/Cake/Utility/ObjectCollection.php(129): ProvisionerBehavior->afterSave()
      #8 /srv/comanage-registry/lib/Cake/Event/CakeEventManager.php(244): ObjectCollection->trigger()
      #9 /srv/comanage-registry/lib/Cake/Model/Model.php(1970): CakeEventManager->dispatch()
      #10 /srv/comanage-registry/lib/Cake/Model/Model.php(1760): Model->_doSave()
      #11 /srv/comanage-registry/lib/Cake/Model/Model.php(1712): Model->save()
      #12 /srv/comanage-registry/app/Model/CoPerson.php(1108): Model->saveField()
      #13 /srv/comanage-registry/app/Model/CoPersonRole.php(304): CoPerson->recalculateStatus()
      #14 /srv/comanage-registry/lib/Cake/Event/CakeEventManager.php(242): CoPersonRole->afterSave()
      #15 /srv/comanage-registry/lib/Cake/Model/Model.php(1970): CakeEventManager->dispatch()
      #16 /srv/comanage-registry/lib/Cake/Model/Model.php(1760): Model->_doSave()
      #17 /srv/comanage-registry/lib/Cake/Model/Model.php(1712): Model->save()
      #18 /srv/comanage-registry/app/Model/CoPipeline.php(764): Model->saveField()
      #19 /srv/comanage-registry/app/Model/CoPipeline.php(395): CoPipeline->processDelete()
      #20 /srv/comanage-registry/app/Model/CoOrgIdentityLink.php(231): CoPipeline->execute()
      #21 /srv/comanage-registry/app/Model/CoPerson.php(461): CoOrgIdentityLink->delete()
      #22 /srv/comanage-registry/app/Controller/CoPeopleController.php(580): CoPerson->expunge()
      #23 [internal function]: CoPeopleController->expunge()
      #24 /srv/comanage-registry/lib/Cake/Controller/Controller.php(499): ReflectionMethod->invokeArgs()
      #25 /srv/comanage-registry/lib/Cake/Routing/Dispatcher.php(193): Controller->invokeAction()
      #26 /srv/comanage-registry/lib/Cake/Routing/Dispatcher.php(167): Dispatcher->_invoke()
      #27 /srv/comanage-registry/app/webroot/index.php(96): Dispatcher->dispatch()
      #28 {main}

      A 500 is returned from the /registry/co_people/expunge/<id> route.

            Assignee:
            Benn Oshrin
            Reporter:
            Scott Koranda
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: