# Copyright (c) 2004 Massachusetts Institute of Technology # Copyright (c) 2007 Secure Endpoints Inc. # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation files # (the "Software"), to deal in the Software without restriction, # including without limitation the rights to use, copy, modify, merge, # publish, distribute, sublicense, and/or sell copies of the Software, # and to permit persons to whom the Software is furnished to do so, # subject to the following conditions: # # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # This file documents the versions of the API for NetIDMgr. The # syntax of the file is: # # Version= # AppVersion= # Date= | NOTRELEASED # # # # # comment # Schema: # # comment #---------------------------------------------------------------- Version=1 AppVersion=0.1.0.0 Date=NOTRELEASED # Original Khimaira API. #---------------------------------------------------------------- Version=2 AppVersion=0.1.1.0 Date=Nov 01, 2005 # Alpha 1 release of NetIDMgr, along with KFW 3.0.0 beta #---------------------------------------------------------------- Version=3 AppVersion=0.1.2.0 Date=Nov 30, 2005 # Alpha 2 release of NetIDMgr, along with KFW 3.0.0 beta 2 #---------------------------------------------------------------- Version=4 AppVersion=1.0.0.0 Date=Dec 05, 2005 # Released with KfW 3.0.0 #---------------------------------------------------------------- Version=5 AppVersion=1.1.0.0 Date=(TBD) # Released with KFW 3.1.0 +khui_alert_show_modal(),KMSG_ALERT_SHOW_MODAL, KHUI_ALERT_FLAG_MODAL # Support for modal alert boxes +KHUI_PACTION_YES, KHUI_PACTION_NO, KHUI_PACTION_YESALL, KHUI_PACTION_NOALL, KHUI_PACTION_KEEP, KHUI_PACTION_REMOVE, KHUI_PACTION_DISCARD # Additional pseudo actions !tag_khui_action, khui_action # Membership extension for supporting custom actions. Type changes # from 'int' to khm_int32. +khui_action_create(), khui_action_get_data(), khui_action_delete() # Support for creating custom actions !kmq_msg_subscription, tag_kmq_msg_subscription # Add 'magic' field. +KHUI_MENU_NONE # New identifier for unspecified menu commands. +khui_menu_insert_action(), khui_menu_get_action(), khui_menu_get_size(), khui_menu_remove_action() # Functions for manipulating custom menus +khui_menu_insert_paction() # Exported, but not exposed as an API. For inserting actions by # reference in to menus. -khui_menu_add_action(), khui_menu_add_paction() # Removed deprecated functions. Temporarily provided as macros. The # replacements are khui_menu_insert_action() and # khui_menu_insert_paction() respectively. +kmq_create_hwnd_subscription() # Ad-hoc subscriptions can now be obtained for Win32 windows. -khui_create_gloabl_accel_table() # Exported but no longer exposed. -khui_action_list_length() # Exported but no longer exposed. +kmm_enable_plugin() # New API for enabling or disabling plugins !kmm_plugin_info # Added 'flags' field. +KCDB_ATTR_FLAG_TRANSIENT # New flag for transient attributes. +kherr_get_prev_event(), kherr_get_last_event() # For more efficient traversal of the event lists for use by error context handlers. +KHERR_RF_COMMIT # Flag for error events to signal that the error event has been committed. +khui_action_trigger() # Function for triggerring an action. +khui_action_set_hwnd() # internal API. Should not be used by anyone. Basically sets the HWND that should receive event notifications from the UI library. +KEPT_PTR # error library data type for pointers +_cptr # type cast macro for pointer types !khc_open_space # name parameter is now a const string !KCDB_ATTRNAME_ISSUE # Fixed typo !kherr_val # is now an inline function instead of a macro !kherr_param # is now a structure instead of an integer type +KEPT_NONE # new constant signifying a NULL parameter !_int32, _uint32, _int64, _uint64, _cstr, _tstr, _cptr # appropriate typecasts added +vnull # macro to insert a NULL parameter !_report_cs0, _report_cs1, _report_cs2, _report_cs3 !_report_sr0, _report_sr1, _report_sr2, _report_sr3 !_report_mr0, _report_mr1, _report_mr2, _report_mr3 !_report_ts0, _report_ts1, _report_ts2, _report_ts3 # modified to use _vnull() instead of 0 for NULL parameters +KCONF_FLAG_WRITEIFMOD # new flag for khc_open_space() indicating that the specified handle should only write to a configuration space if the value read from the handle is different from the value being written +KCONF_FLAG_IFMODCI # indicates that the string comparison function used for KCONF_FLAG_WRITEIFMOD should be case insensitive. !khc_write_int32(), khc_write_int64(), khc_write_string(), khc_write_multi_string() # Change of behavior. If the configuration handle has KCONF_FLAG_WRITEIFMOD flag set, only writes if the value being written to is different from the value being read. !khc_read_string(), khc_read_multi_string(), khc_read_int32(), khc_read_int64(), khc_read_binary(), khc_write_string(), khc_write_int32(), khc_write_int64(), khc_write_binary(), khc_get_type(), khc_value_exists(), khc_remove_value() # The value name parameter is now a constant pointer !khc_load_schema(), khc_unload_schema() # The schema pointer is now a constant pointer -Schema:NetIDMgr\PluginManager\Modules\\Flags -Schema:NetIDMgr\PluginManager\Plugins\\Flags # Deprecated. Replaced by separate values for each of the bits in Flags. This allows each setting to be deployed independently via GPO. +Schema:NetIDMgr\PluginManager\Modules\\Disabled +Schema:NetIDMgr\PluginManager\Plugins\\Disabled # If non-zero, the corresponding module or plug-in is disabled. !kcdb_identity_set_attrib(), kcdb_identity_get_attrib(), kcdb_identity_get_attrib_string() # Attribute name parameter is now a const pointer to a wchar_t string !kcdb_cred_create() # Name parameter is now a const pointer to a wchar_t string !kcdb_cred_set_attrib(), kcdb_cred_get_attrib() !kcdb_cred_get_attrib_string(), kcdb_creds_comp_attrib() # Attribute name parameter is now a const pointer to a wchar_t string !kcdb_type_get_id() # Name parameter is now a const pointer to a wchar_t string !kcdb_type_register() # type parameter is now a const pointer !kcdb_attrib_get_id() # Name parameter is now a const pointer !kcdb_attrib_register() # attrib parameter is now a const pointer !kcdb_credtype_register() # type parameter is now a const pointer !kcdb_credtype_get_id() # name parameter is now a const pointer !kcdb_buf_get_attrib(), kcdb_buf_get_attrib_string(), kcbd_buf_set_attrib() # attr_name is now a const pointer +KCDB_OP_DELCONFIG # notification that the configuration information for an identity is to be removed. #---------------------------------------------------------------- Version=7 AppVersion=1.1.9.0 Date=Feb 16, 2007 # Released with KFW 3.2 Alpha 1 +KHUI_ACTION_UICB # Internal action to dispatch a UI callback +WMNC_UPDATE_LAYOUT # Used to update the layout and size of the dialogs during a new # credentials operation. - NCDLG_TAB_HEIGHT, NCDLG_TAB_WIDTH # No longer used - NCDLG_BBAR_WIDTH # Moved to internal header file + KCDB_IDENT_FLAG_UNKNOWN # Used to indicate that an authority could not be contacted to # determine the validity of an identity. + khui_refresh_actions() # Force a refresh of the application menus and toolbars. + khui_action_lock() + khui_action_unlock() # Synchronization of action and menu operations. ! khui_alert # Structure definition is now internal ! khui_action # Structure definition is now internal + khui_alert_set_type() + khui_alert_set_ctx() + khui_alert_get_response() # Additional functions to setup an alert. ! kmq_message # Added field "aborted" + kmq_abort_call() + kmq_is_call_aborted() # Added placeholders ! kmq_message_ref ! kmq_queue ! kmq_msg_subscription ! kmq_msg_type # Structure definition now internal ! KMQ_MSG_TYPE_MAX ! KMQ_MAXCCH_TYPE_NAME ! KMQ_MAXCB_TYPE_NAME ! KMQ_MSG_SUB_MAGIC ! KMQ_RCPTTYPE_CB ! KMQ_RCPTTYPE_HWND ! KMQ_QUEUE_FLAG_DELETED # Macros not internal #---------------------------------------------------------------- Version=8 AppVersion=1.1.10.0 Date=(TBD) # Released with (TBD) ! hash_add(), hash_del(), hash_lookup(), hash_exist() # 'key' parameter is now (const void *) ! struct tag_has_bin, hash_bin # 'key' member is now (const void *) +WMNC_UPDATE_LAYOUT # Used to update the layout and size of the dialogs during a new # credentials operation. - NCDLG_TAB_HEIGHT, NCDLG_TAB_WIDTH # No longer used - NCDLG_BBAR_WIDTH # Moved to internal header file + KCDB_IDENT_FLAG_UNKNOWN # Used to indicate that an authority could not be contacted to # determine the validity of an identity. + khui_refresh_actions() # Force a refresh of the application menus and toolbars. + khui_action_lock() + khui_action_unlock() # Synchronization of action and menu operations. ! khui_alert # Structure definition is now internal ! khui_action # Structure definition is now internal + khui_alert_set_type() + khui_alert_set_ctx() + khui_alert_get_response() # Additional functions to setup an alert. ! kmq_message # Added field "aborted" + kmq_abort_call() + kmq_is_call_aborted() # Added placeholders ! kmq_message_ref ! kmq_queue ! kmq_msg_subscription ! kmq_msg_type # Structure definition now internal ! KMQ_MSG_TYPE_MAX ! KMQ_MAXCCH_TYPE_NAME ! KMQ_MAXCB_TYPE_NAME ! KMQ_MSG_SUB_MAGIC ! KMQ_RCPTTYPE_CB ! KMQ_RCPTTYPE_HWND ! KMQ_QUEUE_FLAG_DELETED # Macros not internal ! khc_value_exists() # Behavior change with respect to shadowed handles. If a value # doesn't exist in the top level handle, then each shadowed handle # will be tried in turn until the value is found. #---------------------------------------------------------------- Version=9 AppVersion=1.3.0.0 Date=(TBD) # Released with (TBD) + KHERR_CTX_NEWCHILD + KHERR_CTX_FOLDCHILD # Added to kherr.h to support additional notifications + WMNC_IDENT_PREPROCESS # Preprocess the identity selector controls before fetching the # selected identity