Fix portability, printf bugs in preauth_otp.c

unistd.h is not available on Windows and isn't needed for this file,
so don't include it.  Two arguments to asprintf in choose_token() were
reversed.
Prep for KfW conversion to ribbon toolbar

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

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

ticket: 7244 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
Update leash icon and button graphics

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

[kaduk@mit.edu: While here, remove now-unused doghead icons.]

ticket: 7245 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
MSVC-generated updates to support ribbon UI

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

[kaduk@mit.edu: manually tweak to remove gratuitious churn]

ticket: 7246 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
kfw "Initialize Ticket" -> "Get Ticket"

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

ticket: 7247 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
kfw implement ribbon UI

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

ticket: 7248 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
Use ListView; add ViewColumn abstraction

Punting FormView since we really only need ListCtrl and using
ListView makes the header column and window resizing work.
The 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>

ticket: 7249 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
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>

ticket: 7250 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
kfw remove status bar

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

ticket: 7251 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
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>

ticket: 7252 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
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
Do not be over-restrictive in the presence of UAC

We used to explicitly check if a process was UAC-limited and deny all
access to the TGT in that case; however, this makes the MSLSA cache
effectively useless.
Do not try to outsmart UAC, and let it do its own checking -- this allows
UAC-limited access to the MSLSA ccache, which should mean read-write
access to service tickets, and write-only access to the TGT.

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

[kaduk@mit.edu: delete instead of comment out, move comment.]

ticket: 7254 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
Set fCachesTicket=TRUE when no credentials

It is not really clear this is correct, but neither was the
previous behavior.

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

ticket: 7255 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
Tooltips text fixes

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

ticket: 7256 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
Fixup tootips for ribbon

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

ticket: 7257 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
remove ID_ABOUT, add ID_IMPORT_TICKETS

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

ticket: 7258 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
Add defines for debug builds in win-pre.in

define DEBUG and _CRTDBG_MAP_ALLOC except for NODEBUG builds

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

ticket: 7259 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
Add leak tracking support to Leash

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

ticket: 7260 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
Update ribbon tooltip text

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

ticket: 7261 (new)
queue: kfw
target_version: 1.10.4
tags: pullup
kfw GUI -- renew selected principals

The renew button should act on the current selection.
-auto-renew still only renews default ccache
-renew doesn't work for UAC-limited MSLSA

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

ticket: 7262 (new)
queue: kfw
target_version: 1.10.4
tags: pullup