Commit Graph

81 Commits

Author SHA1 Message Date
Francois Gouget d452578185 adsldp: Fix typos and spelling issues in FIXME() messages.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 17:19:11 +02:00
Dmitry Timoshkov e521fe0327 adsldp/tests: Fix memory leaks (Valgrind).
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 14:15:12 +02:00
Dmitry Timoshkov 2ff5eb7f13 adsldp: Fix memory leaks (Valgrind).
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 14:15:12 +02:00
Dmitry Timoshkov 213404da80 adsldp: Add support for paged search.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 14:15:12 +02:00
Francois Gouget 0be09af819 adsldp: Fix the spelling of some FIXME() messages.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:04:07 +02:00
Dmitry Timoshkov 6bcdf9587b adsldp/tests: Add one more skip() to catch ERROR_DS_SERVER_DOWN.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-13 21:33:30 +02:00
Dmitry Timoshkov b579f04998 adsldp: Add support for searching of deleted objects.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-13 21:33:30 +02:00
Dmitry Timoshkov 125414193f adsldp: Fix IDirectorySearch::FreeColumn() for ADSTYPE_NT_SECURITY_DESCRIPTOR.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-13 21:33:30 +02:00
Dmitry Timoshkov 7b138e929d adsldp: Fix mapping for 1.3.6.1.4.1.1466.115.121.1.26.
According to rfc4517 1.3.6.1.4.1.1466.115.121.1.26 is IA5 String,
and in an AD DC managed by Samba it's used for LDAP attributes
"loginShell" and "unixHomeDirectory", so I assumed that a proper
type for it is ADSTYPE_CASE_EXACT_STRING. However testing under
Windows 10 shows that it's ADSTYPE_CASE_IGNORE_STRING there.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-13 21:33:30 +02:00
Dmitry Timoshkov 4d68fcdb68 adsldp: Map 1.3.6.1.4.1.1466.115.121.1.26 to ADSTYPE_CASE_EXACT_STRING.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-10 12:43:52 +02:00
Dmitry Timoshkov fc1cc8ef78 adsldp: Fix typos in ADSTYPE_BOOLEAN handling.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:04 +02:00
Dmitry Timoshkov 3eaecb2854 adsldp: Use correct format specifiers for SYSTEMTIME fields.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:04 +02:00
Dmitry Timoshkov cd1c8a328d adsldp: Recognize ADS_SEARCHPREF_TOMBSTONE in IDirectorySearch::SetSearchPreference().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 12:33:33 +02:00
Dmitry Timoshkov f94d6f72b3 adsldp: Add support for ADS_SEARCHPREF_ATTRIBTYPES_ONLY to IDirectorySearch::SetSearchPreference().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 12:33:31 +02:00
Dmitry Timoshkov 6f60151f5f adsldp: Map 1.2.840.113556.1.4.903 to ADSTYPE_DN_WITH_BINARY.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 12:33:28 +02:00
Dmitry Timoshkov 38e95ed222 adsldp: Map "1.2.840.113556.1.4.906" to ADSTYPE_LARGE_INTEGER.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 22:24:31 +02:00
Dmitry Timoshkov c7656ffd18 adsldp: Map "1.3.6.1.4.1.1466.115.121.1.24" to ADSTYPE_UTC_TIME.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 22:24:31 +02:00
Dmitry Timoshkov 8a3de59fcb adsldp/tests: Remove no longer needed goto.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Dmitry Timoshkov 220b871236 adsldp: Recognize ADS_SEARCHPREF_CACHE_RESULTS in IDirectorySearch::SetSearchPreference().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Dmitry Timoshkov 5c8f688f1a adsldp: Recognize ADS_SEARCHPREF_PAGESIZE in IDirectorySearch::SetSearchPreference().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Dmitry Timoshkov 0d15fb330d adsldp: Always fully initialize returned column values.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Dmitry Timoshkov bd34ffbdda adsldp: Fix a typo in IDirectorySearch::GetNextRow().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Dmitry Timoshkov 07b18a7672 wldap32: Locally cache "supportedControl" rootDSE attribute, and check it in ldap_set_option(LDAP_OPT_SERVER_CONTROLS).
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 17:02:12 +02:00
Dmitry Timoshkov ab54779c61 adsldp: Map 1.2.840.113556.1.4.907 to ADSTYPE_NT_SECURITY_DESCRIPTOR.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:42:51 +02:00
Dmitry Timoshkov af1c34294d adsldp: Add support for IDirectorySearch::SetSearchPreference(ADS_SEARCHPREF_SECURITY_MASK).
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:42:46 +02:00
Dmitry Timoshkov 0d49dcd39f adsldp: Forward IDirectoryObject::QueryInterface() to parent.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:42:40 +02:00
Dmitry Timoshkov 59c7e1977c adsldp: Add IDirectoryObject stubs.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 20:59:04 +02:00
Dmitry Timoshkov 5a6f56d3a2 adsldp: Sort the attribute types array.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 17:26:52 +02:00
Dmitry Timoshkov 6591ddd58c adsldp: Ignore attribute definitions without NAME.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 17:26:20 +02:00
Dmitry Timoshkov 4cdc333677 adsldp: Initialize also pADsValues->dwType field.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 17:26:16 +02:00
Dmitry Timoshkov f0f24b4be4 adsldp: Store original LDAP values pointer in hReserved.
AD Explorer depends on this.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 17:26:12 +02:00
Dmitry Timoshkov 6ae2d05fb7 adsldp: Blacklist serverless and rootDSE connections in QueryInterface(&IID_IDirectorySearch).
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 17:25:59 +02:00
Dmitry Timoshkov efe7c309cd adsldp/tests: Handle more cases of ERROR_DS_SERVER_DOWN.
Probably server protects itself from quick successive connections
from the same client and returns LDAP_SERVER_DOWN.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:07 +02:00
Dmitry Timoshkov 57f3d503c4 adsldp: Fix IDirectorySearch::GetColumn() behaviour for not found case.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:07 +02:00
Dmitry Timoshkov 21959bf00a adsldp: Implement IDirectorySearch::FreeColumn().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:06 +02:00
Dmitry Timoshkov 7f98809173 adsldp: Map 1.3.6.1.4.1.1466.115.121.1.7 to ADSTYPE_BOOLEAN.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:06 +02:00
Dmitry Timoshkov 5a6c8359c9 adsldp: Map 1.3.6.1.4.1.1466.115.121.1.15 to ADSTYPE_CASE_IGNORE_STRING.
According to RFC4517 1.3.6.1.4.1.1466.115.121.1.15 is a Directory string
which should map to one of TeletextString, PrintableString or UniversalString.

Something else should map to ADSTYPE_NT_SECURITY_DESCRIPTOR.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:06 +02:00
Dmitry Timoshkov 12d1d8aaf4 adsldp: Map 1.3.6.1.4.1.1466.115.121.1.38 to ADSTYPE_CASE_IGNORE_STRING.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:06 +02:00
Dmitry Timoshkov fd3ef3f545 adsldp: Add support for NAME token with multiple entries.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:06 +02:00
Dmitry Timoshkov 2c86658e6a adsldp: Require attribute definition to be properly terminated.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:06 +02:00
Dmitry Timoshkov 1a27b6e527 adsldp: Recognize and skip not supported schema tokens.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:06 +02:00
Dmitry Timoshkov 5875a659c1 adsldp: Add initial version of attribute schema parser.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-27 21:16:13 +01:00
Dmitry Timoshkov dbe8d61c70 adsldp: Add more traces.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-27 21:16:13 +01:00
Dmitry Timoshkov 032d848ac4 adsldp/tests: Add some tests for IDirectorySearch.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:37:08 +01:00
Dmitry Timoshkov e5ecd3b465 adsldp: Add support for special column name "ADsPath" to IDirectorySearch::GetColumn().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:37:02 +01:00
Dmitry Timoshkov 889e66c2fe adsldp: Implement IDirectorySearch::GetColumn().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:36:43 +01:00
Dmitry Timoshkov e53a00944e adsldp: Add special column "ADsPath" at the end of the entry.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:36:38 +01:00
Dmitry Timoshkov 3adc9c5b21 adsldp: Implement IDirectorySearch::GetNextColumnName().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:36:34 +01:00
Dmitry Timoshkov d2ab8296d4 adsldp: Improve IDirectorySearch::GetNextRow() end of entries detection logic.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:36:28 +01:00
Dmitry Timoshkov 7758d7a11c adsldp: Add a trace.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:36:20 +01:00