ntlm gssapi module, only support context building
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19334 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		
							
								
								
									
										301
									
								
								lib/gssapi/ntlm/accept_sec_context.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										301
									
								
								lib/gssapi/ntlm/accept_sec_context.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,301 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| /* | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| static OM_uint32 | ||||
| handle_type2(OM_uint32 *minor_status, | ||||
| 	     ntlm_ctx ctx, | ||||
| 	     uint32_t flags, | ||||
| 	     const char *hostname, | ||||
| 	     const char *domain, | ||||
| 	     gss_buffer_t output_token) | ||||
| { | ||||
|     krb5_error_code ret; | ||||
|     struct ntlm_type2 type2; | ||||
|     krb5_data challange; | ||||
|     struct ntlm_buf data; | ||||
|      | ||||
|     memset(&type2, 0, sizeof(type2)); | ||||
|      | ||||
|     /* | ||||
|      * Request data for type 2 packet from the KDC. | ||||
|      */ | ||||
|     ret = krb5_ntlm_init_request(ctx->context,  | ||||
| 				 ctx->ntlm, | ||||
| 				 NULL, | ||||
| 				 ctx->id, | ||||
| 				 flags, | ||||
| 				 hostname, | ||||
| 				 domain); | ||||
|     if (ret) { | ||||
| 	*minor_status = ret; | ||||
| 	return GSS_S_FAILURE; | ||||
|     } | ||||
|  | ||||
|     /* | ||||
|      * | ||||
|      */ | ||||
|  | ||||
|     ret = krb5_ntlm_init_get_opaque(ctx->context, ctx->ntlm, &ctx->opaque); | ||||
|     if (ret) { | ||||
| 	*minor_status = ret; | ||||
| 	return GSS_S_FAILURE; | ||||
|     } | ||||
|  | ||||
|     /* | ||||
|      * | ||||
|      */ | ||||
|  | ||||
|     ret = krb5_ntlm_init_get_flags(ctx->context, ctx->ntlm, &type2.flags); | ||||
|  | ||||
|     ret = krb5_ntlm_init_get_challange(ctx->context, ctx->ntlm, &challange); | ||||
|     if (ret) { | ||||
| 	*minor_status = ret; | ||||
| 	return GSS_S_FAILURE; | ||||
|     } | ||||
|  | ||||
|     if (challange.length != sizeof(type2.challange)) { | ||||
| 	*minor_status = EINVAL; | ||||
| 	return GSS_S_FAILURE; | ||||
|     } | ||||
|     memcpy(type2.challange, challange.data, sizeof(type2.challange)); | ||||
|     krb5_data_free(&challange); | ||||
|  | ||||
|     krb5_ntlm_init_get_targetname(ctx->context, ctx->ntlm, &type2.targetname); | ||||
|     type2.targetinfo.data = "\x00\x00"; | ||||
|     type2.targetinfo.length = 2; | ||||
| 	 | ||||
|     ret = heim_ntlm_encode_type2(&type2, &data); | ||||
|     free(type2.targetname); | ||||
|     if (ret) { | ||||
| 	*minor_status = ret; | ||||
| 	return GSS_S_FAILURE; | ||||
|     } | ||||
| 	 | ||||
|     output_token->value = data.data; | ||||
|     output_token->length = data.length; | ||||
|  | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
|  | ||||
| static OM_uint32 | ||||
| handle_type3(OM_uint32 *minor_status, | ||||
| 	     ntlm_ctx ctx, | ||||
| 	     struct ntlm_type3 *type3) | ||||
| { | ||||
|     krb5_error_code ret; | ||||
|      | ||||
|     if (type3->username == NULL || type3->targetname == NULL || | ||||
| 	type3->ntlm.length == 0) | ||||
|     { | ||||
| 	ret = EINVAL; | ||||
| 	goto out; | ||||
|     } | ||||
|  | ||||
|     ret = krb5_ntlm_req_set_flags(ctx->context, ctx->ntlm, type3->flags); | ||||
|     if (ret) goto out; | ||||
|     ret = krb5_ntlm_req_set_username(ctx->context, ctx->ntlm, type3->username); | ||||
|     if (ret) goto out; | ||||
|     ret = krb5_ntlm_req_set_targetname(ctx->context, ctx->ntlm,  | ||||
| 				       type3->targetname); | ||||
|     if (ret) goto out; | ||||
|     ret = krb5_ntlm_req_set_lm(ctx->context, ctx->ntlm,  | ||||
| 			       type3->lm.data, type3->lm.length); | ||||
|     if (ret) goto out; | ||||
|     ret = krb5_ntlm_req_set_ntlm(ctx->context, ctx->ntlm,  | ||||
| 				 type3->ntlm.data, type3->ntlm.length); | ||||
|     if (ret) goto out; | ||||
|     ret = krb5_ntlm_req_set_opaque(ctx->context, ctx->ntlm, &ctx->opaque); | ||||
|     if (ret) goto out; | ||||
|  | ||||
|     /* | ||||
|      * Verify with the KDC the type3 packet is ok | ||||
|      */ | ||||
|     ret = krb5_ntlm_request(ctx->context,  | ||||
| 			    ctx->ntlm, | ||||
| 			    NULL, | ||||
| 			    ctx->id); | ||||
|  | ||||
|     return GSS_S_COMPLETE; | ||||
| out: | ||||
|     *minor_status = ret; | ||||
|     return GSS_S_FAILURE; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| OM_uint32 | ||||
| _gss_ntlm_accept_sec_context | ||||
| (OM_uint32 * minor_status, | ||||
|  gss_ctx_id_t * context_handle, | ||||
|  const gss_cred_id_t acceptor_cred_handle, | ||||
|  const gss_buffer_t input_token_buffer, | ||||
|  const gss_channel_bindings_t input_chan_bindings, | ||||
|  gss_name_t * src_name, | ||||
|  gss_OID * mech_type, | ||||
|  gss_buffer_t output_token, | ||||
|  OM_uint32 * ret_flags, | ||||
|  OM_uint32 * time_rec, | ||||
|  gss_cred_id_t * delegated_cred_handle | ||||
|     ) | ||||
| { | ||||
|     krb5_error_code ret; | ||||
|     struct ntlm_buf data; | ||||
|     ntlm_ctx ctx; | ||||
|  | ||||
|     output_token->value = NULL; | ||||
|     output_token->length = 0; | ||||
|  | ||||
|     *minor_status = 0; | ||||
|  | ||||
|     if (context_handle == NULL) | ||||
| 	return GSS_S_FAILURE; | ||||
| 	 | ||||
|     if (input_token_buffer == GSS_C_NO_BUFFER) | ||||
| 	return GSS_S_FAILURE; | ||||
|  | ||||
|     if (src_name) | ||||
| 	*src_name = GSS_C_NO_NAME; | ||||
|     if (mech_type) | ||||
| 	*mech_type = GSS_C_NO_OID; | ||||
|     if (ret_flags) | ||||
| 	*ret_flags = 0; | ||||
|     if (time_rec) | ||||
| 	*time_rec = 0; | ||||
|     if (delegated_cred_handle) | ||||
| 	*delegated_cred_handle = GSS_C_NO_CREDENTIAL; | ||||
|  | ||||
|     if (*context_handle == GSS_C_NO_CONTEXT) { | ||||
| 	struct ntlm_type1 type1; | ||||
| 	OM_uint32 major_status; | ||||
|  | ||||
| 	ctx = calloc(1, sizeof(*ctx)); | ||||
|  | ||||
| 	*context_handle = (gss_ctx_id_t)ctx; | ||||
|  | ||||
| 	ret = krb5_init_context(&ctx->context); | ||||
| 	if (ret) { | ||||
| 	    _gss_ntlm_delete_sec_context(minor_status, context_handle, NULL); | ||||
| 	    *minor_status = ret; | ||||
| 	    return GSS_S_FAILURE; | ||||
| 	} | ||||
|  | ||||
| 	ret = krb5_ntlm_alloc(ctx->context, &ctx->ntlm); | ||||
| 	if (ret) { | ||||
| 	    _gss_ntlm_delete_sec_context(minor_status, context_handle, NULL); | ||||
| 	    *minor_status = ret; | ||||
| 	    return GSS_S_FAILURE; | ||||
| 	} | ||||
| 	 | ||||
| 	data.data = input_token_buffer->value; | ||||
| 	data.length = input_token_buffer->length; | ||||
| 	 | ||||
| 	ret = heim_ntlm_decode_type1(&data, &type1); | ||||
| 	if (ret) { | ||||
| 	    _gss_ntlm_delete_sec_context(minor_status, context_handle, NULL); | ||||
| 	    *minor_status = ret; | ||||
| 	    return GSS_S_FAILURE; | ||||
| 	} | ||||
|  | ||||
| 	if ((type1.flags & NTLM_NEG_UNICODE) == 0) { | ||||
| 	    _gss_ntlm_delete_sec_context(minor_status, context_handle, NULL); | ||||
| 	    *minor_status = EINVAL; | ||||
| 	    return GSS_S_FAILURE; | ||||
| 	} | ||||
|  | ||||
| 	if (type1.flags & NTLM_NEG_SIGN) | ||||
| 	    ctx->flags |= GSS_C_CONF_FLAG; | ||||
| 	if (type1.flags & NTLM_NEG_SIGN) | ||||
| 	    ctx->flags |= GSS_C_INTEG_FLAG; | ||||
|  | ||||
| 	major_status = handle_type2(minor_status, | ||||
| 				    ctx, | ||||
| 				    type1.flags, | ||||
| 				    type1.hostname, | ||||
| 				    type1.domain, | ||||
| 				    output_token); | ||||
| 	heim_ntlm_free_type1(&type1); | ||||
| 	if (major_status != GSS_S_COMPLETE) { | ||||
| 	    _gss_ntlm_delete_sec_context(minor_status,  | ||||
| 					 context_handle, NULL); | ||||
| 	    return major_status; | ||||
| 	} | ||||
|  | ||||
| 	return GSS_S_CONTINUE_NEEDED; | ||||
|     } else { | ||||
| 	OM_uint32 maj_stat; | ||||
| 	struct ntlm_type3 type3; | ||||
|  | ||||
| 	ctx = (ntlm_ctx)*context_handle; | ||||
|  | ||||
| 	data.data = input_token_buffer->value; | ||||
| 	data.length = input_token_buffer->length; | ||||
|  | ||||
| 	ret = heim_ntlm_decode_type3(&data, 1, &type3); | ||||
| 	if (ret) { | ||||
| 	    _gss_ntlm_delete_sec_context(minor_status,  | ||||
| 					 context_handle, NULL); | ||||
| 	    *minor_status = ret; | ||||
| 	    return GSS_S_FAILURE; | ||||
| 	} | ||||
|  | ||||
| 	maj_stat = handle_type3(minor_status, ctx, &type3); | ||||
| 	if (maj_stat != GSS_S_COMPLETE) { | ||||
| 	    OM_uint32 junk; | ||||
| 	    _gss_ntlm_delete_sec_context(&junk, context_handle, NULL); | ||||
| 	    return maj_stat; | ||||
| 	} | ||||
|  | ||||
| 	heim_ntlm_free_type3(&type3); | ||||
|  | ||||
| 	if (mech_type) | ||||
| 	    *mech_type = GSS_NTLM_MECHANISM; | ||||
| 	if (time_rec) | ||||
| 	    *time_rec = GSS_C_INDEFINITE; | ||||
|  | ||||
| 	ctx->status |= STATUS_OPEN; | ||||
|  | ||||
| 	return GSS_S_COMPLETE; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										57
									
								
								lib/gssapi/ntlm/acquire_cred.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								lib/gssapi/ntlm/acquire_cred.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997 - 2004 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_acquire_cred | ||||
|            (OM_uint32 * minor_status, | ||||
|             const gss_name_t desired_name, | ||||
|             OM_uint32 time_req, | ||||
|             const gss_OID_set desired_mechs, | ||||
|             gss_cred_usage_t cred_usage, | ||||
|             gss_cred_id_t * output_cred_handle, | ||||
|             gss_OID_set * actual_mechs, | ||||
|             OM_uint32 * time_rec | ||||
|            ) | ||||
| { | ||||
|     *minor_status = 0; | ||||
|     if (output_cred_handle) | ||||
| 	*output_cred_handle = GSS_C_NO_CREDENTIAL; | ||||
|     if (actual_mechs) | ||||
| 	*actual_mechs = GSS_C_NO_OID_SET; | ||||
|     if (time_rec) | ||||
| 	*time_rec = GSS_C_INDEFINITE; | ||||
|     return (GSS_S_COMPLETE); | ||||
| } | ||||
							
								
								
									
										62
									
								
								lib/gssapi/ntlm/add_cred.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								lib/gssapi/ntlm/add_cred.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_add_cred ( | ||||
|      OM_uint32           *minor_status, | ||||
|      const gss_cred_id_t input_cred_handle, | ||||
|      const gss_name_t    desired_name, | ||||
|      const gss_OID       desired_mech, | ||||
|      gss_cred_usage_t    cred_usage, | ||||
|      OM_uint32           initiator_time_req, | ||||
|      OM_uint32           acceptor_time_req, | ||||
|      gss_cred_id_t       *output_cred_handle, | ||||
|      gss_OID_set         *actual_mechs, | ||||
|      OM_uint32           *initiator_time_rec, | ||||
|      OM_uint32           *acceptor_time_rec) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (output_cred_handle) | ||||
| 	*output_cred_handle = GSS_C_NO_CREDENTIAL; | ||||
|     if (actual_mechs) | ||||
| 	*actual_mechs = GSS_C_NO_OID_SET; | ||||
|     if (initiator_time_rec) | ||||
| 	*initiator_time_rec = 0; | ||||
|     if (acceptor_time_rec) | ||||
| 	*acceptor_time_rec = 0; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										46
									
								
								lib/gssapi/ntlm/canonicalize_name.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								lib/gssapi/ntlm/canonicalize_name.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_canonicalize_name ( | ||||
|             OM_uint32 * minor_status, | ||||
|             const gss_name_t input_name, | ||||
|             const gss_OID mech_type, | ||||
|             gss_name_t * output_name | ||||
|            ) | ||||
| { | ||||
|     return gss_duplicate_name (minor_status, input_name, output_name); | ||||
| } | ||||
							
								
								
									
										47
									
								
								lib/gssapi/ntlm/compare_name.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								lib/gssapi/ntlm/compare_name.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997-2003 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_compare_name | ||||
|            (OM_uint32 * minor_status, | ||||
|             const gss_name_t name1, | ||||
|             const gss_name_t name2, | ||||
|             int * name_equal | ||||
|            ) | ||||
| { | ||||
|     *minor_status = 0; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										47
									
								
								lib/gssapi/ntlm/context_time.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								lib/gssapi/ntlm/context_time.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997 - 2003 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_context_time | ||||
|            (OM_uint32 * minor_status, | ||||
|             const gss_ctx_id_t context_handle, | ||||
|             OM_uint32 * time_rec | ||||
|            ) | ||||
| { | ||||
|     if (time_rec) | ||||
| 	*time_rec = GSS_C_INDEFINITE; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										63
									
								
								lib/gssapi/ntlm/delete_sec_context.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								lib/gssapi/ntlm/delete_sec_context.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997 - 2003 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_delete_sec_context | ||||
|            (OM_uint32 * minor_status, | ||||
|             gss_ctx_id_t * context_handle, | ||||
|             gss_buffer_t output_token | ||||
|            ) | ||||
| { | ||||
|     if (context_handle) { | ||||
| 	ntlm_ctx ctx = (ntlm_ctx)*context_handle; | ||||
| 	*context_handle = GSS_C_NO_CONTEXT; | ||||
|  | ||||
| 	if (ctx->context) { | ||||
| 	    krb5_ntlm_free(ctx->context, ctx->ntlm); | ||||
| 	    krb5_free_context(ctx->context); | ||||
| 	} | ||||
| 	krb5_data_free(&ctx->opaque); | ||||
| 	memset(ctx, 0, sizeof(*ctx)); | ||||
| 	free(ctx); | ||||
|     } | ||||
|     if (output_token) { | ||||
| 	output_token->length = 0; | ||||
| 	output_token->value  = NULL; | ||||
|     } | ||||
|  | ||||
|     *minor_status = 0; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										53
									
								
								lib/gssapi/ntlm/display_name.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								lib/gssapi/ntlm/display_name.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997 - 2003 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_display_name | ||||
|            (OM_uint32 * minor_status, | ||||
|             const gss_name_t input_name, | ||||
|             gss_buffer_t output_name_buffer, | ||||
|             gss_OID * output_name_type | ||||
|            ) | ||||
| { | ||||
|     *minor_status = 0; | ||||
|     if (output_name_type) | ||||
| 	*output_name_type = GSS_NTLM_MECHANISM; | ||||
|     if (output_name_buffer) { | ||||
| 	output_name_buffer->length = 0; | ||||
| 	output_name_buffer->value = NULL; | ||||
|     } | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										55
									
								
								lib/gssapi/ntlm/display_status.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								lib/gssapi/ntlm/display_status.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | ||||
| /* | ||||
|  * Copyright (c) 1998 - 2005 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_display_status | ||||
|            (OM_uint32		*minor_status, | ||||
| 	    OM_uint32		 status_value, | ||||
| 	    int			 status_type, | ||||
| 	    const gss_OID	 mech_type, | ||||
| 	    OM_uint32		*message_context, | ||||
| 	    gss_buffer_t	 status_string) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (status_string) { | ||||
| 	status_string->length = 0; | ||||
| 	status_string->value = NULL; | ||||
|     } | ||||
|     if (message_context) | ||||
| 	*message_context = 0; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										49
									
								
								lib/gssapi/ntlm/duplicate_name.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								lib/gssapi/ntlm/duplicate_name.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,49 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_duplicate_name ( | ||||
|             OM_uint32 * minor_status, | ||||
|             const gss_name_t src_name, | ||||
|             gss_name_t * dest_name | ||||
|            ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (dest_name) | ||||
| 	*dest_name = NULL; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										51
									
								
								lib/gssapi/ntlm/export_name.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								lib/gssapi/ntlm/export_name.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997, 1999, 2003 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_export_name | ||||
|            (OM_uint32  * minor_status, | ||||
|             const gss_name_t input_name, | ||||
|             gss_buffer_t exported_name | ||||
|            ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (exported_name) { | ||||
| 	exported_name->length = 0; | ||||
| 	exported_name->value = NULL; | ||||
|     } | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										52
									
								
								lib/gssapi/ntlm/export_sec_context.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								lib/gssapi/ntlm/export_sec_context.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| /* | ||||
|  * Copyright (c) 1999 - 2003 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 | ||||
| _gss_ntlm_export_sec_context ( | ||||
|     OM_uint32 * minor_status, | ||||
|     gss_ctx_id_t * context_handle, | ||||
|     gss_buffer_t interprocess_token | ||||
|     ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (interprocess_token) { | ||||
| 	interprocess_token->length = 0; | ||||
| 	interprocess_token->value = NULL; | ||||
|     } | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										82
									
								
								lib/gssapi/ntlm/external.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								lib/gssapi/ntlm/external.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,82 @@ | ||||
| /* | ||||
|  * Copyright (c) 2005 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| static gssapi_mech_interface_desc ntlm_mech = { | ||||
|     GMI_VERSION, | ||||
|     "ntlm", | ||||
|     {6, rk_UNCONST("\x2a\x85\x70\x2b\x0e\x02") }, | ||||
|     _gss_ntlm_acquire_cred, | ||||
|     _gss_ntlm_release_cred, | ||||
|     _gss_ntlm_init_sec_context, | ||||
|     _gss_ntlm_accept_sec_context, | ||||
|     _gss_ntlm_process_context_token, | ||||
|     _gss_ntlm_delete_sec_context, | ||||
|     _gss_ntlm_context_time, | ||||
|     _gss_ntlm_get_mic, | ||||
|     _gss_ntlm_verify_mic, | ||||
|     _gss_ntlm_wrap, | ||||
|     _gss_ntlm_unwrap, | ||||
|     _gss_ntlm_display_status, | ||||
|     NULL, | ||||
|     _gss_ntlm_compare_name, | ||||
|     _gss_ntlm_display_name, | ||||
|     _gss_ntlm_import_name, | ||||
|     _gss_ntlm_export_name, | ||||
|     _gss_ntlm_release_name, | ||||
|     _gss_ntlm_inquire_cred, | ||||
|     _gss_ntlm_inquire_context, | ||||
|     _gss_ntlm_wrap_size_limit, | ||||
|     _gss_ntlm_add_cred, | ||||
|     _gss_ntlm_inquire_cred_by_mech, | ||||
|     _gss_ntlm_export_sec_context, | ||||
|     _gss_ntlm_import_sec_context, | ||||
|     _gss_ntlm_inquire_names_for_mech, | ||||
|     _gss_ntlm_inquire_mechs_for_name, | ||||
|     _gss_ntlm_canonicalize_name, | ||||
|     _gss_ntlm_duplicate_name | ||||
| }; | ||||
|  | ||||
| gssapi_mech_interface | ||||
| __gss_ntlm_initialize(void) | ||||
| { | ||||
| 	return &ntlm_mech; | ||||
| } | ||||
|  | ||||
| static gss_OID_desc _gss_ntlm_mechanism_desc =  | ||||
| {6, rk_UNCONST("\x2a\x85\x70\x2b\x0e\x02") }; | ||||
|  | ||||
| gss_OID GSS_NTLM_MECHANISM = &_gss_ntlm_mechanism_desc; | ||||
							
								
								
									
										53
									
								
								lib/gssapi/ntlm/get_mic.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								lib/gssapi/ntlm/get_mic.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_get_mic | ||||
|            (OM_uint32 * minor_status, | ||||
|             const gss_ctx_id_t context_handle, | ||||
|             gss_qop_t qop_req, | ||||
|             const gss_buffer_t message_buffer, | ||||
|             gss_buffer_t message_token | ||||
|            ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (message_token) { | ||||
| 	message_token->length = 0; | ||||
| 	message_token->value = NULL; | ||||
|     } | ||||
|     return GSS_S_FAILURE; | ||||
| } | ||||
							
								
								
									
										50
									
								
								lib/gssapi/ntlm/import_name.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								lib/gssapi/ntlm/import_name.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997 - 2003 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_import_name | ||||
|            (OM_uint32 * minor_status, | ||||
|             const gss_buffer_t input_name_buffer, | ||||
|             const gss_OID input_name_type, | ||||
|             gss_name_t * output_name | ||||
|            ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (output_name) | ||||
| 	*output_name = GSS_C_NO_NAME; | ||||
|     return GSS_S_FAILURE; | ||||
| } | ||||
							
								
								
									
										50
									
								
								lib/gssapi/ntlm/import_sec_context.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								lib/gssapi/ntlm/import_sec_context.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| /* | ||||
|  * Copyright (c) 1999 - 2003 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 | ||||
| _gss_ntlm_import_sec_context ( | ||||
|     OM_uint32 * minor_status, | ||||
|     const gss_buffer_t interprocess_token, | ||||
|     gss_ctx_id_t * context_handle | ||||
|     ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (context_handle) | ||||
| 	*context_handle = GSS_C_NO_CONTEXT; | ||||
|     return GSS_S_FAILURE; | ||||
| } | ||||
							
								
								
									
										48
									
								
								lib/gssapi/ntlm/indicate_mechs.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								lib/gssapi/ntlm/indicate_mechs.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_indicate_mechs | ||||
| (OM_uint32 * minor_status, | ||||
|  gss_OID_set * mech_set | ||||
|     ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (mech_set) | ||||
| 	*mech_set = GSS_C_NO_OID_SET; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										209
									
								
								lib/gssapi/ntlm/init_sec_context.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										209
									
								
								lib/gssapi/ntlm/init_sec_context.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,209 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| static int | ||||
| from_file(const char *fn, const char *target, | ||||
| 	  char **username, char **password) | ||||
| {	   | ||||
|     char *str, buf[1024]; | ||||
|     FILE *f; | ||||
|     f = fopen(fn, "r"); | ||||
|     if (f == NULL) | ||||
| 	return ENOENT; | ||||
|     while (fgets(buf, sizeof(buf), f) != NULL) { | ||||
| 	char *t, *u, *p; | ||||
| 	buf[strcspn(buf, "\r\n")] = '\0'; | ||||
| 	str = NULL; | ||||
| 	t = strtok_r(buf, ":", &str); | ||||
| 	if (t && strcasecmp(target, t) != 0) | ||||
| 	    continue; | ||||
| 	u = strtok_r(NULL, ":", &str); | ||||
| 	p = strtok_r(NULL, ":", &str); | ||||
| 	if (u == NULL || p == NULL) | ||||
| 	    continue; | ||||
| 	*username = strdup(u); | ||||
| 	*password = strdup(p); | ||||
| 	fclose(f); | ||||
| 	return 0; | ||||
|     } | ||||
|     fclose(f); | ||||
|     return ENOENT; | ||||
| } | ||||
|  | ||||
| static int | ||||
| get_userinfo(const gss_name_t target_name, | ||||
| 	     char **username, char **password) | ||||
| { | ||||
|     const char *fn = NULL; | ||||
|  | ||||
|     if (!issuid()) { | ||||
| 	fn = getenv("NTLM_USER_FILE"); | ||||
| 	if (fn != NULL && from_file(fn, "XXX", username, password) == 0) | ||||
| 	    return 0; | ||||
|     } | ||||
|     return ENOENT; | ||||
| } | ||||
|  | ||||
|  | ||||
| OM_uint32 | ||||
| _gss_ntlm_init_sec_context | ||||
|            (OM_uint32 * minor_status, | ||||
|             const gss_cred_id_t initiator_cred_handle, | ||||
|             gss_ctx_id_t * context_handle, | ||||
|             const gss_name_t target_name, | ||||
|             const gss_OID mech_type, | ||||
|             OM_uint32 req_flags, | ||||
|             OM_uint32 time_req, | ||||
|             const gss_channel_bindings_t input_chan_bindings, | ||||
|             const gss_buffer_t input_token, | ||||
|             gss_OID * actual_mech_type, | ||||
|             gss_buffer_t output_token, | ||||
|             OM_uint32 * ret_flags, | ||||
|             OM_uint32 * time_rec | ||||
| 	   ) | ||||
| { | ||||
|     ntlm_ctx ctx; | ||||
|  | ||||
|     *minor_status = 0; | ||||
|  | ||||
|     if (ret_flags) | ||||
| 	*ret_flags = 0; | ||||
|     if (time_rec) | ||||
| 	*time_rec = 0; | ||||
|     if (actual_mech_type) | ||||
| 	*actual_mech_type = GSS_C_NO_OID; | ||||
|  | ||||
|     if (*context_handle == GSS_C_NO_CONTEXT) { | ||||
| 	krb5_error_code ret; | ||||
| 	struct ntlm_type1 type1; | ||||
| 	struct ntlm_buf data; | ||||
| 	 | ||||
| 	memset(&type1, 0, sizeof(type1)); | ||||
| 	 | ||||
| 	ctx = calloc(1, sizeof(*ctx)); | ||||
| 	if (ctx == NULL) { | ||||
| 	    *minor_status = EINVAL; | ||||
| 	    return GSS_S_FAILURE; | ||||
| 	} | ||||
| 	*context_handle = (gss_ctx_id_t)ctx; | ||||
|  | ||||
| 	type1.flags = NTLM_NEG_UNICODE|NTLM_NEG_NTLM; | ||||
| 	type1.domain = NULL; | ||||
| 	type1.hostname = NULL; | ||||
| 	type1.os[0] = 0; | ||||
| 	type1.os[1] = 0; | ||||
| 	 | ||||
| 	ret = heim_ntlm_encode_type1(&type1, &data); | ||||
| 	if (ret) { | ||||
| 	    _gss_ntlm_delete_sec_context(minor_status, context_handle, NULL); | ||||
| 	    *minor_status = ret; | ||||
| 	    return GSS_S_FAILURE; | ||||
| 	} | ||||
| 	 | ||||
| 	output_token->value = data.data; | ||||
| 	output_token->length = data.length; | ||||
| 	 | ||||
| 	return GSS_S_CONTINUE_NEEDED; | ||||
|     } else { | ||||
| 	krb5_error_code ret; | ||||
| 	struct ntlm_type2 type2; | ||||
| 	struct ntlm_type3 type3; | ||||
| 	char *password = NULL; | ||||
| 	struct ntlm_buf data; | ||||
|  | ||||
| 	ctx = (ntlm_ctx)*context_handle; | ||||
|  | ||||
| 	data.data = input_token->value; | ||||
| 	data.length = input_token->length; | ||||
|  | ||||
| 	ret = heim_ntlm_decode_type2(&data, &type2); | ||||
| 	if (ret) { | ||||
| 	    _gss_ntlm_delete_sec_context(minor_status, context_handle, NULL); | ||||
| 	    *minor_status = ret; | ||||
| 	    return GSS_S_FAILURE; | ||||
| 	} | ||||
|  | ||||
| 	/* XXX check that type2.targetinfo matches `target_name<6D> */ | ||||
|  | ||||
| 	memset(&type3, 0, sizeof(type3)); | ||||
|  | ||||
| 	type3.flags = type2.flags; | ||||
| 	type3.targetname = type2.targetname; | ||||
| 	type3.ws = rk_UNCONST("workstation"); | ||||
|  | ||||
| 	ret = get_userinfo(target_name, &type3.username, &password); | ||||
| 	if (ret) { | ||||
| 	    _gss_ntlm_delete_sec_context(minor_status, context_handle, NULL); | ||||
| 	    *minor_status = ret; | ||||
| 	    return GSS_S_FAILURE; | ||||
| 	} | ||||
|  | ||||
| 	{ | ||||
| 	    struct ntlm_buf key; | ||||
| 	    heim_ntlm_nt_key(password, &key); | ||||
| 	    memset(password, 0, strlen(password)); | ||||
| 	    free(password); | ||||
|  | ||||
| 	    heim_ntlm_calculate_ntlm1(key.data, key.length, | ||||
| 				      type2.challange, | ||||
| 				      &type3.ntlm); | ||||
| 	    free(key.data); | ||||
| 	} | ||||
|  | ||||
| 	ret = heim_ntlm_encode_type3(&type3, &data); | ||||
| 	free(type3.username); | ||||
| 	if (ret) { | ||||
| 	    _gss_ntlm_delete_sec_context(minor_status, context_handle, NULL); | ||||
| 	    *minor_status = ret; | ||||
| 	    return GSS_S_FAILURE; | ||||
| 	} | ||||
|  | ||||
| 	output_token->length = data.length; | ||||
| 	output_token->value = data.data; | ||||
|  | ||||
| 	if (actual_mech_type) | ||||
| 	    *actual_mech_type = GSS_NTLM_MECHANISM; | ||||
| 	if (ret_flags) | ||||
| 	    *ret_flags = ctx->flags; | ||||
| 	if (time_rec) | ||||
| 	    *time_rec = GSS_C_INDEFINITE; | ||||
|  | ||||
| 	ctx->status |= STATUS_OPEN; | ||||
|  | ||||
| 	return GSS_S_COMPLETE; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										69
									
								
								lib/gssapi/ntlm/inquire_context.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								lib/gssapi/ntlm/inquire_context.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,69 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_inquire_context ( | ||||
|             OM_uint32 * minor_status, | ||||
|             const gss_ctx_id_t context_handle, | ||||
|             gss_name_t * src_name, | ||||
|             gss_name_t * targ_name, | ||||
|             OM_uint32 * lifetime_rec, | ||||
|             gss_OID * mech_type, | ||||
|             OM_uint32 * ctx_flags, | ||||
|             int * locally_initiated, | ||||
|             int * open_context | ||||
|            ) | ||||
| { | ||||
|     ntlm_ctx ctx = (ntlm_ctx)context_handle; | ||||
|  | ||||
|     *minor_status = 0; | ||||
|     if (src_name) | ||||
| 	*src_name = GSS_C_NO_NAME; | ||||
|     if (targ_name) | ||||
| 	*targ_name = GSS_C_NO_NAME; | ||||
|     if (lifetime_rec) | ||||
| 	*lifetime_rec = GSS_C_INDEFINITE; | ||||
|     if (mech_type) | ||||
| 	*mech_type = GSS_NTLM_MECHANISM; | ||||
|     if (ctx_flags) | ||||
| 	*ctx_flags = ctx->flags; | ||||
|     if (locally_initiated) | ||||
| 	*locally_initiated = (ctx->status & STATUS_CLIENT) ? 1 : 0; | ||||
|     if (open_context) | ||||
| 	*open_context = (ctx->status & STATUS_OPEN) ? 1 : 0; | ||||
|  | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										58
									
								
								lib/gssapi/ntlm/inquire_cred.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								lib/gssapi/ntlm/inquire_cred.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_inquire_cred | ||||
|            (OM_uint32 * minor_status, | ||||
|             const gss_cred_id_t cred_handle, | ||||
|             gss_name_t * name, | ||||
|             OM_uint32 * lifetime, | ||||
|             gss_cred_usage_t * cred_usage, | ||||
|             gss_OID_set * mechanisms | ||||
|            ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (name) | ||||
| 	*name = GSS_C_NO_NAME; | ||||
|     if (lifetime) | ||||
| 	*lifetime = 0; | ||||
|     if (cred_usage) | ||||
| 	*cred_usage = 0; | ||||
|     if (mechanisms) | ||||
| 	*mechanisms = GSS_C_NO_OID_SET; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										59
									
								
								lib/gssapi/ntlm/inquire_cred_by_mech.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								lib/gssapi/ntlm/inquire_cred_by_mech.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_inquire_cred_by_mech ( | ||||
|             OM_uint32 * minor_status, | ||||
|             const gss_cred_id_t cred_handle, | ||||
|             const gss_OID mech_type, | ||||
|             gss_name_t * name, | ||||
|             OM_uint32 * initiator_lifetime, | ||||
|             OM_uint32 * acceptor_lifetime, | ||||
|             gss_cred_usage_t * cred_usage | ||||
|     ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (name) | ||||
| 	*name = GSS_C_NO_NAME; | ||||
|     if (initiator_lifetime) | ||||
| 	*initiator_lifetime = 0; | ||||
|     if (acceptor_lifetime) | ||||
| 	*acceptor_lifetime = 0; | ||||
|     if (cred_usage) | ||||
| 	*cred_usage = 0; | ||||
|     return GSS_S_UNAVAILABLE; | ||||
| } | ||||
							
								
								
									
										49
									
								
								lib/gssapi/ntlm/inquire_mechs_for_name.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								lib/gssapi/ntlm/inquire_mechs_for_name.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,49 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_inquire_mechs_for_name ( | ||||
|             OM_uint32 * minor_status, | ||||
|             const gss_name_t input_name, | ||||
|             gss_OID_set * mech_types | ||||
|            ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (mech_types) | ||||
| 	*mech_types = GSS_C_NO_OID_SET; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										53
									
								
								lib/gssapi/ntlm/inquire_names_for_mech.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								lib/gssapi/ntlm/inquire_names_for_mech.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
|  | ||||
| OM_uint32 _gss_ntlm_inquire_names_for_mech ( | ||||
|             OM_uint32 * minor_status, | ||||
|             const gss_OID mechanism, | ||||
|             gss_OID_set * name_types | ||||
|            ) | ||||
| { | ||||
|     OM_uint32 ret; | ||||
|  | ||||
|     ret = gss_create_empty_oid_set(minor_status, name_types); | ||||
|     if (ret != GSS_S_COMPLETE) | ||||
| 	return ret; | ||||
|  | ||||
|     *minor_status = 0; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										78
									
								
								lib/gssapi/ntlm/ntlm.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								lib/gssapi/ntlm/ntlm.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,78 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| /* $Id$ */ | ||||
|  | ||||
| #ifndef NTLM_NTLM_H | ||||
| #define NTLM_NTLM_H | ||||
|  | ||||
| #ifdef HAVE_CONFIG_H | ||||
| #include <config.h> | ||||
| #endif | ||||
|  | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <assert.h> | ||||
| #include <string.h> | ||||
| #include <errno.h> | ||||
|  | ||||
| #include <gssapi.h> | ||||
| #include <gssapi_mech.h> | ||||
|  | ||||
| #include <krb5.h> | ||||
| #include <roken.h> | ||||
| #include <heim_threads.h> | ||||
|  | ||||
| #include <heimntlm.h> | ||||
|  | ||||
| #include "crypto-headers.h" | ||||
|  | ||||
| typedef struct { | ||||
|     krb5_context context; | ||||
|     krb5_ntlm ntlm; | ||||
|     krb5_realm kerberos_realm; | ||||
|     krb5_ccache id; | ||||
|     krb5_data opaque; | ||||
|     OM_uint32 flags; | ||||
|     OM_uint32 status; | ||||
| #define STATUS_OPEN 1 | ||||
| #define STATUS_CLIENT 2 | ||||
| } *ntlm_ctx; | ||||
|  | ||||
| typedef struct { | ||||
|     int foo; | ||||
| } *ntlm_cred; | ||||
|  | ||||
| #include <ntlm/ntlm-private.h> | ||||
|  | ||||
| #endif /* NTLM_NTLM_H */ | ||||
							
								
								
									
										46
									
								
								lib/gssapi/ntlm/process_context_token.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								lib/gssapi/ntlm/process_context_token.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_process_context_token ( | ||||
| 	OM_uint32          *minor_status, | ||||
| 	const gss_ctx_id_t context_handle, | ||||
| 	const gss_buffer_t token_buffer | ||||
|     ) | ||||
| { | ||||
|     *minor_status = 0; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										49
									
								
								lib/gssapi/ntlm/release_cred.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								lib/gssapi/ntlm/release_cred.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,49 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_release_cred | ||||
|            (OM_uint32 * minor_status, | ||||
|             gss_cred_id_t * cred_handle | ||||
|            ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (cred_handle) | ||||
| 	*cred_handle = GSS_C_NO_CREDENTIAL; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
|  | ||||
							
								
								
									
										48
									
								
								lib/gssapi/ntlm/release_name.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								lib/gssapi/ntlm/release_name.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| /* | ||||
|  * Copyright (c) 1997 - 2003 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_release_name | ||||
|            (OM_uint32 * minor_status, | ||||
|             gss_name_t * input_name | ||||
|            ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (input_name) | ||||
| 	*input_name = GSS_C_NO_NAME; | ||||
|     return GSS_S_COMPLETE; | ||||
| } | ||||
							
								
								
									
										58
									
								
								lib/gssapi/ntlm/unwrap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								lib/gssapi/ntlm/unwrap.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 _gss_ntlm_unwrap | ||||
|            (OM_uint32 * minor_status, | ||||
|             const gss_ctx_id_t context_handle, | ||||
|             const gss_buffer_t input_message_buffer, | ||||
|             gss_buffer_t output_message_buffer, | ||||
|             int * conf_state, | ||||
|             gss_qop_t * qop_state | ||||
|            ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (output_message_buffer) { | ||||
| 	output_message_buffer->value = NULL; | ||||
| 	output_message_buffer->length = 0; | ||||
|     } | ||||
|     if (conf_state) | ||||
| 	*conf_state = 0; | ||||
|     if (qop_state) | ||||
| 	*qop_state = 0; | ||||
|     return GSS_S_UNAVAILABLE; | ||||
| } | ||||
							
								
								
									
										51
									
								
								lib/gssapi/ntlm/verify_mic.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								lib/gssapi/ntlm/verify_mic.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 | ||||
| _gss_ntlm_verify_mic | ||||
|            (OM_uint32 * minor_status, | ||||
|             const gss_ctx_id_t context_handle, | ||||
|             const gss_buffer_t message_buffer, | ||||
|             const gss_buffer_t token_buffer, | ||||
|             gss_qop_t * qop_state | ||||
| 	    ) | ||||
| { | ||||
|     if (qop_state != NULL) | ||||
| 	*qop_state = GSS_C_QOP_DEFAULT; | ||||
|     *minor_status = 0; | ||||
|     return GSS_S_UNAVAILABLE; | ||||
| } | ||||
							
								
								
									
										72
									
								
								lib/gssapi/ntlm/wrap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								lib/gssapi/ntlm/wrap.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | ||||
| /* | ||||
|  * Copyright (c) 2006 Kungliga Tekniska H<>gskolan | ||||
|  * (Royal Institute of Technology, Stockholm, Sweden).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
|  * Redistribution and use in source and binary forms, with or without  | ||||
|  * modification, are permitted provided that the following conditions  | ||||
|  * are met:  | ||||
|  * | ||||
|  * 1. Redistributions of source code must retain the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer.  | ||||
|  * | ||||
|  * 2. Redistributions in binary form must reproduce the above copyright  | ||||
|  *    notice, this list of conditions and the following disclaimer in the  | ||||
|  *    documentation and/or other materials provided with the distribution.  | ||||
|  * | ||||
|  * 3. Neither the name of the Institute nor the names of its contributors  | ||||
|  *    may be used to endorse or promote products derived from this software  | ||||
|  *    without specific prior written permission.  | ||||
|  * | ||||
|  * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND  | ||||
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  | ||||
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  | ||||
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE  | ||||
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  | ||||
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS  | ||||
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  | ||||
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT  | ||||
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY  | ||||
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  | ||||
|  * SUCH DAMAGE.  | ||||
|  */ | ||||
|  | ||||
| #include "ntlm/ntlm.h" | ||||
|  | ||||
| RCSID("$Id$"); | ||||
|  | ||||
| OM_uint32 | ||||
| _gss_ntlm_wrap_size_limit ( | ||||
|             OM_uint32 * minor_status, | ||||
|             const gss_ctx_id_t context_handle, | ||||
|             int conf_req_flag, | ||||
|             gss_qop_t qop_req, | ||||
|             OM_uint32 req_output_size, | ||||
|             OM_uint32 * max_input_size | ||||
|            ) | ||||
| { | ||||
|     *minor_status = 0; | ||||
|     *max_input_size = 0; | ||||
|     return GSS_S_UNAVAILABLE; | ||||
| } | ||||
|  | ||||
| OM_uint32 _gss_ntlm_wrap | ||||
|            (OM_uint32 * minor_status, | ||||
|             const gss_ctx_id_t context_handle, | ||||
|             int conf_req_flag, | ||||
|             gss_qop_t qop_req, | ||||
|             const gss_buffer_t input_message_buffer, | ||||
|             int * conf_state, | ||||
|             gss_buffer_t output_message_buffer | ||||
|            ) | ||||
| { | ||||
|     if (minor_status) | ||||
| 	*minor_status = 0; | ||||
|     if (conf_state) | ||||
| 	*conf_state = 0; | ||||
|     if (output_message_buffer) { | ||||
| 	output_message_buffer->length = 0; | ||||
| 	output_message_buffer->value = NULL; | ||||
|     } | ||||
|     return GSS_S_UNAVAILABLE; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Love Hörnquist Åstrand
					Love Hörnquist Åstrand