/[winpt]/trunk/Src/ChangeLog
ViewVC logotype

Diff of /trunk/Src/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 34 by twoaday, Wed Oct 26 11:20:09 2005 UTC revision 190 by twoaday, Mon Mar 27 10:05:14 2006 UTC
# Line 1  Line 1 
1  2005-10-25  Timo Schulz  <[email protected]>  2006-03-26  Timo Schulz  <[email protected]>
2    
3          * wptGPGUtil.cpp (create_process): Hide window.          * wptSigTreeDlg.cpp (sigtree_load): Always use UTF8.
4          * wptKeyPropsDlg.cpp (get_photo_tmpname): New.          * wptMainProc.cpp (winpt_main_proc): Reload key cache
5          * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Remove          when the GPG settings were changed.
6          static var 'enable'.          * wptKeygenDlg.cpp (keygen_wizard_dlg_proc,
7          * wptKeygenDlg.cpp (keygen_dlg_proc): Likewise.          keygen_dlg_proc): Improved check for the email address.
8          (gpg_genkey_params): Make sure all primary keys are capable          * wptKeyEditDlgs.cpp (keyedit_adduid_dlg_proc): Likewise.
9          for signing and certification.          * wptKeyserverDlg.cpp (keyserver_dlg_proc): Modified design.
10          * wptKeySigDlg.cpp (is_sig): If no item is selected, return 0.          
11          * wptGPG.cpp (gnupg_access_keyring): Check return value for  2006-03-22  Timo Schulz  <[email protected]>
12          NULL. Noted by Ralf.  
13          (get_gnupg_prog): Simplified.          * wptClipSignDlg.cpp (on_init_dialog): New.
14          (check_homedir): Fixed. Return 0 when the dir is successfully created.          Check that there is at least one useable signing key.
15          * wptKeyManagerDlg.cpp (km_file_import): Use the hourglass to          * wptSigTreeDlg.cpp (sigtree_load): Correct UTF8 handling.
16          indicate a pending GPG process.          * wptKeyEditDlgs.cpp (keyedit_set_pref_keyserver): Show error
17          * wptFileManager.cpp (op_begin, op_end): New. Indicate an start          if needed.
18          and and of an operation. For now just the cursor changes.          
19          (fm_parse_command_line): Remove debug output. Thanks to Ralf again.  2006-03-21  Timo Schulz  <[email protected]>
20          * WinPT.cpp (WinMain): Check if there is already an instance and  
21          set a variable early as possible.          * wptUTF8.cpp (native_to_utf8): Use directly W32 API.
22          (load_gettext): If a previous instance was found, do not output          (utf8_to_native): Likewise. Remove cp850 conversion.
23          any errors. Kudos to Ralf.          * wptKeyEditDlgs.cpp (do_find_userid): Correct UTF8 handling.
24            * wptKeyManager.cpp (km_delete_keys): Do not reset 'with_seckey'
25            flag.
26  2005-10-24  Timo Schulz  <[email protected]>          
27    2006-03-20  Timo Schulz  <[email protected]>
28          * wptPassphraseCB.cpp (passphrase_callback_proc): Allow to use  
29          pre-defined recipients.          * wptUTF8.cpp (get_native_charset): Removed.
30          (release_gpg_passphrase_cb): Release recipients.          (utf8_to_native): Rewritten.
31          * wptKeyPropsDlg.cpp (keyprops_load_photo): Set photo-id          * wptKeyEditDlgs.cpp (do_add_new_userid): Correct charset
32          validity if needed.          handling.
33          (keyprops_dlg_proc): Issue a warning if the photo is valid.          * wptKeygenCBDlg.cpp (keygen_cb): Do proper reset if needed.
34            
35  2005-10-23  Timo Schulz  <[email protected]>  2006-03-16  Timo Schulz  <[email protected]>
36    
37          * wptFileManager.cpp (fm_get_file_type): Detect detached sigs.            * wptMainProc.cpp (winpt_main_proc): Disable all CryptDisk code.
38          * wptKeyList.cpp (keylist_cmp_cb): Take care of expired/revoked keys.          * wptCryptDisk.cpp: Disable code.
39          (get_ext_validity): New.          * wptProxySettingsDlg.cpp (proxy_settings_dlg_proc): Support for
40          * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Several cleanups.          NONE proxy protocol.
41          * wptClipEditDlg.cpp (load_clipboard): Factored out some code into          (init_proxy_procotol): Likewise.
42          this function.          (read_proxy): Likewise.
43          (load_clipboard_from_file): Likewise.          * wptKeyserverSearchDlg.cpp (on_init_dialog): New.
44          (save_clipboard_to_file): New.          (keyserver_search_dlg_proc): Use it here.
45          * wptKeyManagerDlg.cpp (keyprops_dlg_proc): Fix stack overflow.          * wptKeyserverDlg.cpp (hkp_send_key): Use GPGME wrapper.
46            * wptKeyserver.cpp (kserver_search_end): New.
47  2005-10-22  Timo Schulz  <[email protected]>          (kserver_search_begin): Be more strict on mem allocation.
48            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Fix 'redraw'
49          Localized a lot of more strings.          problem.
50            * wptAboutDlgs.cpp (about_dlg_proc): Hide 'Help' button.
51          * wptMainProc.cpp (load_smartcard): New.          
52          * wptFileManager.cpp (fm_parse_command_line): Simplify code.  2006-03-12  Timo Schulz  <[email protected]>
53          (fm_check_armor_type): Add new arg. Change all callers.  
54          (fm_get_file_type): Likewise.          * wptGPG.cpp (gnupg_load_config): Search for 'ask-cert-expire'.
55          * wptKeyPropsDlg.cpp (display_key_info): New.            * wptKeyPropsDlg.cpp (display_key_info): Automatically update
56          (keyprops_show_photo): Factored out some code into..          sym algorithm preferences if needed.
57          (keyprops_load_photo): ..this function.          * wptKeysignDlg.cpp (date_is_today): New.
58            (keysign_dlg_proc): Only allow to set cert expire date if
59  2005-10-21  Timo Schulz  <[email protected]>          the option was found.
60            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Allow to set
61          * wptFileManagerDlg.cpp (file_manager_dlg_proc): Use          'ask-cert-expire'.
62          WM_INITPOPUPMENU to localize popup menu texts.          
63          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.  2006-03-10  Timo Schulz  <[email protected]>
64          * wptClipSignDlg.cpp (one_key_proc): Use wipememory instead of memset.    
65            * wptHTTP.c: deleted.
66  2005-10-20  Timo Schulz  <[email protected]>          * wptHTTP.cpp (wHTTP): Transformed old code into an object.
67            * wptKeyManager.cpp (km_http_import): Use new code.
68          Now WinPT depends on GPG 1.4.3 and GPGME 1.2.0.          (km_refresh_one_key): Use preferred keyserver if possible.
69            * wptComonDlg.cpp (check_URL): Better conformance checking.
70          * wptPassphraseCB.cpp (passphrase_cb): Complete card support.          * wptKeyEditCB.cpp (cmd_keyserver_handler): By default
71          * wptCardEdit.cpp (genKey): Handle cancel case.          set keyserver for all userids.
72          * keycache.c: Renamed into...          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Enable code
73          * wptKeyCache.cpp: ...this.          to set preferred keyserver.
74          * wptW32API.cpp (set_menu_text): Removed unused code.          * wptKeyCache.cpp (decode_subpacket): New.
75          (set_menu_text_bypos): New.          (gpg_keycache_update_attr): New.
76          * wptCrypto.h: New.          * wptGPGUtil.cpp (gpg_find_key_subpacket): New.
77          * wptMainProc.cpp (winpt_main_proc): Complete localize          * wptKeyEditDlgs.cpp (keyedit_set_pref_keyserver): Use
78          menu texts.          -1 as an index for all userids.
79          * wptErrors.cpp (log_debug): Use a static var so the file          
80          is only opened once.  2006-03-07  Timo Schulz  <[email protected]>
81          (debug_end): Cleanup. Currently just close the log file.  
82          * wptErrors.h (wipememory): New.          * WinPT.cpp (set_default_keyserver): New.
83          (sfree_if_alloc): Use it here.          * wptKeyserver.cpp (kserver_set_socket_timeout): New.
84          * WinPT.cpp (WinMain): Display the min. GPGME version which          (kserver_set_default_keyserver): Initialize default settings
85          is needed in case of an error.          if needed.
86            * wptSymEnc.cpp (gpg_encrypt_symmetric): Disallow empty passwords.
87  2005-10-17  Timo Schulz  <[email protected]>          * wptPassphraseDlg.cpp (request_passphrase): Handle new flag.
88            (passphrase_dlg_proc): Support new safe edit window procedure.
89          Free all memory returned by the GPGME dll with gpgme_free ().          * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.
90            * wptPreferencesDlg.cpp (prefs_dlg_proc): Flush passphrase cache
91          s/GPG_ERR_CARD_REMOVED/GPG_ERR_CARD_NOT_PRESENT.          if user disable it.
92            * wptKeylist.cpp (keylist_build): Do not scale images but use
93          * wptKeyEdit.cpp (getCardStatus): Remove dummy key.          original size.
94          (list_handler): With user interaction to allow to insert          * wptListView.cpp (listview_set_image_list): New size params.
95          the card into the reader.          Change all callers.
96          * wptKeyEditCB.cpp (gpg_edit_card): Likewise.          
97          (common_card_handler): Fixed incorrect command string.  2006-03-01  Timo Schulz  <[email protected]>
98          * wptKeyPropsDlg.cpp (get_card_type): New.  
99          (keyprops_dlg_proc): Show card information if present.          * wptW32API.cpp (set_clip_text): Free all memory.
100          * wptFileManager.cpp (secret_key_available): Make the code faster.          
101            2006-02-27  Timo Schulz  <[email protected]>
102    
103  2005-10-16  Timo Schulz  <[email protected]>          * wptSOCKS.cpp (socks_handshake): New.
104            * wptMainProc.cpp (winpt_main_proc): A dbl-click forces
105          * wptPassphraseCB.cpp (passphrase_cb): Fix problem          the key manager in teh foreground if possible.
106          with hanging GPG process on cancel.          * wptHotkey.cpp (hotkey_unregister): Unregister all hotkeys.
107          * keycache.c (gpg_keycache_release): Release all objects.          * wptRegistry.cpp (get_reg_proxy_prefs,
108            set_reg_proxy_prefs): Use directly the proxy context.
109  2005-10-15  Timo Schulz  <[email protected]>          Changed all callers.
110            * wptProxySettingsDlg.cpp (init_proxy_protocols): New.
111          * wptCardEdit.cpp (setResult, getResult): New.          (keyserver_proxy_dlg_proc): Use directly the proxy context.
112          (reset): New.          * wptKeyserver.cpp (kserver_connect): Better proxy support.
113          (getCardStatus): Check return codes and release all objects          (kserver_send_request, kserver_recvkey_request): Likewise.
114          in case of errors.          * wptKeyserverDlg.cpp (name_from_proto): New.
115          * wptCardEditCB.cpp (change_pin_handler): Call reset()          (set_proxy): Adjusted for the new code.
116          before quit.          
117          (editcard_handler): Likewise.  2006-02-26  Timo Schulz  <[email protected]>
118          (common_card_handler): New.  
119          * wptCardDlg.cpp (card_changepin_dlg_proc): Also unmask          * WinPT.cpp (WinMain): Removed hotkey_modify() code.
120          the old PIN when 'Hide Typing' is disabled.          * wptKeyEditDlgs.cpp (is_idea_protect_algo): Better support
121          * wptPassphraseCB.cpp (passphrase_cb): The card detection          v4 keys.
122          works again. Support to re-enter passphrase.          * wptKeyserver.cpp (sock_getline): Skip '\r'.
123            (base64_encode): Remove @maxlen param. Changed all callers.
124  2005-10-14  Timo Schulz  <[email protected]>          (finger_readline): Removed.
125            (finger_recvkey): Use internal functions.
126          * wptCardDlg.cpp (card_status): New fields for the          * wptSigTreeDlg.cpp (sigtree_dlg_proc): Support a context menu.
127          fingerprint creation time. Display card info as title.          (show_sigprops): New.
128          (get_printable_version): New.          (create_popup): New.
129          * wptCardEditCB.cpp (editcard_handler): Fix problem          * wptPreferenceDlg.cpp (prefs_dlg_proc): Cache amount is
130          with the counter comparison.          now in minutes.
131            * wptRegistry.cpp (get_winpt_reg_prefs, set_winpt_reg_prefs):
132  2005-10-11  Timo Schulz  <[email protected]>          Change code to use hotkeys directly.
133            * wptHotkeys.cpp (hotkeys_enable, hotkey_disable): Likewise.
134          Port to GPGME basically finished.          
135    2006-02-24  Timo Schulz  <[email protected]>
136  2005-09-20  Timo Schulz  <[email protected]>  
137            * wptGPG.cpp (set_gnupg_default_key): Allow to remove entry
138          * wptFileManagerDlg.cpp (file_secdel_confirm_dlg_proc):          when parameter is NULL.
139          Do not use gpgme_recipients_t but the listview directly          * wptKeyManager.cpp (check_exist_default_key): New.
140          to add the selected files.          (km_delete_keys): Check if the default key is still valid,
141            if not delete entry.
142  2005-09-07  Timo Schulz  <[email protected]>          * wptSigTreeDlg.cpp (sigtree_dlg_proc): Forgot to localize
143            button.
144          * Make sure all GetOpenFileName filters are terminated by \0\0.          
145    2006-02-21  Timo Schulz  <[email protected]>
146  2005-09-01  Timo Schulz  <[email protected]>  
147            * wptClipDecryptDlg.cpp (clip_decrypt_dlg_proc): Minor
148          * wptW32API.cpp (center_window): New argument for parent window.          cleanups.
149          Change all callers.          * wptGPGUtil.cpp (file_extract_recipients): New.
150          (center_window2): Likewise.          (clip_extract_recipients): New.
151          * GPGME now can read gpgProgram entries with 'REG_EXPAND_SZ'.          (gpg_get_recipients): New.
152          * wptGPG.cpp (gnupg_backup_options): Remove param. One backup          * wptPassphraseCB.cpp (passphrase_callback_proc): Support
153          file is enough. Changed all callers.          external recipient listings.
154            
155  2005-08-15  Timo Schulz  <[email protected]>  2006-02-15  Timo Schulz  <[email protected]>
156    
157          * wptKeyEditDlgs.cpp (do_editkey_showpref): Take care of v3 keys.          * wptKeysignDlg.cpp (keysign_dlg_proc): Localize new checkbox.
158          * wptGPGOptDlg.cpp (gpgopt_dlg_proc): Fixed name of title.          * wptFileStatDlg.cpp (get_s2k_algo): New.
159          * Make sure the passphrase is always overwritten before it is          * wptFileManagerDlg.cpp (update_status_bar): Use human readable
160          freed (or the function returns).          formats.
161          * wptKeyPropDlg.cpp (get_pref_cipher): New.          
162          (keyprops_dlg_proc): Use it here.  2006-02-14  Timo Schulz  <[email protected]>
163    
164  2005-08-06  Timo Schulz  <[email protected]>          * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Localize 'Cancel'.
165            * wptKeysignDlg.cpp (keysign_dlg_proc): Implement 'Hide Typing'.
166          * wptGPGME.cpp (keycache_update): Reload OpenPGP parts          * wptFileManager.cpp (fm_sym_encrypt): Set cancel.
167          of the secret key.          (fm_parse_files): Handle cancel.
168          (keycache_init): cache name of secret keyring.          
169          * wptKeyList.cpp (keylist_upd_key): Do not add long keyid.  2006-02-10  Timo Schulz  <[email protected]>
170          (get_key_type): Do not assume 'ultimate' means key pair.  
171          * wptKeyEditDlgs.cpp (diff_time): New.          * wptKeyPropsDlg.cpp (props_dlg_proc): Removed unused vars.
172          (keyedit_addsubkey_dlg_proc): Changed design and use          * wptKeyEditDlgs.cpp (do_editkey_check): Use winpt_key_t
173          diff_time. Drop checks for invalid keylength (< 1024, > 4096)          for the dialog param.
174          because the combo box automatically handles this.          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use new list
175          * wptKeyManager.cpp (km_set_implicit_trust): Return error code.          signature dialog by default.
176          * wptGPG.cpp (get_backup_name): New.          * wptKeysigDlg.cpp (sigprops_dlg_proc): Use directly
177          (gnupg_backup_keyrings): Rotate backup names, from 0..3.          gpgme_key_sig_t as param.
178          * wptClipImportDialog.cpp (clip_import_dlg_proc): Free memory.          (keysig_dlg_proc): Change param for property dialog.
179          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use 0x short keyid and          * wptSigTreeDlg.cpp (sigtree_load): Skip revoked user-ids
180          not the long keyid.          and use icons.
181            (sigtree_dlg_proc): Allow to execute old list dialog to
182  2005-08-05  Timo Schulz  <[email protected]>          edit the signatures.
183            
184          * wptListView.cpp (listview_set_item2): New.  2006-02-09  Timo Schulz  <[email protected]>
185          * wptKeyManager.cpp (km_check_if_protected): Directly  
186          retrieve gpgme_key_t from the list.          * wptRegistry.cpp (set_winpt_reg_prefs): Removed keylist mode.
187          (km_check_key_status): Likewise.                  * wptNLS.c (gettext_localize_dialog): New.
188          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Also use          * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Add 'Cancel' button
189          a human-readable name for secret key export.          to avoid to reload the key cache.
190          Reload just the keys which were affected by updates          * wptClipEncryptDlg.cpp (clipenc_dlg_proc): Drop old 'normal'
191          (edit-key).          list mode.
192          (update_key): New.          * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Likewise.
193          * wptKeyList.cpp ((keylist_upd_key): Stripped down          * wptPreferencesDlg.cpp (on_init_dialog): New. Move dialog
194          version of keylist_add_key.          initiation code to this function.
195          * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not          (prefs_dlg_proc): Use it here.
196          reload the keycache here, just flag 'update'. Give the          
197          control to the calling dialog.  2006-02-07  Timo Schulz  <[email protected]>
198          * wptKeySignDlg.cpp (keysign_dlg_proc): Use winpt_key_t  
199          as parameter. Changed all callers.          * wptKeyEdit.cpp (setNoPassphrase): New.
200          Add date of expiration to the key info.          (getValidDays): New.
201          (get_expire_date): New.          * wptKeysignDlg.cpp (keysign_dlg_proc): Check on init
202          Use a checkbox to allow to ask for the cert level.          if the key is protected.
203          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Do no reload          * wptKeyEditDlgs.cpp (keyedit_addphoto_dlg_proc): Handle
204          the cache.          keys without a passphrase.
205            (keyedit_addrevoker_dlg_proc): Likewise.
206  2005-08-04  Timo Schulz  <[email protected]>          
207    2006-02-04  Timo Schulz  <[email protected]>
208          * wptListView.cpp (listview_scroll): New.  
209          (listview_get_item2): New.          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Check for
210          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): If the          at least one ultimately trusted key.
211          item was found, make it visible with scrolling.          * wptKeyManager.cpp (km_refresh_key_from_keyserver):
212          * wptKeyManager.cpp (km_find_key): New.          Only check inet connection if we refresh all keys.
213          (keylist_subclass_proc): Support to handle some acceleators.          * wptGPGUtil.cpp (gpg_extract_keys): New.
214          Strg+{C, P, F, A}.          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Use textmode.
215          (km_get_key_status): Get the gpgme_key_t object directly          * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Likewise.
216          from the list.          * wptClipSignDlg.cpp (get_selected_key): New.
217          * wptGPGPRefsDlg.cpp (gpgprefs_dlg_proc): Also try to set          (one_key_proc): Use it here.
218          the config file (if it exists).          (count_useable_seckeys): New.
219          * wptKeySignDlg.cpp (keysign_dlg_proc): Use easier code          * wptSigTreeDlg.cpp (sigtree_dlg_proc): New.
220          to handle the click->activate situation.          * wptKeyEditDlgs.cpp (diff_time): Removed.
221          * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.          (w32_mktime): New.
222          Support to check the passphrase quality.          (keyedit_addsubkey_dlg_proc): Use it here.
223          * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.          
224          (request_passphrase): Rename 'init' to 'flags' to allow more  2006-02-02  Timo Schulz  <[email protected]>
225          options.  
226          * wptMAPI.cpp: Check all *alloc results.          * wptW32API.cpp (get_temp_name): New.
227          * wptKeyGenDlg.cpp (keygen_dlg_proc): Use a rudimentary          * wptKeyserver.cpp (ldap_recvkey): Use it here.
228          passphrase quality check.          * wptKeyPropsDlg.cpp (get_photo_tmpname): Likewise.
229          * wptMDSumDlg.cpp (mdsum_dlg_proc): Use md5/sha1sum file          * wptGPGUtil.cpp (create_tempfile): Likewise.
230          format and allow to save the checksum in a file.          * wptImportList.cpp (implist_load): Likewise.
231          * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Issue a warning          * wptKeyCache.cpp (parse_attr_data): Likewise.
232          when the PGP mode is disabled.          (w32_tempfile): Removed.
233          wptKeyEditDlgs.cpp (do_editkey_primary): Return if just          * wptGPGME.cpp (check_ultimate_trusted_key): New.
234          one user-ID exists.          
235          (keyedit_dlg_proc): Fixed index problem.  2006-01-31  Timo Schulz  <[email protected]>
236          * wptKeyPropsDlg.cpp (get_validity): New.  
237          (keyprops_dlg_proc): Actually show extended validity if possible.          * wptMainProc.cpp (winpt_main_proc): Fix usage of the
238          * wptKeyList.cpp (get_key_fpr): Support for old v3 format.          help system.
239          (do_addkey): Use listview_add_item2 to store key as opaque          * wptListView.cpp (listview_set_chkbox_style): New.
240          param inside the list.          (listview_get_item_state): Support new checkbox style.
241          * wptFileStatDlg.cpp (get_digest_algo): Add SHAxxx.          (listview_new): Reset flag var.
242          (file_stat_dlg_proc): End dialog if no PGP data was found.          * wptKeylist.cpp (keylist_build): Support new checkbox style.
243          (do_list_packets): Return the number of valid PGP packets          
244          of the file.  2006-01-30  Timo Schulz  <[email protected]>
245    
246  2005-08-02  Timo Schulz  <[email protected]>          * WinPT.cpp (check_readonly_attr): New.
247            (load_gpg_env): Use it here.
248          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Instead of          (WinPT): Make the the default key is searched in the
249          using 'Default Keyserver' add the real keyserver name to          secret key cache.
250          the menu.          Change error message.
251          The rebuild command does not reload the cache any longer.          * wptRegistry.cpp (regist_int_winpt): Make sure
252          Use ATTR_NAME + .asc as the filename and not keyid + .asc.          the register extension is only offered once to the user.
253          * wptProxySettingsDlg.cpp (enable_proxy_auth): New.          * wptKeyPropsDlg.cpp (get_photo_tmpname): Always use
254          (keyserver_proxy_dlg_proc): Changed the design a little          temp directory. Fixed a privilege problem.
255          and add some additional sanity checks.          
256          * wptGPGParser.cpp (commit_gpg_options): Use W32 line endings.  2006-01-29  Timo Schulz  <[email protected]>
257          This fixes the problem that the GPG option dialog does not show  
258          very nice lines.          * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Allow to use ESC
259          * wptGPGOptDlg.cpp (gpgopt_dlg_proc): s/options/config.          to quit dialog.
260          * wptKeySigDlg.cpp (keysig_dlg_proc): If a single key is selected          * wptKeysignDlg.cpp (sig_class_dlg_proc): More space for
261          check for 'NOKEY' before asking a keyserver.          translations. Directly return sig class.
262          * wptKeyManager.cpp (km_delete_keys): Do not set 'refresh' flag.          (keysign_dlg_proc): Change msgbox title.
263          If a lot of keys were selected, ask if the user wants to confirm          * wptKeyEdit.cpp (signUserid): New.
264          each delete procedure or allow to cancel the operation.          (getUseridIndex): New.
265          * wptFileManagerDlg.cpp (file_import_dlg_proc): Display how much          (getKeyIndex): New.
266          keys the file contain.          (getSigIndex): New.
267          * wptKeyList.cpp (get_key_algo): Beautified.          (clear): New.
268          (get_key_status): Drop the "[XYZ] Unknown" format, it is too          * wptKeyEditCB.cpp (cmd_sign_handler): Allow to select
269          confusing for users.          user-id first.
270          * wptKeyManager.cpp (km_check_key_status): Adjustments for the          * wptKeyEditDlgs.cpp (lookup_cmd): New.
271          new code.          (do_editkey_sign_userid): New.
272          (km_check_for_seckey): Reset utrust parameter. Return -1 for          (do_init_cmdlist): Differ between key pairs and public keys
273          invalid (exp+rev+dis) keys.          and allowed actions.
274            (keyedit_change_ownertrust): Show msgbox on success.
275  2005-08-01  Timo Schulz  <[email protected]>          (get_default_key): New.
276            * wptPassphraseDlg.cpp (request_passphrase): Reset @cancel.
277          * wptKeyserver.cpp (kserver_urlencode): Use unsigned for all given          
278          sizes.  2006-01-27  Timo Schulz  <[email protected]>
279          (check_IP_or_hostname): New.  
280          (kserver_load_conf): Correct finger URL parsing problem.          * WinPT.cpp (WinMain): Set minimal list mode as default.
281          (port_from_proto): New.          * wptKeyCache.cpp (gpg_keycache_sync): Handle special v3 keys.
282          (keyserver_load_conf): Guess the port.          
283          (keyserver_set_default): Allocate new buffer.  2006-01-25  Timo Schulz  <[email protected]>
284          (kserver_load_conf): Likewise.  
285          * wptHTTP.c (parse_reqline, parse_request): Removed.          * wptRegistry.cpp (get_reg_entry_gpg): Return NULL if
286          Use WinPT error code and remove all unused code.          the key exist with no value.
287          * wptKeyserverDlg.cpp (keyserver_dlg_proc): Properly handle finger URLs.          * wptMDSumDlg.cpp (mdsum_dlg_proc): Translate string.
288          * wptProxySettingsDlg.cpp (read_proxy): Simple check for          * wptKeysignDlg.cpp (do_fill_seclist): Select the
289          invalid host/IP addresses.          default key if possible.
290          * wptGPG.cpp (multi_gnupg_path): Return allocated buffer.          * wptFirstRunDlg.cpp (firstrun_dlg_proc): Directly
291          Changed all callers.          return the choice.
292          * wptPreferencesDlg.cpp (prefs_dlg_proc): At the first start,          * wptKeylist.cpp (get_key_desc): New.
293          automatically set 'backup to homedir'.          (keylist_upd_key): Free memory.
294          * WinPT.cpp (WinMain): Use desktop window as the parent window          * wptKeyCache.cpp (gpg_keycache_get_default_key): New.
295          to load 'first-start' dialogs.          (gpg_keycache_set_default_key): New.
296          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not set 'refresh'          * WinPT.cpp (gpg_prefs_ok): New.
297          flag after deleting keys.          (WinMain): Only start gpg prefs if needed.
298          * wptFirstRunDlg.cpp (first_run_dlg_proc): Use a new structure          
299          for passing the arguments.  2006-01-24  Timo Schulz  <[email protected]>
300          * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Do not store "" for  
301          the OptFile. This was responsible for a lot of 'General Errors'          * wptKeyManager.cpp (km_dropped_file_import): New.
302          after the first start related to key caching.          * wptKeyManagerDlg.cpp (keylist_subclass_proc): Allow
303          Automatically set the gpg binary if possible.          to drop files and try to import them.
304            (keymanager_dlg_proc): Pass kmi as opaque to the subclass
305  2005-07-22  Timo Schulz  <[email protected]>          proc.
306            
307          * wptMainProc.cpp (winpt_main_proc): Take care for shutdown  2006-01-23  Timo Schulz  <[email protected]>
308          messages and make sure WinPT make a keyring backup in this case.  
309          * wptGPGME.cpp (keycache_reload): Do not rebuild the signature          * wptMDSumDlg.cpp (mdsum_dlg_proc): Allow to send output
310          cache each time. Just do it on startup.          to the clipboard.
311          * wptKeyManager.cpp (km_key_is_v3): Use new ATTR_VERSION.          * wptKeyEditDlgs.cpp (keyedit_change_ownertrust): New.
312          * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Assume the v3 flag          (do_editkey_enable_disable): New.
313          was set by the calling function.          * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Usability fix. Do not
314          * wptKeyGenDlg.cpp (keygen_wizard_dlg_proc): Ask for backups.          close the dialog if the user cancelled the ownertrust dialog.
315          (keygen_dlg_proc): Only add the generated key to the keycache          * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Return TRUE to indicate
316          and do not reload the entire cache.          an update of any value.
317          * wptKeyManager.cpp (km_delete_keys): Store the number of keys          
318          because in each loop iteration it will be new calculated.  2006-01-21  Timo Schulz  <[email protected]>
319          * wptListView.cpp (listview_del_items): Likewise.  
320          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Directly add the          * wptKeyCache.cpp (keycache_next_key): Handle the case
321          generated key to the list instead of reloading the entire cache.          that there is a secret key without a public part.
322          * wptKeyEditDlgs.cpp (parse_preflist): Support fpr SHAnnn.          * wptKeyserver.cpp (kserver_save_conf): Save ports.
323            * wptKeyserverDlg.cpp (keyserver_modify_dlg_proc):
324            Reset keyserver name.
325            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Just indicate
326            an update, do not update the cache.
327            * wptFileManagerDlg.cpp (file_import_dlg_proc): Use one
328            dialog for both clipboard and file imports.
329            * wptKeyManager.cpp (km_file_import, km_clip_import):
330            Changes to support new update system.
331            (gpg_clip_import): New.
332            * wptKeyManagerDlg.cpp (km_gui_import): New.
333            (find_keypos): Rewritten.
334            (refresh_keylist): Improved error checking.
335            
336    2006-01-20  Timo Schulz  <[email protected]>
337    
338            * wptKeyCache.cpp (w32_tmpfile): New.
339            (parse_attr_data): Use it here.
340            * wptGPGUtil.cpp (gpg_get_photoid_data): Reset @ndata var.
341            
342    2006-01-19  Timo Schulz  <[email protected]>
343    
344            * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Do not
345            reload the entire cache, just update the key.
346            * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Likewise.
347            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Set update flag.
348            * wptKeyRevokersDlg.cpp (key_revokers_dlg_proc): Likewise.
349            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Update key
350            if need after showing the properties.
351            * wptGPGMEData.cpp (gpg_data_putc): Fix off-by-one bug.
352            * wptKeyManager.cpp (km_import_file): New param. Changed
353            all callers.
354            (km_import_clip): Likewise.
355            (delete_keys_from_cache): Delete secret part if available.
356            * wptClipImportDlg.cpp (print_import_status): If there
357            are too many new keys, use reload code.
358            
359    2006-01-18  Timo Schulz  <[email protected]>
360    
361            * wptKeyEditCB.cpp (cmd_delsig_handler): Do not assume
362            the self sig is always index 0. Noted by Kurt.
363            * wptPassphraseCB.cpp (passphrase_dlg_proc): Do not assume
364            the key user-ID contains an email address.
365            * wptKeyEditDlgs.cpp (do_find_userid): Likewise.
366            (do_editkey_deluid): Likewise.
367            (do_editkey_revuid): Likewise.
368            
369    2006-01-18  Timo Schulz  <[email protected]>
370    
371            * wptListview.cpp (listview_del_sel_items): Fixed index
372            calculation. This fixed a lot of problems with the KM listview
373            update.
374            (listview_del_all): Renamed to...
375            (listview_del_all_items): ..this. Changed all callers.
376            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Just refresh
377            list when file import contained new/updated keys.
378            * wptKeyManager.cpp (km_file_import): Indicate if the
379            import contained any new/update keys.
380            * wptClipImportDlg.cpp (print_import_status): Just mark
381            keys which actually changed.
382            
383    2006-01-17  Timo Schulz  <[email protected]>
384    
385            * wptMAPI.cpp (mapi_send_pubkey_ext): New.
386            * wptKeysigDlg.cpp (do_delsig): Just flag the key, do not
387            update it.
388            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Be more
389            careful about const pointers.
390            * wptKeyEditDlgs.cpp (get_subkey_fingerprint): Renamed to..
391            (get_subkey_keyid): ..this. Fix problem that key was updated
392            twice and this corrupted.
393            (keyedit_add_subkey): Set @lv item in the callback context.
394            
395    2006-01-16  Timo Schulz  <[email protected]>
396    
397            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Restore
398            window if it lost focus during the operation. Thanks to Kurt.
399            Update keylist when the window is enabled.
400            (find_keypos): New.
401            * wptKeyCache.cpp (keycache_next_key): Reset update status.
402            (gpg_keycache_next_updated_key): New arg @r_status. Change all
403            callers.
404            (gpg_keycache_update_key): Different status for new and updated.
405            Include key signatures.
406            * wptClipImportDlg.cpp (print_import_status): Mark all
407            imported keys.
408            * wptMainProc.cpp (clip_gpg_dlg): On import refresh KM keylist.
409            Thanks to Kurt.
410            * wptKeysigDlg.cpp (recv_missing_keys): Mark all received keys.
411            (do_delsig): Directly reload key. Thanks to Kurt.
412            * wptGPGME.cpp (keycache_set_reload, keycache_get_reload):
413            Removed.
414            * wptKeygenDlg.cpp (keygen_dlg_proc): Use new update system.
415            * wptClipImportDlg.cpp (clip_import_dlg_proc): Return
416            FALSE if no keys were updated or operation was cancelled.
417            * wptCommonDlg.cpp (http_dlg_proc): Fix title selection code.
418            * wptKeylist.cpp (get_ext_validity): Handle disabled keys.
419            * wptKeyPropsDlg.cpp (keyprops_dlg_proc):
420            Do not allow to change ownertrust of invalid keys.
421            Changed translation.
422            Slightly different user interface.
423            
424    2006-11-14  Timo Schulz  <[email protected]>
425    
426            * wptW32API.cpp (make_special_filename): New.
427            * wptRegistry.cpp (set_winpt_reg_prefs, get_winpt_reg_prefs):
428            Removed 'KeyServer' item.
429            * wptPreferencesDlg.cpp (prefs_dlg_proc): Remove keyserver
430            config item.
431            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Disable group
432            window until we really use it.
433            * wptKeyserver.cpp (kserver_save_conf): New.
434            (wsock_end): Save keyserver config file.
435            * wptKeyserverDlg.cpp (keyserver_edit): New.
436            (keyserver_remove): New.
437            (keyserver_add): New.
438            (fill_keyserv_types): New.
439            (keyserver_modify_dlg_proc): New.
440            (keyserver_dlg_proc): Provide context menu to modify the
441            keyserver list.
442            (keyserver_build_list): Remove 'proto' column because it is
443            not really useful.
444            * WinPT.cpp (load_keyserver_conf): Store keyserver.conf at
445            $APPDATA\winpt. If keyserver.conf exists in the current folder
446            move it to the new destination.
447            
448    2006-11-13  Timo Schulz  <[email protected]>
449    
450            * wptPreferencesDlg.cpp (prefs_dlg_proc): Changed translation.
451            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Likewise.
452            * wptAboutDlgs.cpp (about_dlg_proc): Make sure GPG about
453            dialog isn't shown twice.
454            * wptKeyCache.cpp (gpg_keycache_next_updated_key): New.
455            (gpg_keycache_update_key): Set update flag.
456            * wptKeyManagerDlg.cpp (refresh_keylist): New.
457            (keymanager_dlg_proc): Use new refresh system for keyservers.
458            * wptKeyserverSearchDlg.cpp (kserver_search_dlg_proc):
459            Update keycache.
460            * wptKeyserverDlg.cpp (hkp_dlg_proc): Likewise.
461            * wptKeyserver.cpp (socket_read_ext): New.
462            (kserver_recv_key_ext): New.
463            (kserver_read_config, kserver_write_config): Removed.
464            
465    2006-01-12  Timo Schulz  <[email protected]>
466    
467            * wptListView.cpp (listview_set_image_list): Make icons
468            always transparent.
469            * wptImageList.cpp (imagelist_load): New icons.
470            * wptGPGMEData.cpp (gpg_data_putc): New.
471            * wptKeyManagerDlg.cpp (load_toolbar): Include new icons.
472            (keymanager_dlg_proc): Add tooltips.
473            * wptKeyserverDlg.cpp (keyserver_list_build): Use icons.
474            * wptKeyserver.cpp (URL_encode): New.
475            (URL_must_encode): New.
476            (kserver_search_init): Properly encode pattern.
477            (parse_iso_date): New.
478            (keyserver_search): Be more strict to prevent buffer overflows.
479            
480    2006-01-11  Timo Schulz  <[email protected]>
481    
482            * wptKeyManagerDlg.cpp (load_toolbar): 2 new icons.
483            (keymanager_dlg_proc): Adjust tooltips.
484            (update_ui_items): Handle new icons.
485            * wptImageList.cpp (imagelist_load): New icons.
486            
487    2006-01-10  Timo Schulz  <[email protected]>
488    
489            * wptMainProc.cpp (winpt_main_proc): Restore iconic
490            File/Key Manager windows if needed.
491            * wptGPGPrefsDlg.cpp (gpg_prefs_dlg_proc): Disable button.
492            * wptSiglist.cpp (init_cmp): New.
493            (siglist_sort): New.
494            (siglist_cmp_cb): New.
495            (siglist_add_key): Force NOKEY status when key was not found.
496            * wptKeysigDlg.cpp (recv_single_key): New.
497            (recv_missing_keys): Reload entire key when more than one key
498            was fetched.
499            (keysig_dlg_proc): Support sorting the listview items.
500            
501    2006-01-09  Timo Schulz  <[email protected]>
502    
503            * WinPT.cpp (load_gettext): Remove file locking.
504            (WinMain): Use pre-defined autoconf constants.
505            * wptW32API.cpp (init_file_lock, release_file_lock): Deleted.
506            * wptGPG.cpp (check_gnupg_engine): Add param @need_gpg_ver.
507            Change all callers.
508            
509    2006-01-07  Timo Schulz  <[email protected]>
510    
511            * wptKeyManager.cpp (km_refresh_from_keyserver): Summarize
512            import status if just one key was selected.
513    
514    2006-01-04  Timo Schulz  <[email protected]>
515    
516            * wptGPGMEWrapper.c (setChangeVersion): New.
517            (exportToBuffer, exportToFile, exportToClipboard): New.
518            (setArmor, getArmor): New.
519            * wptKeylist.cpp (get_key_expire_date): Return locale specific
520            date.
521            (keylist_get_recipients): Do not fetch the key again.
522            (keylist_enum_recipients): Likewise.
523            * wptGPG.cpp (create_empty_keyring): New.
524            (get_gnupg_keyring): Fixed 'strict' logic.
525            * wptKeyManagerDlg.cpp (update_ui_items): Disable some buttons
526            when no secret keys are available.
527            * wptKeyManager.cpp (km_send_to_mail_recipient): Release key data
528            before the MAPI call is made.
529            * WinPT.cpp (check_for_empty_keyrings): New.
530            
531    2006-01-03  Timo Schulz  <[email protected]>
532    
533            * pubkey.ico, keypair.ico: New.
534            * wptListview.cpp (listview_add_item_image): New.
535            (listview_set_image_list): New.
536            * wptSigList.cpp (siglist_add_key): Correct order of the sigs.
537            * wptKeyProps.cpp (keyprops_load_photo): Adjusted for new
538            JPEG data.
539            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not allow to
540            add items to revoked keys.
541            * wptKeyManager.cpp (km_delete_keys): Do not use uninitialized
542            keyid buffer. This fixes a segv.
543            * wptKeyserver.cpp (spawn_application): New.
544            (ldap_recv_key): Support recent protocols and several cleanups.
545            * wptKeylist.cpp (do_addkey): Set image which depends on the
546            key type.
547            (keylist_enum_recipients): Cleanups.
548            (keylist_get_keyflags): Rewritten.
549            * wptKeyCache.cpp (free_attr_list): New.
550            (parse_attr_list): New.
551            (parse_attr_data): New.
552            (keycache_update_photo): New.
553            (keycache_update_photos): New.
554            (gpg_keycache_update_key): Automatically reload photos if needed.
555            * wptGPGUtil.cpp (create_process): New param @err. Change all
556            callers.
557            (map_tmpfile): New param @nread. Change all callers.
558            (gpg_get_photoid_data): New.
559            * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not allow to
560            add items to revoked keys.
561            (subkey_init_list): Store gpgme key object.
562            
563    2005-12-29  Timo Schulz  <[email protected]>
564    
565            * wptKeygenDlg.cpp (keygen_dlg_proc): Request passphrase dynamically.
566            (gpg_genkey_params): Simplified.
567            * wptPreferencesDlg.cpp (prefs_dlg_proc): Fix problem with mutal
568            exclusion of the dialog items.
569            * wptAboutDlgs.cpp (about_winpt_dlg_proc): Allow to use ESC to
570            quit the dialog.
571            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
572            * wptMDSumDlg.cpp (mdsum_dlg_proc): Handle WM_SYSCOMMAND.
573            (id2algo): New.
574    
575    2005-12-28  Timo Schulz  <[email protected]>
576    
577            * wptKeyserverDlg.cpp (show_imported_keys): Decode user IDs.
578            * wptKeyRevokersDlg.cpp (key_revokers_dlg_proc): Likewise.
579            * wptKeylist.cpp (keylist_udp_key): Likewise.
580            * wptKeyManager.cpp (key_get_clip_info, key_get_info): Likewise.
581            * wptClipDecryptDlg.cpp (clip_decrypt_dlg_proc): Fix problem
582            when no signing key was found.
583            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Properly decode
584            user IDs.
585            (translate_popup_strings): s/Revoke/Revoke Cert.
586            * wptKeyEditDlgs.cpp (do_init_keylist): Do not assume a
587            0x prefixed keyid.
588            * wptKeyEditCB.cpp (editkey_command_handler): Also reset
589            step in case of a bad passphrase.
590            
591    2005-12-27  Timo Schulz  <[email protected]>
592    
593            * wptListView.cpp (listview_set_view): New.
594            (listview_del_column): New.
595            * wptW32API.cpp (get_locale_date): New.
596            (get_menu_state): New.
597            (force_foreground_window): New.
598            * wptVerifyList.cpp (strtimestamp): Support for
599            locale date formats.
600            * wptGPGUtil.cpp (gpg_revoke_cert): Handle bad
601            passphrases.
602            * wptKeyEditCB.cpp (editkey_command_handler): Immediately
603            return when a bad passphrase was submitted.
604            * wptKeyRevokersDlg.cpp (keyrevokers_dlg_proc): Change
605            column order.
606            * wptKeylist.cpp (keylist_upd_col): New.
607            * wptKeyManagerDlg.cpp (update_ui_items): Deactivate
608            'Revocation' for public keys.
609            (translate_menu_strings): s/Revoke/Revoke Cert.
610            (modify_listview_columns): New.
611            
612    2005-12-18  Timo Schulz  <[email protected]>
613    
614            * wptKeyManagerDlg.cpp (save_column_size): New.
615            (restore_column_size): New.
616            (keymanager_dlg_proc): Save and restore column sizes for
617            the listview control.
618            * wptKeyManager.cpp (key_get_info): New.
619            (km_delete_keys): Use it here to have a consistent message.
620            Use stored key context and not the column data.
621            (km_enable_disable_key): Likewise.
622            (km_send_to_keyserver): Likewise.
623            (km_set_implicit_trust): Likewise.
624            * wptKeylist.cpp (get_key_pubalgo2): New.
625            
626    2005-12-17  Timo Schulz  <[email protected]>
627    
628            * wptUTF8.cpp: Removed unused charset array.
629            * wptSigList.cpp (siglist_build): Increase size for 'class'
630            column.
631            * wptGPG.cpp (get_gnupg_path): Simplified.
632            * WinPT.cpp (load_gpg_env): New.
633            (check_crypto_engine): Return type is now bool.
634            * wptRegistry.cpp (is_gpg4win_installed): New.
635            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): More consistent
636            dialog design.
637            * wptKeyManagerDlg.cpp (translate_menu_strings): New.
638            (translate_popupmenu_strings): New.
639            * wptKeyEditDlgs.cpp (is_jpg_file): New.
640            
641    2005-12-13  Timo Schulz  <[email protected]>
642    
643            * wptCommonDlg.cpp (http_dlg_proc): Localized missing elements.
644            * wptKeyManagerDlg.cpp (change_edit_menu): New.
645            (change_key_menu): Renamed from...
646            (menu_gpg_readonly): ..this.
647            (clip_contains_pgpkey): New.
648            (update_ui_items): Do not allow to sign expired keys.
649            (keymanager_dlg_proc): Same for popup menu.
650            * wptKeyPropsDlg.cpp (parse_preflist): Fixed string handling.
651            * wptKeyCache.cpp (copy_uid_prefs):
652            (gpg_keycache_sync): Copy uid prefs so the key property
653            dialog show the correct values. Thanks to Shane.
654            
655    2005-12-11  Timo Schulz  <[email protected]>
656    
657            * wptW32API.cpp (get_file_version): New.
658            * wptGPGUtil.cpp (create_process): Always hide window.
659            * wptClipEditDlg.cpp (clipedit_dlg_proc): Use 'Close'
660            instead of 'Exit'.
661            * wptKeyManager.cpp (km_http_import): New filename
662            generation code.
663            (km_send_to_mail_recipient): Cleanups.
664            * wptKeyEditDlg.cpp (showpref_dlg_proc): Localize dialog.
665            * wptKeyManagerDlg.cpp (update_ui_items): Handle the case
666            when multiple keys are selected.
667            (popup_multiple): New.
668            * WinPT.cpp (WinMain): Check that the PTD.dll and WinPT.exe
669            file versions are equal. Rewrote --keymanager code.
670            
671    2005-12-08  Timo Schulz  <[email protected]>
672    
673            * wptKeyserverDlg.cpp (show_imported_keys): Enhanced.
674            (hkp_recv_key2): Show user-id of the imported key instead
675            of just the pattern.
676            * wptFileCBS.cpp (read_cb): Changed to W32 API.
677            (write_cb): Likewise. Create output file on demand.
678            (gpg_file_data_new): Adjusted code for new API.
679            * wptKeyEdit.cpp (cleanKey): New.
680            * wptKeyEditCB.cpp (cmd_clean_handler): New.
681            (editkey_command_handler): Call clean handler.
682            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Sort
683            keylist after inserting items.
684            * wptFileManager.cpp (fm_set_status): Take care of
685            cleartext sigs.
686            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Make
687            sure can be closed.
688            
689    2005-12-07  Timo Schulz  <[email protected]>
690    
691            * wptOwnertrustDlg.cpp (ownertrust_dlg_proc):
692            Use 'Close' instead of 'Exit'.
693            * wptKeyEditDlgs.cpp (keyedit_dlg_proc): Likewise.
694            * wptGPG.cpp (gnupg_backup_keyrings): Use $APPDATA
695            as the destination dir. Thanks to Werner.
696            * wptRegistry.cpp (is_gpgee_installed): New.
697            (regist_inst_winpt): Do not register file extensions
698            if GPGee is available.
699            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Limit
700            use of local vars.
701            * wptPreferencesDlg.cpp (prefs_dlg_proc): Make sure
702            no illegal backup mode is saved.
703            * wptKeyserverDlg.cpp (show_imported_key): New.
704            (hkp_recv_key2): Show imported keys if the blob
705            contained more than one.
706            
707    2005-12-06  Timo Schulz  <[email protected]>
708    
709            * WinPT.cpp (WinMain): Load the gettext environment soon
710            as possible so all 'first start' messages are localized.
711            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): If a single key is
712            received via the keyserver, return the gpgme key context on
713            success and add it directly to the list.
714            * wptKeyserverDlg.cpp (keyserver_dlg_proc): Support a param
715            to store the key.
716            (hkp_recv_key2): Add extra param for the fingerprint.
717            (hkp_recv_key): Call hkp_recv_key2 without fingerprint.
718            
719    2005-12-02  Werner Koch  <[email protected]>
720    
721            * wptKeyEditDlgs.cpp (subkey_list_init): Avoid trigraphs.
722    
723    2005-12-01  Timo Schulz  <[email protected]>
724    
725            * wptClipVerifyDlg.cpp (clipverify_dlg_proc): Use new semantic
726            for get_gpg_sigstat().
727            * wptGPGME.cpp (get_gpg_sigstat): New. It is now a function.
728            As a macro strings will not be translated at runtime.
729            * wptKeyserverDlg.cpp (hkp_recv_key): Properly detect if we
730            need to update the cache. Thanks to Jan-Oliver.
731            * wptKeyImportStatusDlg.cpp (import_status_dlg_proc): Localized.
732            
733    2005-11-30  Timo Schulz  <[email protected]>
734    
735            * wptW32API.cpp (dialog_box_param): Removed LANG_DE code.
736            * WinPT-en.rc: Removed string list.
737            * wptFileSaveDlg.cpp (file_save_dlg_proc): Localized
738            * wptKeylist.cpp (keylist_build): Cannot use global
739            arrays for the columns due to gettext.
740            
741    2005-11-29  Timo Schulz  <[email protected]>
742    
743            * WinPT.cpp (WinMain): Modify --keymanager. If an instance
744            is running, just send the command to open the manager.
745            
746    2005-11-25  Timo Schulz  <[email protected]>
747    
748            * wptKeyEditCB.cpp (addrev_cmd_handler): Avoid hanging
749            process when the revoker is already there.
750            
751    2005-11-24  Timo Schulz  <[email protected]>
752    
753            * wptPassphraseCB.cpp (passphrase_callback_proc): Localize
754            signing dialog items.
755            * wptMainProc.cpp (confirm_delclip_dlg): Localize dialog items.
756            * wptAboutDlgs.cpp (about_winpt_dlg_proc): Disable help for now.
757            * wptMDSumDlg.cpp (mdsum_dlg_proc): Localize missing items.
758            * wptKeylist.cpp (key_check_validity): Likewise.
759            * wptKeyEditDlgs.cpp (keyedit_addsubkey_dlg_proc): Likewise.
760            
761    2005-11-22  Timo Schulz  <[email protected]>
762    
763            * wptCardEditCB.cpp (gpg_write): Due to removed _DEBUG
764            macro debug output will be generated in release version.
765            
766    2005-11-21  Timo Schulz  <[email protected]>
767    
768            * WinPT.cpp (WinMain): Implement --stop switch.
769            * wptClipEditDlg.cpp (clip_edit_dlg_proc): Localize
770            missing string.
771            * wptPreferencesDlg.cpp (prefs_dlg_proc): Likewise.
772            * wptKeygenDlg.cpp (keygen_dlg_proc): Verify valid context
773            first. Thanks to Ralf.
774            * wptFileManagerDlg.cpp (update_ui_items): New.
775            * wptFileManager.cpp (fm_set_status): New sigmode param.
776            Changed all callers.
777            
778    2005-11-17  Timo Schulz  <[email protected]>
779    
780            * wptGPG.cpp (check_last_gnupg_access): Kludge to avoid that
781            the cache will be loaded twice.
782            * wptRegistry.cpp (regist_inst_winpt): More comments.
783            * wptKeyManagerDlg.cpp (do_center_window): Make sure that
784            neg. coordinates are never used.
785            * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Localize all
786            strings.
787            * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.
788            * wptFileManagerDlg.cpp (filemanager_dlg_proc): Localize menu
789            and save 'AlwaysOnTop' in the registry.
790            
791    2005-11-16  Timo Schulz  <[email protected]>
792    
793            * WinPT.cpp (check_crypto_engine): Min is now GPG 1.4.2.
794            * wptKeylist.cpp (keylist_add_key): Add disabled keys in list
795            mode.
796            * wptPreferencesDlg.cpp (prefs_dlg_proc): Localize all strings.
797            * wptRegistry.cpp (regist_inst_winpt): Set install directory.
798            Useful for other programs to figure out the path to the EXE.
799            
800    2005-11-14  Timo Schulz  <[email protected]>
801    
802            * wptGPG.cpp (check_gnupg_engine): Fix version check.
803            * wptMainProc.cpp (winpt_main_proc): Check keyring
804            file permissions always and do not use interative output
805            when the windows session ends.
806            * wptProxySettingsDlg.cpp (proxy_settings_dlg_proc):
807            Localize all strings.
808            * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.
809            * wptGPGPrefsDlg.cpp (gpg_prefs_dlg): Likewise.
810            * wptKeyEditDlgs.cpp (do_init_keylist): Skip all
811            non-valid keys.
812            
813    2005-11-12  Timo Schulz  <[email protected]>
814    
815            Fix more GCC warnings.
816    
817    2005-11-10  Timo Schulz  <[email protected]>
818    
819            * wptClipSignDlg.cpp (one_key_proc): Use
820            release_gpg_passphrase_cb() to free the context.
821            * wptListView.cpp (listview_deselect_all): New.
822            * wptMAPI.cpp (mapi_send_pubkey): Works again.
823            * wptFileManagerDlg.cpp (file_manager_dlg_proc): Support encrypt &
824            zip.    
825            * wptPassphraseCB.cpp (passphrase_callback_proc): Fix passphrase
826            caching for signing operations.
827            * wptKeyManager.cpp (km_send_to_mail_recipient): Works again.
828            * wptFileManager.cpp (fm_send_file): Likewise.
829            (fm_encrypt_into_zip): New.      
830            
831    2005-11-09  Timo Schulz  <[email protected]>
832    
833            * wptNLS.c (get_gettext_langid): Map user language id to
834            printable gettext language strings.
835            * wptRegistry.cpp (get_reg_entry_mo): Support for the
836            gettext environment.
837            * wptFileManager.cpp (fm_encrypt): Close all files before
838            the wipe procedure is called.
839            * wptVerlist.cpp (verlist_add_sig): Handle the case the
840            issuer is not valid but the signature is.
841            (verlist_add_sig_log): Likewise. Thanks to the folks on
842            winpt-users.
843            
844    2005-11-08  Werner Koch  <[email protected]>
845    
846            * SAFE.ICO, SIGN.ICO: Fixed capitalization.
847            * WinPT-en.rc: Ditto.
848            * winpt_km.ico:  Moved from ../.
849    
850            * Makefile.am (resource_files): Add missing backslash.
851    
852    2005-11-08  Timo Schulz  <[email protected]>
853    
854            More minor changes to avoid GCC warnings.
855            
856            * wptGPG.cpp (check_homedir): Free memory in case of errors.
857            (multi_gnupg_path): Add strict mode. If non-strict mode return
858            the folder even if it does not exist.
859            (check_for_gpgwin): New.
860            * wptKeyserverDlg.cpp (hkp_recv_key): Make sure import_res is
861            initialized.
862            * wptRegistry.cpp (get_reg_entry_gpg4win): New.
863            (get_reg_entry_mo): Support for gpg4win.
864            
865    2005-11-07  Timo Schulz  <[email protected]>
866    
867            * wptMainProc.cpp (winpt_main_proc): Disable
868            some menu items when no secret key is available.
869            
870    2005-11-05  Timo Schulz  <[email protected]>
871    
872            More minor changes to avoid GCC warnings.
873            
874            * wptErrors.cp (winpt_strerror): Return w32
875            formatted error and do not use 'break'.
876            
877    2005-11-04  Werner Koch  <[email protected]>
878    
879            * WinPT-en.rc: Fixed locations of icons.
880    
881    2005-11-03  Timo Schulz  <[email protected]>
882    
883            A lot of minor changes to avoid GCC warnings.
884    
885            * wptGPG.cpp (get_gnupg_keyring): Only check size for
886            public keyring.
887            * wptKeyManager.cpp (km_update_default_key_str): Do
888            not issue a bug message when no secret key was found.
889            * wptGPGPrefsDlg.cpp: Replace "" with NULL in the name struct.
890            
891    2005-11-02  Werner Koch  <[email protected]>
892    
893            * WinPT.cpp (WinMain): Disabled PTD version tests.
894            (check_crypto_engine): Fixed version check for scard.
895    
896            * wptErrors.cpp (debug_end): Add dummy function.
897    
898            * Makefile.am (code_files): Added wptCardEditCB.cpp and
899            wptKeyEditCB.cpp.
900    
901    2005-10-31  Werner Koch  <[email protected]>
902    
903            * wptCurrWnd.cpp: Include wptVersion.h to get prototypes of PTD
904            functions.
905    
906            * wptKeyEditDlgs.cpp: Include oleauto.h
907            * wptKeyEdit.cpp: Include time.h.
908            * wptRegistry.cpp (gpg_filetypes): New from ../Include/wptGPG.h.
909            * wptGPGUtil.cpp (gpg_manage_ownertrust): s/export/exportflag/.
910    
911            * Makefile.am (code_files): Add wptGPGUtil.cpp, wptCardEdit.cpp,
912            wptKeyEdit.cpp and wptKeycache.cpp.
913    
914            * wptPassphraseCB.cpp: Fixed spelling of wptKeylist.h
915            * wptImportList.cpp (implist_load): Use remove and not unlink.
916            * wptGPG.cpp: Fixed spelling of wptGpgCmds.h
917            * wptImportList.cpp (implist_load): Use remove and not unlink.
918            * wptKeyManager.cpp (km_http_import): Ditto
919            * wptMainProc.cpp: Include wptCrypto.h
920            * wptKeyManager.cpp: Ditto.
921            * wptFileManager.cpp: Ditto.
922            * wptImportList.cpp (parse_colon_key): Need to cast argument for
923            isdigit.  Include ctype.h.
924            * wptGPG.cpp: Include shlobj.h.
925    
926            Fixed double inclusion of windows.h.
927            
928            * Makefile.am (bin_PROGRAMS): Don't build KeyManagerExe for now.
929            * wptKeylist.cpp (get_key_created): Broke up trigraph.
930            (get_key_status): Removed dangerous use of sprintf.  Still other
931            flaws present, see comment.
932    
933            * wptCardPCSC.c: Don't include winscard.h.
934            (pcsc_readerstate_t, pcsc_context_t): New.  Changed call users to
935            use these types.
936            (PCSC_): Added a lot of constants, all taked from GnuPG 1.9.
937            (SCARD_S_SUCCESS): Changed all compares to test the value directly
938            against zero.
939    
940            * WinPT.cpp: Include wptCrypto.h.
941            (WinMain): Don't shard S. Removed usunsed variable SIZE.
942            * Makefile.am (code_files): Actually add files by adding a first
943            backslash.
944            * wptMDSumDlg.cpp: Include wptCrypto.h.
945            * wptProxySettingsDlg.cpp: Included ctype.h.
946            * wptKeysigDlg.cpp: Fixed spelling of wptKeylist.h.
947            * wptKeysignDlg.cpp: Ditto
948            * wptKeyRevokersDlg.cpp: Ditto. Fixed spelling of wptW32API.h.
949            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Replaced unlink by remove.
950            Removed unused variable.
951            * wptClipVerifyDlg.cpp (show_notation_data): s/not/nota/ due to
952            silly c++ operator synonyms.
953            * wptKeyEditDlgs.cpp: Include time.h.
954            * wptClipDecryptDlg.cpp: Include wptCrypto.h to define PGP_MESSAGE.
955            * wptFileManagerDlg.cpp: Ditto.
956            (space_wipefrees_dlg_proc): Replaced unlink by remove; it doesn't
957            matter if it does an rmdir for a directory.
958    
959            Fixed include of resource.h which is not anymore in the top
960            directory.
961    
962    2005-10-28  Werner Koch  <[email protected]>
963    
964            * wptProxySettingsDlg.cpp (check_number): Cast isdigit() arg to
965            unsigned.  Never ever use a possible signed char as argument for
966            ctype tests.  An alternative is to first test using isascii ().
967            (keyserver_proxy_dlg_proc): Removed unused variable.
968    
969    2005-10-27  Timo Schulz  <[email protected]>
970    
971            * wptKeyPropsDlg.cpp (get_validity): Take care of disabled keys.
972            * wptKeylist.cpp (keylist_add_key): Check global key flag to
973            see if the key is disabled and not each subkey.
974            (seclist_init): Likewise.
975            * wptClipDecryptDlg.cpp (gpgme_op_clip_decrypt): Use
976            gpgme_op_decrypt_verify.
977            (clip_decrypt_dlg_proc): Fixed fingerprint
978            to keyid conversation. This also fixes a crash.
979            * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Likewise.
980            * wptKeyEditDlgs.cpp (do_editkey_expire): Ask if the key
981            already expired if the user wants to change the date.
982            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Replace old
983            'v3 sig' option with the 'ask cert level' option. Sync
984            with global preferences.
985            * wptKeySignDlg.cpp (keysign_dlg_proc): Watch if the
986            gpg.conf contains 'ask-cert-level'. If not disable button.
987            * wptKeySigDlg.cpp (keysig_dlg_proc): Automatically disable
988            the button when the key is available.
989            Reload key directly, not the entire cache.
990            
991    2005-10-26  Timo Schulz  <[email protected]>
992    
993            * wptFileManager.cpp (is_floppy_disc): Prevent very unlikely but
994            possible overflow.
995            (is_openpgp_ext): Compare case insentensive.
996            (add_single_file): New.
997            (fm_add_opened_files): Support multi file selection.
998            * wptKeyPropsDlg.cpp (do_change_ownertrust): Removed.
999            * wptKeyManager.cpp (km_enable_disable_key): Do not set cache
1000            reload flag. Just update the single key.
1001            * wptFileManagerDlg.cpp (file_encrypt_dlg_proc): Remove static var
1002            and disable anonymize recipient for now.
1003    
1004            Begin to port code to GCC. Fix all warning issued by the gcc
1005            compiler.
1006    
1007    2005-10-25  Timo Schulz  <[email protected]>
1008    
1009            * wptGPGUtil.cpp (create_process): Hide window.
1010            * wptKeyPropsDlg.cpp (get_photo_tmpname): New.
1011            * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Remove
1012            static var 'enable'.
1013            * wptKeygenDlg.cpp (keygen_dlg_proc): Likewise.
1014            (gpg_genkey_params): Make sure all primary keys are capable
1015            for signing and certification.
1016            * wptKeySigDlg.cpp (is_sig): If no item is selected, return 0.
1017            * wptGPG.cpp (gnupg_access_keyring): Check return value for
1018            NULL. Noted by Ralf.
1019            (get_gnupg_prog): Simplified.
1020            (check_homedir): Fixed. Return 0 when the dir is successfully created.
1021            * wptKeyManagerDlg.cpp (km_file_import): Use the hourglass to
1022            indicate a pending GPG process.
1023            * wptFileManager.cpp (op_begin, op_end): New. Indicate an start
1024            and and of an operation. For now just the cursor changes.
1025            (fm_parse_command_line): Remove debug output. Thanks to Ralf again.
1026            * WinPT.cpp (WinMain): Check if there is already an instance and
1027            set a variable early as possible.
1028            (load_gettext): If a previous instance was found, do not output
1029            any errors. Kudos to Ralf.      
1030    
1031    2005-10-24  Timo Schulz  <[email protected]>
1032    
1033            * wptPassphraseCB.cpp (passphrase_callback_proc): Allow to use
1034            pre-defined recipients.
1035            (release_gpg_passphrase_cb): Release recipients.
1036            * wptKeyPropsDlg.cpp (keyprops_load_photo): Set photo-id
1037            validity if needed.
1038            (keyprops_dlg_proc): Issue a warning if the photo is valid.
1039    
1040    2005-10-23  Timo Schulz  <[email protected]>
1041    
1042            * wptFileManager.cpp (fm_get_file_type): Detect detached sigs.  
1043            * wptKeyList.cpp (keylist_cmp_cb): Take care of expired/revoked keys.
1044            (get_ext_validity): New.
1045            * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Several cleanups.
1046            * wptClipEditDlg.cpp (load_clipboard): Factored out some code into
1047            this function.
1048            (load_clipboard_from_file): Likewise.
1049            (save_clipboard_to_file): New.
1050            * wptKeyManagerDlg.cpp (keyprops_dlg_proc): Fix stack overflow.
1051    
1052    2005-10-22  Timo Schulz  <[email protected]>
1053    
1054            Localized a lot of more strings.
1055    
1056            * wptMainProc.cpp (load_smartcard): New.
1057            * wptFileManager.cpp (fm_parse_command_line): Simplify code.
1058            (fm_check_armor_type): Add new arg. Change all callers.
1059            (fm_get_file_type): Likewise.
1060            * wptKeyPropsDlg.cpp (display_key_info): New.  
1061            (keyprops_show_photo): Factored out some code into..
1062            (keyprops_load_photo): ..this function.
1063    
1064    2005-10-21  Timo Schulz  <[email protected]>
1065    
1066            * wptFileManagerDlg.cpp (file_manager_dlg_proc): Use
1067            WM_INITPOPUPMENU to localize popup menu texts.
1068            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
1069            * wptClipSignDlg.cpp (one_key_proc): Use wipememory instead of memset.  
1070    
1071    2005-10-20  Timo Schulz  <[email protected]>
1072    
1073            Now WinPT depends on GPG 1.4.3 and GPGME 1.2.0.
1074    
1075            * wptPassphraseCB.cpp (passphrase_cb): Complete card support.
1076            * wptCardEdit.cpp (genKey): Handle cancel case.
1077            * keycache.c: Renamed into...
1078            * wptKeyCache.cpp: ...this.
1079            * wptW32API.cpp (set_menu_text): Removed unused code.
1080            (set_menu_text_bypos): New.
1081            * wptCrypto.h: New.
1082            * wptMainProc.cpp (winpt_main_proc): Complete localize
1083            menu texts.
1084            * wptErrors.cpp (log_debug): Use a static var so the file
1085            is only opened once.
1086            (debug_end): Cleanup. Currently just close the log file.
1087            * wptErrors.h (wipememory): New.
1088            (sfree_if_alloc): Use it here.
1089            * WinPT.cpp (WinMain): Display the min. GPGME version which
1090            is needed in case of an error.
1091    
1092    2005-10-17  Timo Schulz  <[email protected]>
1093    
1094            Free all memory returned by the GPGME dll with gpgme_free ().
1095    
1096            s/GPG_ERR_CARD_REMOVED/GPG_ERR_CARD_NOT_PRESENT.
1097    
1098            * wptKeyEdit.cpp (getCardStatus): Remove dummy key.
1099            (list_handler): With user interaction to allow to insert
1100            the card into the reader.
1101            * wptKeyEditCB.cpp (gpg_edit_card): Likewise.
1102            (common_card_handler): Fixed incorrect command string.
1103            * wptKeyPropsDlg.cpp (get_card_type): New.
1104            (keyprops_dlg_proc): Show card information if present.
1105            * wptFileManager.cpp (secret_key_available): Make the code faster.
1106            
1107    
1108    2005-10-16  Timo Schulz  <[email protected]>
1109    
1110            * wptPassphraseCB.cpp (passphrase_cb): Fix problem
1111            with hanging GPG process on cancel.
1112            * keycache.c (gpg_keycache_release): Release all objects.
1113    
1114    2005-10-15  Timo Schulz  <[email protected]>
1115    
1116            * wptCardEdit.cpp (setResult, getResult): New.
1117            (reset): New.
1118            (getCardStatus): Check return codes and release all objects
1119            in case of errors.
1120            * wptCardEditCB.cpp (change_pin_handler): Call reset()
1121            before quit.
1122            (editcard_handler): Likewise.
1123            (common_card_handler): New.
1124            * wptCardDlg.cpp (card_changepin_dlg_proc): Also unmask
1125            the old PIN when 'Hide Typing' is disabled.
1126            * wptPassphraseCB.cpp (passphrase_cb): The card detection
1127            works again. Support to re-enter passphrase.
1128    
1129    2005-10-14  Timo Schulz  <[email protected]>
1130    
1131            * wptCardDlg.cpp (card_status): New fields for the
1132            fingerprint creation time. Display card info as title.
1133            (get_printable_version): New.
1134            * wptCardEditCB.cpp (editcard_handler): Fix problem
1135            with the counter comparison.
1136    
1137    2005-10-11  Timo Schulz  <[email protected]>
1138    
1139            Port to GPGME basically finished.
1140    
1141    2005-09-20  Timo Schulz  <[email protected]>
1142    
1143            * wptFileManagerDlg.cpp (file_secdel_confirm_dlg_proc):
1144            Do not use gpgme_recipients_t but the listview directly
1145            to add the selected files.
1146    
1147    2005-09-07  Timo Schulz  <[email protected]>
1148    
1149            * Make sure all GetOpenFileName filters are terminated by \0\0.
1150    
1151    2005-09-01  Timo Schulz  <[email protected]>
1152    
1153            * wptW32API.cpp (center_window): New argument for parent window.
1154            Change all callers.
1155            (center_window2): Likewise.
1156            * GPGME now can read gpgProgram entries with 'REG_EXPAND_SZ'.
1157            * wptGPG.cpp (gnupg_backup_options): Remove param. One backup
1158            file is enough. Changed all callers.
1159    
1160    2005-08-15  Timo Schulz  <[email protected]>
1161    
1162            * wptKeyEditDlgs.cpp (do_editkey_showpref): Take care of v3 keys.
1163            * wptGPGOptDlg.cpp (gpgopt_dlg_proc): Fixed name of title.
1164            * Make sure the passphrase is always overwritten before it is
1165            freed (or the function returns).
1166            * wptKeyPropDlg.cpp (get_pref_cipher): New.
1167            (keyprops_dlg_proc): Use it here.
1168    
1169    2005-08-06  Timo Schulz  <[email protected]>
1170    
1171            * wptGPGME.cpp (keycache_update): Reload OpenPGP parts
1172            of the secret key.
1173            (keycache_init): cache name of secret keyring.
1174            * wptKeyList.cpp (keylist_upd_key): Do not add long keyid.
1175            (get_key_type): Do not assume 'ultimate' means key pair.
1176            * wptKeyEditDlgs.cpp (diff_time): New.
1177            (keyedit_addsubkey_dlg_proc): Changed design and use
1178            diff_time. Drop checks for invalid keylength (< 1024, > 4096)
1179            because the combo box automatically handles this.
1180            * wptKeyManager.cpp (km_set_implicit_trust): Return error code.
1181            * wptGPG.cpp (get_backup_name): New.
1182            (gnupg_backup_keyrings): Rotate backup names, from 0..3.
1183            * wptClipImportDialog.cpp (clip_import_dlg_proc): Free memory.
1184            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use 0x short keyid and
1185            not the long keyid.
1186    
1187    2005-08-05  Timo Schulz  <[email protected]>
1188    
1189            * wptListView.cpp (listview_set_item2): New.
1190            * wptKeyManager.cpp (km_check_if_protected): Directly
1191            retrieve gpgme_key_t from the list.
1192            (km_check_key_status): Likewise.        
1193            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Also use
1194            a human-readable name for secret key export.
1195            Reload just the keys which were affected by updates
1196            (edit-key).
1197            (update_key): New.
1198            * wptKeyList.cpp ((keylist_upd_key): Stripped down
1199            version of keylist_add_key.
1200            * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not
1201            reload the keycache here, just flag 'update'. Give the
1202            control to the calling dialog.
1203            * wptKeySignDlg.cpp (keysign_dlg_proc): Use winpt_key_t
1204            as parameter. Changed all callers.
1205            Add date of expiration to the key info.
1206            (get_expire_date): New.
1207            Use a checkbox to allow to ask for the cert level.
1208            * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Do no reload
1209            the cache.
1210    
1211    2005-08-04  Timo Schulz  <[email protected]>
1212    
1213            * wptListView.cpp (listview_scroll): New.
1214            (listview_get_item2): New.
1215            * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): If the
1216            item was found, make it visible with scrolling.
1217            * wptKeyManager.cpp (km_find_key): New.
1218            (keylist_subclass_proc): Support to handle some acceleators.
1219            Strg+{C, P, F, A}.
1220            (km_get_key_status): Get the gpgme_key_t object directly
1221            from the list.
1222            * wptGPGPRefsDlg.cpp (gpgprefs_dlg_proc): Also try to set
1223            the config file (if it exists).
1224            * wptKeySignDlg.cpp (keysign_dlg_proc): Use easier code
1225            to handle the click->activate situation.
1226            * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.
1227            Support to check the passphrase quality.
1228            * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.
1229            (request_passphrase): Rename 'init' to 'flags' to allow more
1230            options.
1231            * wptMAPI.cpp: Check all *alloc results.
1232            * wptKeyGenDlg.cpp (keygen_dlg_proc): Use a rudimentary
1233            passphrase quality check.
1234            * wptMDSumDlg.cpp (mdsum_dlg_proc): Use md5/sha1sum file
1235            format and allow to save the checksum in a file.
1236            * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Issue a warning
1237            when the PGP mode is disabled.
1238            wptKeyEditDlgs.cpp (do_editkey_primary): Return if just
1239            one user-ID exists.
1240            (keyedit_dlg_proc): Fixed index problem.
1241            * wptKeyPropsDlg.cpp (get_validity): New.
1242            (keyprops_dlg_proc): Actually show extended validity if possible.
1243            * wptKeyList.cpp (get_key_fpr): Support for old v3 format.
1244            (do_addkey): Use listview_add_item2 to store key as opaque
1245            param inside the list.
1246            * wptFileStatDlg.cpp (get_digest_algo): Add SHAxxx.
1247            (file_stat_dlg_proc): End dialog if no PGP data was found.
1248            (do_list_packets): Return the number of valid PGP packets
1249            of the file.
1250    
1251    2005-08-02  Timo Schulz  <[email protected]>
1252    
1253            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Instead of
1254            using 'Default Keyserver' add the real keyserver name to
1255            the menu.
1256            The rebuild command does not reload the cache any longer.
1257            Use ATTR_NAME + .asc as the filename and not keyid + .asc.
1258            * wptProxySettingsDlg.cpp (enable_proxy_auth): New.
1259            (keyserver_proxy_dlg_proc): Changed the design a little
1260            and add some additional sanity checks.
1261            * wptGPGParser.cpp (commit_gpg_options): Use W32 line endings.
1262            This fixes the problem that the GPG option dialog does not show
1263            very nice lines.
1264            * wptGPGOptDlg.cpp (gpgopt_dlg_proc): s/options/config.
1265            * wptKeySigDlg.cpp (keysig_dlg_proc): If a single key is selected
1266            check for 'NOKEY' before asking a keyserver.
1267            * wptKeyManager.cpp (km_delete_keys): Do not set 'refresh' flag.
1268            If a lot of keys were selected, ask if the user wants to confirm
1269            each delete procedure or allow to cancel the operation.
1270            * wptFileManagerDlg.cpp (file_import_dlg_proc): Display how much
1271            keys the file contain.
1272            * wptKeyList.cpp (get_key_algo): Beautified.
1273            (get_key_status): Drop the "[XYZ] Unknown" format, it is too
1274            confusing for users.
1275            * wptKeyManager.cpp (km_check_key_status): Adjustments for the
1276            new code.
1277            (km_check_for_seckey): Reset utrust parameter. Return -1 for
1278            invalid (exp+rev+dis) keys.
1279    
1280    2005-08-01  Timo Schulz  <[email protected]>
1281    
1282            * wptKeyserver.cpp (kserver_urlencode): Use unsigned for all given
1283            sizes.
1284            (check_IP_or_hostname): New.
1285            (kserver_load_conf): Correct finger URL parsing problem.
1286            (port_from_proto): New.
1287            (keyserver_load_conf): Guess the port.
1288            (keyserver_set_default): Allocate new buffer.
1289            (kserver_load_conf): Likewise.
1290            * wptHTTP.c (parse_reqline, parse_request): Removed.
1291            Use WinPT error code and remove all unused code.
1292            * wptKeyserverDlg.cpp (keyserver_dlg_proc): Properly handle finger URLs.
1293            * wptProxySettingsDlg.cpp (read_proxy): Simple check for
1294            invalid host/IP addresses.
1295            * wptGPG.cpp (multi_gnupg_path): Return allocated buffer.
1296            Changed all callers.
1297            * wptPreferencesDlg.cpp (prefs_dlg_proc): At the first start,
1298            automatically set 'backup to homedir'.
1299            * WinPT.cpp (WinMain): Use desktop window as the parent window
1300            to load 'first-start' dialogs.
1301            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not set 'refresh'
1302            flag after deleting keys.
1303            * wptFirstRunDlg.cpp (first_run_dlg_proc): Use a new structure
1304            for passing the arguments.
1305            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Do not store "" for
1306            the OptFile. This was responsible for a lot of 'General Errors'
1307            after the first start related to key caching.
1308            Automatically set the gpg binary if possible.
1309    
1310    2005-07-22  Timo Schulz  <[email protected]>
1311    
1312            * wptMainProc.cpp (winpt_main_proc): Take care for shutdown
1313            messages and make sure WinPT make a keyring backup in this case.
1314            * wptGPGME.cpp (keycache_reload): Do not rebuild the signature
1315            cache each time. Just do it on startup.
1316            * wptKeyManager.cpp (km_key_is_v3): Use new ATTR_VERSION.
1317            * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Assume the v3 flag
1318            was set by the calling function.
1319            * wptKeyGenDlg.cpp (keygen_wizard_dlg_proc): Ask for backups.
1320            (keygen_dlg_proc): Only add the generated key to the keycache
1321            and do not reload the entire cache.
1322            * wptKeyManager.cpp (km_delete_keys): Store the number of keys
1323            because in each loop iteration it will be new calculated.
1324            * wptListView.cpp (listview_del_items): Likewise.
1325            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Directly add the
1326            generated key to the list instead of reloading the entire cache.
1327            * wptKeyEditDlgs.cpp (parse_preflist): Support fpr SHAnnn.
1328    
1329  2005-05-09  Timo Schulz  <[email protected]>  2005-05-09  Timo Schulz  <[email protected]>
1330    
1331          * wptCommonDlg.cpp (http_file_dlg_proc): Renamed to..          * wptCommonDlg.cpp (http_file_dlg_proc): Renamed to..
# Line 363  Line 1368 
1368          (kserver_sendkey): Likewise.          (kserver_sendkey): Likewise.
1369          * wptProxySettingsDlg.cpp (check_number): New.          * wptProxySettingsDlg.cpp (check_number): New.
1370          (read_proxy): Check the entered port number.          (read_proxy): Check the entered port number.
1371          * wptKeySignDlg.cpp (sig_class_dlg_proc): Check default button.          * wptKeySignDlg.cpp (sig_class_dlg_proc): Check default button.
1372          * wptW32API.cpp (get_folder_dlg): Free memory.          * wptW32API.cpp (get_folder_dlg): Free memory.
1373    
1374  2005-04-11  Timo Schulz  <[email protected]>  2005-04-11  Timo Schulz  <[email protected]>
# Line 708  Line 1713 
1713    
1714          * WinPT.cpp (load_keyserver_conf): New. Factored out some code          * WinPT.cpp (load_keyserver_conf): New. Factored out some code
1715          from WinMain ().          from WinMain ().
1716          (WinMain): Load keyserver config at the begin. Thanks to Bodo A�ner          (WinMain): Load keyserver config at the begin. Thanks to Bodo Aßner
1717          * wptKeyserverDlg.cpp (keyserver_dlg_proc): If there is no keyserver          * wptKeyserverDlg.cpp (keyserver_dlg_proc): If there is no keyserver
1718          in the list control, add at least the internal default HKP server.          in the list control, add at least the internal default HKP server.
1719          * wptKeygenDlg.cpp (keygen_wizard_dlg_proc): NLS support.          * wptKeygenDlg.cpp (keygen_wizard_dlg_proc): NLS support.

Legend:
Removed from v.34  
changed lines
  Added in v.190

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26