From e31e9d80bfbd2f41404aafb92d4c6356219b4bd8 Mon Sep 17 00:00:00 2001 From: Luke Howard Date: Wed, 8 Sep 2010 20:10:41 +0200 Subject: [PATCH] gss_inquire_name stub --- Makefile.am | 1 + inquire_name.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ mech_eap.exports | 1 + 3 files changed, 62 insertions(+) create mode 100644 inquire_name.c diff --git a/Makefile.am b/Makefile.am index b763b12..4637ad6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -38,6 +38,7 @@ libmech_eap_la_SOURCES = \ inquire_cred.c \ inquire_cred_by_oid.c \ inquire_mechs_for_name.c \ + inquire_name.c \ inquire_names_for_mech.c \ inquire_sec_context_by_oid.c \ map_name_to_any.c \ diff --git a/inquire_name.c b/inquire_name.c new file mode 100644 index 0000000..e147d00 --- /dev/null +++ b/inquire_name.c @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2010, JANET(UK) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. Neither the name of JANET(UK) nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include "gssapiP_eap.h" + +OM_uint32 gss_inquire_name(OM_uint32 *minor, + gss_name_t name, + int *name_is_MN, + gss_OID *MN_mech, + gss_buffer_set_t *attrs) +{ + OM_uint32 major, tmpMinor; + krb5_context krbContext; + + *name_is_MN = 1; + *MN_mech = GSS_EAP_MECHANISM; + *attrs = GSS_C_NO_BUFFER_SET; + + if (name == GSS_C_NO_NAME) { + *minor = EINVAL; + return GSS_S_CALL_INACCESSIBLE_READ | GSS_S_BAD_NAME; + } + + GSSEAP_KRB_INIT(&krbContext); + GSSEAP_MUTEX_LOCK(&name->mutex); + +cleanup: + GSSEAP_MUTEX_UNLOCK(&name->mutex); + + return major; +} diff --git a/mech_eap.exports b/mech_eap.exports index 5dfcde6..af8079f 100644 --- a/mech_eap.exports +++ b/mech_eap.exports @@ -20,6 +20,7 @@ gss_indicate_mechs gss_init_sec_context gss_inquire_context gss_inquire_cred +gss_inquire_name gss_inquire_mechs_for_name gss_inquire_names_for_mech gss_map_name_to_any -- 2.1.4