Merge remote-tracking branch 'origin/rfc3961-mic'
authorSam Hartman <hartmans@debian.org>
Tue, 11 Sep 2012 18:13:12 +0000 (14:13 -0400)
committerSam Hartman <hartmans@debian.org>
Tue, 11 Sep 2012 18:13:12 +0000 (14:13 -0400)
1  2 
mech_eap/gssapiP_eap.h
mech_eap/util.h

diff --combined mech_eap/gssapiP_eap.h
@@@ -178,6 -178,7 +178,7 @@@ struct gss_cred_id_struc
  
  #define CTX_FLAG_INITIATOR                  0x00000001
  #define CTX_FLAG_KRB_REAUTH                 0x00000002
+ #define CTX_FLAG_CHANNEL_BINDINGS_VERIFIED  0x00000004
  
  #define CTX_IS_INITIATOR(ctx)               (((ctx)->flags & CTX_FLAG_INITIATOR) != 0)
  
@@@ -257,6 -258,10 +258,10 @@@ struct gss_ctx_id_struc
  #define KEY_USAGE_INITIATOR_SEAL            24
  #define KEY_USAGE_INITIATOR_SIGN            25
  
+ #define KEY_USAGE_GSSEAP_CHBIND_MIC         60
+ #define KEY_USAGE_GSSEAP_ACCTOKEN_MIC       61
+ #define KEY_USAGE_GSSEAP_INITOKEN_MIC       62
  /* accept_sec_context.c */
  OM_uint32
  gssEapAcceptSecContext(OM_uint32 *minor,
@@@ -377,14 -382,9 +382,14 @@@ gssEapPseudoRandom(OM_uint32 *minor
                     gss_ctx_id_t ctx,
                     int prf_key,
                     const gss_buffer_t prf_in,
 -                   ssize_t desired_output_len,
                     gss_buffer_t prf_out);
  
 +/* query_mechanism_info.c */
 +OM_uint32
 +gssQueryMechanismInfo(OM_uint32 *minor,
 +                      gss_const_OID mech_oid,
 +                      unsigned char auth_scheme[16]);
 +
  /* query_meta_data.c */
  OM_uint32
  gssEapQueryMetaData(OM_uint32 *minor,
diff --combined mech_eap/util.h
@@@ -73,9 -73,7 +73,9 @@@
  #include <krb5.h>
  
  #ifdef WIN32
 -#define inline __inline
 +# ifndef __cplusplus
 +# define inline __inline
 +# endif
  #define snprintf _snprintf
  #endif
  
@@@ -381,6 -379,16 +381,16 @@@ gssEapDeriveRfc3961Key(OM_uint32 *minor
  
  #define KRB_DATA_INIT(d)        krb5_data_zero((d))
  
+ #define KRB_CHECKSUM_TYPE(c)    ((c)->cksumtype)
+ #define KRB_CHECKSUM_LENGTH(c)  ((c)->checksum.length)
+ #define KRB_CHECKSUM_DATA(c)    ((c)->checksum.data)
+ #define KRB_CHECKSUM_INIT(cksum, type, d)      do { \
+         (cksum)->cksumtype = (type);                \
+         (cksum)->checksum.length = (d)->length;     \
+         (cksum)->checksum.data = (d)->value;        \
+     } while (0)
  #else
  
  #define KRB_TIME_FOREVER        KRB5_INT32_MAX
          (d)->data = NULL;                   \
      } while (0)
  
+ #define KRB_CHECKSUM_TYPE(c)    ((c)->checksum_type)
+ #define KRB_CHECKSUM_LENGTH(c)  ((c)->length)
+ #define KRB_CHECKSUM_DATA(c)    ((c)->contents)
+ #define KRB_CHECKSUM_INIT(cksum, type, d)      do { \
+         (cksum)->checksum_type = (type);            \
+         (cksum)->length = (d)->length;              \
+         (cksum)->contents = (d)->value;             \
+     } while (0)
  #endif /* HAVE_HEIMDAL_VERSION */
  
  #define KRB_KEY_INIT(key)       do {        \