summaryrefslogtreecommitdiffstats
path: root/src/include/k5-int.h
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2009-11-14 04:46:30 +0000
committerGreg Hudson <ghudson@mit.edu>2009-11-14 04:46:30 +0000
commit0524889196c42d81dcc4c74277522b46f987cabb (patch)
tree9f906eb1a4a32346ae94837c4fe199410e2dd10f /src/include/k5-int.h
parent26044e2a3c3104b9c3f32a6ae58145e7e6394672 (diff)
downloadkrb5-0524889196c42d81dcc4c74277522b46f987cabb.tar.gz
krb5-0524889196c42d81dcc4c74277522b46f987cabb.tar.xz
krb5-0524889196c42d81dcc4c74277522b46f987cabb.zip
Constrained delegation without PAC support
Merge Luke's users/lhoward/s4u2proxy branch to trunk. Implements a Heimdal-compatible mechanism for allowing constrained delegation without back-end support for PACs. Back-end support exists in LDAP only (via a new krbAllowedToDelegateTo attribute), not DB2. ticket: 6580 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23160 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/include/k5-int.h')
-rw-r--r--src/include/k5-int.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/include/k5-int.h b/src/include/k5-int.h
index 6a85a398e..a9769234c 100644
--- a/src/include/k5-int.h
+++ b/src/include/k5-int.h
@@ -1075,6 +1075,21 @@ typedef struct _krb5_ad_kdcissued {
krb5_authdata **elements;
} krb5_ad_kdcissued;
+typedef struct _krb5_ad_signedpath_data {
+ krb5_principal client;
+ krb5_timestamp authtime;
+ krb5_principal *delegated;
+ krb5_pa_data **method_data;
+ krb5_authdata **authorization_data;
+} krb5_ad_signedpath_data;
+
+typedef struct _krb5_ad_signedpath {
+ krb5_enctype enctype;
+ krb5_checksum checksum;
+ krb5_principal *delegated;
+ krb5_pa_data **method_data;
+} krb5_ad_signedpath;
+
typedef krb5_error_code (*krb5_preauth_obtain_proc)
(krb5_context,
krb5_pa_data *,
@@ -1386,6 +1401,8 @@ void KRB5_CALLCONV krb5_free_fast_response
(krb5_context, krb5_fast_response *);
void KRB5_CALLCONV krb5_free_ad_kdcissued
(krb5_context, krb5_ad_kdcissued *);
+void KRB5_CALLCONV krb5_free_ad_signedpath
+(krb5_context, krb5_ad_signedpath *);
/* #include "krb5/wordsize.h" -- comes in through base-defs.h. */
#include "com_err.h"
@@ -1810,6 +1827,10 @@ krb5_error_code encode_krb5_fast_response
krb5_error_code encode_krb5_ad_kdcissued
(const krb5_ad_kdcissued *, krb5_data **);
+krb5_error_code encode_krb5_ad_signedpath
+(const krb5_ad_signedpath *, krb5_data **);
+krb5_error_code encode_krb5_ad_signedpath_data
+(const krb5_ad_signedpath_data *, krb5_data **);
/*************************************************************************
* End of prototypes for krb5_encode.c
@@ -1989,6 +2010,9 @@ krb5_error_code decode_krb5_fast_response
krb5_error_code decode_krb5_ad_kdcissued
(const krb5_data *, krb5_ad_kdcissued **);
+krb5_error_code decode_krb5_ad_signedpath
+(const krb5_data *, krb5_ad_signedpath **);
+
struct _krb5_key_data; /* kdb.h */
struct ldap_seqof_key_data {
@@ -3008,6 +3032,12 @@ krb5_get_credentials_for_proxy(krb5_context context,
krb5_ticket *evidence_tkt,
krb5_creds **out_creds);
+krb5_error_code KRB5_CALLCONV
+krb5int_get_authdata_containee_types(krb5_context context,
+ const krb5_authdata *container,
+ unsigned int *nad_types,
+ krb5_authdatatype **ad_types);
+
krb5_error_code krb5int_parse_enctype_list(krb5_context context, char *profstr,
krb5_enctype *default_list,
krb5_enctype **result);