aboutsummaryrefslogtreecommitdiff
path: root/src/windows
AgeCommit message (Collapse)AuthorFilesLines
2007-09-24NIM: BUG: Restore Copyright removed in revision 19855Jeffrey Altman1-0/+1
Restore MIT Copyright removed in revision 19855. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19968 dc483132-0cff-0310-8789-dd5450dbe970
2007-09-24NIM: BUG: khm_krb5_initialize() failed to return error codeJeffrey Altman1-4/+4
khm_krb5_initialize() is called in the krb5cred.dll and krb4cred.dll credential providers in order to ensure that the caller has references to a valid krb5_context and a valid krb5_ccache. If the krb5_cc_resolve() call failed, the error code was not being returned to the caller. Instead, success was returned which in turn would result in the caller believing the NULL krb5_ccache pointer was in fact valid. This fix resolves Microsoft's WER Event ID 432405961. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19967 dc483132-0cff-0310-8789-dd5450dbe970
2007-09-22Move the removal of the vc70.pdb and vc80.pdb files to the Jeffrey Altman13-23/+9
global clean rule in config/Makefile.w32. No need to replicate them in each individual Makefile. ticket: 5756 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19966 dc483132-0cff-0310-8789-dd5450dbe970
2007-09-21NIM: APP: BUG: restore HideWatermark functionalityJeffrey Altman1-1/+6
Restore the HideWatermark functionality that was accidently removed from ui/credwnd.c ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19964 dc483132-0cff-0310-8789-dd5450dbe970
2007-09-18Windows\Identity Makefile "clean" moreJeffrey Altman13-11/+46
make sure that we clean up vc70.pdb, vc80.pdb, and temporary files generated during the build process. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19955 dc483132-0cff-0310-8789-dd5450dbe970
2007-09-14wix installer - permit administrative installsJeffrey Altman1-32/+3
remove the registration requirement for administrative installs. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19936 dc483132-0cff-0310-8789-dd5450dbe970
2007-09-05MSI installer for 64-bit AMD64Jeffrey Altman9-314/+687
Add support for building 64-bit AMD64 MSI install packages in addition to 32-bit i386 MSI install packages. Differences between 32-bit MSI and 64-bit MSI include: * no krb4 binaries and libraries * no kclient binaries and libraries * no krb524 binaries and libraries * no leash32.exe * new AMD64 UpgradeCode permits parallel installation with 32-bit MSI * support for Visual Studio 2005 (VS8, CL1400) merge modules Open Issues: * 32-bit MSI installs kfwlogon.dll on AMD64 systems * 32-bit and 64-bit NetIDMgr.exe as startup. Need to decide which should be executed by default. Only one can run at a time. * Need to make sure that src/windows/build properly configures the site-local.wxi file for Visual Studio 2005 and platform. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19922 dc483132-0cff-0310-8789-dd5450dbe970
2007-09-0564-bit Windows gss.exe (gui version of gss-client.exe)Jeffrey Altman2-3/+5
Now that krbcc64.lib exists we can build the gss.exe gss-api test client. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19921 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-29NIM file ccache support improvementsJeffrey Altman4-60/+163
NIM supports the ability of the user to specify an explicit ccache name for use with an identity. If this ccache is a FILE ccache, we need to be able to store credentials into the ccache. krb5cred.dll did not previously specify the KRB5_TC_OPENCLOSE flag on the ccache when setting other flags such as KRB5_TC_NOTICKET (which is used with MSLSA ccaches). As a result, open/close mode was turned off, the ccache file would be opened in read-only mode and attempts to store credentials into the ccache would fail. This is fixed by specifying KRB5_TC_OPENCLOSE when setting the ccache flags. When a CCAPI implementation is unavailable, we need to automatically generate the FILE ccache name if one has not already been specified. We default to a file stored in the user's Local Settings\Temp directory. The generated ccache is then added to the file ccache watch list. Finally, some users have complained about the behavior of Microsoft Vista's UAC mode and how it makes the CCAPI cache useless for storing credentials that must be used in conjunction with processes that do not have restricted privileges since those processes run in a separate logon session. For these users we have added a "DefaultToFileCache" registry value that can be specified to force the use of FILE ccaches in preference to CCAPI ccaches when there is no explicit ccache specified for a given identity. Unlike CCAPI ccaches, the FILE ccaches are accessible from both restricted and unrestricted processes when UAC is active. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19897 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-29NIM - a small readability changeJeffrey Altman1-1/+1
Instead of testing for NOT the machine key, test for is the user key. ticket: new component: windows/identity/kconfig/api.c git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19896 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-29NIM: remove unused symbolsJeffrey Altman1-2/+0
Remove unused preprocessor symbols automatically added by Visual Studio's dialog editor. ticket: new component: windows/identity/ui/resource.h git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19895 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-28NIM: 64-bit Windows Support and Removal of Compile Time WarningsJeffrey Altman40-568/+713
This patch permits Network Identity Manager to be built for 64-bit Windows. In the process all compile time warnings have been taken care of. For 64-bit Windows, we do not build the Kerberos v4 Credential Provider and we will not attempt to load the krb524 library. Note that when testing the 64-bit NIM, there is no CCAPI at the moment so you must manually specify a FILE: ccache as part of the identity's Kerberos v5 configuration if you want to use cache's other than the MSLSA. This patch also consolidates the computation of the default ccache name into utility functions: khm_krb5_get_identity_default_ccache khm_krb5_get_identity_default_ccacheA ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19891 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-27Windows 64-bit - avoid missing symbol errorsJeffrey Altman1-2/+2
Microsoft defaults stack checking (/Gs) to on. This requires that bufferoverflowU.lib be included in the link step. The macro SCLIB in the build system specifies this library on versions of Windows that require it. Include SCLIB on the link line of the makefile. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19881 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: version updateJeffrey Altman2-648/+648
Set the Network Identity Manager application version to 1.3.1 and the API version to 10. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19869 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: Revert ticket 5604Jeffrey Altman1-2/+0
There was a spurious trigger for reloading the layout of the Network Identity Manager timer code. This was presumably introduced to mitigate a problem where the identity and outline status might become stale. (Ticket 5604) This should no longer be necessary. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19868 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: Reposition New Credentials Dialog if necessaryJeffrey Altman1-4/+28
The new credentials dialog in Network Identity Manager does not check whether it is positioned outside of the display screen. It tries to position itself in the center of the primary display if the Network Identity Manager window is hidden and it tries to center itself over the main window if the main window is visible. If the main window is too close to the edge of the screen, this may result in the new credentials window being partially outside the display area. This is especially a problem when the new credentials dialog switches to the advanced view. The patch checks whether the window rectangle is visible before repositioning the new credentials dialog and adjusts the window rectangle so that it is. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19867 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: External changes to default identity are improperly reflected by krb5 ↵Jeffrey Altman1-11/+10
provider The Kerberos v5 identity provider for Network Identity Manager monitors the "Software\MIT\kerberos5" registry key for the logged in user for changes to the "ccname" value. If a change is noticed, it would query the Kerberos v5 library for the default credentials cache and attempt to determine the new default identity, which it would then communicate to the Network Identity Manager application. When the identity provider queried the Kerberos v5 library after a registry change notification, it used a cached krb5_context for the thread. The default credentials cache found using this krb5_context may not be what the registry specified. This patch modifies the code in k5_ccname_monitor_thread() to create a use a new krb5_context when querying for the default credentials cache following a registry change notification. Doing so ensures that Kerberos v5 library takes the new registry value into account. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19866 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: khcint_remove_space() frees memory too soonJeffrey Altman1-1/+6
The Network Identity Manager Configuration Provider module keeps track of the application and plug-in configuration settings organized into configuration spaces. The state of each configuration space is maintained in a reference counted object. Once all the references are released, the Configuration Provider will attempt to free the resources allocated for the object. If the configuration space was marked for deletion, then the registry keys associated with the object need to be deleted when the object is being discarded. Due to a coding error, the memory allocated for the object would be freed before the associated registry keys were deleted. This could result in a memory access error. The patch corrects the code in khcint_remove_space() to free the allocated memory after all the remaining clean-up steps have been performed. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19865 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: Add Identity Provider Pre-Process Message Jeffrey Altman4-363/+387
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
2007-08-24NIM: Keep API release documentation up to date Jeffrey Altman1-0/+3
Update the Network Identity Manager developer documentation to include a reference to the 1.3.0 release which was included with Kerberos for Windows 3.2.1. The release history and, in particular, the API versions corresponding to each release is important for third-party plug-in developers. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19863 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: support include files in schemasJeffrey Altman2-189/+201
The ccsv.pl and csvschema.cfg scripts are used to generate "C" source code from CSV files containing tabular data. In particular, these are used to define the configuration schema for Network Identity Manager and some of its plug-ins. It is desirable to be able to include arbitrary header files and define macros in the generated C code so that the schema definition can use them. This patch allows the CSV files to contain headers that define lines of text that will be included literally in the generated C code. Lines at the start of schema CSV file that begin with '#@' will be stripped of the '#@' prefix and inserted into the C code. E.g: The following line at the start of a schema CSV file: #@#include<windows.h> ,will result in the following text in the C code: #include<windows.h> Then the schema definition can use macros of the form: ClrHeaderExpSel, KC_INT32, "RGB(195, 94, 94)" ,which use macros such as RGB that are defined in the included header file. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19862 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: remove unused code from ui/credwnd.cJeffrey Altman1-28/+0
Remove unused code from Network Identity Manager credwnd.c. The code was meant to construct a user interface context based on where the user right clicks on the credentials display. However, doing so without indicating the changed selection to the user results in the application performing an operation on an identity or credential that the user didn't intend to select. The code was commented out and was never used in any recent release of Kerberos for Windows. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19861 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: Selection IssuesJeffrey Altman1-47/+158
Credentials selection in Network Identity Manager has usability issues due to the following causes: - The "cursor row" is not always selected. The "cursor row" is the row which the "cursor" is on. Navigating the credentials view using the keyboard or clicking the credentials display with the mouse will move the cursor to different rows. However, this cursor row is not always selected, especially when Network Identity Manager starts. Having the selection be independent of the cursor row is a requirement for supporting "toggle" selections (holding the 'ctrl' key while clicking), which is a standard way of doing multiple selections on Windows. The problem with the cursor row not being selected when Network Identity Manager starts is due to the delayed start of its plug-ins. Even though the first row is initially selected, when plug-ins complete initialization and notify the application about the credentials that they see, those credentials end up accumulating under different identities. The existing code didn't enforce the selection state of the identity on the newly added credentials. Since there were unselected credentials under the selected outline level, the code would then turn off the selected bit for the outline (which usually is an outline level for an identity) for consistency. The patch changes the behavior to enforce the selection state of the enclosing outline on any new outline levels or credentials that are added under it. This prevents an outline level from losing its selection state when new credentials are added under it. - Identities may have stale data associated with it. The credentials view maintains a set of cached properties for each identity that has credentials. During each refresh cycle, it would go through the credentials and update the properties of each identity. However it would not update the properties for identities that are not associated with any credentials. When the credentials associated an identity were deleted, the cached properties for that identity sometimes never got reset. If the identity was marked as "always visible", then it would be listed in the credentials view along with the stale properties. This patch properly initializes the properties of identities which are not associated with any identities. - Selection state is not updated when switching views. The credentials view maintains selection state for individual credentials when switching views. The same is not true for the outlines since the outline needs to be reconstructed during the switch. The exising code failed to update the selection state of the outlines after switching the view to reflect the the selection state of the credentials. As a result, once a the user switched a view, she might see outline levels which do not appear to be selected even though all the credentials contained at the outline level appear selected. This patch properly adjusts the selection state of outline nodes to correspond to the selection state of the contained credentials. - Selection state may be inconsistent when more than one credential is associated with a single row. Some rows may represent more than one credential. A collapsed outline represents all the credentials contained within that outline level. In addition, two credentials that will appear the same to the user (because all the displayed properties are the same) will be represented by one row. The selection state of these rows should be consistent with the selection state of all the credentials that it represents. The previous code did not enforce this constraint. This patch aims to fix this by enumerating all the credentials that are represented by each row and setting the selection state of each credential to match the selection state of the row. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19860 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: Handle WM_PAINT messages without update regionsJeffrey Altman1-9/+15
It is possible to receive a WM_PAINT message in Windows without there being an update region. For example, this can be caused by someone calling RedrawWindow() with the RDW_INTERNALPAINT flag set. In this case, GetUpdateRect() will indicate that there is no update region and calling BeginPaint()/EndPaint() results in incorrect behavior. The credentials window in Network Identity Manager needs to perform special handling for this case by obtaining a proper device context and completing the drawing operation. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19859 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: do not permit resizing of filler columnsJeffrey Altman1-1/+2
The credentials display of Network Identity Manager allows the user to change the order and size of the displayed columns. However, some columns are not resizable. An oversight in the earlier code allowed the user to change the size of "filler" columns. These columns are sized to fill up the remainder of the display area after the other columns have been allocated. Their width is determined by the size of the credentials display and the width of the other columns. They are used in the basic view where the only columns are the flags column (fixed width) and the identity column (filler). This patch prevents the "filler" columns (columns with the KHUI_CW_COL_FILLER flag) from being resized. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19858 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: Cannot cancel timers which have inserted a WM_TIMER message into the queueJeffrey Altman1-5/+15
The credentials view in Network Identity Manager displays several user interface elements that need to be updated periodically such as any fields that denote the time remaining for a credential or an identity, or an icon and coloring used to indicate the expiration state. When the display rows are computed, the credentials view creates a set of timers that reference each row that times out when that row needs to be redrawn. Since the rows change when switching views or when the outline is recomputed, all the timers are canceled and re-scheduled. However, a race conditions exists where the timer times-out before it is canceled, in which case a WM_TIMER message is placed in the credential window's message queue. Windows does not support canceling a timer that has already fired and has been placed on the message queue. By the time the WM_TIMER message is received by the window, the rows of the display would have been recomputed and the row that the message references may not be what it intended to reference. A spurious WM_TIMER message is harmless when it refers to a row corresponding to a credential. However, the existing code assumed that if a timer event is received that referred to an outline row, then that outline must be an expanded view of an identity, which is currently the only type of outline row that receives timers. This assumption does not always hold in the case of a spurious WM_TIMER message and may lead to the code attempting to use the outline data as a handle to an identity. The patch fixes the problem by checking if the row is actually an expanded view of an identity and ignoring the message if it is not. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19857 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: Context menu selection issuesJeffrey Altman1-15/+40
The handler for WM_CONTEXTMENU in the credentials view of Network Identity Manager assumed that the context menu was invoked using the mouse. If it was, then the message parameters would specify the x and y co-ordinates of the mouse. The context menu can also be invoked via the keyboard, in which case the x- and y- coordinates are set to (-1,-1). An additional problem with the code is that it was not selecting the row that was right-clicked on if it was not already selected. This results in the some of the commands on the context menu targetting credentials that the user didn't intend to target. This patch adds support for handling the context menu when it is invoked via the keyboard and also sets the selection to the row that was right-clicked if the user invokes the context menu using the mouse. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19856 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: Color SchemasJeffrey Altman3-248/+365
The default color scheme used by the Network Identity Manager credentials display can sometimes cause the text to be difficult to read. In addition, since some of the colors are derived from colors used by the current Windows theme, the selection, window background and text colors may be mismatched with the colors that are hardcoded into the application. To rememdy this problem, this patch defines a new set of colors that will be used with the credentials display. The new scheme doesn't use a special color to distinguish the default identity which is already indicated with the text "(Default)" displayed alongside it. Instead the colors are used to denote the remaining lifetime of credentials and identities. Also, the color scheme defines all the colors that it uses instead of deriving some of them from the Windows color scheme. All the color information is now kept in the Network Identity Manager UI schema. The schema automatically maps to the registry, so users (and deployers) can override the colors by creating the necessary registry keys and values. The registry keys containing color information are: Software\MIT\NetIDMgr\CredWindow\Themes and Software\MIT\NetIDMgr\CredWindow\Themes\Default The "Default" key contains the default color scheme. The color value names are defined in ui\uiconfig.csv under Themes\_Schema configuration subspace. Each color is represented by a 32-bit number. The low-order 24 bits contain a COLORREF value. The high-order 8 bits contain an alpha value which, if non-zero, will be used to blend the color with the selection color (color value named ClrSelection). ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19855 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: New command-line options --hide and --show / new command-line help dialogJeffrey Altman9-925/+1145
Add two command-line options to the Network Identity Manager application: --hide : If there is already an instance of Network Identity Manager running in the user's session, this will cause the main window of that instance to be hidden. --show : Unhides the main window of the running instance. If no options are specified when starting netidmgr.exe while another instance is running, the running instance will perform the default action as configured in the user's preferences. By default, this will be to show the main window. The message box that displayed the command-line options if an invalid option is specified has been replaced with a dialog box that shows the options in a more readable rich text control. The contents of the control are specified in ui/lang/<lang>/cmdline.rtf. Do not edit cmdline.rtf with Microsoft Word. The output of Word is incompatible with the RichEdit20 component. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19854 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: Identity Configuration Panel FixesJeffrey Altman1-8/+48
In the identity configuration panel of Network Identity Manager, the user can specify a new identity which can then be configured. The existing code didn't check if the identity specified by the user already exists. The patch adds the check. If the identity already exists, the user is notified as such. Another bug prevented the user from configuring an identity that was added back in following the deletion of the same identity during the same session. The deleted status of the identity was not reset when it was added back. Additionally, this patch adds code that has already been added to the new credentials dialog to apply Windows XP theme textures to the child dialogs used as tab panels in the configuration dialog. Child dialogs don't automatically adjust the theme settings based on whether it is nested inside a tab control. The theme must be applied manually. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19853 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-24NIM: resource leak in khui_action_trigger()Jeffrey Altman1-0/+1
The khui_action_trigger() function in the Network Identity Manager API creates a copy of the current user interface context (which contains information about the credentials and identities that are currently selected) before triggering the requested action. Then it will use the copy to restore the user interface context to its previous state. A coding error results in the copy of the context to never be released. As a result there is a resource leak. The attached patch fixes the leak by releasing the context once it is no longer needed. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19852 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-10Simulate changing views when the REFRESH action is run and when credentials ↵Kevin Koch1-0/+3
are updated. This makes the symptoms go away but does not solve whatever the underlying problem is. I missed this change yesterday. This should be added to kfw-3_2_1-beta2. Ticket: 5604 Tags: pullup Target_Version: 1.6.3 Tags: Pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19813 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-09Simulate changing views when the REFRESH action is run and when credentials ↵Kevin Koch2-0/+3
are updated This makes the symptoms go away but does not solve whatever the underlying problem is. Ticket: 5604 Tags: pullup Target_Version: 1.6.3 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19770 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-09Control watermark display with registry entry; document the registry entryKevin Koch2-1/+7
Ticket: 5609 Tags: pullup Target_Version: 1.6.3 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19769 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-09The background color is changed to COLOR_WINDOWKevin Koch1-1/+1
Ticket: 5607 Tags: pullup Target_Version: 1.6.3 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19768 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-08Patch developed by kpkoch with style changes from jaltmanJeffrey Altman1-40/+54
The size/position of the main application window is internally updated in response to WM_MOVE messages but is only written to the registry after a timeout period. This is done due to the large number of WM_MOVE messages that can be delivered during a windows drag / resize operation involving the user or explorer shell's tile and cascade operations. (or those involving third party desktop managers.) In NIM 1.8 two different application view modes (standard and advanced) replaced the single view mode in previous releases. The size/position update logic was not modified to take into consideration the possibility that a user might move/resize the window and then quickly toggle modes before the new location or size were recorded to the registry. This change ensures that when a mode change occurs, via a call to khm_set_main_window_mode(), that the current location/size will be written to the registry and any outstanding timer, MW_RESIZE_TIMER, will be cleared. The logic to save the location/size has been extracted into the new static function main_wnd_save_sizepos(). main_wnd_save_sizepos() is only called after the application window has been created. ticket: 5613 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19760 dc483132-0cff-0310-8789-dd5450dbe970
2007-08-03NIM: apply does not update saved values of general identities cfg pageJeffrey Altman1-3/+3
The general identities configuration panel failed to update the saved values of the DefaultMonitor, DefaultAllowAutoRenew, and DefaultSticky options after the "Apply" button was pressed. This resulted in the subsequent value changed states being incorrect. This patch saves the values. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19747 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-22Update configuration schema in ui\uiconfig.csv to include additionalJeffrey Altman1-16/+15
documentation for settings and and remove unused values. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19635 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-22The new credentials window now applies Windows XP theme settings toJeffrey Altman2-0/+18
dialog panels that are hosted within tab controls. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19634 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-221. Add a '--minimized' option to start NIM in minimized modeJeffrey Altman1-1/+9
2. If the NIM window is requested to open in a minimized state, keep the window hidden until there's a request to show it. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19633 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-221. Use the debug CRT versions of the memory allocation functions inJeffrey Altman2-10/+56
util\perfstat.c. These functions allow associating file and line numbers with each allocation. 2. Perform a heap verification periodically to check for heap corruption in the debug build when using util\perfstat.c to manage memory allocations. 3. Change wcscmp() to _wcscmp() for compatibility in util\perfstat.h ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19632 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-221. Fix a malformed line in ui\lang\en_us\khapp.rc in a TEXTINCLUDEJeffrey Altman1-3/+4
section. 2. Update the dialog template for the "About" dialog to change the size of the dialog box and sort the modules list. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19631 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-22NetIDMgr:Jeffrey Altman3-6/+16
Product version => 1.3.0.0 API version => 9 ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19630 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-22Be more aggressive about forcing the new credentials dialog to theJeffrey Altman2-13/+80
top. Many applications call GSSAPI functions from the main GUI thread. Doing so blocks the window message pump for that application. When the GSSAPI call results in the new credentials dialog being displayed, it will be unable to bring itself to the top and grab the user input focus because the foreground window is not responding. This patch makes the new credentials window a top-most window at creation time that results in it being created at the top of the Z-order. It can then flash the window to indicate that it requires user attention. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19629 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-22If the new credentials window is in the advanced mode and the userJeffrey Altman1-0/+7
tries to switch back to basic mode, we should set the active panel to the identity selector before switching since the basic mode only supports the identity selector panel. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19628 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-22Don't assume that WM_DESTROY is the last message to be received by aJeffrey Altman22-36/+282
window. Since the child windows are still alive and kicking by the time the parent receives WM_DESTROY, it's still possible to receive other messages after WM_DESTROY. If we free any window specific data when handling WM_DESTROY, we should reset the window data field as well, and check if we have a valid pointer when retrieving the window data field later. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19627 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-22The clean:: target of plugins\common\Makefile should reference theJeffrey Altman1-2/+2
target directories using the symbolic names rather than hard coded paths. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19626 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-221. When freeing a message type object, it should also be removed fromJeffrey Altman1-2/+8
the all_msg_types list. 2. When a type handler is being removed from a message type, we shouldn't re-create the message type object if it has already been destroyed. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19625 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-22. Fix formatting in kherr.cJeffrey Altman2-90/+186
2. The FormatMessage() call needs special handling for 64 bit platforms. Add a compile time check for now until we figure out what to do. 3. Remove unused code from kherr.c. 4. Correct bad references to typedefs. kherr_severity and kherr_suggestion were sometimes referenced as 'enum kherr_severity' and 'enum kherr_suggestion' even though they are typedefs. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19624 dc483132-0cff-0310-8789-dd5450dbe970
2007-06-22Add new notification flags KHERR_CTX_NEWCHILD, KHERR_CTX_FOLDCHILD,Jeffrey Altman2-8/+17
KHERR_CTX_PROGRESS for listeners of error context events to enable them to listen for child context events and progress updates. ticket: 5584 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19623 dc483132-0cff-0310-8789-dd5450dbe970