-: 0:Source:g_get_name_attr.c -: 0:Graph:/var/tsitkova/Sources/v10/trunk/src/lib/gssapi/mechglue/g_get_name_attr.so.gcno -: 0:Data:/var/tsitkova/Sources/v10/trunk/src/lib/gssapi/mechglue/g_get_name_attr.so.gcda -: 0:Runs:1069 -: 0:Programs:1 -: 1:/* -*- mode: c; indent-tabs-mode: nil -*- */ -: 2:/* -: 3: * Copyright 2009 by the Massachusetts Institute of Technology. -: 4: * All Rights Reserved. -: 5: * -: 6: * Export of this software from the United States of America may -: 7: * require a specific license from the United States Government. -: 8: * It is the responsibility of any person or organization contemplating -: 9: * export to obtain such a license before exporting. -: 10: * -: 11: * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and -: 12: * distribute this software and its documentation for any purpose and -: 13: * without fee is hereby granted, provided that the above copyright -: 14: * notice appear in all copies and that both that copyright notice and -: 15: * this permission notice appear in supporting documentation, and that -: 16: * the name of M.I.T. not be used in advertising or publicity pertaining -: 17: * to distribution of the software without specific, written prior -: 18: * permission. Furthermore if you modify this software you must label -: 19: * your software as modified software and not distribute it in such a -: 20: * fashion that it might be confused with the original M.I.T. software. -: 21: * M.I.T. makes no representations about the suitability of -: 22: * this software for any purpose. It is provided "as is" without express -: 23: * or implied warranty. -: 24: */ -: 25: -: 26:/* Glue routine for gss_get_name_attribute */ -: 27: -: 28:#include "mglueP.h" -: 29: -: 30:OM_uint32 KRB5_CALLCONV #####: 31:gss_get_name_attribute(OM_uint32 *minor_status, -: 32: gss_name_t name, -: 33: gss_buffer_t attr, -: 34: int *authenticated, -: 35: int *complete, -: 36: gss_buffer_t value, -: 37: gss_buffer_t display_value, -: 38: int *more) -: 39:{ -: 40: OM_uint32 status; -: 41: gss_union_name_t union_name; -: 42: gss_mechanism mech; -: 43: #####: 44: if (minor_status == NULL) #####: 45: return GSS_S_CALL_INACCESSIBLE_WRITE; -: 46: #####: 47: if (name == GSS_C_NO_NAME) #####: 48: return GSS_S_CALL_INACCESSIBLE_READ | GSS_S_BAD_NAME; #####: 49: if (attr == GSS_C_NO_BUFFER) #####: 50: return GSS_S_CALL_INACCESSIBLE_READ; #####: 51: if (more == NULL) #####: 52: return GSS_S_CALL_INACCESSIBLE_WRITE; -: 53: #####: 54: if (authenticated != NULL) #####: 55: *authenticated = 0; #####: 56: if (complete != NULL) #####: 57: *complete = 0; -: 58: #####: 59: *minor_status = 0; -: 60: #####: 61: union_name = (gss_union_name_t)name; -: 62: #####: 63: if (union_name->mech_type == GSS_C_NO_OID) #####: 64: return GSS_S_UNAVAILABLE; -: 65: #####: 66: mech = gssint_get_mechanism(name->mech_type); #####: 67: if (mech == NULL) #####: 68: return GSS_S_BAD_NAME; -: 69: #####: 70: if (mech->gss_get_name_attribute == NULL) #####: 71: return GSS_S_UNAVAILABLE; -: 72: #####: 73: status = (*mech->gss_get_name_attribute)(minor_status, -: 74: union_name->mech_name, -: 75: attr, -: 76: authenticated, -: 77: complete, -: 78: value, -: 79: display_value, -: 80: more); #####: 81: if (status != GSS_S_COMPLETE) #####: 82: map_error(minor_status, mech); -: 83: #####: 84: return status; -: 85:}