NIM: Add Identity Provider Pre-Process Message
authorJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 24 Aug 2007 14:45:37 +0000 (14:45 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 24 Aug 2007 14:45:37 +0000 (14:45 +0000)
commit4017a0abb47488ab9a45dfe34f888d4e981f391b
tree47fcf84975124f7bc5235a00741de695fb37fba5
parentcd35c2f07097f04da587013cfccf057c9ff8b767
NIM: Add Identity Provider Pre-Process Message

The Network Identity Manager application does not provide a user
interface for identity specification.  That responsibility lies with
the identity provider.  Whenever a dialog needs to allow the user to
specify an identity, the identity provider has to populate the dialog
with the necessary controls so that the user can specify an identity.
In the case of the Kerberos v5 identity provider, the controls allow
the user to specify a username and a realm.

Once the dialog is populated, the application will dispatch window
messages to the identity provider.  The identity provider will handle
the window messages and notify the application when the selected
identity changes.

One deficiency of the API was that there was no message to notify the
identity provider that an identity selection has to be made
immediately.  When the user invokes the default action for a dialog by
hitting enter, the only message received by the dialog is a command
identifier of the default action.  In this case, the identity provider
will not get a chance to notify the application of the identity
selection.

This patch fixes the API deficiency by introducing a new message,
WMNC_IDENT_PREPROCESS, which the application can use to notify the
identity provider that the dialog box is about to be processed.  In
response, the identity provider can notify the application of the
selected identity even if no other messages were received by the
identity provider.

ticket: new
component: windows

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19864 dc483132-0cff-0310-8789-dd5450dbe970
src/windows/identity/apiversion.txt
src/windows/identity/plugins/krb5/krb5identpro.c
src/windows/identity/ui/cfg_identities_wnd.c
src/windows/identity/uilib/khnewcred.h