remove trailing whitespace
This commit is contained in:
@@ -1,34 +1,34 @@
|
||||
.\" Copyright (c) 2003 - 2005 Kungliga Tekniska Högskolan
|
||||
.\" (Royal Institute of Technology, Stockholm, Sweden).
|
||||
.\" All rights reserved.
|
||||
.\" (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:
|
||||
.\" 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.
|
||||
.\" 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.
|
||||
.\" 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.
|
||||
.\" 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.
|
||||
.\"
|
||||
.\" 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$
|
||||
.\"
|
||||
.Dd April 20, 2005
|
||||
|
@@ -371,7 +371,7 @@ extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_c_nt_anonymous_oid_desc;
|
||||
* to that gss_OID_desc.
|
||||
*/
|
||||
extern GSSAPI_LIB_VARIABLE gss_OID_desc __gss_c_nt_export_name_oid_desc;
|
||||
#define GSS_C_NT_EXPORT_NAME (&__gss_c_nt_export_name_oid_desc)
|
||||
#define GSS_C_NT_EXPORT_NAME (&__gss_c_nt_export_name_oid_desc)
|
||||
|
||||
/* Major status codes */
|
||||
|
||||
@@ -831,7 +831,7 @@ typedef struct {
|
||||
size_t blocksize; /**< Specificed optimal size of messages, also
|
||||
is the maximum padding size
|
||||
(GSS_IOV_BUFFER_TYPE_PADDING) */
|
||||
} gss_context_stream_sizes;
|
||||
} gss_context_stream_sizes;
|
||||
|
||||
extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_attr_stream_sizes_oid_desc;
|
||||
#define GSS_C_ATTR_STREAM_SIZES (&__gss_c_attr_stream_sizes_oid_desc)
|
||||
|
@@ -154,14 +154,14 @@ print_mech_attr(const char *mechname, gss_const_OID mech, gss_OID_set set)
|
||||
major = gss_display_mech_attr(&minor, &set->elements[n], &name, &desc, NULL);
|
||||
if (major)
|
||||
continue;
|
||||
|
||||
|
||||
rtbl_add_column_entryv(ct, COL_OID, "%.*s",
|
||||
(int)name.length, (char *)name.value);
|
||||
rtbl_add_column_entryv(ct, COL_DESC, "%.*s",
|
||||
(int)desc.length, (char *)desc.value);
|
||||
if (mech) {
|
||||
gss_buffer_desc value;
|
||||
|
||||
|
||||
if (gss_mo_get(mech, &set->elements[n], &value) != 0)
|
||||
value.length = 0;
|
||||
|
||||
|
@@ -92,7 +92,7 @@ hash_input_chan_bindings (const gss_channel_bindings_t b,
|
||||
_gsskrb5_encode_om_uint32 (b->acceptor_address.length, num);
|
||||
EVP_DigestUpdate(ctx, num, sizeof(num));
|
||||
if (b->acceptor_address.length)
|
||||
EVP_DigestUpdate(ctx,
|
||||
EVP_DigestUpdate(ctx,
|
||||
b->acceptor_address.value,
|
||||
b->acceptor_address.length);
|
||||
_gsskrb5_encode_om_uint32 (b->application_data.length, num);
|
||||
|
@@ -123,7 +123,7 @@ _gsskrb5i_is_cfx(krb5_context context, gsskrb5_ctx ctx, int acceptor)
|
||||
|
||||
if (key == NULL)
|
||||
return;
|
||||
|
||||
|
||||
switch (key->keytype) {
|
||||
case ETYPE_DES_CBC_CRC:
|
||||
case ETYPE_DES_CBC_MD4:
|
||||
@@ -201,7 +201,7 @@ gsskrb5_accept_delegated_token
|
||||
|
||||
if (delegated_cred_handle) {
|
||||
gsskrb5_cred handle;
|
||||
|
||||
|
||||
ret = _gsskrb5_krb5_import_cred(minor_status,
|
||||
ccache,
|
||||
NULL,
|
||||
@@ -571,10 +571,10 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
|
||||
if(ctx->flags & GSS_C_MUTUAL_FLAG) {
|
||||
krb5_data outbuf;
|
||||
int use_subkey = 0;
|
||||
|
||||
|
||||
_gsskrb5i_is_cfx(context, ctx, 1);
|
||||
is_cfx = (ctx->more_flags & IS_CFX);
|
||||
|
||||
|
||||
if (is_cfx || (ap_options & AP_OPTS_USE_SUBKEY)) {
|
||||
use_subkey = 1;
|
||||
} else {
|
||||
@@ -602,7 +602,7 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
|
||||
KRB5_AUTH_CONTEXT_USE_SUBKEY,
|
||||
NULL);
|
||||
}
|
||||
|
||||
|
||||
kret = krb5_mk_rep(context,
|
||||
ctx->auth_context,
|
||||
&outbuf);
|
||||
@@ -610,7 +610,7 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
|
||||
*minor_status = kret;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
if (IS_DCE_STYLE(ctx)) {
|
||||
output_token->length = outbuf.length;
|
||||
output_token->value = outbuf.data;
|
||||
@@ -689,7 +689,7 @@ acceptor_wait_for_dcestyle(OM_uint32 * minor_status,
|
||||
krb5_error_code kret;
|
||||
krb5_data inbuf;
|
||||
int32_t r_seq_number, l_seq_number;
|
||||
|
||||
|
||||
/*
|
||||
* We know it's GSS_C_DCE_STYLE so we don't need to decapsulate the AP_REP
|
||||
*/
|
||||
@@ -736,7 +736,7 @@ acceptor_wait_for_dcestyle(OM_uint32 * minor_status,
|
||||
{
|
||||
krb5_ap_rep_enc_part *repl;
|
||||
int32_t auth_flags;
|
||||
|
||||
|
||||
krb5_auth_con_removeflags(context,
|
||||
ctx->auth_context,
|
||||
KRB5_AUTH_CONTEXT_DO_TIME,
|
||||
@@ -765,7 +765,7 @@ acceptor_wait_for_dcestyle(OM_uint32 * minor_status,
|
||||
if (lifetime_rec == 0) {
|
||||
return GSS_S_CONTEXT_EXPIRED;
|
||||
}
|
||||
|
||||
|
||||
if (time_rec) *time_rec = lifetime_rec;
|
||||
}
|
||||
|
||||
@@ -823,7 +823,7 @@ acceptor_wait_for_dcestyle(OM_uint32 * minor_status,
|
||||
{
|
||||
kret = krb5_auth_con_setremoteseqnumber(context,
|
||||
ctx->auth_context,
|
||||
r_seq_number);
|
||||
r_seq_number);
|
||||
if (kret) {
|
||||
*minor_status = kret;
|
||||
return GSS_S_FAILURE;
|
||||
|
@@ -46,7 +46,7 @@ __gsskrb5_ccache_lifetime(OM_uint32 *minor_status,
|
||||
|
||||
memset(&in_cred, 0, sizeof(in_cred));
|
||||
in_cred.client = principal;
|
||||
|
||||
|
||||
realm = krb5_principal_get_realm(context, principal);
|
||||
if (realm == NULL) {
|
||||
_gsskrb5_clear_status ();
|
||||
|
@@ -81,7 +81,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_add_cred (
|
||||
return(GSS_S_FAILURE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* check that we have the same name */
|
||||
if (dname != NULL &&
|
||||
krb5_principal_compare(context, dname,
|
||||
@@ -110,7 +110,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_add_cred (
|
||||
handle->ccache = NULL;
|
||||
handle->mechanisms = NULL;
|
||||
HEIMDAL_MUTEX_init(&handle->cred_id_mutex);
|
||||
|
||||
|
||||
ret = GSS_S_FAILURE;
|
||||
|
||||
kret = krb5_copy_principal(context, cred->principal,
|
||||
@@ -124,7 +124,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_add_cred (
|
||||
|
||||
if (cred->keytab) {
|
||||
char *name = NULL;
|
||||
|
||||
|
||||
ret = GSS_S_FAILURE;
|
||||
|
||||
kret = krb5_kt_get_full_name(context, cred->keytab, &name);
|
||||
@@ -155,7 +155,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_add_cred (
|
||||
}
|
||||
|
||||
if (strcmp(type, "MEMORY") == 0) {
|
||||
ret = krb5_cc_new_unique(context, type,
|
||||
ret = krb5_cc_new_unique(context, type,
|
||||
NULL, &handle->ccache);
|
||||
if (ret) {
|
||||
*minor_status = ret;
|
||||
@@ -175,20 +175,20 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_add_cred (
|
||||
*minor_status = ENOMEM;
|
||||
goto failure;
|
||||
}
|
||||
|
||||
|
||||
kret = asprintf(&type_name, "%s:%s", type, name);
|
||||
if (kret < 0 || type_name == NULL) {
|
||||
*minor_status = ENOMEM;
|
||||
goto failure;
|
||||
}
|
||||
|
||||
|
||||
kret = krb5_cc_resolve(context, type_name,
|
||||
&handle->ccache);
|
||||
free(type_name);
|
||||
if (kret) {
|
||||
*minor_status = kret;
|
||||
goto failure;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ret = gss_create_empty_oid_set(minor_status, &handle->mechanisms);
|
||||
|
@@ -69,11 +69,11 @@ _gk_unwrap_iov(OM_uint32 *minor_status,
|
||||
krb5_context context;
|
||||
|
||||
GSSAPI_KRB5_INIT (&context);
|
||||
|
||||
|
||||
if (ctx->more_flags & IS_CFX)
|
||||
return _gssapi_unwrap_cfx_iov(minor_status, ctx, context,
|
||||
conf_state, qop_state, iov, iov_count);
|
||||
|
||||
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
||||
@@ -88,13 +88,13 @@ _gk_wrap_iov_length(OM_uint32 * minor_status,
|
||||
{
|
||||
const gsskrb5_ctx ctx = (const gsskrb5_ctx) context_handle;
|
||||
krb5_context context;
|
||||
|
||||
|
||||
GSSAPI_KRB5_INIT (&context);
|
||||
|
||||
|
||||
if (ctx->more_flags & IS_CFX)
|
||||
return _gssapi_wrap_iov_length_cfx(minor_status, ctx, context,
|
||||
conf_req_flag, qop_req, conf_state,
|
||||
iov, iov_count);
|
||||
|
||||
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
@@ -309,7 +309,7 @@ _gssapi_verify_mic_arcfour(OM_uint32 * minor_status,
|
||||
|
||||
{
|
||||
EVP_CIPHER_CTX rc4_key;
|
||||
|
||||
|
||||
EVP_CIPHER_CTX_init(&rc4_key);
|
||||
EVP_CipherInit_ex(&rc4_key, EVP_rc4(), NULL, (void *)k6_data, NULL, 0);
|
||||
EVP_Cipher(&rc4_key, SND_SEQ, p, 8);
|
||||
@@ -462,7 +462,7 @@ _gssapi_wrap_arcfour(OM_uint32 * minor_status,
|
||||
|
||||
if(conf_req_flag) {
|
||||
EVP_CIPHER_CTX rc4_key;
|
||||
|
||||
|
||||
EVP_CIPHER_CTX_init(&rc4_key);
|
||||
EVP_CipherInit_ex(&rc4_key, EVP_rc4(), NULL, k6_data, NULL, 1);
|
||||
EVP_Cipher(&rc4_key, p0 + 24, p0 + 24, 8 + datalen);
|
||||
@@ -481,7 +481,7 @@ _gssapi_wrap_arcfour(OM_uint32 * minor_status,
|
||||
|
||||
{
|
||||
EVP_CIPHER_CTX rc4_key;
|
||||
|
||||
|
||||
EVP_CIPHER_CTX_init(&rc4_key);
|
||||
EVP_CipherInit_ex(&rc4_key, EVP_rc4(), NULL, k6_data, NULL, 1);
|
||||
EVP_Cipher(&rc4_key, p0 + 8, p0 + 8 /* SND_SEQ */, 8);
|
||||
@@ -581,7 +581,7 @@ OM_uint32 _gssapi_unwrap_arcfour(OM_uint32 *minor_status,
|
||||
|
||||
{
|
||||
EVP_CIPHER_CTX rc4_key;
|
||||
|
||||
|
||||
EVP_CIPHER_CTX_init(&rc4_key);
|
||||
EVP_CipherInit_ex(&rc4_key, EVP_rc4(), NULL, k6_data, NULL, 1);
|
||||
EVP_Cipher(&rc4_key, SND_SEQ, p0 + 8, 8);
|
||||
@@ -629,7 +629,7 @@ OM_uint32 _gssapi_unwrap_arcfour(OM_uint32 *minor_status,
|
||||
|
||||
if(conf_flag) {
|
||||
EVP_CIPHER_CTX rc4_key;
|
||||
|
||||
|
||||
EVP_CIPHER_CTX_init(&rc4_key);
|
||||
EVP_CipherInit_ex(&rc4_key, EVP_rc4(), NULL, k6_data, NULL, 1);
|
||||
EVP_Cipher(&rc4_key, Confounder, p0 + 24, 8);
|
||||
|
@@ -569,7 +569,7 @@ _gssapi_wrap_cfx_iov(OM_uint32 *minor_status,
|
||||
plain packet:
|
||||
|
||||
{data | "header" | gss-trailer (krb5 checksum)
|
||||
|
||||
|
||||
don't do RRC != 0
|
||||
|
||||
*/
|
||||
@@ -651,7 +651,7 @@ unrotate_iov(OM_uint32 *minor_status, size_t rrc, gss_iov_buffer_desc *iov, int
|
||||
GSS_IOV_BUFFER_TYPE(iov[i].type) == GSS_IOV_BUFFER_TYPE_PADDING ||
|
||||
GSS_IOV_BUFFER_TYPE(iov[i].type) == GSS_IOV_BUFFER_TYPE_TRAILER)
|
||||
len += iov[i].buffer.length;
|
||||
|
||||
|
||||
p = malloc(len);
|
||||
if (p == NULL) {
|
||||
*minor_status = ENOMEM;
|
||||
|
@@ -59,7 +59,7 @@ check_compat(OM_uint32 *minor_status,
|
||||
*compat = match_val;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
krb5_free_principal(context, match);
|
||||
match = NULL;
|
||||
}
|
||||
|
@@ -88,6 +88,6 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_context_time
|
||||
|
||||
if (*time_rec == 0)
|
||||
return GSS_S_CONTEXT_EXPIRED;
|
||||
|
||||
|
||||
return GSS_S_COMPLETE;
|
||||
}
|
||||
|
@@ -100,7 +100,7 @@ _gsskrb5_krb5_import_cred(OM_uint32 *minor_status,
|
||||
*minor_status = kret;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
if (keytab_principal) {
|
||||
krb5_boolean match;
|
||||
|
||||
|
@@ -47,7 +47,7 @@ _gsskrb5_export_cred(OM_uint32 *minor_status,
|
||||
char *str;
|
||||
|
||||
GSSAPI_KRB5_INIT (&context);
|
||||
|
||||
|
||||
if (handle->usage != GSS_C_INITIATE && handle->usage != GSS_C_BOTH) {
|
||||
*minor_status = GSS_KRB5_S_G_BAD_USAGE;
|
||||
return GSS_S_FAILURE;
|
||||
@@ -93,14 +93,14 @@ _gsskrb5_export_cred(OM_uint32 *minor_status,
|
||||
*minor_status = ret;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
ret = krb5_cc_get_full_name(context, handle->ccache, &str);
|
||||
if (ret) {
|
||||
krb5_storage_free(sp);
|
||||
*minor_status = ret;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
ret = krb5_store_string(sp, str);
|
||||
free(str);
|
||||
if (ret) {
|
||||
@@ -222,7 +222,7 @@ _gsskrb5_import_cred(OM_uint32 * minor_status,
|
||||
*minor_status = ret;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
ret = krb5_cc_resolve(context, str, &id);
|
||||
krb5_xfree(str);
|
||||
if (ret) {
|
||||
|
@@ -114,7 +114,7 @@ _gssapi_encapsulate(
|
||||
if (output_token->value == NULL) {
|
||||
*minor_status = ENOMEM;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
p = _gssapi_make_mech_header (output_token->value, len, mech);
|
||||
memcpy (p, in_data->data, in_data->length);
|
||||
@@ -145,7 +145,7 @@ _gsskrb5_encapsulate(
|
||||
if (output_token->value == NULL) {
|
||||
*minor_status = ENOMEM;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
p = _gsskrb5_make_header (output_token->value, len, type, mech);
|
||||
memcpy (p, in_data->data, in_data->length);
|
||||
|
@@ -107,9 +107,9 @@ _gsskrb5_canon_name(OM_uint32 *minor_status, krb5_context context,
|
||||
return GSS_S_BAD_NAME;
|
||||
else if (p->name.name_string.len > 1)
|
||||
hostname = p->name.name_string.val[1];
|
||||
|
||||
|
||||
service = p->name.name_string.val[0];
|
||||
|
||||
|
||||
ret = krb5_sname_to_principal(context,
|
||||
hostname,
|
||||
service,
|
||||
|
@@ -41,7 +41,7 @@
|
||||
static OM_uint32
|
||||
set_addresses (krb5_context context,
|
||||
krb5_auth_context ac,
|
||||
const gss_channel_bindings_t input_chan_bindings)
|
||||
const gss_channel_bindings_t input_chan_bindings)
|
||||
{
|
||||
/* Port numbers are expected to be in application_data.value,
|
||||
* initator's port first */
|
||||
@@ -453,11 +453,11 @@ init_auth
|
||||
* DNS canonicalizion.
|
||||
*/
|
||||
ret = gsskrb5_get_creds(minor_status, context, ctx->ccache,
|
||||
ctx, name, 0, time_req,
|
||||
ctx, name, 0, time_req,
|
||||
time_rec);
|
||||
if (ret && allow_dns)
|
||||
ret = gsskrb5_get_creds(minor_status, context, ctx->ccache,
|
||||
ctx, name, 1, time_req,
|
||||
ctx, name, 1, time_req,
|
||||
time_rec);
|
||||
if (ret)
|
||||
goto failure;
|
||||
@@ -543,7 +543,7 @@ init_auth_restart
|
||||
*/
|
||||
if (!ctx->kcred->flags.b.ok_as_delegate) {
|
||||
krb5_data data;
|
||||
|
||||
|
||||
ret = krb5_cc_get_config(context, ctx->ccache, NULL,
|
||||
"realm-config", &data);
|
||||
if (ret == 0) {
|
||||
@@ -848,9 +848,9 @@ repl_mutual
|
||||
*minor_status = kret;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
/* reset local seq number */
|
||||
krb5_auth_con_setlocalseqnumber(context, ctx->auth_context, local_seq);
|
||||
krb5_auth_con_setlocalseqnumber(context, ctx->auth_context, local_seq);
|
||||
|
||||
output_token->length = outbuf.length;
|
||||
output_token->value = outbuf.data;
|
||||
@@ -953,7 +953,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_init_sec_context
|
||||
ret_flags,
|
||||
time_rec);
|
||||
if (ret != GSS_S_COMPLETE)
|
||||
break;
|
||||
break;
|
||||
/* FALL THOUGH */
|
||||
case INITIATOR_RESTART:
|
||||
ret = init_auth_restart(minor_status,
|
||||
|
@@ -95,12 +95,12 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_inquire_cred
|
||||
if (output_name != NULL) {
|
||||
if (icred && icred->principal != NULL) {
|
||||
gss_name_t name;
|
||||
|
||||
|
||||
if (acred && acred->principal)
|
||||
name = (gss_name_t)acred->principal;
|
||||
else
|
||||
name = (gss_name_t)icred->principal;
|
||||
|
||||
|
||||
ret = _gsskrb5_duplicate_name(minor_status, name, output_name);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
@@ -72,6 +72,6 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_inquire_names_for_mech (
|
||||
|
||||
if (ret != GSS_S_COMPLETE)
|
||||
gss_release_oid_set(NULL, name_types);
|
||||
|
||||
|
||||
return GSS_S_COMPLETE;
|
||||
}
|
||||
|
@@ -159,10 +159,10 @@ static OM_uint32 inquire_sec_context_get_subkey
|
||||
|
||||
{
|
||||
gss_buffer_desc value;
|
||||
|
||||
|
||||
value.length = data.length;
|
||||
value.value = data.data;
|
||||
|
||||
|
||||
maj_stat = gss_add_buffer_set_member(minor_status,
|
||||
&value,
|
||||
data_set);
|
||||
@@ -504,10 +504,10 @@ get_service_keyblock
|
||||
|
||||
{
|
||||
gss_buffer_desc value;
|
||||
|
||||
|
||||
value.length = data.length;
|
||||
value.value = data.data;
|
||||
|
||||
|
||||
maj_stat = gss_add_buffer_set_member(minor_status,
|
||||
&value,
|
||||
data_set);
|
||||
|
@@ -64,7 +64,7 @@ msg_order_alloc(OM_uint32 *minor_status,
|
||||
if (*o == NULL) {
|
||||
*minor_status = ENOMEM;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
*minor_status = 0;
|
||||
return GSS_S_COMPLETE;
|
||||
|
@@ -209,7 +209,7 @@ no_ci_flags(OM_uint32 *minor_status,
|
||||
|
||||
cred = (gsskrb5_cred)*cred_handle;
|
||||
cred->cred_flags |= GSS_CF_NO_CI_FLAGS;
|
||||
|
||||
|
||||
*minor_status = 0;
|
||||
return GSS_S_COMPLETE;
|
||||
|
||||
@@ -241,7 +241,7 @@ _gsskrb5_set_cred_option
|
||||
if (gss_oid_equal(desired_object, GSS_KRB5_CRED_NO_CI_FLAGS_X)) {
|
||||
return no_ci_flags(minor_status, context, cred_handle, value);
|
||||
}
|
||||
|
||||
|
||||
|
||||
*minor_status = EINVAL;
|
||||
return GSS_S_FAILURE;
|
||||
|
@@ -221,7 +221,7 @@ _gsskrb5_set_sec_context_option
|
||||
return maj_stat;
|
||||
|
||||
t = time(NULL) + offset;
|
||||
|
||||
|
||||
krb5_set_real_time(context, t, 0);
|
||||
|
||||
*minor_status = 0;
|
||||
|
@@ -103,7 +103,7 @@ _gsskrb5_store_cred(OM_uint32 *minor_status,
|
||||
*minor_status = ret;
|
||||
return(GSS_S_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
if (default_cred)
|
||||
krb5_cc_switch(context, id);
|
||||
|
||||
|
@@ -63,7 +63,7 @@ test_add(gss_cred_id_t cred_handle)
|
||||
NULL,
|
||||
&time_rec,
|
||||
NULL);
|
||||
|
||||
|
||||
if (GSS_ERROR(major_status))
|
||||
errx(1, "add_cred failed");
|
||||
|
||||
@@ -92,7 +92,7 @@ copy_cred(void)
|
||||
&time_rec);
|
||||
if (GSS_ERROR(major_status))
|
||||
errx(1, "acquire_cred failed");
|
||||
|
||||
|
||||
print_time(time_rec);
|
||||
|
||||
test_add(cred_handle);
|
||||
@@ -135,7 +135,7 @@ acquire_cred_service(const char *service)
|
||||
&time_rec);
|
||||
if (GSS_ERROR(major_status))
|
||||
errx(1, "acquire_cred failed");
|
||||
|
||||
|
||||
print_time(time_rec);
|
||||
|
||||
major_status = gss_release_cred(&minor_status,
|
||||
|
@@ -103,7 +103,7 @@ test_special(krb5_context context, krb5_crypto crypto,
|
||||
OM_uint32 minor;
|
||||
|
||||
ctx.crypto = crypto;
|
||||
|
||||
|
||||
ret = _gssapi_wrap_size_cfx(&minor,
|
||||
&ctx,
|
||||
context,
|
||||
@@ -159,7 +159,7 @@ main(int argc, char **argv)
|
||||
|
||||
test_special(context, crypto, 1, 60);
|
||||
test_special(context, crypto, 0, 60);
|
||||
|
||||
|
||||
for (i = 0; i < sizeof(tests)/sizeof(tests[0]); i++) {
|
||||
test_range(&tests[i], 1, context, crypto);
|
||||
test_range(&tests[i], 0, context, crypto);
|
||||
|
@@ -86,7 +86,7 @@ acquire_release_loop(gss_name_t name, int counter, gss_cred_usage_t usage)
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
gss_err(1, min_stat, "aquire %d %d != GSS_S_COMPLETE",
|
||||
i, (int)maj_stat);
|
||||
|
||||
|
||||
maj_stat = gss_release_cred(&min_stat, &cred);
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
gss_err(1, min_stat, "release %d %d != GSS_S_COMPLETE",
|
||||
@@ -122,7 +122,7 @@ acquire_add_release_add(gss_name_t name, gss_cred_usage_t usage)
|
||||
NULL,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
gss_err(1, min_stat, "add_cred %d != GSS_S_COMPLETE", (int)maj_stat);
|
||||
|
||||
|
@@ -89,7 +89,7 @@ copy_import(void)
|
||||
errx(1, "gss_compare_name");
|
||||
if (!equal)
|
||||
errx(1, "names not equal");
|
||||
|
||||
|
||||
if (lifetime1 != lifetime1)
|
||||
errx(1, "lifetime not equal");
|
||||
|
||||
|
@@ -34,17 +34,17 @@ parse_header(const gss_buffer_t input_token, gss_OID mech_oid)
|
||||
unsigned char *p = input_token->value;
|
||||
size_t len = input_token->length;
|
||||
size_t a, b;
|
||||
|
||||
|
||||
/*
|
||||
* Token must start with [APPLICATION 0] SEQUENCE.
|
||||
* But if it doesn't assume it is DCE-STYLE Kerberos!
|
||||
*/
|
||||
if (len == 0)
|
||||
return (GSS_S_DEFECTIVE_TOKEN);
|
||||
|
||||
|
||||
p++;
|
||||
len--;
|
||||
|
||||
|
||||
/*
|
||||
* Decode the length and make sure it agrees with the
|
||||
* token length.
|
||||
@@ -71,7 +71,7 @@ parse_header(const gss_buffer_t input_token, gss_OID mech_oid)
|
||||
}
|
||||
if (a != len)
|
||||
return (GSS_S_DEFECTIVE_TOKEN);
|
||||
|
||||
|
||||
/*
|
||||
* Decode the OID for the mechanism. Simplify life by
|
||||
* assuming that the OID length is less than 128 bytes.
|
||||
@@ -84,9 +84,9 @@ parse_header(const gss_buffer_t input_token, gss_OID mech_oid)
|
||||
p += 2;
|
||||
len -= 2;
|
||||
mech_oid->elements = p;
|
||||
|
||||
|
||||
return GSS_S_COMPLETE;
|
||||
}
|
||||
}
|
||||
|
||||
static gss_OID_desc krb5_mechanism =
|
||||
{9, rk_UNCONST("\x2a\x86\x48\x86\xf7\x12\x01\x02\x02")};
|
||||
@@ -221,7 +221,7 @@ gss_accept_sec_context(OM_uint32 *minor_status,
|
||||
acceptor_mc = GSS_C_NO_CREDENTIAL;
|
||||
}
|
||||
delegated_mc = GSS_C_NO_CREDENTIAL;
|
||||
|
||||
|
||||
mech_ret_flags = 0;
|
||||
major_status = m->gm_accept_sec_context(minor_status,
|
||||
&ctx->gc_ctx,
|
||||
@@ -267,7 +267,7 @@ gss_accept_sec_context(OM_uint32 *minor_status,
|
||||
mech_ret_flags &=
|
||||
~(GSS_C_DELEG_FLAG|GSS_C_DELEG_POLICY_FLAG);
|
||||
} else if (gss_oid_equal(mech_ret_type, &m->gm_mech_oid) == 0) {
|
||||
/*
|
||||
/*
|
||||
* If the returned mech_type is not the same
|
||||
* as the mech, assume its pseudo mech type
|
||||
* and the returned type is already a
|
||||
|
@@ -47,7 +47,7 @@
|
||||
*
|
||||
* @returns a gss_error code, see gss_display_status() about printing
|
||||
* the error code.
|
||||
*
|
||||
*
|
||||
* @ingroup gssapi
|
||||
*/
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* AEAD support
|
||||
*/
|
||||
*/
|
||||
|
||||
#include "mech_locl.h"
|
||||
|
||||
@@ -90,7 +90,7 @@ gss_unwrap_iov(OM_uint32 *minor_status,
|
||||
int iov_count)
|
||||
{
|
||||
struct _gss_context *ctx = (struct _gss_context *) context_handle;
|
||||
gssapi_mech_interface m;
|
||||
gssapi_mech_interface m;
|
||||
|
||||
if (minor_status)
|
||||
*minor_status = 0;
|
||||
|
@@ -48,7 +48,7 @@
|
||||
*
|
||||
* @returns a gss_error code, see gss_display_status() about printing
|
||||
* the error code.
|
||||
*
|
||||
*
|
||||
* @ingroup gssapi
|
||||
*/
|
||||
|
||||
|
@@ -183,7 +183,7 @@ gss_import_cred(OM_uint32 * minor_status,
|
||||
buffer.value = data.data;
|
||||
buffer.length = data.length;
|
||||
|
||||
major = m->gm_import_cred(minor_status,
|
||||
major = m->gm_import_cred(minor_status,
|
||||
&buffer, &mcred);
|
||||
krb5_data_free(&data);
|
||||
if (major) {
|
||||
|
@@ -55,7 +55,7 @@ gss_decapsulate_token(gss_const_buffer_t input_token,
|
||||
if (ret) {
|
||||
der_free_oid(&o);
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
if (der_heim_oid_cmp(&ct.thisMech, &o) == 0) {
|
||||
status = GSS_S_COMPLETE;
|
||||
|
@@ -40,7 +40,7 @@ gss_delete_name_attribute(OM_uint32 *minor_status,
|
||||
OM_uint32 major_status = GSS_S_UNAVAILABLE;
|
||||
struct _gss_name *name = (struct _gss_name *) input_name;
|
||||
struct _gss_mechanism_name *mn;
|
||||
|
||||
|
||||
*minor_status = 0;
|
||||
|
||||
if (input_name == GSS_C_NO_NAME)
|
||||
|
@@ -41,9 +41,9 @@ gss_destroy_cred(void *status,
|
||||
return GSS_S_CALL_INACCESSIBLE_READ;
|
||||
if (*cred_handle == GSS_C_NO_CREDENTIAL)
|
||||
return GSS_S_COMPLETE;
|
||||
|
||||
|
||||
cred = (struct _gss_cred *)*cred_handle;
|
||||
|
||||
|
||||
while (HEIM_SLIST_FIRST(&cred->gc_mc)) {
|
||||
mc = HEIM_SLIST_FIRST(&cred->gc_mc);
|
||||
HEIM_SLIST_REMOVE_HEAD(&cred->gc_mc, gmc_link);
|
||||
|
@@ -41,7 +41,7 @@ gss_display_name_ext(OM_uint32 *minor_status,
|
||||
OM_uint32 major_status = GSS_S_UNAVAILABLE;
|
||||
struct _gss_name *name = (struct _gss_name *) input_name;
|
||||
struct _gss_mechanism_name *mn;
|
||||
|
||||
|
||||
*minor_status = 0;
|
||||
_mg_buffer_zero(display_name);
|
||||
|
||||
|
@@ -190,7 +190,7 @@ gss_display_status(OM_uint32 *minor_status,
|
||||
oid.value = rk_UNCONST("unknown");
|
||||
oid.length = 7;
|
||||
}
|
||||
|
||||
|
||||
e = asprintf (&buf, "unknown mech-code %lu for mech %.*s",
|
||||
(unsigned long)status_value,
|
||||
(int)oid.length, (char *)oid.value);
|
||||
|
@@ -52,7 +52,7 @@ gss_duplicate_name(OM_uint32 *minor_status,
|
||||
if (major_status != GSS_S_COMPLETE)
|
||||
return (major_status);
|
||||
new_name = (struct _gss_name *) *dest_name;
|
||||
|
||||
|
||||
HEIM_SLIST_FOREACH(mn, &name->gn_mn, gmn_link) {
|
||||
struct _gss_mechanism_name *mn2;
|
||||
_gss_find_mn(minor_status, new_name,
|
||||
@@ -67,10 +67,10 @@ gss_duplicate_name(OM_uint32 *minor_status,
|
||||
memset(new_name, 0, sizeof(struct _gss_name));
|
||||
HEIM_SLIST_INIT(&new_name->gn_mn);
|
||||
*dest_name = (gss_name_t) new_name;
|
||||
|
||||
|
||||
HEIM_SLIST_FOREACH(mn, &name->gn_mn, gmn_link) {
|
||||
struct _gss_mechanism_name *new_mn;
|
||||
|
||||
|
||||
new_mn = malloc(sizeof(*new_mn));
|
||||
if (!new_mn) {
|
||||
*minor_status = ENOMEM;
|
||||
@@ -78,7 +78,7 @@ gss_duplicate_name(OM_uint32 *minor_status,
|
||||
}
|
||||
new_mn->gmn_mech = mn->gmn_mech;
|
||||
new_mn->gmn_mech_oid = mn->gmn_mech_oid;
|
||||
|
||||
|
||||
major_status =
|
||||
mn->gmn_mech->gm_duplicate_name(minor_status,
|
||||
mn->gmn_name, &new_mn->gmn_name);
|
||||
|
@@ -58,7 +58,7 @@ gss_encapsulate_token(gss_const_buffer_t input_token,
|
||||
if (ret) {
|
||||
_mg_buffer_zero(output_token);
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
}
|
||||
if (output_token->length != size)
|
||||
abort();
|
||||
|
||||
|
@@ -40,7 +40,7 @@ gss_export_name_composite(OM_uint32 *minor_status,
|
||||
OM_uint32 major_status = GSS_S_UNAVAILABLE;
|
||||
struct _gss_name *name = (struct _gss_name *) input_name;
|
||||
struct _gss_mechanism_name *mn;
|
||||
|
||||
|
||||
*minor_status = 0;
|
||||
_mg_buffer_zero(exp_composite_name);
|
||||
|
||||
|
@@ -42,7 +42,7 @@ gss_export_sec_context(OM_uint32 *minor_status,
|
||||
|
||||
major_status = m->gm_export_sec_context(minor_status,
|
||||
&ctx->gc_ctx, &buf);
|
||||
|
||||
|
||||
if (major_status == GSS_S_COMPLETE) {
|
||||
unsigned char *p;
|
||||
|
||||
|
@@ -45,7 +45,7 @@ gss_get_name_attribute(OM_uint32 *minor_status,
|
||||
OM_uint32 major_status = GSS_S_UNAVAILABLE;
|
||||
struct _gss_name *name = (struct _gss_name *) input_name;
|
||||
struct _gss_mechanism_name *mn;
|
||||
|
||||
|
||||
*minor_status = 0;
|
||||
if (authenticated != NULL)
|
||||
*authenticated = 0;
|
||||
|
@@ -169,7 +169,7 @@ _gss_import_export_name(OM_uint32 *minor_status,
|
||||
*
|
||||
* @returns a gss_error code, see gss_display_status() about printing
|
||||
* the error code.
|
||||
*
|
||||
*
|
||||
* @ingroup gssapi
|
||||
*/
|
||||
|
||||
@@ -241,7 +241,7 @@ gss_import_name(OM_uint32 *minor_status,
|
||||
HEIM_SLIST_FOREACH(m, &_gss_mechs, gm_link) {
|
||||
int present = 0;
|
||||
|
||||
major_status = gss_test_oid_set_member(minor_status,
|
||||
major_status = gss_test_oid_set_member(minor_status,
|
||||
name_type, m->gm_name_types, &present);
|
||||
|
||||
if (major_status || present == 0)
|
||||
|
@@ -58,7 +58,7 @@ gss_import_sec_context(OM_uint32 *minor_status,
|
||||
mech_oid.elements = p + 2;
|
||||
buf.length = len - 2 - mech_oid.length;
|
||||
buf.value = p + 2 + mech_oid.length;
|
||||
|
||||
|
||||
m = __gss_get_mechanism(&mech_oid);
|
||||
if (!m)
|
||||
return (GSS_S_DEFECTIVE_TOKEN);
|
||||
|
@@ -42,7 +42,7 @@ gss_indicate_mechs(OM_uint32 *minor_status,
|
||||
major_status = gss_create_empty_oid_set(minor_status, mech_set);
|
||||
if (major_status)
|
||||
return (major_status);
|
||||
|
||||
|
||||
HEIM_SLIST_FOREACH(m, &_gss_mechs, gm_link) {
|
||||
if (m->gm_mech.gm_indicate_mechs) {
|
||||
major_status = m->gm_mech.gm_indicate_mechs(
|
||||
|
@@ -99,7 +99,7 @@ _gss_mech_cred_find(gss_cred_id_t cred_handle, gss_OID mech_type)
|
||||
*
|
||||
* @returns a gss_error code, see gss_display_status() about printing
|
||||
* the error code.
|
||||
*
|
||||
*
|
||||
* @ingroup gssapi
|
||||
*/
|
||||
|
||||
|
@@ -42,7 +42,7 @@ gss_inquire_name(OM_uint32 *minor_status,
|
||||
OM_uint32 major_status = GSS_S_UNAVAILABLE;
|
||||
struct _gss_name *name = (struct _gss_name *) input_name;
|
||||
struct _gss_mechanism_name *mn;
|
||||
|
||||
|
||||
*minor_status = 0;
|
||||
if (name_is_MN != NULL)
|
||||
*name_is_MN = 0;
|
||||
|
@@ -62,7 +62,7 @@ _gss_string_to_oid(const char* s, gss_OID oid)
|
||||
if (q) q = q + 1;
|
||||
number_count++;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* The first two numbers are in the first byte and each
|
||||
* subsequent number is encoded in a variable byte sequence.
|
||||
@@ -126,7 +126,7 @@ _gss_string_to_oid(const char* s, gss_OID oid)
|
||||
while (bytes) {
|
||||
if (res) {
|
||||
int bit = 7*(bytes-1);
|
||||
|
||||
|
||||
*res = (number >> bit) & 0x7f;
|
||||
if (bytes != 1)
|
||||
*res |= 0x80;
|
||||
|
@@ -58,7 +58,7 @@ _gss_find_mn(OM_uint32 *minor_status, struct _gss_name *name, gss_OID mech,
|
||||
mn = malloc(sizeof(struct _gss_mechanism_name));
|
||||
if (!mn)
|
||||
return GSS_S_FAILURE;
|
||||
|
||||
|
||||
major_status = m->gm_import_name(minor_status,
|
||||
&name->gn_value,
|
||||
(name->gn_type.elements
|
||||
|
@@ -43,7 +43,7 @@
|
||||
*
|
||||
* @return non-zero when both oid are the same OID, zero when they are
|
||||
* not the same.
|
||||
*
|
||||
*
|
||||
* @ingroup gssapi
|
||||
*/
|
||||
|
||||
|
@@ -40,7 +40,7 @@
|
||||
*
|
||||
* @returns a gss_error code, see gss_display_status() about printing
|
||||
* the error code.
|
||||
*
|
||||
*
|
||||
* @ingroup gssapi
|
||||
*/
|
||||
GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
|
||||
|
@@ -93,13 +93,13 @@ gss_set_cred_option (OM_uint32 *minor_status,
|
||||
|
||||
HEIM_SLIST_FOREACH(mc, &cred->gc_mc, gmc_link) {
|
||||
m = mc->gmc_mech;
|
||||
|
||||
|
||||
if (m == NULL)
|
||||
return GSS_S_BAD_MECH;
|
||||
|
||||
|
||||
if (m->gm_set_cred_option == NULL)
|
||||
continue;
|
||||
|
||||
|
||||
major_status = m->gm_set_cred_option(minor_status,
|
||||
&mc->gmc_cred, object, value);
|
||||
if (major_status == GSS_S_COMPLETE)
|
||||
|
@@ -42,7 +42,7 @@ gss_set_name_attribute(OM_uint32 *minor_status,
|
||||
OM_uint32 major_status = GSS_S_UNAVAILABLE;
|
||||
struct _gss_name *name = (struct _gss_name *) input_name;
|
||||
struct _gss_mechanism_name *mn;
|
||||
|
||||
|
||||
*minor_status = 0;
|
||||
|
||||
if (input_name == GSS_C_NO_NAME)
|
||||
|
@@ -53,7 +53,7 @@ gss_store_cred(OM_uint32 *minor_status,
|
||||
*elements_stored = NULL;
|
||||
if (cred_usage_stored)
|
||||
*cred_usage_stored = 0;
|
||||
|
||||
|
||||
if (cred == NULL)
|
||||
return GSS_S_NO_CONTEXT;
|
||||
|
||||
|
@@ -38,7 +38,7 @@ gss_wrap_size_limit(OM_uint32 *minor_status,
|
||||
{
|
||||
struct _gss_context *ctx = (struct _gss_context *) context_handle;
|
||||
gssapi_mech_interface m;
|
||||
|
||||
|
||||
*max_input_size = 0;
|
||||
if (ctx == NULL) {
|
||||
*minor_status = 0;
|
||||
|
@@ -55,10 +55,10 @@ must be enclosed in brackets ([ ]) to differentiate them from the
|
||||
optional kernel module entry.
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
The
|
||||
.Pa "/etc/gss/qop"
|
||||
file contains a list of Quality of Protection values for use with
|
||||
GSS-API.
|
||||
GSS-API.
|
||||
Each line of the file either contains a comment if the first character
|
||||
is '#' or it contains three fields with the following meanings:
|
||||
.Bl -tag
|
||||
|
@@ -42,13 +42,13 @@ _gss_ntlm_allocate_ctx(OM_uint32 *minor_status, ntlm_ctx *ctx)
|
||||
{
|
||||
OM_uint32 maj_stat;
|
||||
struct ntlm_server_interface *ns_interface = NULL;
|
||||
|
||||
|
||||
#ifdef DIGEST
|
||||
ns_interface = &ntlmsspi_kdc_digest;
|
||||
#endif
|
||||
if (ns_interface == NULL)
|
||||
return GSS_S_FAILURE;
|
||||
|
||||
|
||||
*ctx = calloc(1, sizeof(**ctx));
|
||||
|
||||
(*ctx)->server = ns_interface;
|
||||
@@ -91,7 +91,7 @@ _gss_ntlm_accept_sec_context
|
||||
|
||||
if (context_handle == NULL)
|
||||
return GSS_S_FAILURE;
|
||||
|
||||
|
||||
if (input_token_buffer == GSS_C_NO_BUFFER)
|
||||
return GSS_S_FAILURE;
|
||||
|
||||
@@ -116,7 +116,7 @@ _gss_ntlm_accept_sec_context
|
||||
if (major_status)
|
||||
return major_status;
|
||||
*context_handle = (gss_ctx_id_t)ctx;
|
||||
|
||||
|
||||
/* check if the mechs is allowed by remote service */
|
||||
major_status = (*ctx->server->nsi_probe)(minor_status, ctx->ictx, NULL);
|
||||
if (major_status) {
|
||||
@@ -126,7 +126,7 @@ _gss_ntlm_accept_sec_context
|
||||
|
||||
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);
|
||||
@@ -215,20 +215,20 @@ _gss_ntlm_accept_sec_context
|
||||
return maj_stat;
|
||||
}
|
||||
*src_name = (gss_name_t)n;
|
||||
}
|
||||
}
|
||||
|
||||
heim_ntlm_free_type3(&type3);
|
||||
|
||||
ret = krb5_data_copy(&ctx->sessionkey,
|
||||
session.data, session.length);
|
||||
if (ret) {
|
||||
if (ret) {
|
||||
if (src_name)
|
||||
_gss_ntlm_release_name(&junk, src_name);
|
||||
_gss_ntlm_delete_sec_context(minor_status, context_handle, NULL);
|
||||
*minor_status = ret;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
if (session.length != 0) {
|
||||
|
||||
ctx->status |= STATUS_SESSIONKEY;
|
||||
|
@@ -63,7 +63,7 @@ OM_uint32 GSSAPI_CALLCONV _gss_ntlm_acquire_cred
|
||||
maj_stat = _gss_ntlm_allocate_ctx(min_stat, &ctx);
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
return maj_stat;
|
||||
|
||||
|
||||
maj_stat = (*ctx->server->nsi_probe)(min_stat, ctx->ictx,
|
||||
name->domain);
|
||||
{
|
||||
@@ -73,7 +73,7 @@ OM_uint32 GSSAPI_CALLCONV _gss_ntlm_acquire_cred
|
||||
}
|
||||
if (maj_stat)
|
||||
return maj_stat;
|
||||
}
|
||||
}
|
||||
if (cred_usage == GSS_C_BOTH || cred_usage == GSS_C_INITIATE) {
|
||||
ntlm_cred cred;
|
||||
|
||||
|
@@ -495,7 +495,7 @@ _gss_ntlm_wrap
|
||||
|
||||
RC4(&ctx->u.v1.crypto_send.key, input_message_buffer->length,
|
||||
input_message_buffer->value, output_message_buffer->value);
|
||||
|
||||
|
||||
ret = _gss_ntlm_get_mic(minor_status, context_handle,
|
||||
0, input_message_buffer,
|
||||
&trailer);
|
||||
@@ -567,10 +567,10 @@ _gss_ntlm_unwrap
|
||||
output_message_buffer->length = 0;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
RC4(&ctx->u.v1.crypto_recv.key, output_message_buffer->length,
|
||||
input_message_buffer->value, output_message_buffer->value);
|
||||
|
||||
|
||||
trailer.value = ((unsigned char *)input_message_buffer->value) +
|
||||
output_message_buffer->length;
|
||||
trailer.length = 16;
|
||||
|
@@ -50,7 +50,7 @@ _gss_ntlm_display_name
|
||||
ntlm_name n = (ntlm_name)input_name;
|
||||
char *str = NULL;
|
||||
int len;
|
||||
|
||||
|
||||
output_name_buffer->length = 0;
|
||||
output_name_buffer->value = NULL;
|
||||
|
||||
|
@@ -36,7 +36,7 @@
|
||||
static int
|
||||
from_file(const char *fn, const char *target_domain,
|
||||
char **username, struct ntlm_buf *key)
|
||||
{
|
||||
{
|
||||
char *str, buf[1024];
|
||||
FILE *f;
|
||||
|
||||
@@ -247,7 +247,7 @@ _gss_ntlm_init_sec_context
|
||||
struct ntlm_buf data;
|
||||
uint32_t flags = 0;
|
||||
int ret;
|
||||
|
||||
|
||||
ctx = calloc(1, sizeof(*ctx));
|
||||
if (ctx == NULL) {
|
||||
*minor_status = EINVAL;
|
||||
@@ -280,23 +280,23 @@ _gss_ntlm_init_sec_context
|
||||
flags |= NTLM_NEG_KEYEX;
|
||||
|
||||
memset(&type1, 0, sizeof(type1));
|
||||
|
||||
|
||||
type1.flags = flags;
|
||||
type1.domain = name->domain;
|
||||
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;
|
||||
@@ -397,7 +397,7 @@ _gss_ntlm_init_sec_context
|
||||
struct ntlm_targetinfo ti;
|
||||
|
||||
/* verify infotarget */
|
||||
|
||||
|
||||
ret = heim_ntlm_decode_targetinfo(&type2.targetinfo, 1, &ti);
|
||||
if(ret) {
|
||||
_gss_ntlm_delete_sec_context(minor_status,
|
||||
@@ -438,7 +438,7 @@ _gss_ntlm_init_sec_context
|
||||
*minor_status = ret;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
ctx->flags |= NTLM_NEG_NTLM2_SESSION;
|
||||
|
||||
ret = krb5_data_copy(&ctx->sessionkey,
|
||||
@@ -469,7 +469,7 @@ _gss_ntlm_init_sec_context
|
||||
ctx->sessionkey.length,
|
||||
ctx->sessionkey.data);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
ret = heim_ntlm_encode_type3(&type3, &data);
|
||||
|
@@ -45,7 +45,7 @@ _gss_ntlm_iter_creds_f(OM_uint32 flags,
|
||||
krb5_context context = NULL;
|
||||
krb5_storage *request, *response;
|
||||
krb5_data response_data;
|
||||
|
||||
|
||||
ret = krb5_init_context(&context);
|
||||
if (ret)
|
||||
goto done;
|
||||
@@ -96,4 +96,4 @@ _gss_ntlm_iter_creds_f(OM_uint32 flags,
|
||||
krb5_free_context(context);
|
||||
#endif /* HAVE_KCM */
|
||||
(*cred_iter)(userctx, NULL, NULL);
|
||||
}
|
||||
}
|
||||
|
@@ -322,7 +322,7 @@ kdc_type2(OM_uint32 *minor_status,
|
||||
|
||||
type2.targetinfo.data = ti.data;
|
||||
type2.targetinfo.length = ti.length;
|
||||
|
||||
|
||||
ret = heim_ntlm_encode_type2(&type2, &data);
|
||||
free(type2.targetname);
|
||||
krb5_data_free(&ti);
|
||||
@@ -330,7 +330,7 @@ kdc_type2(OM_uint32 *minor_status,
|
||||
*minor_status = ret;
|
||||
return GSS_S_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
out->data = data.data;
|
||||
out->length = data.length;
|
||||
|
||||
|
@@ -434,11 +434,11 @@ acceptor_complete(OM_uint32 * minor_status,
|
||||
verify_mic = 0;
|
||||
*get_mic = 1;
|
||||
}
|
||||
|
||||
|
||||
if (verify_mic || *get_mic) {
|
||||
int eret;
|
||||
size_t buf_len = 0;
|
||||
|
||||
|
||||
ASN1_MALLOC_ENCODE(MechTypeList,
|
||||
mech_buf->value, mech_buf->length,
|
||||
&ctx->initiator_mech_types, &buf_len, eret);
|
||||
@@ -449,7 +449,7 @@ acceptor_complete(OM_uint32 * minor_status,
|
||||
heim_assert(mech_buf->length == buf_len, "Internal ASN.1 error");
|
||||
UNREACHABLE(return GSS_S_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
if (verify_mic) {
|
||||
ret = verify_mechlist_mic(minor_status, ctx, mech_buf, mic);
|
||||
if (ret) {
|
||||
@@ -500,7 +500,7 @@ acceptor_start
|
||||
|
||||
if (input_token_buffer->length == 0)
|
||||
return send_supported_mechs (minor_status, output_token);
|
||||
|
||||
|
||||
ret = _gss_spnego_alloc_sec_context(minor_status, context_handle);
|
||||
if (ret != GSS_S_COMPLETE)
|
||||
return ret;
|
||||
@@ -566,7 +566,7 @@ acceptor_start
|
||||
|
||||
if (ctx->mech_src_name != GSS_C_NO_NAME)
|
||||
gss_release_name(&junk, &ctx->mech_src_name);
|
||||
|
||||
|
||||
ret = gss_accept_sec_context(minor_status,
|
||||
&ctx->negotiated_ctx_id,
|
||||
acceptor_cred_handle,
|
||||
|
@@ -79,7 +79,7 @@ test_add(gss_cred_id_t cred_handle)
|
||||
NULL,
|
||||
&time_rec,
|
||||
NULL);
|
||||
|
||||
|
||||
if (GSS_ERROR(major_status))
|
||||
errx(1, "add_cred failed");
|
||||
|
||||
@@ -108,7 +108,7 @@ copy_cred(void)
|
||||
&time_rec);
|
||||
if (GSS_ERROR(major_status))
|
||||
errx(1, "acquire_cred failed");
|
||||
|
||||
|
||||
print_time(time_rec);
|
||||
|
||||
test_add(cred_handle);
|
||||
@@ -137,7 +137,7 @@ acquire_cred_service(const char *service,
|
||||
if (service) {
|
||||
name_buffer.value = rk_UNCONST(service);
|
||||
name_buffer.length = strlen(service);
|
||||
|
||||
|
||||
major_status = gss_import_name(&minor_status,
|
||||
&name_buffer,
|
||||
nametype,
|
||||
@@ -205,7 +205,7 @@ usage (int ret)
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
gss_OID_set oidset = GSS_C_NULL_OID_SET;
|
||||
gss_OID_set oidset = GSS_C_NULL_OID_SET;
|
||||
gss_OID mechoid = GSS_C_NO_OID;
|
||||
OM_uint32 maj_stat, min_stat;
|
||||
gss_cred_id_t cred;
|
||||
@@ -243,7 +243,7 @@ main(int argc, char **argv)
|
||||
errx(1, "unknown type %s", acquire_type);
|
||||
} else
|
||||
flag = GSS_C_ACCEPT;
|
||||
|
||||
|
||||
if (name_type) {
|
||||
if (strcasecmp("hostbased-service", name_type) == 0)
|
||||
type = GSS_C_NT_HOSTBASED_SERVICE;
|
||||
@@ -263,13 +263,13 @@ main(int argc, char **argv)
|
||||
|
||||
if (kerberos_flag) {
|
||||
mechoid = GSS_KRB5_MECHANISM;
|
||||
|
||||
maj_stat = gss_create_empty_oid_set(&min_stat, &oidset);
|
||||
|
||||
maj_stat = gss_create_empty_oid_set(&min_stat, &oidset);
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
errx(1, "gss_create_empty_oid_set: %s",
|
||||
gssapi_err(maj_stat, min_stat, GSS_C_NO_OID));
|
||||
|
||||
maj_stat = gss_add_oid_set_member(&min_stat, GSS_KRB5_MECHANISM, &oidset);
|
||||
|
||||
maj_stat = gss_add_oid_set_member(&min_stat, GSS_KRB5_MECHANISM, &oidset);
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
errx(1, "gss_add_oid_set_member: %s",
|
||||
gssapi_err(maj_stat, min_stat, GSS_C_NO_OID));
|
||||
@@ -278,10 +278,10 @@ main(int argc, char **argv)
|
||||
if (target_name) {
|
||||
gss_buffer_desc name;
|
||||
|
||||
name.value = target_name;
|
||||
name.length = strlen(target_name);
|
||||
name.value = target_name;
|
||||
name.length = strlen(target_name);
|
||||
maj_stat = gss_import_name(&min_stat, &name,
|
||||
GSS_C_NT_HOSTBASED_SERVICE, &target);
|
||||
GSS_C_NT_HOSTBASED_SERVICE, &target);
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
errx(1, "gss_import_name: %s",
|
||||
gssapi_err(maj_stat, min_stat, GSS_C_NO_OID));
|
||||
@@ -293,14 +293,14 @@ main(int argc, char **argv)
|
||||
|
||||
if (enctype) {
|
||||
int32_t enctypelist = enctype;
|
||||
|
||||
maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, cred,
|
||||
1, &enctypelist);
|
||||
|
||||
maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, cred,
|
||||
1, &enctypelist);
|
||||
if (maj_stat)
|
||||
errx(1, "gss_krb5_set_allowable_enctypes: %s",
|
||||
gssapi_err(maj_stat, min_stat, GSS_C_NO_OID));
|
||||
}
|
||||
|
||||
|
||||
if (target) {
|
||||
gss_ctx_id_t context = GSS_C_NO_CONTEXT;
|
||||
gss_buffer_desc out;
|
||||
@@ -308,12 +308,12 @@ main(int argc, char **argv)
|
||||
out.length = 0;
|
||||
out.value = NULL;
|
||||
|
||||
maj_stat = gss_init_sec_context(&min_stat,
|
||||
cred, &context,
|
||||
target, mechoid,
|
||||
maj_stat = gss_init_sec_context(&min_stat,
|
||||
cred, &context,
|
||||
target, mechoid,
|
||||
GSS_C_MUTUAL_FLAG, 0, NULL,
|
||||
GSS_C_NO_BUFFER, NULL,
|
||||
&out, NULL, NULL);
|
||||
GSS_C_NO_BUFFER, NULL,
|
||||
&out, NULL, NULL);
|
||||
if (maj_stat != GSS_S_COMPLETE && maj_stat != GSS_S_CONTINUE_NEEDED)
|
||||
errx(1, "init_sec_context failed: %s",
|
||||
gssapi_err(maj_stat, min_stat, GSS_C_NO_OID));
|
||||
|
@@ -49,7 +49,7 @@ gssapi_err(OM_uint32 maj_stat, OM_uint32 min_stat, gss_OID mech)
|
||||
maj_error_message.value = NULL;
|
||||
min_error_message.length = 0;
|
||||
min_error_message.value = NULL;
|
||||
|
||||
|
||||
disp_maj_stat = gss_display_status(&disp_min_stat, maj_stat,
|
||||
GSS_C_GSS_CODE,
|
||||
mech, &msg_ctx, &maj_error_message);
|
||||
|
@@ -211,7 +211,7 @@ loop(gss_OID mechoid,
|
||||
;
|
||||
else
|
||||
server_done = 1;
|
||||
}
|
||||
}
|
||||
if (output_token.length != 0)
|
||||
gss_release_buffer(&min_stat, &output_token);
|
||||
if (input_token.length != 0)
|
||||
@@ -361,10 +361,10 @@ wrapunwrap_iov(gss_ctx_id_t cctx, gss_ctx_id_t sctx, int flags, gss_OID mechoid)
|
||||
errx(1, "gss_wrap_iov failed");
|
||||
|
||||
token.length =
|
||||
iov[0].buffer.length +
|
||||
iov[0].buffer.length +
|
||||
iov[1].buffer.length +
|
||||
iov[2].buffer.length +
|
||||
iov[3].buffer.length +
|
||||
iov[3].buffer.length +
|
||||
iov[4].buffer.length +
|
||||
iov[5].buffer.length;
|
||||
token.data = emalloc(token.length);
|
||||
@@ -402,11 +402,11 @@ wrapunwrap_iov(gss_ctx_id_t cctx, gss_ctx_id_t sctx, int flags, gss_OID mechoid)
|
||||
} else {
|
||||
maj_stat = gss_unwrap_iov(&min_stat, sctx, &conf_state2, &qop_state,
|
||||
iov, iov_len);
|
||||
|
||||
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
errx(1, "gss_unwrap_iov failed: %x %s", flags,
|
||||
gssapi_err(maj_stat, min_stat, mechoid));
|
||||
|
||||
|
||||
}
|
||||
if (conf_state2 != conf_state)
|
||||
errx(1, "conf state wrong for iov: %x", flags);
|
||||
@@ -448,7 +448,7 @@ empty_release(void)
|
||||
gss_name_t name = GSS_C_NO_NAME;
|
||||
gss_OID_set oidset = GSS_C_NO_OID_SET;
|
||||
OM_uint32 junk;
|
||||
|
||||
|
||||
gss_delete_sec_context(&junk, &ctx, NULL);
|
||||
gss_release_cred(&junk, &cred);
|
||||
gss_release_name(&junk, &name);
|
||||
@@ -620,7 +620,7 @@ main(int argc, char **argv)
|
||||
errx(1, "client_cred missing");
|
||||
|
||||
maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, client_cred,
|
||||
1, &limit_enctype);
|
||||
1, &limit_enctype);
|
||||
if (maj_stat)
|
||||
errx(1, "gss_krb5_set_allowable_enctypes: %s",
|
||||
gssapi_err(maj_stat, min_stat, GSS_C_NO_OID));
|
||||
@@ -654,7 +654,7 @@ main(int argc, char **argv)
|
||||
ret = krb5_timeofday(context, &now);
|
||||
if (ret)
|
||||
errx(1, "krb5_timeofday failed");
|
||||
|
||||
|
||||
/* client */
|
||||
maj_stat = gss_krb5_export_lucid_sec_context(&min_stat,
|
||||
&cctx,
|
||||
@@ -663,13 +663,13 @@ main(int argc, char **argv)
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
errx(1, "gss_krb5_export_lucid_sec_context failed: %s",
|
||||
gssapi_err(maj_stat, min_stat, actual_mech));
|
||||
|
||||
|
||||
|
||||
|
||||
maj_stat = gss_krb5_free_lucid_sec_context(&maj_stat, ctx);
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
errx(1, "gss_krb5_free_lucid_sec_context failed: %s",
|
||||
gssapi_err(maj_stat, min_stat, actual_mech));
|
||||
|
||||
|
||||
/* server */
|
||||
maj_stat = gss_krb5_export_lucid_sec_context(&min_stat,
|
||||
&sctx,
|
||||
@@ -692,7 +692,7 @@ main(int argc, char **argv)
|
||||
|
||||
if (time > now)
|
||||
errx(1, "gsskrb5_extract_authtime_from_sec_context failed: "
|
||||
"time authtime is before now: %ld %ld",
|
||||
"time authtime is before now: %ld %ld",
|
||||
(long)time, (long)now);
|
||||
|
||||
maj_stat = gsskrb5_extract_service_keyblock(&min_stat,
|
||||
@@ -716,7 +716,7 @@ main(int argc, char **argv)
|
||||
keyblock = NULL;
|
||||
else if (limit_enctype && keyblock->keytype != limit_enctype)
|
||||
errx(1, "gsskrb5_get_subkey wrong enctype");
|
||||
|
||||
|
||||
maj_stat = gsskrb5_get_subkey(&min_stat,
|
||||
cctx,
|
||||
&keyblock2);
|
||||
@@ -751,7 +751,7 @@ main(int argc, char **argv)
|
||||
ret = krb5_string_to_enctype(context,
|
||||
session_enctype_string,
|
||||
&enctype);
|
||||
|
||||
|
||||
if (ret)
|
||||
krb5_err(context, 1, ret, "krb5_string_to_enctype");
|
||||
|
||||
@@ -803,7 +803,7 @@ main(int argc, char **argv)
|
||||
errx(1, "prf len mismatch");
|
||||
if (memcmp(out1.value, out2.value, out1.length) != 0)
|
||||
errx(1, "prf data mismatch");
|
||||
|
||||
|
||||
gss_release_buffer(&min_stat, &out1);
|
||||
|
||||
gss_pseudo_random(&min_stat, sctx, GSS_C_PRF_KEY_FULL, &in,
|
||||
@@ -896,7 +896,7 @@ main(int argc, char **argv)
|
||||
gss_buffer_desc cb;
|
||||
|
||||
if (verbose_flag)
|
||||
printf("checking actual mech (%s) on delegated cred\n",
|
||||
printf("checking actual mech (%s) on delegated cred\n",
|
||||
oid_to_string(actual_mech));
|
||||
loop(actual_mech, nameoid, argv[0], deleg_cred, &sctx, &cctx, &actual_mech2, &cred2);
|
||||
|
||||
@@ -928,12 +928,12 @@ main(int argc, char **argv)
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
errx(1, "import failed: %s",
|
||||
gssapi_err(maj_stat, min_stat, NULL));
|
||||
|
||||
|
||||
gss_release_buffer(&min_stat, &cb);
|
||||
gss_release_cred(&min_stat, &deleg_cred);
|
||||
|
||||
|
||||
if (verbose_flag)
|
||||
printf("checking actual mech (%s) on export/imported cred\n",
|
||||
printf("checking actual mech (%s) on export/imported cred\n",
|
||||
oid_to_string(actual_mech));
|
||||
loop(actual_mech, nameoid, argv[0], cred2, &sctx, &cctx,
|
||||
&actual_mech2, &deleg_cred);
|
||||
@@ -950,7 +950,7 @@ main(int argc, char **argv)
|
||||
&actual_mech2, &deleg_cred);
|
||||
|
||||
gss_release_cred(&min_stat, &deleg_cred);
|
||||
|
||||
|
||||
gss_delete_sec_context(&min_stat, &cctx, NULL);
|
||||
gss_delete_sec_context(&min_stat, &sctx, NULL);
|
||||
|
||||
@@ -963,7 +963,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
empty_release();
|
||||
|
||||
|
||||
krb5_free_context(context);
|
||||
|
||||
return 0;
|
||||
|
@@ -99,7 +99,7 @@ acquire_release_loop(gss_name_t name, int counter, gss_cred_usage_t usage)
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
gss_err(1, min_stat, "aquire %d %d != GSS_S_COMPLETE",
|
||||
i, (int)maj_stat);
|
||||
|
||||
|
||||
maj_stat = gss_release_cred(&min_stat, &cred);
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
gss_err(1, min_stat, "release %d %d != GSS_S_COMPLETE",
|
||||
@@ -135,7 +135,7 @@ acquire_add_release_add(gss_name_t name, gss_cred_usage_t usage)
|
||||
NULL,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
|
||||
if (maj_stat != GSS_S_COMPLETE)
|
||||
gss_err(1, min_stat, "add_cred %d != GSS_S_COMPLETE", (int)maj_stat);
|
||||
|
||||
|
@@ -101,7 +101,7 @@ copy_import(void)
|
||||
errx(1, "gss_compare_name");
|
||||
if (!equal)
|
||||
errx(1, "names not equal");
|
||||
|
||||
|
||||
if (lifetime1 != lifetime2)
|
||||
errx(1, "lifetime not equal %lu != %lu",
|
||||
(unsigned long)lifetime1, (unsigned long)lifetime2);
|
||||
@@ -125,7 +125,7 @@ copy_import(void)
|
||||
errx(1, "gss_compare_name");
|
||||
if (!equal)
|
||||
errx(1, "names not equal");
|
||||
|
||||
|
||||
if (lifetime1 != lifetime2)
|
||||
errx(1, "lifetime not equal %lu != %lu",
|
||||
(unsigned long)lifetime1, (unsigned long)lifetime2);
|
||||
|
Reference in New Issue
Block a user