Remove unused struct and switch_to stub

Only one mslsa ccache is supported, so switch_to is not needed.
Likewise, struct krb5int_lcc_iterator is unneccesary.

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
fix leak in cci_os_ipc_thread_init()

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
Load additional krb5 and come_err funcs

Required for multiple identity management and for migration of code from
leashdll to leash proper.

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
Change kfw destroy ticket confirmation message

OKCANCEL -> YESNO
Add MB_ICONEXCLAMATION
Change text

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
Fix _APS_NEXT_* macros in leash/resource.h

Avoids conflicts when adding new resources via visual studio.

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
Target Windows Vista in leash/stdafx.h

Define WINVER, _WIN32_WINNT to target Vista+
Required for ribbon ui.

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
kfw allow multiple cmdline options; add "-noribbon"

Use ribbon ui by default; -noribbon reverts to old ui

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
Leash ui menu updates

Eliminate Action menu:
 -move Ticket manipulation to File menu
 -eliminate "Reset Window Size/Pos", "Synchronize Time", "Update Display"

Update Options menu:
 -eliminate all the "Properties" items:
	"Leash ", "Kerberos ", "Kerberos v4 ", "Kerberos v5 ", and "AFS"
	TODO: move functionality to advanced install/registry keys.

Update View menu:
 -add "Time Issued", "Renewable Until", "Flags","Encryption Type"
   and "Valid Until"
 -remove "Large Icons", "Toolbar", "Status Bar", "Debug Window"

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
kfw prep for convert to ribbon toolbar

Upgrade classes: CWinApp->CWinAppEx, CFrameWnd->CFrameWndEx,
CStatusBar->CMFCStatusBar, CToolBar->CMFCToolBar.
Call AfxOleInit() from CLeashApp::InitInstance()
Do not call LoadBarState() (crashes)
or GetToolTarCtrl() (no longer exists)

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
MSVC-generated updates to support ribbon ui.

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
kfw implement ribbon UI

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
Base LeashView on ListView; ViewColumn abstraction

Punting FormView since we really only need the ListCtrl and using
ListView makes the header column and window resizing work.
ViewColumn abstraction eliminates some copy/paste code blocks.
HDN_ITEMCHANGED tracks user changes to column widths.
Remove CTreeCtrl-related code.
Also remove some unused code that was generating warnings.

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
Only create toolbar when not using ribbon UI

When we do create the toolbar, dock it.

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
kfw "Initialize Ticket" -> "Get Ticket"

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
leash refactoring prep for multiple identity support

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
LeashKRB5GetTickets() iterates all credential caches, a la 'klist -A'

TODO: still uses only a single TICKETINFO which does not seem correct.

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
Add krbrTimestampToFileTime() utility to LeashView.cpp
kfw: Display timestamps as localized strings

0th pass; time only, no date yet

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
kfw fixup: krb5routines.c eliminate unused vars, shorten strings

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>
kfw: get tickets dialog tweaks

"Options" button -> "Advanced Settings"
"Renew Till" -> "Renew Until"
"Kerberos 5 Options" -> "Flag this ticket as"

Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com>