Red Hat Bugzilla – Bug 1430759
use GSSAPI gss_acquire_cred_from call for gssproxy support
Last modified: 2017-08-01 14:21:34 EDT
Use gss_acquire_cred() to obtain credentials from the default credentials store for client-based GENSEC GSSAPI operation. This allows proper execution under GSSAPI interposer plugin provided by GSS-proxy project. GSS-proxy 0.6.2 makes possible to interpose gss_acquire_cred() in a similar fashion to gss_acquire_cred_from(). While gss_acquire_cred_from() is a MIT extension, gss_acquire_cred() is available in Heimdal as well and is used in other parts of Samba, namely in source3's GENSEC gse module. Client operation in GSS-proxy-enabled environment is needed for upcoming FreeIPA 4.5 which internaly does privilege separation between its framework and Apache front end code that handles actual authentication of incoming client requests. Samba Python bindings are used by FreeIPA framework to establish forest trust between local Samba and remote Active Directory forests. When FreeIPA administrator attempts to create a trust, FreeIPA uses S4U2Proxy to allow HTTP/... principal to act on behalf of the remote administrator credentials. With privilege separation in place, Samba GENSEC and credentials code is unable to find actual tickets in the credential cache available in the environment because GSS-proxy keeps them encrypted and only accessible via GSSAPI calls that were interposed. gss_krb5_import_cred() is not interposed, as many other direct Kerberos extensions to GSSAPI. As result, we need to use a proper GSSAPI call here.
The fix is available and is attached to https://bugzilla.samba.org/show_bug.cgi?id=12611 (committed to Samba git master already).
Addded fixed in version field.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2017:1950