+2003-12-18 Jeffrey Altman <jaltman@mit.edu>
+
+ * k5-int.h: add new functions to krb5int_access for use by gssapi
+
2003-12-15 Ken Raeburn <raeburn@mit.edu>
* k5-platform.h (SIZE_MAX): Provide default definition if stdint.h
/* To keep happy libraries which are (for now) accessing internal stuff */
/* Make sure to increment by one when changing the struct */
-#define KRB5INT_ACCESS_STRUCT_VERSION 7
+#define KRB5INT_ACCESS_STRUCT_VERSION 8
#ifndef ANAME_SZ
struct ktext; /* from krb.h, for krb524 support */
krb5_int32 (*krb_life_to_time)(krb5_int32, int);
int (*krb_time_to_life)(krb5_int32, krb5_int32);
int (*krb524_encode_v4tkt)(struct ktext *, char *, unsigned int *);
+ krb5_error_code (*krb5int_c_mandatory_cksumtype)
+ (krb5_context, krb5_enctype, krb5_cksumtype *);
+ krb5_error_code (KRB5_CALLCONV *krb5_ser_pack_int64)
+ (krb5_int64, krb5_octet **, size_t *);
+ krb5_error_code (KRB5_CALLCONV *krb5_ser_unpack_int64)
+ (krb5_int64 *, krb5_octet **, size_t *);
} krb5int_access;
#define KRB5INT_ACCESS_VERSION \
+2003-12-18 Jeffrey Altman <jaltman@mit.edu>
+
+ * krb5_32.def: Remove exports added on 2003-12-13. Moved
+ to krb5int_accessor
+
2003-12-13 Jeffrey Altman <jaltman@mit.edu>
* krb4_32.def: Remove exports from KfM not yet compiled in KfW
+2003-12-18 Jeffrey Altman <jaltman@mit.edu>
+
+ * accept_sec_context.c, init_sec_context.c, ser_sctx.c:
+ Implement use of krb5int_accessor() for krb5int_c_mandatory_cksumtype,
+ krb5_ser_pack_int64, and krb5_ser_unpack_int64
+
2003-12-13 Ken Raeburn <raeburn@mit.edu>
Sam Hartman <hartmans@avalanche-breakdown.mit.edu>
krb5_data scratch;
gss_cred_id_t cred_handle = NULL;
krb5_gss_cred_id_t deleg_cred = NULL;
+ krb5int_access kaccess;
+ code = krb5int_accessor (&kaccess, KRB5INT_ACCESS_VERSION);
+ if (code) {
+ *minor_status = code;
+ return(GSS_S_FAILURE);
+ }
+
if (GSS_ERROR(kg_get_context(minor_status, &context)))
return(GSS_S_FAILURE);
ctx->signalg = -1;
ctx->sealalg = -1;
ctx->proto = 1;
- code = krb5int_c_mandatory_cksumtype(context, ctx->subkey->enctype,
+ code = (*kaccess.krb5int_c_mandatory_cksumtype)(context, ctx->subkey->enctype,
&ctx->cksumtype);
if (code)
goto fail;
major_status = GSS_S_FAILURE;
goto fail;
}
- code = krb5int_c_mandatory_cksumtype(context,
+ code = (*kaccess.krb5int_c_mandatory_cksumtype)(context,
ctx->acceptor_subkey->enctype,
&ctx->acceptor_subkey_cksumtype);
if (code) {
{
krb5_error_code code;
int i;
+ krb5int_access kaccess;
+
+ code = krb5int_accessor (&kaccess, KRB5INT_ACCESS_VERSION);
+ if (code)
+ goto fail;
ctx->have_acceptor_subkey = 0;
ctx->proto = 0;
ctx->sealalg = -10;
ctx->proto = 1;
- code = krb5int_c_mandatory_cksumtype(context, ctx->subkey->enctype,
+ code = (*kaccess.krb5int_c_mandatory_cksumtype)(context, ctx->subkey->enctype,
&ctx->cksumtype);
if (code)
goto fail;
{
OM_uint32 major_status;
krb5_error_code code;
- krb5_enctype *requested_enctypes;
krb5_creds *k_cred;
krb5_gss_ctx_id_rec *ctx, *ctx_free;
krb5_timestamp now;
krb5_gss_ctx_id_rec *ctx;
krb5_error *krb_error;
krb5_error_code code;
+ krb5int_access kaccess;
+
+ code = krb5int_accessor (&kaccess, KRB5INT_ACCESS_VERSION);
+ if (code)
+ goto fail;
major_status = GSS_S_FAILURE;
&ctx->acceptor_subkey);
if (code)
goto fail;
- code = krb5int_c_mandatory_cksumtype(context,
+ code = (*kaccess.krb5int_c_mandatory_cksumtype)(context,
ctx->acceptor_subkey->enctype,
&ctx->acceptor_subkey_cksumtype);
if (code)
krb5_octet *bp;
size_t remain;
int i;
+ krb5int_access kaccess;
+
+ kret = krb5int_accessor (&kaccess, KRB5INT_ACCESS_VERSION);
+ if (kret)
+ return(kret);
required = 0;
bp = *buffer;
&bp, &remain);
(void) krb5_ser_pack_int32((krb5_int32) ctx->krb_flags,
&bp, &remain);
- (void) krb5_ser_pack_int64((krb5_int64) ctx->seq_send,
+ (void) (*kaccess.krb5_ser_pack_int64)((krb5_int64) ctx->seq_send,
&bp, &remain);
- (void) krb5_ser_pack_int64((krb5_int64) ctx->seq_recv,
+ (void) (*kaccess.krb5_ser_pack_int64)((krb5_int64) ctx->seq_recv,
&bp, &remain);
(void) krb5_ser_pack_int32((krb5_int32) ctx->established,
&bp, &remain);
krb5_octet *bp;
size_t remain;
int i;
+ krb5int_access kaccess;
+
+ kret = krb5int_accessor (&kaccess, KRB5INT_ACCESS_VERSION);
+ if (kret)
+ return(kret);
bp = *buffer;
remain = *lenremain;
ctx->endtime = (krb5_timestamp) ibuf;
(void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
ctx->krb_flags = (krb5_flags) ibuf;
- (void) krb5_ser_unpack_int64(&ctx->seq_send, &bp, &remain);
- (void) krb5_ser_unpack_int64(&ctx->seq_recv, &bp, &remain);
+ (void) (*kaccess.krb5_ser_unpack_int64)(&ctx->seq_send, &bp, &remain);
+ (void) (*kaccess.krb5_ser_unpack_int64)(&ctx->seq_recv, &bp, &remain);
(void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
ctx->established = (int) ibuf;
(void) krb5_ser_unpack_int32(&ibuf, &bp, &remain);
+2003-12-18 Jeffrey Altman <jaltman@mit.edu>
+
+ * accessor.c: Add new functions for use by gssapi
+
2003-12-12 Tom Yu <tlyu@mit.edu>
* an_to_ln.c (krb5_aname_to_localname): Don't write one byte past
internals_temp.krb_time_to_life = 0;
internals_temp.krb524_encode_v4tkt = 0;
#endif
+ internals_temp.krb5int_c_mandatory_cksumtype = krb5int_c_mandatory_cksumtype;
+ internals_temp.krb5_ser_pack_int64 = krb5_ser_pack_int64;
+ internals_temp.krb5_ser_unpack_int64 = krb5_ser_unpack_int64;
*internals = internals_temp;
return 0;
}
krb5_rc_close ; PRIVATE GSSAPI krb5.hin
krb5_free_enc_tkt_part ; PRIVATE GSSAPI krb5.hin
krb5_decrypt_tkt_part ; PRIVATE GSSAPI krb5.hin
- krb5int_c_mandatory_cksumtype ; PRIVATE GSSAPI k5-int.h
- krb5_ser_pack_int64 ; PRIVATE GSSAPI k5-int.h
- krb5_ser_unpack_int64 ; PRIVATE GSSAPI k5-int.h
-
\ No newline at end of file