I set the SMB_CTX_FLAG_USE_KERBEROS flag in the smbc context. I could authenticate to the share correctly and retrieve all the directory entries.
However, the SPNEGO login to IPC$ (done by smbc_attr_server()) failed because smbc_attr_server() calls cli_full_connection() with flags set to 0. Is
there any way to pass CLI_FULL_CONNECTION_USE_KERBEROS in the flags argument ?
I set a breakpoint in smbc_attr_server() and noticed that cli->use_spnego is True but cli->use_kerberos is False (because flags is always 0 at the caller site).
if (flags & CLI_FULL_CONNECTION_DONT_SPNEGO)
cli->use_spnego = False;
else if (flags & CLI_FULL_CONNECTION_USE_KERBEROS)
cli->use_kerberos = True;
This causes subsequent code to fail with the message "SPNEGO login failed: Logon failure".
Should be fixed by check-in 21132. I don't have an environment to test this, however. Please confirm that it is now working for you.
Changes checked into 3.0.25rc1