-: 0:Source:g_verify.c -: 0:Graph:/var/tsitkova/Sources/v10/trunk/src/lib/gssapi/mechglue/g_verify.so.gcno -: 0:Data:/var/tsitkova/Sources/v10/trunk/src/lib/gssapi/mechglue/g_verify.so.gcda -: 0:Runs:1069 -: 0:Programs:1 -: 1:/* #pragma ident "@(#)g_verify.c 1.13 98/04/23 SMI" */ -: 2: -: 3:/* -: 4: * Copyright 1996 by Sun Microsystems, Inc. -: 5: * -: 6: * Permission to use, copy, modify, distribute, and sell this software -: 7: * and its documentation for any purpose is hereby granted without fee, -: 8: * provided that the above copyright notice appears in all copies and -: 9: * that both that copyright notice and this permission notice appear in -: 10: * supporting documentation, and that the name of Sun Microsystems not be used -: 11: * in advertising or publicity pertaining to distribution of the software -: 12: * without specific, written prior permission. Sun Microsystems makes no -: 13: * representations about the suitability of this software for any -: 14: * purpose. It is provided "as is" without express or implied warranty. -: 15: * -: 16: * SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -: 17: * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -: 18: * EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR -: 19: * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -: 20: * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -: 21: * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -: 22: * PERFORMANCE OF THIS SOFTWARE. -: 23: */ -: 24: -: 25:/* -: 26: * glue routine for gss_verify_mic -: 27: */ -: 28: -: 29:#include "mglueP.h" -: 30: -: 31:OM_uint32 KRB5_CALLCONV 126: 32:gss_verify_mic (minor_status, -: 33: context_handle, -: 34: message_buffer, -: 35: token_buffer, -: 36: qop_state) -: 37: -: 38:OM_uint32 * minor_status; -: 39:gss_ctx_id_t context_handle; -: 40:gss_buffer_t message_buffer; -: 41:gss_buffer_t token_buffer; -: 42:gss_qop_t * qop_state; -: 43: -: 44:{ -: 45: OM_uint32 status; -: 46: gss_union_ctx_id_t ctx; -: 47: gss_mechanism mech; -: 48: -: 49: 126: 50: if (minor_status == NULL) #####: 51: return (GSS_S_CALL_INACCESSIBLE_WRITE); 126: 52: *minor_status = 0; -: 53: 126: 54: if (context_handle == GSS_C_NO_CONTEXT) #####: 55: return (GSS_S_CALL_INACCESSIBLE_READ | GSS_S_NO_CONTEXT); -: 56: 378: 57: if ((message_buffer == GSS_C_NO_BUFFER) || 252: 58: GSS_EMPTY_BUFFER(token_buffer)) -: 59: #####: 60: return (GSS_S_CALL_INACCESSIBLE_READ); -: 61: -: 62: /* -: 63: * select the approprate underlying mechanism routine and -: 64: * call it. -: 65: */ -: 66: 126: 67: ctx = (gss_union_ctx_id_t) context_handle; 126: 68: mech = gssint_get_mechanism (ctx->mech_type); -: 69: 126: 70: if (mech) { 126: 71: if (mech->gss_verify_mic) { 126: 72: status = mech->gss_verify_mic( -: 73: minor_status, -: 74: ctx->internal_ctx_id, -: 75: message_buffer, -: 76: token_buffer, -: 77: qop_state); 126: 78: if (status != GSS_S_COMPLETE) #####: 79: map_error(minor_status, mech); -: 80: } else #####: 81: status = GSS_S_UNAVAILABLE; -: 82: 126: 83: return(status); -: 84: } -: 85: #####: 86: return (GSS_S_BAD_MECH); -: 87:} -: 88: -: 89:OM_uint32 KRB5_CALLCONV #####: 90:gss_verify (minor_status, -: 91: context_handle, -: 92: message_buffer, -: 93: token_buffer, -: 94: qop_state) -: 95: -: 96:OM_uint32 * minor_status; -: 97:gss_ctx_id_t context_handle; -: 98:gss_buffer_t message_buffer; -: 99:gss_buffer_t token_buffer; -: 100:int * qop_state; -: 101: -: 102:{ #####: 103: return (gss_verify_mic(minor_status, context_handle, -: 104: message_buffer, token_buffer, -: 105: (gss_qop_t *) qop_state)); -: 106:}