1/* 2 * Copyright (c) 2009 Kungliga Tekniska H�gskolan 3 * (Royal Institute of Technology, Stockholm, Sweden). 4 * All rights reserved. 5 * 6 * Portions Copyright (c) 2009 Apple Inc. All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions 10 * are met: 11 * 12 * 1. Redistributions of source code must retain the above copyright 13 * notice, this list of conditions and the following disclaimer. 14 * 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 19 * 3. Neither the name of the Institute nor the names of its contributors 20 * may be used to endorse or promote products derived from this software 21 * without specific prior written permission. 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 24 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 26 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 */ 35 36#include "netlogon.h" 37 38/* 39 * Not implemented: this is needed only by domain controllers. 40 */ 41 42OM_uint32 43_netlogon_accept_sec_context 44(OM_uint32 * minor_status, 45 gss_ctx_id_t * context_handle, 46 const gss_cred_id_t acceptor_cred_handle, 47 const gss_buffer_t input_token_buffer, 48 const gss_channel_bindings_t input_chan_bindings, 49 gss_name_t * src_name, 50 gss_OID * mech_type, 51 gss_buffer_t output_token, 52 OM_uint32 * ret_flags, 53 OM_uint32 * time_rec, 54 gss_cred_id_t * delegated_cred_handle 55 ) 56{ 57 58 output_token->value = NULL; 59 output_token->length = 0; 60 61 *minor_status = 0; 62 63 if (context_handle == NULL) 64 return GSS_S_FAILURE; 65 66 if (input_token_buffer == GSS_C_NO_BUFFER) 67 return GSS_S_FAILURE; 68 69 if (src_name) 70 *src_name = GSS_C_NO_NAME; 71 if (mech_type) 72 *mech_type = GSS_C_NO_OID; 73 if (ret_flags) 74 *ret_flags = 0; 75 if (time_rec) 76 *time_rec = 0; 77 if (delegated_cred_handle) 78 *delegated_cred_handle = GSS_C_NO_CREDENTIAL; 79 80 if (*context_handle == GSS_C_NO_CONTEXT) { 81 *minor_status = ENOMEM; 82 return GSS_S_FAILURE; 83 } else { 84 *minor_status = ENOMEM; 85 return GSS_S_FAILURE; 86 } 87 88 return GSS_S_UNAVAILABLE; 89} 90