Add a kdc_state field to track internal state in handling a request.
The current usage is to pass FAST information to pre-authentication
plugins.
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/fast@22122
dc483132-0cff-0310-8789-
dd5450dbe970
krb5_authdata **unenc_authdata; /* unencrypted auth data,
if available */
krb5_ticket **second_ticket;/* second ticket array; OPTIONAL */
+ /* the following field is added in March 2009; it is a hack so
+ * that FAST state can be carried to pre-authentication plugins.
+ * A new plugin interface may be a better long-term approach. It
+ * is believed to be safe to extend this structure because it is
+ * not found in any public APIs.
+ */
+ void * kdc_state;
} krb5_kdc_req;
typedef struct _krb5_enc_kdc_rep_part {
clear_field(rep,authorization_data.ciphertext.data);
clear_field(rep,unenc_authdata);
clear_field(rep,second_ticket);
+ clear_field(rep, kdc_state);
check_apptag(10);
retval = asn1_decode_kdc_req(&buf,rep);
clear_field(rep,authorization_data.ciphertext.data);
clear_field(rep,unenc_authdata);
clear_field(rep,second_ticket);
+ clear_field(rep, kdc_state);
check_apptag(12);
retval = asn1_decode_kdc_req(&buf,rep);
*/
#include "k5-int.h"
+#include <assert.h>
void KRB5_CALLCONV
krb5_free_address(krb5_context context, krb5_address *val)
{
if (val == NULL)
return;
+ assert( val->kdc_state == NULL);
krb5_free_pa_data(context, val->padata);
krb5_free_principal(context, val->client);
krb5_free_principal(context, val->server);