make IS_CFX a more_flag

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24057 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2008-12-11 04:50:22 +00:00
parent 691da91d10
commit d4f5c19c1d
4 changed files with 15 additions and 12 deletions

View File

@@ -74,12 +74,9 @@ _gsskrb5_register_acceptor_identity (const char *identity)
} }
void void
_gsskrb5i_is_cfx(gsskrb5_ctx ctx, int *is_cfx) _gsskrb5i_is_cfx(gsskrb5_ctx ctx, int acceptor)
{ {
krb5_keyblock *key; krb5_keyblock *key;
int acceptor = (ctx->more_flags & LOCAL) == 0;
*is_cfx = 0;
if (acceptor) { if (acceptor) {
if (ctx->auth_context->local_subkey) if (ctx->auth_context->local_subkey)
@@ -108,7 +105,8 @@ _gsskrb5i_is_cfx(gsskrb5_ctx ctx, int *is_cfx)
case ETYPE_ARCFOUR_HMAC_MD5_56: case ETYPE_ARCFOUR_HMAC_MD5_56:
break; break;
default : default :
*is_cfx = 1; ctx->more_flags |= IS_CFX;
if ((acceptor && ctx->auth_context->local_subkey) || if ((acceptor && ctx->auth_context->local_subkey) ||
(!acceptor && ctx->auth_context->remote_subkey)) (!acceptor && ctx->auth_context->remote_subkey))
ctx->more_flags |= ACCEPTOR_SUBKEY; ctx->more_flags |= ACCEPTOR_SUBKEY;
@@ -210,7 +208,8 @@ gsskrb5_acceptor_ready(OM_uint32 * minor_status,
ctx->auth_context, ctx->auth_context,
&seq_number); &seq_number);
_gsskrb5i_is_cfx(ctx, &is_cfx); _gsskrb5i_is_cfx(ctx, 1);
is_cfx = (ctx->more_flags & IS_CFX);
ret = _gssapi_msg_order_create(minor_status, ret = _gssapi_msg_order_create(minor_status,
&ctx->order, &ctx->order,
@@ -526,7 +525,8 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
krb5_data outbuf; krb5_data outbuf;
int use_subkey = 0; int use_subkey = 0;
_gsskrb5i_is_cfx(ctx, &is_cfx); _gsskrb5i_is_cfx(ctx, 1);
is_cfx = (ctx->more_flags & IS_CFX);
if (is_cfx || (ap_options & AP_OPTS_USE_SUBKEY)) { if (is_cfx || (ap_options & AP_OPTS_USE_SUBKEY)) {
use_subkey = 1; use_subkey = 1;

View File

@@ -64,7 +64,8 @@ typedef struct {
COMPAT_OLD_DES3_SELECTED = 8, COMPAT_OLD_DES3_SELECTED = 8,
ACCEPTOR_SUBKEY = 16, ACCEPTOR_SUBKEY = 16,
RETRIED = 32, RETRIED = 32,
CLOSE_CCACHE = 64 CLOSE_CCACHE = 64,
IS_CFX = 128
} more_flags; } more_flags;
enum gss_ctx_id_t_state { enum gss_ctx_id_t_state {
/* initiator states */ /* initiator states */

View File

@@ -257,7 +257,8 @@ gsskrb5_initiator_ready(
krb5_auth_getremoteseqnumber (context, ctx->auth_context, &seq_number); krb5_auth_getremoteseqnumber (context, ctx->auth_context, &seq_number);
_gsskrb5i_is_cfx(ctx, &is_cfx); _gsskrb5i_is_cfx(ctx, 0);
is_cfx = (ctx->more_flags & IS_CFX);
ret = _gssapi_msg_order_create(minor_status, ret = _gssapi_msg_order_create(minor_status,
&ctx->order, &ctx->order,
@@ -759,7 +760,8 @@ repl_mutual
krb5_free_ap_rep_enc_part (context, krb5_free_ap_rep_enc_part (context,
repl); repl);
_gsskrb5i_is_cfx(ctx, &is_cfx); _gsskrb5i_is_cfx(ctx, 0);
is_cfx = (ctx->more_flags & IS_CFX);
if (is_cfx) { if (is_cfx) {
krb5_keyblock *key = NULL; krb5_keyblock *key = NULL;

View File

@@ -242,7 +242,7 @@ static OM_uint32 inquire_sec_context_has_updated_spnego
* mechanism. * mechanism.
*/ */
HEIMDAL_MUTEX_lock(&context_handle->ctx_id_mutex); HEIMDAL_MUTEX_lock(&context_handle->ctx_id_mutex);
_gsskrb5i_is_cfx(context_handle, &is_updated); is_updated = (context_handle->more_flags & IS_CFX);
if (is_updated == 0) { if (is_updated == 0) {
krb5_keyblock *acceptor_subkey; krb5_keyblock *acceptor_subkey;
@@ -282,7 +282,7 @@ export_lucid_sec_context_v1(OM_uint32 *minor_status,
HEIMDAL_MUTEX_lock(&context_handle->ctx_id_mutex); HEIMDAL_MUTEX_lock(&context_handle->ctx_id_mutex);
_gsskrb5i_is_cfx(context_handle, &is_cfx); is_cfx = (context_handle->more_flags & IS_CFX);
sp = krb5_storage_emem(); sp = krb5_storage_emem();
if (sp == NULL) { if (sp == NULL) {