X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=util_name.c;h=b5c7c72b84385213af12b37d8dacede178997406;hb=042d1d1dd0638c46343eff7078de4b4b5a9e737d;hp=580adeff4dc5e2f915bc3f8c871e456109f58acb;hpb=bdda51e7a7cb2826aafc7faf454f08a615a87a69;p=mech_eap.git diff --git a/util_name.c b/util_name.c index 580adef..b5c7c72 100644 --- a/util_name.c +++ b/util_name.c @@ -35,6 +35,7 @@ OM_uint32 gssEapAllocName(OM_uint32 *minor, gss_name_t *pName) { + OM_uint32 tmpMinor; gss_name_t name; assert(*pName == GSS_C_NO_NAME); @@ -45,6 +46,12 @@ gssEapAllocName(OM_uint32 *minor, gss_name_t *pName) return GSS_S_FAILURE; } + if (GSSEAP_MUTEX_INIT(&name->mutex) != 0) { + *minor = errno; + gssEapReleaseName(&tmpMinor, &name); + return GSS_S_FAILURE; + } + *pName = name; return GSS_S_COMPLETE; @@ -71,9 +78,24 @@ gssEapReleaseName(OM_uint32 *minor, gss_name_t *pName) krb5_free_context(kerbCtx); } + GSSEAP_MUTEX_DESTROY(&name->mutex); GSSEAP_FREE(name); *pName = NULL; *minor = 0; return GSS_S_COMPLETE; } + +OM_uint32 +gssEapDuplicateName(krb5_context context, + const gss_name_t src, + gss_name_t *dst) +{ +} + +krb5_boolean +gssEapCompareName(krb5_context context, + gss_name_t name1, + gss_name_t name2) +{ +}