pull up r18670 from trunk r18670@cathode-dark-space: jaltman | 2006-10-09 14:08:10 -0400 ticket: new subject: final commits for KFW 3.1 Beta 2 tags: pullup krb5cred.dll (1.1.2.0) - Fix the control logic so that if the password is expired for an identity, the krb5 credentials provider will initiate a change password request. Once the password is successfully changed, the new password will be used to obtain new credentials. - Fix an incorrect condition which caused the new credentials dialog to refresh custom prompts unnecessarily. - Removing an identity from the list of NetIDMgr identities now causes the corresponding principal to be removed from the LRU principals list. - Properly handle KMSG_CRED_PROCESS message when the user is cancelling out. - Add more debug output - Do not renew Kerberos tickets which are not initial tickets. - Fix whitespace in source code. - When providing identity selection controls, disable the realm selector when the user specifies the realm in the username control. - k5_ident_valiate_name() will refuse principal names with empty or unspecified realms. - When updating identity properties, the identity provider will correctly set the properties for identities that were destroyed. This fixes a problem where the values may be incorrect if an identity has two or more credential caches and one of them is destroyed. nidmgr32.dll (1.1.2.0) - Send out a separate notification if the configuration information associated with an identity is removed. - If an identity is being removed from the NetIDMgr identity list in the configuration panel, do not send out APPLY notifications to the subpanels after the configuration information has been removed. Otherwise this causes the configuration information to be reinstated and prevent the identity from being removed. - Properly initialize the new credentials blob including the UI context structure. netidmgr.exe (1.1.2.0) - When suppressing error messages, make sure that the final KMSG_CRED_END notification is sent. Otherwise the new credentials acquisition operation will not be cleaned up. - Autoinit option now checks to see if there are identity credentials for the default identity and triggers the new credentials dialog if there aren't any. - Properly synchronize the configuration node list when applying changes (e.g.: when removing or adding an identity). - Fix a handle leak when removing an identity from the NetIDMgr identity list. - Refresh the properties for the active identities before calculating the renewal and expiration timers. Otherwise the timestamps being used might be incorrect. - Add Identity dialog (in the configuration panel) now uses the identity selection controls provided by the identity provider. - Improve type safety when handling timer refreshes. - When getting the expiration times and issue times for an identity, the timer refresh code may fail over to the expiration and issue times for the credential it is currently looking at. Now the code makes sure that both the issue and expiration times come from the identity or the credential but not mixed. - Not being able to get the time of issue of a credential now does not result in the credential being skipped from the timer refresh pass. However, not having a time of issue will result in the half-life algorithm not being applied for the renew timer. - Fix a bug which caused a credential to be abandoned from the timer refresh pass if the reamining lifetime of the credential is less than the renewal threshold. - Fix a bug where the vertical scroll bars for the hypertext window would not appear when the contents of the window changed. - Trigger a refresh of the configuration nodes when adding or removing an identity. source for (1.1.2.0) - Explicitly include so that the SDK can be used in build environments that define WIN32_LEAN_AND_MEAN. Commit By: tlyu Revision: 18681 Changed Files: _U branches/krb5-1-5/ U branches/krb5-1-5/src/windows/identity/apiversion.txt U branches/krb5-1-5/src/windows/identity/config/Makefile U branches/krb5-1-5/src/windows/identity/config/Makefile.w2k U branches/krb5-1-5/src/windows/identity/config/Makefile.w32 U branches/krb5-1-5/src/windows/identity/kcreddb/identity.c U branches/krb5-1-5/src/windows/identity/kcreddb/kcreddb.h U branches/krb5-1-5/src/windows/identity/plugins/krb5/krb5funcs.c U branches/krb5-1-5/src/windows/identity/plugins/krb5/krb5identpro.c U branches/krb5-1-5/src/windows/identity/plugins/krb5/krb5newcreds.c U branches/krb5-1-5/src/windows/identity/plugins/krb5/krb5plugin.c U branches/krb5-1-5/src/windows/identity/plugins/krb5/krbcred.h U branches/krb5-1-5/src/windows/identity/plugins/krb5/lang/en_us/langres.rc U branches/krb5-1-5/src/windows/identity/ui/cfg_identities_wnd.c U branches/krb5-1-5/src/windows/identity/ui/configwnd.c U branches/krb5-1-5/src/windows/identity/ui/credfuncs.c U branches/krb5-1-5/src/windows/identity/ui/htwnd.c U branches/krb5-1-5/src/windows/identity/ui/lang/en_us/khapp.rc U branches/krb5-1-5/src/windows/identity/ui/newcredwnd.c U branches/krb5-1-5/src/windows/identity/ui/notifier.c U branches/krb5-1-5/src/windows/identity/ui/resource.h U branches/krb5-1-5/src/windows/identity/ui/timer.c U branches/krb5-1-5/src/windows/identity/ui/timer.h U branches/krb5-1-5/src/windows/identity/uilib/configui.c U branches/krb5-1-5/src/windows/identity/uilib/creddlg.c U branches/krb5-1-5/src/windows/identity/uilib/khprops.h