Skip Menu |

Subject: SVN Commit
Download (untitled) / with headers
text/plain 3.1KiB
This patch implements the new Alert Management functionality.

Many improvements to avoid race conditions and improve resource

Commit By: jaltman

Revision: 19189
Changed Files:
U trunk/src/windows/identity/Makefile
U trunk/src/windows/identity/apiversion.txt
U trunk/src/windows/identity/config/Makefile.w2k
U trunk/src/windows/identity/config/Makefile.w32
U trunk/src/windows/identity/doc/Makefile
U trunk/src/windows/identity/help/khhelp.h
U trunk/src/windows/identity/help/popups_newcreds.txt
U trunk/src/windows/identity/help/popups_password.txt
U trunk/src/windows/identity/include/kherror.h
U trunk/src/windows/identity/include/khlist.h
U trunk/src/windows/identity/kconfig/api.c
U trunk/src/windows/identity/kcreddb/credset.c
U trunk/src/windows/identity/kcreddb/identity.c
U trunk/src/windows/identity/kcreddb/kcreddb.h
U trunk/src/windows/identity/kmm/kmm_registrar.c
U trunk/src/windows/identity/kmm/kmminternal.h
U trunk/src/windows/identity/kmq/consumer.c
U trunk/src/windows/identity/kmq/init.c
U trunk/src/windows/identity/kmq/kmq.h
U trunk/src/windows/identity/kmq/kmqinternal.h
U trunk/src/windows/identity/kmq/msgtype.c
U trunk/src/windows/identity/kmq/publisher.c
U trunk/src/windows/identity/nidmgrdll/Makefile
U trunk/src/windows/identity/plugins/krb4/krb4newcreds.c
U trunk/src/windows/identity/plugins/krb4/lang/en_us/langres.rc
U trunk/src/windows/identity/plugins/krb5/krb5identpro.c
U trunk/src/windows/identity/plugins/krb5/krb5newcreds.c
U trunk/src/windows/identity/ui/addrchange.c
U trunk/src/windows/identity/ui/appglobal.h
U trunk/src/windows/identity/ui/cfg_identities_wnd.c
U trunk/src/windows/identity/ui/configwnd.c
U trunk/src/windows/identity/ui/credfuncs.c
U trunk/src/windows/identity/ui/credwnd.c
U trunk/src/windows/identity/ui/khmapp.h
U trunk/src/windows/identity/ui/lang/en_us/khapp.rc
U trunk/src/windows/identity/ui/main.c
U trunk/src/windows/identity/ui/mainmenu.c
U trunk/src/windows/identity/ui/mainwnd.c
U trunk/src/windows/identity/ui/mainwnd.h
U trunk/src/windows/identity/ui/newcredwnd.c
U trunk/src/windows/identity/ui/newcredwnd.h
U trunk/src/windows/identity/ui/notifier.c
U trunk/src/windows/identity/ui/propertywnd.c
U trunk/src/windows/identity/ui/reqdaemon.c
U trunk/src/windows/identity/ui/resource.h
U trunk/src/windows/identity/ui/uiconfig.csv
U trunk/src/windows/identity/uilib/Makefile
U trunk/src/windows/identity/uilib/action.c
U trunk/src/windows/identity/uilib/actiondef.cfg
U trunk/src/windows/identity/uilib/alert.c
U trunk/src/windows/identity/uilib/creddlg.c
U trunk/src/windows/identity/uilib/intaction.h
U trunk/src/windows/identity/uilib/khaction.h
U trunk/src/windows/identity/uilib/khalerts.h
U trunk/src/windows/identity/uilib/khnewcred.h
U trunk/src/windows/identity/uilib/khuidefs.h
U trunk/src/windows/identity/uilib/rescache.c
U trunk/src/windows/identity/uilib/uibind.c
U trunk/src/windows/identity/util/hashtable.c
U trunk/src/windows/identity/util/hashtable.h
U trunk/src/windows/identity/util/perfstat.c
U trunk/src/windows/identity/util/perfstat.h
Subject: SVN Commit
Add intalert.h which should have been added as part of
revision 19189

Commit By: jaltman

Revision: 19191
Changed Files:
A trunk/src/windows/identity/uilib/intalert.h
Download (untitled) / with headers
text/plain 7.9KiB
KfW 3.1 Alpha (NetIDMgr

nidmgr32.dll (

- Private debug builds will produce a comprehensive report on
allocations and handles that are remaining at program exit.

- The configuration provider now uses the correct functions when
accessing the configuration tree.

- Fix a resource leak when opening a configuration space.

- Fix a race condition where the opening a configuration space may
return an invalid handle.

- Identify the registrar thread to NetIDMgr

- Unsubscribe a plug-in from all the message types it was
automatically subscribed to at initialization.

- Identify the plug-in threads to NetIDMgr.

- Avoid double counting a plug-in when maintaining the module's
plug-in count.

- If a plug-in initialization funciton indicates a failure or if
initialization fails after it has been loaded, synchronously call
the exit procedure for the plug-in instead of making the call

- Avoid invoking a module exit if it is in the middle of unloading its

- Flush all pending messages from a message queue when the thread
owning the queue is exiting.

- Identify the message completion thread to NetIDMgr.

- When unregistering a message type, actually free the message type.

- Avoid posting messages to message queues that have been deleted.

- Avoid multiple verifications of whether the target of a message
callback pointer is valid.

- New API for checking if a message has completed processing.

- New identity flag to indicate that the identity provider failed to
verify the validity of the identity.

- When exiting an identity provider, make a synchronous exit call.
Otherwise, the identity provider may not be able to handle the exit

- When setting identity flags, setting a known validity flag
automatically resets the unknown bit.

- Serialize access to the kcdb_creds_comp_wrapper() using the
cs_credest critical section since it's not thread safe.

- New API for refreshing the global action table. This will force a
refresh of the menus and toolbars that are based on the action

- Provide APIs for synchronizing access to the global action table so
that no two threads are modifying it at the same time.

- Add support for alerts to have contextual targets, so that someone
creating an alert can specify that it applies to a particular
identity, credential or credential type. Alerts can also have a
type (as defined by khui_alert_type enumeration). This information
is used by the notifier when grouping multiple alerts.

- Internalize the khui_alert structure and provide functions for
manipulating and accessing the structure indirectly.

- When returning from khui_request_UI_callback(), the return value is
the return value of the actual callback.

- Synchronize access to the global action table so that plug-ins can
modify the table as well.

- Prevent a race condition when removing an item from a menu.

- Keep track of threads that were created by NetIDMgr and its

- Improve tracking of memory allocations by filename and line number.

- Free the hash_table bins once we are done.

netidmgr.exe (

- Adjust the new credentials window mini mode to remove the
credentials text area and have a simple chevron to invoke the
advanced mode.

- The new credentials window will show embedded notifications to alert
the user that some operations are being performed or something

- Document and fix the tab sort order in the new credentials dialog.

- The new credentials window now uses an actual tab control to manage
the display of multiple tabs in the advanced mode.

- Better support for dynamic layouts in the new credentials window.

- When creating a Windows menu from a menu definition, add the new
items at the proper position instead of always appending.

- Animate size changes in the new credentials dialog.

- New configuration schema for controlling animation.

- Free the window data after closing a configuration dialog.

- If more than one notification is waiting to be displayed, try to
group them before displaying so that the user doesn't have to click
through a bunch of alerts.

- Better handling of alert layouts to support alerts groups instead of
just one alert.

- Identify the address change listener thread to NetIDMgr.

- Unsubscribe from all the messages that the main window subscribed to
at the start.

- Do not pass messages down to the default window procedure

- Support a new, more flexible API for passing commandlines to running
instances of NetIDMgr.

- Add code to preserve backwards compatibility with earlier builds of
NetIDMgr that used the old API for passing commandlines to running
instances of NetIDMgr

- Support an '-x' or '--exit' command-line option that can be used to
exit a running instance of NetIDMgr.

- When restoring the saved window position information, make sure that
the position fits within the screen boundaries of the currently
active displays. If not, move the window the primary display.

- Remove the ellipsis ('...') from menu items that shouldn't have it.
The ellipsis should only be used with menu items where the
application requires further input from the user before the stated
action can be performed.

- Use DeferWindowPos() to move groups of windows around instead of
moving each one separately.

- Don't load default renew and auto_init settings from the
configuration if we are going to send the command line options to an
already running instance of NetIDMgr.

- If one modal dialog is closing, switch focus to the next dialog down
the chain instead of to the main window.

- When trying to contact a running instance of NetIDMgr, retry getting
the window handle a few times. We may be trying to connect to an
instance that has just started. There's a delay between
establishing the application mutex and creating the message window.

- Initialize the GUI before initializing the module manager. This
allows plug-ins to modify the global action table and global menus.
Also exit the module manager before exiting the GUI so that plug-ins
can clean up properly.

- Report an error if we can't communicate properly with the running
instance of NetIDMgr.

- Use the correct background brush when registering window classes.

- Make sure to close the configuration handle when displaying the
identity configuration dialog.

krb4cred.dll (

- Use the correct dialog box styles for new credentials dialog.

- Free the credential text buffer when done with the new credentials

krb5cred.dll (

- Use k5_free_kinit_job() to free the fiber job object when we are
done using it.

- When fetching prompts from the KDC, clear the existing prompts so
that if the call takes longer than expected, we won't be showing the
wrong set of prompts to the user.

- If we can't contact a KDC, mark the identity state as being unknown.

- Identify the CCNAME monitor thread to NetIDMgr.

source for (

- Add place-holder code to try and free a configuration node if the
refcount reaches zero. It can't be used until the configuration
space enumeration is changed to not rely on the nodes being

- Add new error message KHM_ERROR_HELD to indicate that a request was
put on hold.

- New macro to facilitate adding an element to a queue in either end.

- Clean up the interfaces and make some structure definitions
internal. (kmq_message_ref, kmq_queue, kmq_msg_sbscription,
kmq_msg_type and associated macros).

- Add placeholder APIs for checking if a dispatched message has been
revoked or aborted.

- Improved documentation.

- Force 32-bit time_t values when building on 32-bit systems. Using
64-bit time_t on 32-bit systems cause compatibility problems for

- The 'key' parameter for hashtable functions has been designated as a

- Use consistent names in the notification system.

- Use netidmgr.h instead of individual SDK headers files separately.

- Do not attempt to remove the document html directory if it does not
Subject: SVN Commit
pull up r19189 from trunk

r19189@cathode-dark-space: jaltman | 2007-02-28 02:01:21 -0500
ticket: new
subject: NIM Improved Alert Management
component: windows

This patch implements the new Alert Management functionality.

Many improvements to avoid race conditions and improve resource

Commit By: tlyu

Revision: 19329
Changed Files:
_U branches/krb5-1-6/
U branches/krb5-1-6/src/windows/identity/Makefile
U branches/krb5-1-6/src/windows/identity/apiversion.txt
U branches/krb5-1-6/src/windows/identity/config/Makefile.w2k
U branches/krb5-1-6/src/windows/identity/config/Makefile.w32
U branches/krb5-1-6/src/windows/identity/doc/Makefile
U branches/krb5-1-6/src/windows/identity/help/khhelp.h
U branches/krb5-1-6/src/windows/identity/help/popups_newcreds.txt
U branches/krb5-1-6/src/windows/identity/help/popups_password.txt
U branches/krb5-1-6/src/windows/identity/include/kherror.h
U branches/krb5-1-6/src/windows/identity/include/khlist.h
U branches/krb5-1-6/src/windows/identity/kconfig/api.c
U branches/krb5-1-6/src/windows/identity/kcreddb/credset.c
U branches/krb5-1-6/src/windows/identity/kcreddb/identity.c
U branches/krb5-1-6/src/windows/identity/kcreddb/kcreddb.h
U branches/krb5-1-6/src/windows/identity/kmm/kmm_registrar.c
U branches/krb5-1-6/src/windows/identity/kmm/kmminternal.h
U branches/krb5-1-6/src/windows/identity/kmq/consumer.c
U branches/krb5-1-6/src/windows/identity/kmq/init.c
U branches/krb5-1-6/src/windows/identity/kmq/kmq.h
U branches/krb5-1-6/src/windows/identity/kmq/kmqinternal.h
U branches/krb5-1-6/src/windows/identity/kmq/msgtype.c
U branches/krb5-1-6/src/windows/identity/kmq/publisher.c
U branches/krb5-1-6/src/windows/identity/nidmgrdll/Makefile
U branches/krb5-1-6/src/windows/identity/plugins/krb4/krb4newcreds.c
U branches/krb5-1-6/src/windows/identity/plugins/krb4/lang/en_us/langres.rc
U branches/krb5-1-6/src/windows/identity/plugins/krb5/krb5identpro.c
U branches/krb5-1-6/src/windows/identity/plugins/krb5/krb5newcreds.c
U branches/krb5-1-6/src/windows/identity/ui/addrchange.c
U branches/krb5-1-6/src/windows/identity/ui/appglobal.h
U branches/krb5-1-6/src/windows/identity/ui/cfg_identities_wnd.c
U branches/krb5-1-6/src/windows/identity/ui/configwnd.c
U branches/krb5-1-6/src/windows/identity/ui/credfuncs.c
U branches/krb5-1-6/src/windows/identity/ui/credwnd.c
U branches/krb5-1-6/src/windows/identity/ui/khmapp.h
U branches/krb5-1-6/src/windows/identity/ui/lang/en_us/khapp.rc
U branches/krb5-1-6/src/windows/identity/ui/main.c
U branches/krb5-1-6/src/windows/identity/ui/mainmenu.c
U branches/krb5-1-6/src/windows/identity/ui/mainwnd.c
U branches/krb5-1-6/src/windows/identity/ui/mainwnd.h
U branches/krb5-1-6/src/windows/identity/ui/newcredwnd.c
U branches/krb5-1-6/src/windows/identity/ui/newcredwnd.h
U branches/krb5-1-6/src/windows/identity/ui/notifier.c
U branches/krb5-1-6/src/windows/identity/ui/propertywnd.c
U branches/krb5-1-6/src/windows/identity/ui/reqdaemon.c
U branches/krb5-1-6/src/windows/identity/ui/resource.h
U branches/krb5-1-6/src/windows/identity/ui/uiconfig.csv
U branches/krb5-1-6/src/windows/identity/uilib/Makefile
U branches/krb5-1-6/src/windows/identity/uilib/action.c
U branches/krb5-1-6/src/windows/identity/uilib/actiondef.cfg
U branches/krb5-1-6/src/windows/identity/uilib/alert.c
U branches/krb5-1-6/src/windows/identity/uilib/creddlg.c
U branches/krb5-1-6/src/windows/identity/uilib/intaction.h
U branches/krb5-1-6/src/windows/identity/uilib/khaction.h
U branches/krb5-1-6/src/windows/identity/uilib/khalerts.h
U branches/krb5-1-6/src/windows/identity/uilib/khnewcred.h
U branches/krb5-1-6/src/windows/identity/uilib/khuidefs.h
U branches/krb5-1-6/src/windows/identity/uilib/rescache.c
U branches/krb5-1-6/src/windows/identity/uilib/uibind.c
U branches/krb5-1-6/src/windows/identity/util/hashtable.c
U branches/krb5-1-6/src/windows/identity/util/hashtable.h
U branches/krb5-1-6/src/windows/identity/util/perfstat.c
U branches/krb5-1-6/src/windows/identity/util/perfstat.h
Subject: SVN Commit
pull up r19191 from trunk

r19191@cathode-dark-space: jaltman | 2007-02-28 13:00:43 -0500
ticket: 5452

Add intalert.h which should have been added as part of
revision 19189

Commit By: tlyu

Revision: 19361
Changed Files:
_U branches/krb5-1-6/
A branches/krb5-1-6/src/windows/identity/uilib/intalert.h