[krbdev.mit.edu #5452] NIM Improved Alert Management

Jeffrey Altman via RT rt-comment at krbdev.mit.edu
Wed Feb 28 15:53:03 EST 2007


KfW 3.1 Alpha (NetIDMgr 1.1.10.0)

nidmgr32.dll (1.1.10.0)

- 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
  asynchronously.

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

- 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
  message.

- 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
  table.

- 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
  plug-ins.

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

- Free the hash_table bins once we are done.

netidmgr.exe (1.1.10.0)

- 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
  failed.

- 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
  unnecessarily.

- 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 (1.1.10.0)

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

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

krb5cred.dll (1.1.10.0)

- 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 (1.1.10.0)

- 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
  persistent.

- 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
  plug-ins.

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

- 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 
exist.



More information about the krb5-bugs mailing list