17c478bd9Sstevel@tonic-gate /*
2159d09a2SMark Phalan * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
37c478bd9Sstevel@tonic-gate * Use is subject to license terms.
47c478bd9Sstevel@tonic-gate */
57c478bd9Sstevel@tonic-gate
67c478bd9Sstevel@tonic-gate /*
77c478bd9Sstevel@tonic-gate * Copyright 1993 by OpenVision Technologies, Inc.
8*55fea89dSDan Cross *
97c478bd9Sstevel@tonic-gate * Permission to use, copy, modify, distribute, and sell this software
107c478bd9Sstevel@tonic-gate * and its documentation for any purpose is hereby granted without fee,
117c478bd9Sstevel@tonic-gate * provided that the above copyright notice appears in all copies and
127c478bd9Sstevel@tonic-gate * that both that copyright notice and this permission notice appear in
137c478bd9Sstevel@tonic-gate * supporting documentation, and that the name of OpenVision not be used
147c478bd9Sstevel@tonic-gate * in advertising or publicity pertaining to distribution of the software
157c478bd9Sstevel@tonic-gate * without specific, written prior permission. OpenVision makes no
167c478bd9Sstevel@tonic-gate * representations about the suitability of this software for any
177c478bd9Sstevel@tonic-gate * purpose. It is provided "as is" without express or implied warranty.
18*55fea89dSDan Cross *
197c478bd9Sstevel@tonic-gate * OPENVISION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
207c478bd9Sstevel@tonic-gate * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
217c478bd9Sstevel@tonic-gate * EVENT SHALL OPENVISION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
227c478bd9Sstevel@tonic-gate * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
237c478bd9Sstevel@tonic-gate * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
247c478bd9Sstevel@tonic-gate * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
257c478bd9Sstevel@tonic-gate * PERFORMANCE OF THIS SOFTWARE.
267c478bd9Sstevel@tonic-gate */
277c478bd9Sstevel@tonic-gate
28ab9b2e15Sgtb #include "gssapiP_krb5.h"
297c478bd9Sstevel@tonic-gate
307c478bd9Sstevel@tonic-gate /*
31ab9b2e15Sgtb * $Id: verify.c 16171 2004-03-15 17:45:01Z raeburn $
327c478bd9Sstevel@tonic-gate */
33ab9b2e15Sgtb
347c478bd9Sstevel@tonic-gate /*ARGSUSED*/
357c478bd9Sstevel@tonic-gate OM_uint32
krb5_gss_verify(minor_status,context_handle,message_buffer,token_buffer,qop_state,gssd_ctx_verifier)36ab9b2e15Sgtb krb5_gss_verify(minor_status, context_handle,
377c478bd9Sstevel@tonic-gate message_buffer, token_buffer,
387c478bd9Sstevel@tonic-gate qop_state
397c478bd9Sstevel@tonic-gate #ifdef _KERNEL
407c478bd9Sstevel@tonic-gate , gssd_ctx_verifier
417c478bd9Sstevel@tonic-gate #endif
427c478bd9Sstevel@tonic-gate )
437c478bd9Sstevel@tonic-gate OM_uint32 *minor_status;
447c478bd9Sstevel@tonic-gate gss_ctx_id_t context_handle;
457c478bd9Sstevel@tonic-gate gss_buffer_t message_buffer;
467c478bd9Sstevel@tonic-gate gss_buffer_t token_buffer;
477c478bd9Sstevel@tonic-gate int *qop_state;
487c478bd9Sstevel@tonic-gate #ifdef _KERNEL
49ab9b2e15Sgtb OM_uint32 gssd_ctx_verifier;
507c478bd9Sstevel@tonic-gate #endif
517c478bd9Sstevel@tonic-gate {
52ab9b2e15Sgtb return(kg_unseal(minor_status, context_handle,
537c478bd9Sstevel@tonic-gate token_buffer, message_buffer,
54ab9b2e15Sgtb NULL, qop_state, KG_TOK_SIGN_MSG));
557c478bd9Sstevel@tonic-gate }
567c478bd9Sstevel@tonic-gate
577c478bd9Sstevel@tonic-gate /* V2 interface */
587c478bd9Sstevel@tonic-gate OM_uint32
krb5_gss_verify_mic(minor_status,context_handle,message_buffer,token_buffer,qop_state)59ab9b2e15Sgtb krb5_gss_verify_mic(minor_status, context_handle,
607c478bd9Sstevel@tonic-gate message_buffer, token_buffer,
617c478bd9Sstevel@tonic-gate qop_state)
627c478bd9Sstevel@tonic-gate OM_uint32 *minor_status;
637c478bd9Sstevel@tonic-gate gss_ctx_id_t context_handle;
647c478bd9Sstevel@tonic-gate gss_buffer_t message_buffer;
657c478bd9Sstevel@tonic-gate gss_buffer_t token_buffer;
667c478bd9Sstevel@tonic-gate gss_qop_t *qop_state;
677c478bd9Sstevel@tonic-gate {
687c478bd9Sstevel@tonic-gate OM_uint32 rstat;
697c478bd9Sstevel@tonic-gate int qstate;
707c478bd9Sstevel@tonic-gate
71ab9b2e15Sgtb rstat = kg_unseal(minor_status, context_handle,
72159d09a2SMark Phalan token_buffer, message_buffer,
73159d09a2SMark Phalan NULL, &qstate, KG_TOK_MIC_MSG);
747c478bd9Sstevel@tonic-gate if (!rstat && qop_state)
757c478bd9Sstevel@tonic-gate *qop_state = (gss_qop_t) qstate;
767c478bd9Sstevel@tonic-gate return(rstat);
777c478bd9Sstevel@tonic-gate }
78