https://bugs.winehq.org/show_bug.cgi?id=50545
Bug ID: 50545 Summary: AD Explorer fails to connect Product: Wine Version: 6.0 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: winehq-bugzilla@richardpayne.name Distribution: ---
Created attachment 69215 --> https://bugs.winehq.org/attachment.cgi?id=69215 ADExplorer connection error
Following on from my previous bug report which now appears fixed: https://bugs.winehq.org/show_bug.cgi?id=48623
When I try to connect to the AD in ADExplorer.exe I just get an error code. Nothing appears on the console output between loading the "connect" window and getting the error.
Screenshot attached.
Running the same version of ADExplorer with the same connection settings works perfectly from Windows.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #1 from Dmitry Timoshkov dmitry@baikal.ru --- It would be interesting to see +wldap32,+activeds,+adsldp,+seh,+tid log. Please make sure to remove any sensitive information from it (credentials/passwords).
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #2 from Richard winehq-bugzilla@richardpayne.name --- (In reply to Dmitry Timoshkov from comment #1)
It would be interesting to see +wldap32,+activeds,+adsldp,+seh,+tid log. Please make sure to remove any sensitive information from it (credentials/passwords).
Can you clarify what I need to do to generate that log?
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #3 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Richard from comment #2)
(In reply to Dmitry Timoshkov from comment #1)
It would be interesting to see +wldap32,+activeds,+adsldp,+seh,+tid log. Please make sure to remove any sensitive information from it (credentials/passwords).
Can you clarify what I need to do to generate that log?
Instructions on generating Wine log could be found in the FAQ: https://wiki.winehq.org/FAQ#How_can_I_get_a_debugging_log_.28a.k.a._terminal...
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #4 from Richard winehq-bugzilla@richardpayne.name --- Created attachment 69216 --> https://bugs.winehq.org/attachment.cgi?id=69216 Requested log file
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #5 from Richard winehq-bugzilla@richardpayne.name --- Requested log attached
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #6 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Richard from comment #4)
Created attachment 69216 [details] Requested log file
Thanks. Do you have libsasl2/libsasl2-plugin-gssapi (both 64 and 32-bit) packages installed? Also, are you connecting using kerberos?
In any case it's mostly impossible to remotely debug such configurations.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #7 from Richard winehq-bugzilla@richardpayne.name --- (In reply to Dmitry Timoshkov from comment #6)
(In reply to Richard from comment #4) Do you have libsasl2/libsasl2-plugin-gssapi (both 64 and 32-bit) packages installed? Also, are you connecting using kerberos?
No idea. There's no such packages listed in the Mint software manager. There's no such modules listed in the winecfg Libraries tab.
The domain has Kerberos. ADExplorer doesn't use an existing Kerberos ticket. It requires username and password to be entered.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #8 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Richard from comment #7)
(In reply to Dmitry Timoshkov from comment #6)
(In reply to Richard from comment #4) Do you have libsasl2/libsasl2-plugin-gssapi (both 64 and 32-bit) packages installed? Also, are you connecting using kerberos?
No idea. There's no such packages listed in the Mint software manager.
You may want to try something like this: https://community.linuxmint.com/software/view/libsasl2-modules https://community.linuxmint.com/software/view/libsasl2-modules-gssapi-mit
Or consult Linux Mint related user support forums.
There's no such modules listed in the winecfg Libraries tab.
It's not the Wine provided modules.
The domain has Kerberos. ADExplorer doesn't use an existing Kerberos ticket. It requires username and password to be entered.
Cached Kerberos ticket gets used under the hood by the gssapi plugin.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #9 from Richard winehq-bugzilla@richardpayne.name --- ok, that's weird. The gui software manager doesn't find those packages. Looked with apt and it finds them installed.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #10 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Richard from comment #9)
ok, that's weird. The gui software manager doesn't find those packages. Looked with apt and it finds them installed.
Make sure that you have 32-bit packages installed.
I'd suggest to try debugging this on your own using strace, and/or adding KRB5_TRACE=/dev/stderr. As I mentioned already, this kind of problems is very hard to investigate and debug remotely, especially with credentials info stripped from the logs.
https://bugs.winehq.org/show_bug.cgi?id=50545
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |damjan.jov@gmail.com
--- Comment #11 from Damjan Jovanovic damjan.jov@gmail.com --- I am also investigating an Active Directory authentication bug at the moment.
Here we have 0x8007202a from the messagebox, meaning severity error, facility Win32, code ERROR_DS_AUTH_UNKNOWN.
From the trace:
---snip--- 0024:trace:wldap32:ldap_bind_sW (0x19a488, (null), 0x31b8d4, 0x00000486) 0024:trace:adsldp:openobj_OpenDSObject ldap_bind_sW error 0x56 ---snip---
0x56 is WLDAP32_LDAP_AUTH_UNKNOWN obtained from OpenLDAP's LDAP_AUTH_UNKNOWN.
---snip--- 0x56 86 LDAP_AUTH_UNKNOWN DUA client-side result code Indicates that a bind method was called with an unknown authentication method. ---snip---
Looking at this line in particular:
---snip--- 0024:trace:wldap32:ldap_bind_sW (0x19a488, (null), 0x31b8d4, 0x00000486) ---snip---
(This function is where my app fails too.)
0x00000486 = WLDAP32_LDAP_AUTH_NEGOTIATE cred is non-null, ld is non-null
That means it will call ldap_sasl_interactive_bind_s().
During the call to that function, it should call the sasl_interact() callback which supplies the credentials (realm, username and password). sasl_interact() logs these calls, but nothing is logged here. That means it must be failing earlier: presumably it asks AD for acceptable authentication methods, and the ones supplied by AD are all unsupported, so it is unable to authenticate at all, and doesn't even try asking for credentials.
Take a packet trace with tcpdump or Wireshark, and let's see what it's doing at the network level. If encrypted, you might need a plaintext connection, a tool like ssldump, or to configure Wireshark with the private key. It should tell us much more about what's going, including which authentication methods the AD server supports.
Is this the tool in question: https://docs.microsoft.com/en-us/sysinternals/downloads/adexplorer
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #12 from Dmitry Timoshkov dmitry@baikal.ru --- You may try something like the following to see supported LDAP/ADs authentication methods, and report what you get:
$ ldapsearch -H ldap://dchostname -x -b "" -s base -LLL
$ ldapsearch -H ldap://dchostname -Y GSS-SPNEGO -Q -N -b "" -s base -LLL
$ ldapsearch -H ldap://dchostname -Y GSSAPI -Q -N -b "" -s base -LLL
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #13 from Richard winehq-bugzilla@richardpayne.name --- (In reply to Dmitry Timoshkov from comment #12)
You may try something like the following to see supported LDAP/ADs authentication methods, and report what you get:
$ ldapsearch -H ldap://dchostname -x -b "" -s base -LLL
$ ldapsearch -H ldap://dchostname -Y GSS-SPNEGO -Q -N -b "" -s base -LLL
$ ldapsearch -H ldap://dchostname -Y GSSAPI -Q -N -b "" -s base -LLL
All three commands return very similar (if not identical) info. I've extracted the "supported" lines:
supportedControl: 1.2.840.113556.1.4.319 supportedControl: 1.2.840.113556.1.4.801 supportedControl: 1.2.840.113556.1.4.473 supportedControl: 1.2.840.113556.1.4.528 supportedControl: 1.2.840.113556.1.4.417 supportedControl: 1.2.840.113556.1.4.619 supportedControl: 1.2.840.113556.1.4.841 supportedControl: 1.2.840.113556.1.4.529 supportedControl: 1.2.840.113556.1.4.805 supportedControl: 1.2.840.113556.1.4.521 supportedControl: 1.2.840.113556.1.4.970 supportedControl: 1.2.840.113556.1.4.1338 supportedControl: 1.2.840.113556.1.4.474 supportedControl: 1.2.840.113556.1.4.1339 supportedControl: 1.2.840.113556.1.4.1340 supportedControl: 1.2.840.113556.1.4.1413 supportedControl: 2.16.840.1.113730.3.4.9 supportedControl: 2.16.840.1.113730.3.4.10 supportedControl: 1.2.840.113556.1.4.1504 supportedControl: 1.2.840.113556.1.4.1852 supportedControl: 1.2.840.113556.1.4.802 supportedControl: 1.2.840.113556.1.4.1907 supportedControl: 1.2.840.113556.1.4.1948 supportedControl: 1.2.840.113556.1.4.1974 supportedControl: 1.2.840.113556.1.4.1341 supportedControl: 1.2.840.113556.1.4.2026 supportedControl: 1.2.840.113556.1.4.2064 supportedControl: 1.2.840.113556.1.4.2065 supportedControl: 1.2.840.113556.1.4.2066 supportedControl: 1.2.840.113556.1.4.2090 supportedControl: 1.2.840.113556.1.4.2205 supportedControl: 1.2.840.113556.1.4.2204 supportedControl: 1.2.840.113556.1.4.2206 supportedControl: 1.2.840.113556.1.4.2211 supportedControl: 1.2.840.113556.1.4.2239 supportedControl: 1.2.840.113556.1.4.2255 supportedControl: 1.2.840.113556.1.4.2256 supportedControl: 1.2.840.113556.1.4.2309
supportedLDAPVersion: 3 supportedLDAPVersion: 2
supportedLDAPPolicies: MaxPoolThreads supportedLDAPPolicies: MaxPercentDirSyncRequests supportedLDAPPolicies: MaxDatagramRecv supportedLDAPPolicies: MaxReceiveBuffer supportedLDAPPolicies: InitRecvTimeout supportedLDAPPolicies: MaxConnections supportedLDAPPolicies: MaxConnIdleTime supportedLDAPPolicies: MaxPageSize supportedLDAPPolicies: MaxBatchReturnMessages supportedLDAPPolicies: MaxQueryDuration supportedLDAPPolicies: MaxDirSyncDuration supportedLDAPPolicies: MaxTempTableSize supportedLDAPPolicies: MaxResultSetSize supportedLDAPPolicies: MinResultSets supportedLDAPPolicies: MaxResultSetsPerConn supportedLDAPPolicies: MaxNotificationPerConn supportedLDAPPolicies: MaxValRange supportedLDAPPolicies: MaxValRangeTransitive supportedLDAPPolicies: ThreadMemoryLimit supportedLDAPPolicies: SystemMemoryLimitPercent
supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: DIGEST-MD5
supportedCapabilities: 1.2.840.113556.1.4.800 supportedCapabilities: 1.2.840.113556.1.4.1670 supportedCapabilities: 1.2.840.113556.1.4.1791 supportedCapabilities: 1.2.840.113556.1.4.1935 supportedCapabilities: 1.2.840.113556.1.4.2080 supportedCapabilities: 1.2.840.113556.1.4.2237
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #14 from Richard winehq-bugzilla@richardpayne.name --- (In reply to Damjan Jovanovic from comment #11)
Take a packet trace with tcpdump or Wireshark, and let's see what it's doing at the network level. ... It should tell us much more about what's going, including which authentication methods the AD server supports.
It's calling this each time I click the ok button.
LDAP 130 searchRequest(1) "<ROOT>" baseObject LDAP 73 unbindRequest(2)
There's a couple of other lines for the lower level protocol stuff. Let me know if you need more detail.
Is this the tool in question: https://docs.microsoft.com/en-us/sysinternals/downloads/adexplorer
yes
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #15 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Richard from comment #13)
(In reply to Dmitry Timoshkov from comment #12)
You may try something like the following to see supported LDAP/ADs authentication methods, and report what you get:
$ ldapsearch -H ldap://dchostname -x -b "" -s base -LLL
$ ldapsearch -H ldap://dchostname -Y GSS-SPNEGO -Q -N -b "" -s base -LLL
$ ldapsearch -H ldap://dchostname -Y GSSAPI -Q -N -b "" -s base -LLL
All three commands return very similar (if not identical) info. I've extracted the "supported" lines:
...
supportedSASLMechanisms: GSSAPI supportedSASLMechanisms: GSS-SPNEGO supportedSASLMechanisms: EXTERNAL supportedSASLMechanisms: DIGEST-MD5
Thanks. So, both GSSAPI and GSS-SPNEGO are supported by your DC. Is ldapseach able to authenticate to your DC using GSS/Kerberos? My guess is still on missing 32-bit libraries for GSSAPI/Kerberos SASL backend in your OS, and the only way to investigate it I'm aware of is KRB5_TRACE + strace.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #16 from Richard winehq-bugzilla@richardpayne.name --- (In reply to Dmitry Timoshkov from comment #15)
Thanks. So, both GSSAPI and GSS-SPNEGO are supported by your DC. Is ldapseach able to authenticate to your DC using GSS/Kerberos? My guess is still on missing 32-bit libraries for GSSAPI/Kerberos SASL backend in your OS, and the only way to investigate it I'm aware of is KRB5_TRACE + strace.
This is wine debug log, filtered by "wldap32":
25431.808:0020:0024:trace:file:nt_to_unix_file_name_internal L"\??\C:\windows\system32\WLDAP32.dll" -> "/home/user/.wine/dosdevices/c:/windows/syswow64/wldap32.dll" 0024: create_file( access=80100000, sharing=00000005, create=1, options=00000060, attrs=00000000, objattr={rootdir=0000,attributes=00000040,sd={},name=L""}, filename="/home/user/.wine/dosdevices/c:/windows/syswow64/wldap32.dll" ) 0024: create_file( access=80100000, sharing=00000005, create=1, options=00000060, attrs=00000000, objattr={rootdir=0000,attributes=00000000,sd={},name=L""}, filename="/opt/wine-staging/lib/wine/wldap32.dll" ) 25432.672:0020:0024:trace:wldap32:DllMain (0x7dfc0000, 1, 0x31fd24) 25454.488:0020:0024:trace:module:load_dll looking for L"wldap32.dll" in L"Z:\home\user\adexplorer;C:\windows\system32;C:\windows\system;C:\windows;.;C:\windows\system32;C:\windows;C:\windows\system32\wbem;C:\windows\system32\WindowsPowershell\v1.0" 25454.488:0020:0024:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"wldap32.dll" 0031B110 25454.488:0020:0024:trace:module:load_dll Found L"C:\windows\system32\WLDAP32.dll" for L"wldap32.dll" at 7DFC0000, count=-1 25454.488:0020:0024:Call wldap32.ldap_initW(0017b7ac L"dc_host",00000000) ret=64544c32 25454.488:0020:0024:trace:wldap32:ldap_initW (L"dc_host", 0) 25454.488:0020:0024:Ret wldap32.ldap_initW() retval=0019df20 ret=64544c32 25454.488:0020:0024:Call wldap32.ldap_set_optionW(0019df20,00000011,0031b540) ret=64544c66 25454.488:0020:0024:trace:wldap32:ldap_set_optionW (0x19df20, 0x00000011, 0x31b540) 25454.488:0020:0024:Ret wldap32.ldap_set_optionW() retval=00000000 ret=64544c66 25454.488:0020:0024:Call wldap32.ldap_connect(0019df20,00000000) ret=64544c8a 25454.488:0020:0024:trace:wldap32:ldap_connect (0x19df20, (nil)) 25454.488:0020:0024:Ret wldap32.ldap_connect() retval=00000000 ret=64544c8a 25454.488:0020:0024:Call wldap32.ldap_bind_sW(0019df20,00000000,0031b544 L"\4a2c\0017\0011",00000486) ret=64544d4c 25454.488:0020:0024:trace:wldap32:ldap_bind_sW (0x19df20, (null), 0x31b544, 0x00000486) 25454.496:0020:0024:Ret wldap32.ldap_bind_sW() retval=00000056 ret=64544d4c 25454.496:0020:0024:Call wldap32.ldap_unbind(0019df20) ret=64544ddb 25454.496:0020:0024:trace:wldap32:WLDAP32_ldap_unbind (0x19df20) 25454.496:0020:0024:Ret wldap32.ldap_unbind() retval=00000000 ret=64544ddb 25462.524:0020:0024:trace:wldap32:DllMain (0x7dfc0000, 0, 0x1)
As for the strace, I wasn't sure how to trim it down. Can you give me a search string to find the bits you're interested in, or do you want the whole thing?
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #17 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Richard from comment #16)
This is wine debug log, filtered by "wldap32":
[skipped]
There's no need to provide more Wine logs at this time, it's pretty clear what's going on on the Wine side.
As for the strace, I wasn't sure how to trim it down. Can you give me a search string to find the bits you're interested in, or do you want the whole thing?
In the log one would need to look for failed attempts to load system libraries that may belong to GSSAPI/Kerberos.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #18 from Richard winehq-bugzilla@richardpayne.name --- (In reply to Dmitry Timoshkov from comment #17)
In the log one would need to look for failed attempts to load system libraries that may belong to GSSAPI/Kerberos.
Searching for kerberos, it search search a few different places, fails some but eventually finds it:
$ grep -E "[K|k]erberos" strace.log recv(11, "kerberos", 8, 0) = 8 recv(11, "kerberos", 8, 0) = 8 lstat64("/home/richard.payne@spreadex.com/.wine/dosdevices/z:/home/richard.payne@spreadex.com/adexplorer/Kerberos.dll", 0x319784) = -1 ENOENT (No such file or directory) lstat64("/home/richard.payne@spreadex.com/.wine/dosdevices/z:/home/richard.payne@spreadex.com/adexplorer/Kerberos.dll", 0x319298) = -1 ENOENT (No such file or directory) lstat64("/home/richard.payne@spreadex.com/.wine/dosdevices/c:/windows/syswow64/Kerberos.dll", 0x319298) = -1 ENOENT (No such file or directory) lstat64("/home/richard.payne@spreadex.com/.wine/dosdevices/c:/windows/syswow64/kerberos.dll", {st_mode=S_IFREG|0644, st_size=1032, ...}) = 0 stat64("/opt/wine-staging/lib/wine/kerberos.dll", 0x319fe4) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/kerberos.dll.so", O_RDONLY|O_LARGEFILE) = 13 openat(AT_FDCWD, "/opt/wine-staging/lib/wine/kerberos.dll.so", O_RDONLY|O_CLOEXEC) = 14 openat(AT_FDCWD, "/opt/wine-staging/lib/wine/kerberos.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
And for GSSAPI:
$ grep gssapi strace.log openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libgssapi.so.3", O_RDONLY|O_CLOEXEC) = 10 openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = 11
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #19 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Richard from comment #18)
(In reply to Dmitry Timoshkov from comment #17)
In the log one would need to look for failed attempts to load system libraries that may belong to GSSAPI/Kerberos.
Searching for kerberos, it search search a few different places, fails some but eventually finds it:
$ grep -E "[K|k]erberos" strace.log recv(11, "kerberos", 8, 0) = 8 recv(11, "kerberos", 8, 0) = 8 lstat64("/home/richard.payne@spreadex.com/.wine/dosdevices/z:/home/richard. payne@spreadex.com/adexplorer/Kerberos.dll", 0x319784) = -1 ENOENT (No such file or directory) lstat64("/home/richard.payne@spreadex.com/.wine/dosdevices/z:/home/richard. payne@spreadex.com/adexplorer/Kerberos.dll", 0x319298) = -1 ENOENT (No such file or directory) lstat64("/home/richard.payne@spreadex.com/.wine/dosdevices/c:/windows/ syswow64/Kerberos.dll", 0x319298) = -1 ENOENT (No such file or directory) lstat64("/home/richard.payne@spreadex.com/.wine/dosdevices/c:/windows/ syswow64/kerberos.dll", {st_mode=S_IFREG|0644, st_size=1032, ...}) = 0 stat64("/opt/wine-staging/lib/wine/kerberos.dll", 0x319fe4) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/kerberos.dll.so", O_RDONLY|O_LARGEFILE) = 13 openat(AT_FDCWD, "/opt/wine-staging/lib/wine/kerberos.dll.so", O_RDONLY|O_CLOEXEC) = 14 openat(AT_FDCWD, "/opt/wine-staging/lib/wine/kerberos.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
And for GSSAPI:
$ grep gssapi strace.log openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libgssapi.so.3", O_RDONLY|O_CLOEXEC) = 10 openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = 11
The libraries could be named differently, and not contain kerberos/gssapi in their names, that's why one needs to look at every failed attempt. Also, there may be other failures of interest.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #20 from Richard winehq-bugzilla@richardpayne.name --- This is all of the missing dll errors
$ grep ENOENT strace.log | grep dll lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/kernelbase.dll", 0xffd286b4) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/kernelbase.dll", 0xffd281c8) = -1 ENOENT (No such file or directory) stat64("/opt/wine-staging/lib/wine/wow64cpu.dll", 0xffd298b4) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/NETAPI32.dll", 0x31df34) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/NETAPI32.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/c:/windows/syswow64/NETAPI32.dll", 0x31da48) = -1 ENOENT (No such file or directory) stat64("/opt/wine-staging/lib/wine/netapi32.dll", 0x31e794) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/rpcrt4.dll", 0x31d764) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/rpcrt4.dll", 0x31d278) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/advapi32.dll", 0x31cf94) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/advapi32.dll", 0x31caa8) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/sechost.dll", 0x31c7c4) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/sechost.dll", 0x31c2d8) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/ucrtbase.dll", 0x31bff4) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/ucrtbase.dll", 0x31bb08) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/iphlpapi.dll", 0x31d764) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/iphlpapi.dll", 0x31d278) = -1 ENOENT (No such file or directory) stat64("/opt/wine-staging/lib/wine/iphlpapi.dll", 0x31dfc4) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/ws2_32.dll", 0x31d764) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/ws2_32.dll", 0x31d278) = -1 ENOENT (No such file or directory) stat64("/opt/wine-staging/lib/wine/ws2_32.dll", 0x31dfc4) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/dnsapi.dll", 0x31d764) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/dnsapi.dll", 0x31d278) = -1 ENOENT (No such file or directory) stat64("/opt/wine-staging/lib/wine/dnsapi.dll", 0x31dfc4) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/VERSION.dll", 0x31df34) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/VERSION.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/c:/windows/syswow64/VERSION.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/USER32.dll", 0x31df34) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/USER32.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/c:/windows/syswow64/USER32.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/gdi32.dll", 0x31d764) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/gdi32.dll", 0x31d278) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/setupapi.dll", 0x31d764) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/setupapi.dll", 0x31d278) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/COMDLG32.dll", 0x31df34) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/COMDLG32.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/c:/windows/syswow64/COMDLG32.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/imm32.dll", 0x31cf94) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/imm32.dll", 0x31caa8) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/shell32.dll", 0x31d764) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/shell32.dll", 0x31d278) = -1 ENOENT (No such file or directory) stat64("/opt/wine-staging/lib/wine/shell32.dll", 0x31dfc4) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/shlwapi.dll", 0x31cf94) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/shlwapi.dll", 0x31caa8) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/shcore.dll", 0x31c7c4) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/shcore.dll", 0x31c2d8) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/ole32.dll", 0x31bff4) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/ole32.dll", 0x31bb08) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/combase.dll", 0x31b824) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/combase.dll", 0x31b338) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/aclui.dll", 0x31cf94) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/aclui.dll", 0x31caa8) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/OLEAUT32.dll", 0x31df34) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/OLEAUT32.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/c:/windows/syswow64/OLEAUT32.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/ACTIVEDS.dll", 0x31df34) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/ACTIVEDS.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/c:/windows/syswow64/ACTIVEDS.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/WLDAP32.dll", 0x31df34) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/WLDAP32.dll", 0x31da48) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/c:/windows/syswow64/WLDAP32.dll", 0x31da48) = -1 ENOENT (No such file or directory) stat64("/opt/wine-staging/lib/wine/wldap32.dll", 0x31e794) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/uxtheme.dll", 0x31d864) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/uxtheme.dll", 0x31d378) = -1 ENOENT (No such file or directory) stat64("/opt/wine-staging/lib/wine/secur32.dll", 0x31a624) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/Kerberos.dll", 0x319784) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/Kerberos.dll", 0x319298) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/c:/windows/syswow64/Kerberos.dll", 0x319298) = -1 ENOENT (No such file or directory) stat64("/opt/wine-staging/lib/wine/kerberos.dll", 0x319fe4) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/mscoree.dll", 0x31ef94) = -1 ENOENT (No such file or directory) lstat64("/home/username/.wine/dosdevices/z:/home/username/adexplorer/mscoree.dll", 0x31eaa8) = -1 ENOENT (No such file or directory)
and the so files:
openat(AT_FDCWD, "/opt/wine-staging/lib/wine/kernel32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/kernelbase.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/wow64cpu.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/netapi32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/rpcrt4.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/advapi32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/sechost.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/iphlpapi.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/ws2_32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/dnsapi.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/version.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/setupapi.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/comdlg32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/comctl32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/imm32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/shell32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/shlwapi.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/shcore.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/ole32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/combase.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/aclui.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/winspool.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/oleaut32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/activeds.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/wldap32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/winex11.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/uxtheme.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/i686/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/i686/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i386-linux-gnu/tls/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i386-linux-gnu/i686/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i386-linux-gnu/i686/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i386-linux-gnu/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i386-linux-gnu/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/i686/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/i686/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/tls/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/i686/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/i686/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/i686/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/i686/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/tls/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i686/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i686/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/i686/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/i686/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/tls/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i686/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i686/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/sse2/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libnss_systemd.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i386-linux-gnu/libnss_sss.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/sse2/libnss_sss.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libnss_sss.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libnss_sss.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libnss_sss.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/adsldp.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/secur32.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/wine-staging/lib/wine/kerberos.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i386-linux-gnu/libnss_wins.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/sse2/libnss_wins.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libnss_wins.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libnss_wins.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libnss_wins.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/i386-linux-gnu/libnss_mdns4_minimal.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/sse2/libnss_mdns4_minimal.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libnss_mdns4_minimal.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib/libnss_mdns4_minimal.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib/libnss_mdns4_minimal.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
If you're suggesting that I just scan the log, that is not practical. Even for a such a short execution period of starting the app and making 1 connection attempt, the strace is nearly 100 thousand lines of logging.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #21 from Dmitry Timoshkov dmitry@baikal.ru --- I don't see anything glaringly suspicious in the grep results.
Is there anything in the terminal when you prepend the 'wine ADExplorer.exe' command with KRB5_TRACE=/dev/stderr ? Also, did you try to login to your AD controller using ldapseach?
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #22 from Damjan Jovanovic damjan.jov@gmail.com --- I discovered some LDAP bugs on my side, which may or may not relate to this.
The 1st problem, bug 50572, is that ldap_bind_sW() supplies the authorization name instead of the authentication name. This will break 100% of all WLDAP32_LDAP_AUTH_NEGOTIATE logins, as my examples there show. A patch, linked there, was just submitted.
The 2nd problem for me is that the username format is "domain\username", which always fails - my AD server wants "username" by itself. I am not yet sure where that's coming from but it should be an easy fix; when hacked by hardcoding the username in the above patch, it gets further.
The 3rd problem is that ldapns_QueryInterface() then fails for a number of interfaces, but it's COM- and .NET- internal interfaces like IMarshal, so this may not be a problem?
The 4th problem is that adsldp's search_SetSearchPreference() has missing options which probably break my application, as it doesn't get any further.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #23 from Hans Leidekker hans@meelstraat.net --- (In reply to Damjan Jovanovic from comment #22)
I discovered some LDAP bugs on my side, which may or may not relate to this.
The 1st problem, bug 50572, is that ldap_bind_sW() supplies the authorization name instead of the authentication name. This will break 100% of all WLDAP32_LDAP_AUTH_NEGOTIATE logins, as my examples there show. A patch, linked there, was just submitted.
The callbacks depend on the authentication scheme. For GSSAPI SASL_CB_USER is called and the result is used to retrieve a kerberos ticket.
The 2nd problem for me is that the username format is "domain\username", which always fails - my AD server wants "username" by itself. I am not yet sure where that's coming from but it should be an easy fix; when hacked by hardcoding the username in the above patch, it gets further.
This may also depend on the authentication scheme.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #24 from Damjan Jovanovic damjan.jov@gmail.com --- (In reply to Hans Leidekker from comment #23)
This may also depend on the authentication scheme.
How are we supposed to know the authentication scheme?
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #25 from Damjan Jovanovic damjan.jov@gmail.com --- I tried running AD Explorer on my AD. With the earlier mentioned changes (1 and 2), it successfully logs in, then crashes later when comparing strings from some search API.
Richard, please tell us more about your setup: the distribution, libraries, how you installed Wine, which Wine packages etc.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #26 from Hans Leidekker hans@meelstraat.net --- (In reply to Damjan Jovanovic from comment #24)
(In reply to Hans Leidekker from comment #23)
This may also depend on the authentication scheme.
How are we supposed to know the authentication scheme?
We don't know because we're letting the client and server negotiate the scheme. We could iterate over a known list instead.
I did some testing and it turns out that both GSSAPI and GSS-SPNEGO call SASL_CB_USER, but successful authentication depends on this callback returning an error. DIGEST-MD5 also calls this one, followed by SASL_CB_AUTHNAME and SASL_CB_PASS.
SASL_CB_USER appears to be used for supplying a proxy username, which is not supported by all schemes.
https://bugs.winehq.org/show_bug.cgi?id=50545
--- Comment #27 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Hans Leidekker from comment #26)
(In reply to Damjan Jovanovic from comment #24)
(In reply to Hans Leidekker from comment #23)
This may also depend on the authentication scheme.
How are we supposed to know the authentication scheme?
We don't know because we're letting the client and server negotiate the scheme. We could iterate over a known list instead.
I did some testing and it turns out that both GSSAPI and GSS-SPNEGO call SASL_CB_USER, but successful authentication depends on this callback returning an error. DIGEST-MD5 also calls this one, followed by SASL_CB_AUTHNAME and SASL_CB_PASS.
SASL_CB_USER appears to be used for supplying a proxy username, which is not supported by all schemes.
It works here with my username and a Kerberos ticket (0x4001 - SASL_CB_USER):
0024:trace:adsldp:openobj_OpenDSObject 0019975C,L"LDAP://xxx.yyy.zzz/rootDSE",L"user",001997FC,00000021,0031C1E0 0024:trace:adsldp:openobj_OpenDSObject host L"xxx.yyy.zzz", port 0, object L"rootDSE" 0024:trace:wldap32:ldap_initW (L"xxx.yyy.zzz", 0) 0024:trace:wldap32:ldap_set_optionW (0x19a5a8, 0x00000011, 0x31bd60) 0024:trace:wldap32:ldap_connect (0x19a5a8, (nil)) 0024:trace:wldap32:ldap_bind_sW (0x19a5a8, (null), 0x31bd70, 0x00000486) 0024:trace:wldap32:sasl_interact 0x7d78f320,00000002,0x31bbd8,0x7d792600 0024:trace:wldap32:sasl_interact sasl->id = 4001 0024:trace:wldap32:ldap_search_sW (0x19a5a8, (null), 0x00000000, L"(objectClass=*)", 0x31bd28, 0x00000000, 0x31bd14) 0024:trace:wldap32:WLDAP32_ldap_first_entry (0x19a5a8, 0x7d784d00) 0024:trace:wldap32:ldap_get_valuesW (0x19a5a8, 0x7d784d00, L"subschemaSubentry")
It's a snippet of the log running AD Explorer.
https://bugs.winehq.org/show_bug.cgi?id=50545
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net URL| |https://web.archive.org/web | |/20190929213059/http://down | |load.sysinternals.com/files | |/AdExplorer.zip Keywords| |download