summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/admin/admin_commands/kadmin_local.rst9
-rw-r--r--doc/admin/conf_files/kdc_conf.rst4
-rw-r--r--src/kdc/kdc_authdata.c3
3 files changed, 13 insertions, 3 deletions
diff --git a/doc/admin/admin_commands/kadmin_local.rst b/doc/admin/admin_commands/kadmin_local.rst
index a291b678c..bcae5d4d2 100644
--- a/doc/admin/admin_commands/kadmin_local.rst
+++ b/doc/admin/admin_commands/kadmin_local.rst
@@ -284,6 +284,15 @@ Options:
**+password_changing_service** marks this principal as a password
change service principal.
+{-\|+}\ **ok_to_auth_as_delegate**
+ **+ok_to_auth_as_delegate** allows this principal to acquire
+ forwardable tickets to itself from arbitrary users, for use with
+ constrained delegation.
+
+{-\|+}\ **no_auth_data_required**
+ **+no_auth_data_required** prevents PAC or AD-SIGNEDPATH data from
+ being added to service tickets for the principal.
+
**-randkey**
Sets the key of the principal to a random value.
diff --git a/doc/admin/conf_files/kdc_conf.rst b/doc/admin/conf_files/kdc_conf.rst
index 3b56e61e8..3ae8907f9 100644
--- a/doc/admin/conf_files/kdc_conf.rst
+++ b/doc/admin/conf_files/kdc_conf.rst
@@ -126,8 +126,8 @@ For each realm, the following tags may be specified:
tickets.
**no-auth-data-required**
- Enabling this flag prevents PAC data from being added to
- service tickets for the principal.
+ Enabling this flag prevents PAC or AD-SIGNEDPATH data from
+ being added to service tickets for the principal.
**ok-as-delegate**
If this flag is enabled, it hints the client that credentials
diff --git a/src/kdc/kdc_authdata.c b/src/kdc/kdc_authdata.c
index c029892f2..731c7d5d1 100644
--- a/src/kdc/kdc_authdata.c
+++ b/src/kdc/kdc_authdata.c
@@ -1159,7 +1159,8 @@ handle_signedpath_authdata (krb5_context context,
/* No point in including signedpath authdata for a cross-realm TGT, since
* it will be presented to a different KDC. */
- if (!is_cross_tgs_principal(server->princ) &&
+ if (!isflagset(server->attributes, KRB5_KDB_NO_AUTH_DATA_REQUIRED) &&
+ !is_cross_tgs_principal(server->princ) &&
!only_pac_p(context, enc_tkt_reply->authorization_data)) {
code = make_ad_signedpath(context,
for_user_princ,