This change utilizes the addition of the e_data parameter to the
windc_plugin in the heimdal code to pass extended information back
to the client. The extended information is provided in an e-data
block as part of the kerberos error message, and allows the client
to determine which specific error condition occurred.
From Andrew Kroeger and Andrew Bartlet
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@22693
ec53bebd-3082-4978-b11e-
865c3cabbd6b
goto out;
}
- ret = _kdc_windc_client_access(context, client, req);
+ ret = _kdc_windc_client_access(context, client, req, &e_data);
if(ret)
goto out;
krb5_error_code
_kdc_windc_client_access(krb5_context context,
struct hdb_entry_ex *client,
- KDC_REQ *req)
+ KDC_REQ *req,
+ krb5_data *e_data)
{
if (windcft == NULL)
return 0;
- return (windcft->client_access)(windcctx, context, client, req);
+ return (windcft->client_access)(windcctx, context, client, req, e_data);
}
typedef krb5_error_code
(*krb5plugin_windc_client_access)(
- void *, krb5_context, struct hdb_entry_ex *, KDC_REQ *);
+ void *, krb5_context, struct hdb_entry_ex *, KDC_REQ *, krb5_data *);
-#define KRB5_WINDC_PLUGING_MINOR 2
+#define KRB5_WINDC_PLUGING_MINOR 3
typedef struct krb5plugin_windc_ftable {
int minor_version;