diff --git a/LibreNMS/Authentication/ADAuthorizationAuthorizer.php b/LibreNMS/Authentication/ADAuthorizationAuthorizer.php index 4695b7b5eb..5895dabb9c 100644 --- a/LibreNMS/Authentication/ADAuthorizationAuthorizer.php +++ b/LibreNMS/Authentication/ADAuthorizationAuthorizer.php @@ -78,6 +78,9 @@ class ADAuthorizationAuthorizer extends MysqlAuthorizer $this->userFilter($username), ['samaccountname'] ); + if ($search === false) { + throw new AuthenticationException('User search failed: ' . ldap_error($this->ldap_connection)); + } $entries = ldap_get_entries($this->ldap_connection, $search); if ($entries['count']) { @@ -151,6 +154,9 @@ class ADAuthorizationAuthorizer extends MysqlAuthorizer $this->userFilter($username), $attributes ); + if ($search === false) { + throw new AuthenticationException('Role search failed: ' . ldap_error($this->ldap_connection)); + } $entries = ldap_get_entries($this->ldap_connection, $search); if ($entries['count']) { diff --git a/LibreNMS/Authentication/LdapAuthorizationAuthorizer.php b/LibreNMS/Authentication/LdapAuthorizationAuthorizer.php index 6e69b370d9..30d82b55b7 100644 --- a/LibreNMS/Authentication/LdapAuthorizationAuthorizer.php +++ b/LibreNMS/Authentication/LdapAuthorizationAuthorizer.php @@ -95,6 +95,9 @@ class LdapAuthorizationAuthorizer extends AuthorizerBase $filter = '(' . Config::get('auth_ldap_prefix') . $username . ')'; $search = ldap_search($this->ldap_connection, trim(Config::get('auth_ldap_suffix'), ','), $filter); + if ($search === false) { + throw new AuthenticationException('User search failed: ' . ldap_error($this->ldap_connection)); + } $entries = ldap_get_entries($this->ldap_connection, $search); if ($entries['count']) { /* @@ -125,6 +128,9 @@ class LdapAuthorizationAuthorizer extends AuthorizerBase // Find all defined groups $username is in $filter = '(&(|(cn=' . implode(')(cn=', array_keys(Config::get('auth_ldap_groups'))) . '))(' . Config::get('auth_ldap_groupmemberattr') . '=' . $this->getMembername($username) . '))'; $search = ldap_search($this->ldap_connection, Config::get('auth_ldap_groupbase'), $filter); + if ($search === false) { + throw new AuthenticationException('Role search failed: ' . ldap_error($this->ldap_connection)); + } $entries = ldap_get_entries($this->ldap_connection, $search); $authLdapGroups = Config::get('auth_ldap_groups');