From 4037ef79e5e164c2a65fd3181234a83eaa727fc8 Mon Sep 17 00:00:00 2001 From: John Kohl Date: Thu, 28 Dec 1989 16:48:24 +0000 Subject: [PATCH] fix dfn of principal (needs to be argv-style) add hack for BITS32 rearrange ticket into separate pieces fix type for authorization_data add krb5_as_req git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@62 dc483132-0cff-0310-8789-dd5450dbe970 --- src/include/krb5/krb5.h | 56 +++++++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 8 deletions(-) diff --git a/src/include/krb5/krb5.h b/src/include/krb5/krb5.h index fa4743fb8..d58e7c2ad 100644 --- a/src/include/krb5/krb5.h +++ b/src/include/krb5/krb5.h @@ -18,6 +18,10 @@ #include +#ifdef vax +#define BITS32 +#endif + #include #include #include @@ -26,7 +30,7 @@ #include #include -typedef krb5_string * krb5_principal; /* array of strings */ +typedef krb5_string ** krb5_principal; /* array of strings */ /* CONVENTION: realm is first elem. */ /* Time set */ @@ -38,12 +42,15 @@ typedef struct _krb5_ticket_times { krb5_timestamp renew_till; } krb5_ticket_times; -/* the unencrypted version */ -typedef struct _krb5_ticket { - /* cleartext portion */ - krb5_principal server; /* server name/realm */ - krb5_enctype etype; /* ticket encryption type */ - krb5_kvno skvno; /* server kvno */ +/* structure for auth data */ +typedef struct _krb5_authdata { + krb5_authdatatype ad_type; + int length; + octet contents[1]; /* actually can be more, depending + on length */ +} krb5_authdata; + +typedef struct _krb5_enc_tkt_part { /* to-be-encrypted portion */ krb5_confounder confounder; /* confounder */ krb5_flags flags; /* flags */ @@ -52,7 +59,16 @@ typedef struct _krb5_ticket { krb5_string transited; /* list of transited realms */ krb5_ticket_times times; /* auth, start, end, renew_till */ krb5_address **caddrs; /* array of ptrs to addresses */ - krb5_string authorization_data; /* auth data */ + krb5_authdata **authorization_data; /* auth data */ +} krb5_enc_tkt_part; + +typedef struct _krb5_ticket { + /* cleartext portion */ + krb5_principal server; /* server name/realm */ + krb5_enctype etype; /* ticket encryption type */ + krb5_kvno skvno; /* server kvno */ + krb5_string enc_part; /* encrypted encoding, + see above for hidden contents */ } krb5_ticket; /* the unencrypted version */ @@ -74,6 +90,8 @@ typedef struct _krb5_credentials { krb5_principal server; /* server's principal identifier */ krb5_encrypt_block keyblock; /* session encryption key info */ krb5_ticket_times times; /* lifetime info */ + krb5_boolean is_skey; /* true if ticket is encrypted in + another ticket's skey */ krb5_flags ticket_flags; /* flags in ticket */ krb5_string ticket; /* ticket string itself */ } krb5_credentials; @@ -84,6 +102,18 @@ typedef struct _krb5_last_req_entry { octet lr_type; } krb5_last_req_entry; +typedef struct _krb5_as_req { + krb5_flags kdc_options; /* requested options */ + krb5_timestamp ctime; /* client's time */ + krb5_timestamp from; /* requested starttime */ + krb5_timestamp till; /* requested endtime */ + krb5_timestamp rtime; /* (optional) requested renew_till */ + krb5_enctype etype; /* requested encryption type */ + krb5_principal client; /* includes realm */ + krb5_address **addresses; /* requested addresses */ + krb5_principal server; /* includes realm (but not used) */ +} krb5_as_req; + typedef struct _krb5_kdc_rep { /* cleartext part: */ krb5_principal client; /* client's principal identifier */ @@ -114,4 +144,14 @@ typedef struct _krb5_error { krb5_string text; /* descriptive text */ } krb5_error; +typedef struct _krb5_ap_rep { + krb5_timestamp ctime; /* client time, seconds portion */ + krb5_ui_2 cmsec; /* client time, milliseconds portion */ +} krb5_ap_rep; + +typedef struct _krb5_response { + octet message_type; + krb5_string *response; +} krb5_response; + #endif /* __KRB5_GENERAL__ */ -- 2.26.2