1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

heimdal: Add parameter to windc_plugin to allow extended return codes.

These changes add a krb5_data parameter named e_data to the windc_plugin to
allow the samba KDC to return extended error information in addition to the
standard KRB5KDC_ERR_* codes.  Windows uses the extended information to provide
detailed information in user dialogs (e.g. account disabled, logon hours
restriction, must change password, etc.).

This particular commit modifies only heimdal code.  Hopefully this can be
submitted and accepted into the upstream heimdal codebase.
This commit is contained in:
Andrew Kroeger 2008-03-12 23:11:48 -05:00
parent a3e1f28306
commit f542362be2
4 changed files with 7 additions and 5 deletions

View File

@ -281,6 +281,7 @@ 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*/);
#endif /* __kdc_private_h__ */

View File

@ -1043,7 +1043,7 @@ _kdc_as_rep(krb5_context context,
goto out;
}
ret = _kdc_windc_client_access(context, client, req);
ret = _kdc_windc_client_access(context, client, req, &e_data);
if(ret)
goto out;

View File

@ -101,9 +101,10 @@ _kdc_pac_verify(krb5_context context,
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);
}

View File

@ -64,7 +64,7 @@ typedef krb5_error_code
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