Commit Graph

74 Commits

Author SHA1 Message Date
Eric Lippmann fce2858beb LDAP: Add option to disable server side sorting
We automatically detect whether the server supports server side sorting
and sort manually if that is not the case. But there are LDAP servers
which report that they support this feature in general but have it
disabled for certain fields.

If we send the server side control for any field that has server side
sort disabled, the LDAP server will abort the query.

With the new configuration option it is possible to disable server side
sorting and it has precedence over our automatic detection.
Since this is a very special LDAP server configuration, there is no GUI
option for this.
2020-05-25 11:08:13 +02:00
Johannes Meyer 098bcfb98f LdapConnection: Ignore unknown vendor upon inspection 2020-01-13 13:46:32 +01:00
Johannes Meyer 7bb9c8e25f LdapConnnection: Don't pass param `$serverCtrls` to `ldap_search` prior php 7.3
refs #4013
2020-01-13 13:17:40 +01:00
Johannes Meyer 7bc1893a24 LdapConnection: Don't utilize `ldap_control_paged_result()` on PHP 7.3+
https://www.php.net/manual/en/migration74.deprecated.php#migration74.deprecated.ldap
2019-12-04 09:33:13 +01:00
Johannes Meyer 40e27f8e2a LdapConnection: Properly render logical NOTs with only single expression
fixes #3818
2019-06-05 12:59:36 +02:00
Elias Probst 483a9d1935 Typo (`Issueing` > `Issuing`) (#3773) 2019-05-03 15:56:47 +02:00
Johannes Meyer 1d341f9253 LdapConnection: Include the normalized hostname in all informational messages
refs #3639
2019-04-23 10:55:23 +02:00
Johannes Meyer d998bd9894 LdapConnection: Normalize the hostname in all cases, not just for LDAPS
refs #3639
2019-04-23 10:54:40 +02:00
ignasr 12ee9580a9 When using LDAPS, check if the Host field has hostnames with ports and use the value from Port field if not. 2019-04-12 08:57:52 +02:00
ignasr 9b1f49413d use the correct LDAPS port
refs #3713
2019-03-08 18:49:20 +01:00
Markus Frosch 39f5b5e2cd LdapConnection: Ensure port and timeout are numbers 2018-10-16 14:44:01 +02:00
Markus Frosch 3f782460dc LdapConnection: Add timeout setting with a useful default value 2018-10-16 14:35:50 +02:00
Alexander A. Klimov fc1f6e13ab Drop PHP 5.3 support 2018-05-07 11:36:54 +02:00
Johannes Meyer ce4ae47805 LdapConnection: Respect a query's offset not only for ordered results
refs #2765
2018-01-16 12:59:42 +01:00
Johannes Meyer 37f22518bb LdapConnection: Respect query limits also for paged queries
refs #2765
2018-01-16 12:59:42 +01:00
Alexander A. Klimov 2282e1aa4f LdapConnection: respect a query's limit as expected
refs #2765
2018-01-16 12:59:42 +01:00
Alexander A. Klimov d13856eb39 Wizard: show LDAP connection settings discovery failure reasons
refs #2865
2017-10-26 10:25:37 +02:00
Johannes Meyer 8d3e8b829f LdapConnection: Properly handle multiple hosts if encryption is involved
refs #2645
2017-02-02 13:29:34 +01:00
Johannes Meyer 181e2ef05c Swag: Fix swag (aka a whole bunch of code style issues..) 2017-01-27 14:48:59 +01:00
Eric Lippmann 1d1a4b4be3 Optimize imports in LdapConnection 2016-04-08 12:58:30 +02:00
Eric Lippmann 1f69189b14 Merge branch 'feature/ldap-scope-11485'
resolves #11485
2016-04-08 12:57:41 +02:00
Markus Frosch 955a9482ad lib/LDAP: Add fetchByDn for a base scope retrieval on an entry
refs #11485
2016-04-07 17:16:51 +02:00
Markus Frosch 202d61dd4e lib/LDAP: Add support for LDAP search scope
Configurable on the LdapQuery, handled by LdapConnection::ldapSearch

refs #11485
2016-04-07 17:16:38 +02:00
Markus Frosch adeaf60aed lib/LDAP: Do not explicitly set the fields list when ordering
refs #11489
2016-04-07 17:13:07 +02:00
Johannes Meyer cdb873cbdb ResourceFactory: Validate a resource's configuration
Probably only a quickfix, but feels still more proper than the
previous solution, on a second thought..
2016-02-12 14:19:44 +01:00
Alexander A. Klimov 34afcc07b3 LdapConnection: disallow an empty root DN
fixes #11114
2016-02-09 10:29:08 +01:00
Alexander A. Klimov 474803fee4 Change all license headers to only reflect a file's year of creation
refs #11000
2016-02-08 15:41:00 +01:00
Johannes Meyer 9587c363f6 LdapConnection: Do not explicitly emit the bind password in the log 2015-11-27 08:13:35 +01:00
Johannes Meyer 31b584b338 LdapConnection: Fix method fetchOne()
The method suffered from multiple issues:
* Actual NULL values were interpreted as if the row does not have any cols
* Which attribute's value got returned was dependent on the result set instead of the desired columns

refs #10567
2015-11-11 12:44:08 +01:00
Johannes Meyer 2917f352b5 Merge branch 'master' into bugfix/unreliable-attribute-ambiguity-check-10567
Conflicts:
	library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php
	library/Icinga/Protocol/Ldap/LdapConnection.php
2015-11-11 11:53:19 +01:00
Johannes Meyer c85bce7211 LdapConnection: Add method ldapSearch()
This will now emit a debug message for each issued search operation.

refs #10567
2015-11-11 10:01:00 +01:00
Johannes Meyer cee639d689 LdapConnection: Re-apply a query's filter on unfolded rows
refs #10370
2015-11-10 14:03:08 +01:00
Johannes Meyer e408630e34 LdapConnection: Do not require calling array_flip for method cleanupAttributes()
Seems to be a relict of an earlier implementation..

refs #10370
2015-11-10 13:41:08 +01:00
Johannes Meyer 666e67b405 LdapConnection: Prefer strict checks when utilizing in_array() 2015-11-10 13:17:30 +01:00
Johannes Meyer 4341eef4b1 LdapQuery: Add support for Icinga\Data\Filter
refs #10370
2015-11-09 15:59:48 +01:00
Johannes Meyer 57f30b1f92 Do not apply server side sorting for paged search requests
Revert this prior start working on #10147

refs #10147
2015-10-01 15:47:11 +02:00
Johannes Meyer e5f035c537 LdapConnection: Do not apply any custom vodoo on a ldap resource object
refs #9772
2015-09-29 12:08:17 +02:00
Johannes Meyer d720180348 LdapConnection: Properly apply limit and offset for unfolded queries
refs #9772
2015-09-29 11:41:21 +02:00
Johannes Meyer b0559206af LdapConnection: Do not substract 1 from a given offset, #2
refs #9772
2015-09-29 11:39:36 +02:00
Johannes Meyer 624f5050b7 LdapConnection: Count properly in case the result may get unfolded
refs #9772
2015-09-29 11:33:21 +02:00
Johannes Meyer 575875481a LdapConnection: Do not substract 1 from a given offset
refs #9772
2015-09-29 11:31:36 +02:00
Johannes Meyer 33c6f2e06b LdapConnection: Support unfolding multi value attributes
refs #9772
2015-09-29 09:47:30 +02:00
Eric Lippmann eff9249863 lib: Don't provide LDAP server-side sort request if the query has no order
refs #10147
2015-09-17 13:01:58 +02:00
Eric Lippmann a4fec6f42e lib: Fix LdapConnection::encodeSortRules()
- Fix reverseOrder encoding
- Support PHP < 5.4
2015-09-08 14:29:31 +02:00
Eric Lippmann 39c68dd5ce LDAP Auth: Fix Fatal error: Call to a member function hasOid() on a non-object 2015-09-04 15:01:05 +02:00
Eric Lippmann 297a4333cd lib/ldap: Use the indefinite form of the length octets for encoded sort rules where appropriate
I guess we may never need this, but hey :)

refs #9364
2015-09-04 11:58:11 +02:00
Eric Lippmann 9b22b24561 lib/ldap: Use ldap_count_entries for counting the result set 2015-09-04 09:57:04 +02:00
Eric Lippmann fa25ce7f2f lib/ldap: Set server side sorting after calling ldap_control_paged_result()
ldap_control_paged_result() seems to override already set server controls.

refs #9364
2015-09-03 17:50:24 +02:00
Eric Lippmann 9e11d539fd lib/ldap: Enable server side sorting if supported by the server
refs #9364
2015-09-03 17:48:53 +02:00
Eric Lippmann 00e5bbe91c lib/ldap: Fix LdapConnection::encodeSortRules()
refs #9364
2015-09-03 17:47:54 +02:00