-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gssntlm_acquire_cred_from fails with ENOENT for external credentials if NTLM_USER_FILE is unset #42
Comments
I added a patch to the PR to fix the name crash, given you cannot fully test that work without fixing #42 as well. |
Yes, this time everything is Ok.
Run NTLM auth in VAST SMB server:
Thank you very much for fast fix, your help is REALLY appreciated! |
Using the latest code from github, I'm runing gss-server + gss-client utilities with gssntlmssp plugin installed.
My computer is joined to AD (has 'host' service keys in krb5.keytab file), it has winbind running and I use AD (external) credentials to run the simple test:
$ gss-server host
$ gss-client -mech '{1.3.6.1.4.1.311.2.2.10}' -user 'AD_DOMAIN\test_user' -pass 'password' localhost host HELLO
I'm getting this unexpected error from server-side:
After debugging I found the root-cause:
[1600941819] ERROR: gssntlm_acquire_cred_from() @ src/gss_creds.c:445 [851968:2]
The bug is inside gssntlm_acquire_cred_from() function in this section of code:
The problem is that external_get_creds() is even NOT TRIED if get_user_file_envvar() returned NULL and ENOENT is returned immediately without winbind calls.
I.e. if local users file environment variable NTLM_USER_FILE is not set then external credentials are skipped.
Expected behaviour is to use external users regardless of NTLM_USER_FILE variable (it should be optional).
I think that this bug have been done recently into this commit:
The text was updated successfully, but these errors were encountered: