1 /* 2 * Unix SMB/CIFS implementation. 3 * 4 * Simple GSSAPI wrappers 5 * 6 * Copyright (c) 2012 Andreas Schneider <asn@samba.org> 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 3 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, see <http://www.gnu.org/licenses/>. 20 */ 21 22 #ifndef _GSS_SAMBA_H 23 #define _GSS_SAMBA_H 24 25 #ifdef HAVE_GSSAPI 26 27 #include "system/gssapi.h" 28 #include "krb5_samba.h" 29 30 #if defined(HAVE_GSS_OID_EQUAL) 31 #define smb_gss_oid_equal gss_oid_equal 32 #else 33 int smb_gss_oid_equal(const gss_OID first_oid, const gss_OID second_oid); 34 #endif /* HAVE_GSS_OID_EQUAL */ 35 36 /* wrapper around gss_krb5_import_cred() that prefers to use gss_acquire_cred_from() 37 * if this GSSAPI extension is available. gss_acquire_cred_from() is properly 38 * interposed by GSS-proxy while gss_krb5_import_cred() is not. 39 * 40 * This wrapper requires a proper krb5_context to resolve the ccache name for 41 * gss_acquire_cred_from(). 42 * 43 * All gss_krb5_import_cred() callers in Samba already have krb5_context available. */ 44 uint32_t smb_gss_krb5_import_cred(OM_uint32 *minor_status, krb5_context ctx, 45 krb5_ccache id, krb5_principal keytab_principal, 46 krb5_keytab keytab, gss_cred_id_t *cred); 47 48 #endif /* HAVE_GSSAPI */ 49 #endif /* _GSS_SAMBA_H */ 50