76 Commits

Author SHA1 Message Date
Eric Lippmann
c133cbe4f8
Fix LDAP pagination for PHP7.3+ (#4901)
* Ldap: Read and update cookie values for paged requests also with PHP 7.3+

* Ldap: Provide server-side sort control directly with the request with PHP 7.3+
2022-10-10 09:55:47 +02:00
Sukhwinder Dhillon
bba77b52e7 LdapConnection: Remove deprecated method connect() 2022-06-14 14:24:30 +02:00
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