From 9bc411e72fce5bed3ed00ae5b09f8c239309bae0 Mon Sep 17 00:00:00 2001 From: Kevin Wasserman Date: Mon, 23 Jul 2012 04:30:27 -0400 Subject: kfw support for multiple identities We need a sense of what the default identity is, then, with a way to set it and list it. The memory management model changes some, as well. Use a bold font to indicate the current default identity in the GUI; while here use an italic font for expired credentials. In the process, rip out some krb4 remenants, and remove ancient code conditional on the lack of KRB5_TC_NOTICKET. Define USE_MESSAGE_BOX when building leash and use MessageBox(). [kaduk@mit.edu: adjust for style, flesh out commit message.] ticket: 7253 (new) queue: kfw target_version: 1.10.4 tags: pullup --- src/windows/include/leashwin.h | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) (limited to 'src/windows/include') diff --git a/src/windows/include/leashwin.h b/src/windows/include/leashwin.h index 6a26c43f93..39a7d1a45f 100644 --- a/src/windows/include/leashwin.h +++ b/src/windows/include/leashwin.h @@ -103,15 +103,29 @@ typedef struct { 2 * NETID_CCACHE_NAME_SZ)) #endif /* NETIDMGR */ -typedef struct { - char principal[MAX_K_NAME_SZ]; /* Principal name/instance/realm */ +typedef struct TicketList TicketList; +struct TicketList { + TicketList *next; + char *service; + char *encTypes; + krb5_timestamp issued; + krb5_timestamp valid_until; + krb5_timestamp renew_until; + unsigned long flags; +}; + +typedef struct TICKETINFO TICKETINFO; +struct TICKETINFO { + TICKETINFO *next; + char *principal; /* Principal name/instance@realm */ + char *ccache_name; + TicketList *ticket_list; int btickets; /* Do we have tickets? */ - long lifetime; /* Lifetime -- needs to have - room for 255 5-minute - periods * 5 * 60 */ - long issue_date; /* The issue time */ - long renew_till; /* The Renew time (k5 only) */ -} TICKETINFO; + long issued; /* The issue time */ + long valid_until; /* */ + long renew_until; /* The Renew time (k5 only) */ + unsigned long flags; +}; int FAR Leash_kinit_dlg(HWND hParent, LPLSH_DLGINFO lpdlginfo); int FAR Leash_kinit_dlg_ex(HWND hParent, LPLSH_DLGINFO_EX lpdlginfoex); -- cgit