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

Diff of /trunk/Src/ChangeLog

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

revision 32 by twoaday, Mon Oct 24 08:03:48 2005 UTC revision 236 by twoaday, Wed Jun 28 06:59:30 2006 UTC
# Line 1  Line 1 
1  2005-10-23  Timo Schulz  <[email protected]>  
2    2006-06-27  Timo Schulz  <[email protected]>
3          * wptFileManager.cpp (fm_get_file_type): Detect detached sigs.    
4          * wptKeyList.cpp (keylist_cmp_cb): Take care of expired/revoked keys.          * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Also call viewer
5          (get_ext_validity): New.          when no sig has been found (if requested).
6          * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Several cleanups.          * wptClipEditDlg.cpp (clip_edit_dlg_proc): Use a button to
7          * wptClipEditDlg.cpp (load_clipboard): Factored out some code into          quote instead of the check box. Cleanups.
8          this function.          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Correct
9          (load_clipboard_from_file): Likewise.          sorting problem and wrong icon display.
10          (save_clipboard_to_file): New.          * wptListView.cpp (listview_sort_items): Correct code for
11          * wptKeyManagerDlg.cpp (keyprops_dlg_proc): Fix stack overflow.          checkbox based lists.
12            * wptKeylist.cpp (keylist_build): Add sorting icons.
13  2005-10-22  Timo Schulz  <[email protected]>          * wptKeyEditDlgs.cpp (create_header_tooltip): New.
14            
15          Localized a lot of more strings.  2006-06-24  Timo Schulz  <[email protected]>
16    
17          * wptMainProc.cpp (load_smartcard): New.          * wptMainProc.cpp (winpt_main_proc): Localize missing string.
18          * wptFileManager.cpp (fm_parse_command_line): Simplify code.          * wptKeyEditDlgs.cpp (do_add_new_subkey): Better fpr to keyid
19          (fm_check_armor_type): Add new arg. Change all callers.          conversion.
20          (fm_get_file_type): Likewise.          (subkey_list_init): Simplified.
21          * wptKeyPropsDlg.cpp (display_key_info): New.            
22          (keyprops_show_photo): Factored out some code into..  2006-06-22  Timo Schulz  <[email protected]>
23          (keyprops_load_photo): ..this function.  
24            * WinPT-en.rc: Include versioninfo.rc to generate
25  2005-10-21  Timo Schulz  <[email protected]>          the version info automatically.
26            
27          * wptFileManagerDlg.cpp (file_manager_dlg_proc): Use  2006-06-19  Timo Schulz  <[email protected]>
28          WM_INITPOPUPMENU to localize popup menu texts.  
29          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.          * wptClipDecryptDlg.cpp (verify_get_clip_info): Improved
30          * wptClipSignDlg.cpp (one_key_proc): Use wipememory instead of memset.            format of the sig info text.
31            * wptKeyserver.cpp (check_hkp_response): Invert error logic.
32  2005-10-20  Timo Schulz  <[email protected]>          * wptKeyserverDlg.cpp (keyserver_recv_key): Corrected error
33            handling.
34          Now WinPT depends on GPG 1.4.3 and GPGME 1.2.0.          * wptPassphraseDlg.cpp (request_key_passphrase): Return
35            utf8 encoded passphrase.
36          * wptPassphraseCB.cpp (passphrase_cb): Complete card support.          
37          * wptCardEdit.cpp (genKey): Handle cancel case.  2006-06-18  Timo Schulz  <[email protected]>
38          * keycache.c: Renamed into...  
39          * wptKeyCache.cpp: ...this.          * wptKeygenDlg.cpp (keygen_dlg_proc): Fix typo.
40          * wptW32API.cpp (set_menu_text): Removed unused code.          * wptClipDecryptDlg.cpp (verify_get_clip_info): New.
41          (set_menu_text_bypos): New.          (verify_get_key_ownertrust): New.
42          * wptCrypto.h: New.          (clip_decrypt_dlg_proc): New argument. Change all callers.
43          * wptMainProc.cpp (winpt_main_proc): Complete localize          * wptClipEditDlg.cpp (clip_edit_dlg_proc): Handle the case
44          menu texts.          that the dialog was called with a param.
45          * wptErrors.cpp (log_debug): Use a static var so the file          * wptMainProc.cpp (winpt_main_proc): Wait for thread in
46          is only opened once.          case of dbl-click.
47          (debug_end): Cleanup. Currently just close the log file.          
48          * wptErrors.h (wipememory): New.  2006-06-16  Timo Schulz  <[email protected]>
49          (sfree_if_alloc): Use it here.  
50          * WinPT.cpp (WinMain): Display the min. GPGME version which          * wptProgressDlg.cpp (wait_for_progress_cb): New.
51          is needed in case of an error.          * wptMainProc.cpp (winpt_main_proc): Use this function
52            to disallow to access the cache during synchronisation.
53  2005-10-17  Timo Schulz  <[email protected]>          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
54            * wptKeyserver.cpp (check_hkp_response): Improved text
55          Free all memory returned by the GPGME dll with gpgme_free ().          extraction.
56            (parse_keyserver_error): New.
57          s/GPG_ERR_CARD_REMOVED/GPG_ERR_CARD_NOT_PRESENT.          * wptPassphraseDlg.cpp (request_passphrase): Support utf8
58            encoding.
59          * wptKeyEdit.cpp (getCardStatus): Remove dummy key.          * wptKeyEditDlgs.cpp (keyedit_change_passwd): Warn if passhrase
60          (list_handler): With user interaction to allow to insert          needs to be utf8 encoded but still allow it.
61          the card into the reader.          * wptPassphraseCBDlg.cpp (passphrase_callback_proc): Utf8 support.
62          * wptKeyEditCB.cpp (gpg_edit_card): Likewise.          * wptKeygenDlg.cpp (keygen_dlg_proc): Likewise.
63          (common_card_handler): Fixed incorrect command string.          * wptKeyRevokeDlg.cpp (keyrevoke_dlg_proc): Likewise.
64          * wptKeyPropsDlg.cpp (get_card_type): New.          
65          (keyprops_dlg_proc): Show card information if present.  2006-06-15  Timo Schulz  <[email protected]>
66          * wptFileManager.cpp (secret_key_available): Make the code faster.  
67                    * wptVerList.cpp (verlist_build): Use icons.
68            (verlist_add_sig): Set image number according to sig state.
69  2005-10-16  Timo Schulz  <[email protected]>          
70    2006-06-14  Timo Schulz  <[email protected]>
71          * wptPassphraseCB.cpp (passphrase_cb): Fix problem  
72          with hanging GPG process on cancel.          * wptAboutDlgs.cpp (about_winpt_dlg_proc): Translate
73          * keycache.c (gpg_keycache_release): Release all objects.          authors string here. Noted by Eduardo.
74            * wptSymEnc.cpp (gpg_clip_sym_encrypt): Check all return codes.
75  2005-10-15  Timo Schulz  <[email protected]>          
76    2006-06-09  Timo Schulz  <[email protected]>
77          * wptCardEdit.cpp (setResult, getResult): New.  
78          (reset): New.          * wptKeyEditDlgs.cpp (do_add_new_subkey): Properly handle
79          (getCardStatus): Check return codes and release all objects          RSA_E and RSA_S.
80          in case of errors.          * wptFileManager.cpp (fm_sym_encrypt): Better dialog title.
81          * wptCardEditCB.cpp (change_pin_handler): Call reset()          
82          before quit.  2006-06-08  Timo Schulz  <[email protected]>
83          (editcard_handler): Likewise.  
84          (common_card_handler): New.          * wptKeyserver.cpp (parse_keyserver_url): Handle special case.
85          * wptCardDlg.cpp (card_changepin_dlg_proc): Also unmask          * wptKeySignDlg.cpp (keysign_dlg_proc): Show photo if possible.
86          the old PIN when 'Hide Typing' is disabled.          (showphoto_dlg_proc): New.
87          * wptPassphraseCB.cpp (passphrase_cb): The card detection          * wptKeyManagerDlg.cpp (restore_window_size): New.
88          works again. Support to re-enter passphrase.          (keymanager_dlg_proc): Restore original window size on startup.
89            (copy_key_info): Allow to copy multiple key items.
90  2005-10-14  Timo Schulz  <[email protected]>          
91    2006-06-06  Timo Schulz  <[email protected]>
92          * wptCardDlg.cpp (card_status): New fields for the  
93          fingerprint creation time. Display card info as title.          * wptKeyEditCB.cpp (cmd_sign_handler): Return 0 by default
94          (get_printable_version): New.          if no expire date were given.
95          * wptCardEditCB.cpp (editcard_handler): Fix problem          
96          with the counter comparison.  2006-06-05  Timo Schulz  <[email protected]>
97    
98  2005-10-11  Timo Schulz  <[email protected]>          * wptPassphraseDlg.cpp (request_passphrase): Release mem
99            in case of errors.
100          Port to GPGME basically finished.          (request_key_passphrase): New.
101            (set_passphrase_hint): New.
102  2005-09-20  Timo Schulz  <[email protected]>          * wptKeyEditDlgs.cpp (do_editkey_sign_userid): Show passphrase
103            hint. Suggested by vedaal.
104          * wptFileManagerDlg.cpp (file_secdel_confirm_dlg_proc):          
105          Do not use gpgme_recipients_t but the listview directly  2006-06-03  Timo Schulz  <[email protected]>
106          to add the selected files.  
107            * wptPINDlg.cpp (pin_dlg_proc): Remove static var.
108  2005-09-07  Timo Schulz  <[email protected]>          * wptClipEncryptDlg.cpp (show_invalid_recipients): Handle
109            the case that 'encrypt-to' points to a non-existing item.
110          * Make sure all GetOpenFileName filters are terminated by \0\0.          * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Do not close
111            the dialog if an error occurred.
112  2005-09-01  Timo Schulz  <[email protected]>          * wptKeygenDlg.cpp (keygn_dlg_proc): Check expirate date.
113            * wptKeyEditDlgs.cpp (keyedit_adduid_dlg_proc): Release mem
114          * wptW32API.cpp (center_window): New argument for parent window.          in case of errors.
115          Change all callers.          * wptKeyserverDlg.cpp (check_pattern): Improved code.
116          (center_window2): Likewise.          (keyserver_dlg_proc): All comparisons are case insentensive.
117          * GPGME now can read gpgProgram entries with 'REG_EXPAND_SZ'.          * wptKeyserver.cpp (parse_uid_record): utf8 decode user id.
118          * wptGPG.cpp (gnupg_backup_options): Remove param. One backup          
119          file is enough. Changed all callers.  2006-06-02  Timo Schulz  <[email protected]>
120    
121  2005-08-15  Timo Schulz  <[email protected]>          * wptKeygenDlg.cpp (keygen_dlg_proc): Forgot to apply patch.
122            
123          * wptKeyEditDlgs.cpp (do_editkey_showpref): Take care of v3 keys.  2006-06-01  Timo Schulz  <[email protected]>
124          * wptGPGOptDlg.cpp (gpgopt_dlg_proc): Fixed name of title.  
125          * Make sure the passphrase is always overwritten before it is          * wptKeyserver.cpp (check_URL): change semantic.
126          freed (or the function returns).          (skip_type_prefix): Use check_URL().
127          * wptKeyPropDlg.cpp (get_pref_cipher): New.          * wptGPG.cpp (gnupg_backup_keyrings): New argument to
128          (keyprops_dlg_proc): Use it here.          include secret keyring backups. Change all callers.
129            * wptRegistry.cpp (get_reg_winpt_prefs): Support new option.
130  2005-08-06  Timo Schulz  <[email protected]>          (set_reg_winpt_prefs): Likewise.
131            * wptPreferencesDlg.cpp (on_init_dialog): Adjust the code.
132          * wptGPGME.cpp (keycache_update): Reload OpenPGP parts          
133          of the secret key.  2006-05-29  Timo Schulz  <[email protected]>
134          (keycache_init): cache name of secret keyring.  
135          * wptKeyList.cpp (keylist_upd_key): Do not add long keyid.          * wptKeyserver.cpp (keyserver_set_default): Also set default port.
136          (get_key_type): Do not assume 'ultimate' means key pair.  
137          * wptKeyEditDlgs.cpp (diff_time): New.  2006-05-27  Timo Schulz  <[email protected]>
138          (keyedit_addsubkey_dlg_proc): Changed design and use  
139          diff_time. Drop checks for invalid keylength (< 1024, > 4096)          * wptKeyEditDlgs.cpp (keyedit_change_passwd): Handle empty
140          because the combo box automatically handles this.          passphrase requests.
141          * wptKeyManager.cpp (km_set_implicit_trust): Return error code.          * wptClipDecryptDlg.cpp (verify_show_signature_state): Modified
142          * wptGPG.cpp (get_backup_name): New.          for global use.
143          (gnupg_backup_keyrings): Rotate backup names, from 0..3.          * wptFileManager.cpp (fm_decrypt): Use it here.
144          * wptClipImportDialog.cpp (clip_import_dlg_proc): Free memory.          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Simplified.
145          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use 0x short keyid and          
146          not the long keyid.  2006-05-25  Timo Schulz  <[email protected]>
147    
148  2005-08-05  Timo Schulz  <[email protected]>          * wptGPGUtil.cpp (gpg_rebuild_cache): Return error code.
149            * wptGPGME.cpp (winpt_get_seckey): Fix off-by-one bug.
150          * wptListView.cpp (listview_set_item2): New.          * wptVerifyList.cpp (verlist_build): New argument type.
151          * wptKeyManager.cpp (km_check_if_protected): Directly          Change all callers.
152          retrieve gpgme_key_t from the list.          (verlist_set_info_control): New.
153          (km_check_key_status): Likewise.                  (verlist_set_additional_info): New.
154          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Also use          * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Adjust code.
155          a human-readable name for secret key export.          * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Likewise.
156          Reload just the keys which were affected by updates          * wptFileCBS.cpp (read_cb, write_cb): Add logging.
157          (edit-key).          
158          (update_key): New.  2006-05-23  Timo Schulz  <[email protected]>
159          * wptKeyList.cpp ((keylist_upd_key): Stripped down  
160          version of keylist_add_key.          * wptKeyEditDlgs.cpp (do_add_new_userid): Fix re-introduced
161          * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not          problem.
162          reload the keycache here, just flag 'update'. Give the          (keyedit_main_dlg_proc): Popup menu for the user ID list
163          control to the calling dialog.          with common commands.
164          * wptKeySignDlg.cpp (keysign_dlg_proc): Use winpt_key_t          * wptKeyserverDlg.cpp (keyserver_dlg_proc): Automatically
165          as parameter. Changed all callers.          disable search for ldap servers.
166          Add date of expiration to the key info.          Use subkeys.pgp.net by default when no server was selected.
167          (get_expire_date): New.  
168          Use a checkbox to allow to ask for the cert level.  2006-05-22  Timo Schulz  <[email protected]>
169          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Do no reload  
170          the cache.          * wptRegistry.cpp (set_reg_winpt_prefs, get_reg_winpt_prefs):
171            Support for the new 'default ext' value.
172  2005-08-04  Timo Schulz  <[email protected]>          * wptPreferencesDlg.cpp (on_init_dialog): Likewise.
173            (prefs_dlg_proc): Likewise.
174          * wptListView.cpp (listview_scroll): New.          * wptFileManager.cpp (file_get_extension): Likewise.
175          (listview_get_item2): New.          (get_output_file): Likewise.
176          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): If the          (fm_export): Likewise.
177          item was found, make it visible with scrolling.          
178          * wptKeyManager.cpp (km_find_key): New.  2006-05-20  Timo Schulz  <[email protected]>
179          (keylist_subclass_proc): Support to handle some acceleators.  
180          Strg+{C, P, F, A}.          * wptKeyPropsDlg.cpp (keyprops_load_photo): avoid expensive
181          (km_get_key_status): Get the gpgme_key_t object directly          process call when no photo is available.
182          from the list.          (keyprops_dlg_proc): avoid static data.
183          * wptGPGPRefsDlg.cpp (gpgprefs_dlg_proc): Also try to set          * wptFileManager.cpp (fm_add_sig_stat): Free memory in case
184          the config file (if it exists).          of on demand key requests.
185          * wptKeySignDlg.cpp (keysign_dlg_proc): Use easier code          (show_verify_result): Likewise.
186          to handle the click->activate situation.          (secret_key_available): Likewise.
187          * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.          (fm_decrypt, fm_sign): Handle the new on demand key request
188          Support to check the passphrase quality.          mode and free all memory.
189          * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.          
190          (request_passphrase): Rename 'init' to 'flags' to allow more  2006-05-15  Timo Schulz  <[email protected]>
191          options.  
192          * wptMAPI.cpp: Check all *alloc results.          * wptKeyEditDlgs.cpp (userid_list_init): Forgot to
193          * wptKeyGenDlg.cpp (keygen_dlg_proc): Use a rudimentary          apply patch. Thanks to vedaal.
194          passphrase quality check.          
195          * wptMDSumDlg.cpp (mdsum_dlg_proc): Use md5/sha1sum file  2006-05-14  Timo Schulz  <[email protected]>
196          format and allow to save the checksum in a file.  
197          * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Issue a warning          * wptKeyCache.cpp (gpg_keycache_update_attr): Parse
198          when the PGP mode is disabled.          preferred keyserver URL.
199          wptKeyEditDlgs.cpp (do_editkey_primary): Return if just          * wptHTTP.cpp (extractHostInfo): Fix segv.
200          one user-ID exists.          * wptGPGUtil.cpp (gpg_find_key_subpacket): Ignore default
201          (keyedit_dlg_proc): Fixed index problem.          gpg.conf.
202          * wptKeyPropsDlg.cpp (get_validity): New.          * wptKeyserverSearchDlg.cpp (search_hkp_keys): Do not
203          (keyprops_dlg_proc): Actually show extended validity if possible.          assume an existing user id.
204          * wptKeyList.cpp (get_key_fpr): Support for old v3 format.          * wptPassphraseCB.cpp (passphrase_cb): Automatic cancel
205          (do_addkey): Use listview_add_item2 to store key as opaque          if no passphrase is available.
206          param inside the list.  
207          * wptFileStatDlg.cpp (get_digest_algo): Add SHAxxx.  2006-05-13  Timo Schulz  <[email protected]>
208          (file_stat_dlg_proc): End dialog if no PGP data was found.  
209          (do_list_packets): Return the number of valid PGP packets          * wpMainProc.cpp (secret_key_available): Move it...
210          of the file.          * wptGPGME.cpp: ..to this file.
211            (check_ultimate_trusted_key): Handle the case there
212  2005-08-02  Timo Schulz  <[email protected]>          is no secret key available.
213            * wptFileManagerDlg.cpp (update_ui_items): Improved.
214          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Instead of          * wptKeyManagerDlg.cpp (key_manager_dlg_proc): Deactive
215          using 'Default Keyserver' add the real keyserver name to          some functions when no secret key is available.
216          the menu.          * wptKeyserverSearchDlg.cpp (search_hkp_keys): Adjust
217          The rebuild command does not reload the cache any longer.          code and also display pubkey algorithm.
218          Use ATTR_NAME + .asc as the filename and not keyid + .asc.          * wptKeyserver.cpp (safe_alloc): New.
219          * wptProxySettingsDlg.cpp (enable_proxy_auth): New.          (count_keys_in_response): New.
220          (keyserver_proxy_dlg_proc): Changed the design a little          (parse_pub_record): New.
221          and add some additional sanity checks.          (parse_uid_record): New.
222          * wptGPGParser.cpp (commit_gpg_options): Use W32 line endings.          (kserver_release_key): New.
223          This fixes the problem that the GPG option dialog does not show          (kserver_search_begin, kserver_search_next_key):
224          very nice lines.          Adjust for the machine readable output. Removed old code.
225          * wptGPGOptDlg.cpp (gpgopt_dlg_proc): s/options/config.          (parse_keyserver_url): New.
226          * wptKeySigDlg.cpp (keysig_dlg_proc): If a single key is selected          * wptUtil.cpp (substr): New.
227          check for 'NOKEY' before asking a keyserver.          * wptKeyManager.cpp (km_refresh_one_key): Properly
228          * wptKeyManager.cpp (km_delete_keys): Do not set 'refresh' flag.          parse the keyserver URL.
229          If a lot of keys were selected, ask if the user wants to confirm          
230          each delete procedure or allow to cancel the operation.  2006-05-11  Timo Schulz  <[email protected]>
231          * wptFileManagerDlg.cpp (file_import_dlg_proc): Display how much  
232          keys the file contain.          * wptPassphraseCB.cpp (release_gpg_recipients): New.
233          * wptKeyList.cpp (get_key_algo): Beautified.          (release_gpg_recipients): Use it here.
234          (get_key_status): Drop the "[XYZ] Unknown" format, it is too          * wptFileManager.cpp (fm_decrypt): List all recipients.
235          confusing for users.          Thanks to vedaal.
236          * wptKeyManager.cpp (km_check_key_status): Adjustments for the          * wptGPG.cpp (extract_keyid): New.
237          new code.          (get_gnupg_default_key): Use it here.
238          (km_check_for_seckey): Reset utrust parameter. Return -1 for          * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Allow to verify
239          invalid (exp+rev+dis) keys.          one-pass-sigs again.
240            
241  2005-08-01  Timo Schulz  <[email protected]>  2006-05-09  Timo Schulz  <[email protected]>
242    
243          * wptKeyserver.cpp (kserver_urlencode): Use unsigned for all given          * wptKeyRevokersDlg.cpp (revokelist_build): Store key ptr.
244          sizes.          * wptClipSignDlg.cpp (gpg_clip_sign): Improve error handling.
245          (check_IP_or_hostname): New.          * wptKeysigDlg.cpp (sigprops_dlg_proc): Correct expire date.
246          (kserver_load_conf): Correct finger URL parsing problem.          
247          (port_from_proto): New.  2006-05-07  Timo Schulz  <[email protected]>
248          (keyserver_load_conf): Guess the port.  
249          (keyserver_set_default): Allocate new buffer.          * wptKeyserverDlg.cpp (hkp_err_box): Improved.
250          (kserver_load_conf): Likewise.          * wptKeyserver.cpp (wsock_strerror): Likewise.
251          * wptHTTP.c (parse_reqline, parse_request): Removed.          * wptKeygenCBDlg.cpp (keygen_cb_dlg_destroy): New param.
252          Use WinPT error code and remove all unused code.          Change all callers.
253          * wptKeyserverDlg.cpp (keyserver_dlg_proc): Properly handle finger URLs.          * wptKeysigDlg.cpp (do_load_keyprops): Correct key update
254          * wptProxySettingsDlg.cpp (read_proxy): Simple check for          problem.
255          invalid host/IP addresses.          
256          * wptGPG.cpp (multi_gnupg_path): Return allocated buffer.  2006-05-06  Timo Schulz  <[email protected]>
257          Changed all callers.  
258          * wptPreferencesDlg.cpp (prefs_dlg_proc): At the first start,          * wptKeyManagerDlg.cpp (reload_keycache): Use pre-defined
259          automatically set 'backup to homedir'.          sorting order if available.
260          * WinPT.cpp (WinMain): Use desktop window as the parent window          * wptKeyPropsDlg.cpp (key_props_dlg_proc): Use 0x prefix
261          to load 'first-start' dialogs.          for the key ID.
262          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not set 'refresh'          (get_pref_cipher): Differ between the AES algorithm IDs.
263          flag after deleting keys.          (key_is_valid): New.
264          * wptFirstRunDlg.cpp (first_run_dlg_proc): Use a new structure          * wptKeyserverDlg.cpp (check_pattern): Simplified.
265          for passing the arguments.          
266          * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Do not store "" for  2006-05-03  Timo Schulz  <[email protected]>
267          the OptFile. This was responsible for a lot of 'General Errors'  
268          after the first start related to key caching.          * wptKeyCache.cpp (keycache_prepare2): Fix possible segv.
269          Automatically set the gpg binary if possible.          Thanks to Mathias.
270            
271  2005-07-22  Timo Schulz  <[email protected]>  2006-05-02  Timo Schulz  <[email protected]>
272    
273          * wptMainProc.cpp (winpt_main_proc): Take care for shutdown          * wptFileManagerDlg.cpp (file_encrypt_dlg_proc): Use a
274          messages and make sure WinPT make a keyring backup in this case.          caption for the radio button group.
275          * wptGPGME.cpp (keycache_reload): Do not rebuild the signature          * wptKeyserverDlg.cpp (keyserver_recv_key): Use new code.
276          cache each time. Just do it on startup.          * wptKeyserver.cpp (kserver_recvkey, finger_recvkey,
277          * wptKeyManager.cpp (km_key_is_v3): Use new ATTR_VERSION.          ldap_recvkey): Avoid fixed buffers.
278          * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Assume the v3 flag          (do_spawn_ldap_helper): New.
279          was set by the calling function.          (ldap_recvkey): Factor out code into helper function.
280          * wptKeyGenDlg.cpp (keygen_wizard_dlg_proc): Ask for backups.          * wptPassphraseCBDlg.cpp (passphrase_callback_proc):
281          (keygen_dlg_proc): Only add the generated key to the keycache          Increase width of the list box to make sure even large
282          and do not reload the entire cache.          user IDs will be completly displayed.
283          * wptKeyManager.cpp (km_delete_keys): Store the number of keys          
284          because in each loop iteration it will be new calculated.  2006-05-01  Timo Schulz  <[email protected]>
285          * wptListView.cpp (listview_del_items): Likewise.  
286          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Directly add the          * WinPT.cpp (WinMain): Check if the user has admin privileges.
287          generated key to the list instead of reloading the entire cache.          * wptW32API.cpp (user_is_admin): New.
288          * wptKeyEditDlgs.cpp (parse_preflist): Support fpr SHAnnn.          * wptKeysigDlg.cpp (sigprops_dlg_proc): Cosmetical changes.
289            * wptKeyManagerDlg.cpp (key_manager_dlg_proc): Use timer
290            to re-activate the window again.
291            * wptKeylist.cpp (get_key_trust2): Differ between "full"
292            and "ultimate".
293            * wptKeyCache.cpp (keycache_prepare2): Primary user-id
294            has now highest priority.
295            * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Use new utf8
296            system.
297            
298    2006-04-30  Timo Schulz  <[email protected]>
299    
300            * wptKeyCache.cpp (gpg_keycache_release): Release revoker
301            list if needed.
302            * wptKeyRevokersDlg.cpp (key_get_revokers): New.
303            (key_revokers_dlg_proc): Expect winpt_key_t. Change all callers.
304            * wptKeyEditDlgs.cpp (check_desig_rev): New.
305            (do_editkey_minimize): New.
306            * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Support to
307            generate a revoc cert as a desig revoker.
308            
309    2006-04-29  Timo Schulz  <[email protected]>
310    
311            * wptVerifyList.cpp (verlist_build): Adjusted code for new
312            list view interface.
313            * wptSigList.cpp (siglist_build): Likewise.
314            * wptKeyEditDlgs.cpp (showpref_dlg_proc): Correct code
315            to display the preferences of the selected UID. Thanks to Mathias.
316            * wptKeyCacheDlg.cpp (keycache_dlg_proc): Return 1 in case
317            of an error.
318            * wptKeyCache.cpp (gpg_keycache_update_key): Always update
319            the utf8 decoded uid list.
320            * wptImportList.cpp (decode_userid): Do utf8 decoding here.
321            * wptListView.cpp (listview_new): New param for HWND handle.
322            Change all callers.
323            * wptFileManager.cpp (fm_add_sig_stat): Use utf8 decoding.
324            * wptGPGUtil.cpp (gpg_revoke_cert): Support --desig-revoker.
325            * wptClipVerifyDlg.cpp (wptClipVerifyDlg.cpp): Correct
326            keyid extraction.
327            
328    2006-04-28  Timo Schulz  <[email protected]>
329    
330            * wptMAPI.cpp (mapi_send_pubkey): Use new key struct.
331            * wptKeysigDlg.cpp (sigprops_dlg_proc): Prepare dialog
332            for handling policy URLs.
333            * wptKeyManagerDlg.cpp (save_column_info, restore_column_info):
334            New option KMSortBy.
335            * wptKeylist.cpp (get_key_algo): Lower priority for revoked keys.
336            * wptKeyEdit.cpp (minimizeKey): New.
337            * wptKeyCache.cpp (gpg_keycache_update_key): Reload utf8 uid list.
338            
339    2006-04-27  Timo Schulz  <[email protected]>
340    
341            * wptKeyManager.cpp (km_get_key_ptr): New.
342            * wptListview.cpp (listview_get_item_text): Drop utf8 support.
343            * wptKeyCache.cpp (keycache_decode_uids): New.
344            (free_native_uids): New.
345            * wptKeyEdit.cpp (uid_inf_colon_handler): Do utf8 decodig here.
346            
347    2006-04-26  Timo Schulz  <[email protected]>
348    
349            * wptKeylist.cpp (get_keyid_from_fpr): New.
350            * wptDecryptClipDlg.cpp (clip_decrypt_dlg): Use it here.
351            * wptVerifyList.cpp (verlist_add_sig): Likewise.
352            
353    2006-04-25  Timo Schulz  <[email protected]>
354    
355            * wptFileManagerDlg.cpp (file_manager_dlg_proc): Handle IDCANCEL.
356            * wptMDSumDlg.cpp (hash_selected_files): New.
357            (mdsum_dlg_proc): Cleanups.
358            * wptKeysignDlg.cpp (keysign_dlg_proc): Fix segv.
359            
360    2006-04-23  Timo Schulz  <[email protected]>
361    
362            * wptW32API.cpp (SetDlgItemText_utf8): New.
363            (SetWindowText_utf8): New.
364            (GetDlgItemText_utf8): New.
365            * wptListView.cpp (listview_add_sub_item): Internal
366            utf8 support.
367            
368    2006-04-22  Timo Schulz  <[email protected]>
369    
370            * wptKeyEditDlgs.cpp (addrevoker_dlg_proc): Encode
371            revoker name in UTF8.
372            * wptKeysigDlg.cpp (keysig_dlg_proc): Fix utf8 problem
373            with the window title.
374            
375    2006-04-20  Timo Schulz  <[email protected]>
376    
377            * wptUTF8.cpp (native_to_utf8): Use c++ alloc.
378            * wptKeygenDlg.cpp (keygen_dlg_proc): Do not mix c and
379            c++ memory allocation.
380            * wptFileManager.cpp (show_verify_result): Show PKA status
381            if possible.
382            * wptClipVerifyDlg.cpp (get_pka_status): New.
383            (clip_verify_dlg_proc): Show PKA status if possible.
384            * wptClipEditDlg.cpp (clip_edit_dlg_proc): Handle IDCANCEL
385            to use ESC to quit the dialog.
386            * wptKeyEditDlgs.cpp (keyedit_adduid_dlg_proc): Also
387            encode the comment in UTF8. Thanks to Werner and Jan.
388            
389    2006-04-16  Timo Schulz  <[email protected]>
390    
391            * wptHTTP.cpp (getErrorCode): New.
392            (connect): Store winsock error code.
393            * wptGPGMEData.cpp (is_armor_header): New.
394            * wptGPG.cpp (check_gnupg_engine): Free context.
395            (gnupg_backup_keyrings): Do not use global vars.
396            * wptGPGUtil.cpp (gpg_export_seckey): Export in ascii format.
397            
398    2006-04-15  Timo Schulz  <[email protected]>
399    
400            * wptKeyManager.cpp (km_get_key): New.
401            (km_key_show_revoc_info): New.
402            * wptKeyRevokeDlg.cpp (key_revoke_dlg): Cleanups.
403            (on_init_dialog): New.
404            * wptKeyManagerDlg.cpp (key_manager_dlg_proc): Factour
405            out some common code and use km_get_key() instead.
406            * wptKeyEditDlgs.cpp (do_init_keylist): Change second
407            param type. Change all callers.
408            * wptKeyEdit.cpp (addNotation): New.
409            * wptKeyEditCB.cpp (editkey_command_handler): Remove 'step'
410            param everywhere. Change all callers.
411            
412    2006-04-09  Timo Schulz  <[email protected]>
413    
414            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Only return true
415            if the homedir value was changed.
416            * wptGPG.cpp (default_key_from_cache): Only return secret key
417            if public part is available.
418            (set_gnupg_default_key): Fix NULL problem.
419            * wptKeyEditDlgs.cpp (do_editkey_clean): Set update flag.
420            * wptFileCBS.cpp (write_cb, read_cb): Better error handling.
421            * wptFileManagerDlg.cpp (file_manager_dlg_proc): Handle
422            'always-on-top' correctly.
423            * wptKeylist.cpp (keylist_get_recipients): Allocate enough
424            mem to hold all possible keys.
425            (keylist_enum_keys): Likewise.
426            
427    2006-04-08  Timo Schulz  <[email protected]>
428    
429            * wptKeylist.cpp (keylist_get_recipients): Always use utf8 output.
430            * wptKeyserver.cpp (kserver_connect): Fixed proxy support.
431            * wptKeyserverSearchDlg.cpp (fetch_keys): New.
432            * WinPT.cpp (WinMain): if the default key was not found, reset
433            the gpg.conf entry.
434            * wptFileManager.cpp (fm_encrypt_into_zip): Use correct output
435            file name.
436            (show_verify_result): Always use utf8 output.
437            (get_output_file): Case in-sentensive comparison.
438            (fm_assume_onepass_sig): Fixed temp file handling.
439            * wptClipEncryptDlg.cpp (show_invalid_recipients): Fix utf8
440            output.
441            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Fix possible segv.
442            
443    2006-04-07  Timo Schulz  <[email protected]>
444    
445            * wptW32API.cpp (set_clip_text): Change code so it also
446            works again with non-XP systems.
447            
448    2006-04-02  Timo Schulz  <[email protected]>
449    
450            * wptKeyserver.cpp: decrease general threshold for timeout.
451            * wptKeyEditDlgs.cpp (do_editkey_clean): New.
452            
453    2006-04-01  Timo Schulz  <[email protected]>
454    
455            * wptFileVerifyDlg.cpp (file_verify_use_event): Removed.
456            * wptFileManager.cpp (restore_original_name): New.
457            (fm_decrypt): Restore original file name from literal
458            packet if possible.
459            
460    2006-03-31  Timo Schulz  <[email protected]>
461    
462            * wptCommonDlg.cpp (nls_load_langlist): New.
463            (nsl_set_language): New.
464            (nls_dlg_proc): New.
465            (select_language): New. Allow user to select the language.
466            * wptNLS.c (get_gettext_langid): Updated available languages.
467            * WinPT.cpp (WinMain): Allow to select the languag on first
468            start in non-installer environments.
469            * wptVerifyList.cpp (verlist_build): Simplified.
470            (verlist_add_sig_log): Likewise.
471            * wptListview.cpp (listview_set_column_width,
472            listview_get_selected_item): New.
473            * wptKeyManager.cpp (gpg_clip_export): Merged into..
474            (km_clip_export): ..this function.
475            
476    2006-03-30  Timo Schulz  <[email protected]>
477    
478            * wptW32API.cpp (insert_menu_item): New.
479            * wptSigTreeDlg.cpp (create_popup): Use it.
480            (sigtree_dlg_proc): Only show the name of the owner in the title.
481            * wptMainProc.cpp (init_common_controls): Initialize all
482            common controls here.
483            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Drop static
484            keyserver menu concept. Add all keyservers dynamically.
485            
486    2006-03-29  Timo Schulz  <[email protected]>
487    
488            * wptKeyManager.cpp (km_refresh_one_key): Fix problem
489            with preferred keyserver.
490            * wptCommonDlg.cpp (check_URL): Allow non-http URL.
491            * wptKeyEditDlgs.cpp (subkey_subclass_proc,
492            uid_subclass_proc): Disable shortcuts for non keypairs.
493            * wptMainProc.cpp (winpt_main_proc): No user interaction
494            on automatic shutdown. Thanks to Werner.
495            * wptGPGUtil.cpp (xcalloc): New.
496            (gpg_rebuild_cache): Use --batch.
497            
498    2006-03-26  Timo Schulz  <[email protected]>
499    
500            * wptSigTreeDlg.cpp (sigtree_load): Always use UTF8.
501            * wptMainProc.cpp (winpt_main_proc): Reload key cache
502            when the GPG settings were changed.
503            * wptKeygenDlg.cpp (keygen_wizard_dlg_proc,
504            keygen_dlg_proc): Improved check for the email address.
505            * wptKeyEditDlgs.cpp (keyedit_adduid_dlg_proc): Likewise.
506            * wptKeyserverDlg.cpp (keyserver_dlg_proc): Modified design.
507            
508    2006-03-22  Timo Schulz  <[email protected]>
509    
510            * wptClipSignDlg.cpp (on_init_dialog): New.
511            Check that there is at least one useable signing key.
512            * wptSigTreeDlg.cpp (sigtree_load): Correct UTF8 handling.
513            * wptKeyEditDlgs.cpp (keyedit_set_pref_keyserver): Show error
514            if needed.
515            
516    2006-03-21  Timo Schulz  <[email protected]>
517    
518            * wptUTF8.cpp (native_to_utf8): Use directly W32 API.
519            (utf8_to_native): Likewise. Remove cp850 conversion.
520            * wptKeyEditDlgs.cpp (do_find_userid): Correct UTF8 handling.
521            * wptKeyManager.cpp (km_delete_keys): Do not reset 'with_seckey'
522            flag.
523            
524    2006-03-20  Timo Schulz  <[email protected]>
525    
526            * wptUTF8.cpp (get_native_charset): Removed.
527            (utf8_to_native): Rewritten.
528            * wptKeyEditDlgs.cpp (do_add_new_userid): Correct charset
529            handling.
530            * wptKeygenCBDlg.cpp (keygen_cb): Do proper reset if needed.
531            
532    2006-03-16  Timo Schulz  <[email protected]>
533    
534            * wptMainProc.cpp (winpt_main_proc): Disable all CryptDisk code.
535            * wptCryptDisk.cpp: Disable code.
536            * wptProxySettingsDlg.cpp (proxy_settings_dlg_proc): Support for
537            NONE proxy protocol.
538            (init_proxy_procotol): Likewise.
539            (read_proxy): Likewise.
540            * wptKeyserverSearchDlg.cpp (on_init_dialog): New.
541            (keyserver_search_dlg_proc): Use it here.
542            * wptKeyserverDlg.cpp (hkp_send_key): Use GPGME wrapper.
543            * wptKeyserver.cpp (kserver_search_end): New.
544            (kserver_search_begin): Be more strict on mem allocation.
545            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Fix 'redraw'
546            problem.
547            * wptAboutDlgs.cpp (about_dlg_proc): Hide 'Help' button.
548            
549    2006-03-12  Timo Schulz  <[email protected]>
550    
551            * wptGPG.cpp (gnupg_load_config): Search for 'ask-cert-expire'.
552            * wptKeyPropsDlg.cpp (display_key_info): Automatically update
553            sym algorithm preferences if needed.
554            * wptKeysignDlg.cpp (date_is_today): New.
555            (keysign_dlg_proc): Only allow to set cert expire date if
556            the option was found.
557            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Allow to set
558            'ask-cert-expire'.
559            
560    2006-03-10  Timo Schulz  <[email protected]>
561    
562            * wptHTTP.c: deleted.
563            * wptHTTP.cpp (wHTTP): Transformed old code into an object.
564            * wptKeyManager.cpp (km_http_import): Use new code.
565            (km_refresh_one_key): Use preferred keyserver if possible.
566            * wptComonDlg.cpp (check_URL): Better conformance checking.
567            * wptKeyEditCB.cpp (cmd_keyserver_handler): By default
568            set keyserver for all userids.
569            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Enable code
570            to set preferred keyserver.
571            * wptKeyCache.cpp (decode_subpacket): New.
572            (gpg_keycache_update_attr): New.
573            * wptGPGUtil.cpp (gpg_find_key_subpacket): New.
574            * wptKeyEditDlgs.cpp (keyedit_set_pref_keyserver): Use
575            -1 as an index for all userids.
576            
577    2006-03-07  Timo Schulz  <[email protected]>
578    
579            * WinPT.cpp (set_default_keyserver): New.
580            * wptKeyserver.cpp (kserver_set_socket_timeout): New.
581            (kserver_set_default_keyserver): Initialize default settings
582            if needed.
583            * wptSymEnc.cpp (gpg_encrypt_symmetric): Disallow empty passwords.
584            * wptPassphraseDlg.cpp (request_passphrase): Handle new flag.
585            (passphrase_dlg_proc): Support new safe edit window procedure.
586            * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.
587            * wptPreferencesDlg.cpp (prefs_dlg_proc): Flush passphrase cache
588            if user disable it.
589            * wptKeylist.cpp (keylist_build): Do not scale images but use
590            original size.
591            * wptListView.cpp (listview_set_image_list): New size params.
592            Change all callers.
593            
594    2006-03-01  Timo Schulz  <[email protected]>
595    
596            * wptW32API.cpp (set_clip_text): Free all memory.
597            
598    2006-02-27  Timo Schulz  <[email protected]>
599    
600            * wptSOCKS.cpp (socks_handshake): New.
601            * wptMainProc.cpp (winpt_main_proc): A dbl-click forces
602            the key manager in teh foreground if possible.
603            * wptHotkey.cpp (hotkey_unregister): Unregister all hotkeys.
604            * wptRegistry.cpp (get_reg_proxy_prefs,
605            set_reg_proxy_prefs): Use directly the proxy context.
606            Changed all callers.
607            * wptProxySettingsDlg.cpp (init_proxy_protocols): New.
608            (keyserver_proxy_dlg_proc): Use directly the proxy context.
609            * wptKeyserver.cpp (kserver_connect): Better proxy support.
610            (kserver_send_request, kserver_recvkey_request): Likewise.
611            * wptKeyserverDlg.cpp (name_from_proto): New.
612            (set_proxy): Adjusted for the new code.
613            
614    2006-02-26  Timo Schulz  <[email protected]>
615    
616            * WinPT.cpp (WinMain): Removed hotkey_modify() code.
617            * wptKeyEditDlgs.cpp (is_idea_protect_algo): Better support
618            v4 keys.
619            * wptKeyserver.cpp (sock_getline): Skip '\r'.
620            (base64_encode): Remove @maxlen param. Changed all callers.
621            (finger_readline): Removed.
622            (finger_recvkey): Use internal functions.
623            * wptSigTreeDlg.cpp (sigtree_dlg_proc): Support a context menu.
624            (show_sigprops): New.
625            (create_popup): New.
626            * wptPreferenceDlg.cpp (prefs_dlg_proc): Cache amount is
627            now in minutes.
628            * wptRegistry.cpp (get_winpt_reg_prefs, set_winpt_reg_prefs):
629            Change code to use hotkeys directly.
630            * wptHotkeys.cpp (hotkeys_enable, hotkey_disable): Likewise.
631            
632    2006-02-24  Timo Schulz  <[email protected]>
633    
634            * wptGPG.cpp (set_gnupg_default_key): Allow to remove entry
635            when parameter is NULL.
636            * wptKeyManager.cpp (check_exist_default_key): New.
637            (km_delete_keys): Check if the default key is still valid,
638            if not delete entry.
639            * wptSigTreeDlg.cpp (sigtree_dlg_proc): Forgot to localize
640            button.
641            
642    2006-02-21  Timo Schulz  <[email protected]>
643    
644            * wptClipDecryptDlg.cpp (clip_decrypt_dlg_proc): Minor
645            cleanups.
646            * wptGPGUtil.cpp (file_extract_recipients): New.
647            (clip_extract_recipients): New.
648            (gpg_get_recipients): New.
649            * wptPassphraseCB.cpp (passphrase_callback_proc): Support
650            external recipient listings.
651            
652    2006-02-15  Timo Schulz  <[email protected]>
653    
654            * wptKeysignDlg.cpp (keysign_dlg_proc): Localize new checkbox.
655            * wptFileStatDlg.cpp (get_s2k_algo): New.
656            * wptFileManagerDlg.cpp (update_status_bar): Use human readable
657            formats.
658            
659    2006-02-14  Timo Schulz  <[email protected]>
660    
661            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Localize 'Cancel'.
662            * wptKeysignDlg.cpp (keysign_dlg_proc): Implement 'Hide Typing'.
663            * wptFileManager.cpp (fm_sym_encrypt): Set cancel.
664            (fm_parse_files): Handle cancel.
665            
666    2006-02-10  Timo Schulz  <[email protected]>
667    
668            * wptKeyPropsDlg.cpp (props_dlg_proc): Removed unused vars.
669            * wptKeyEditDlgs.cpp (do_editkey_check): Use winpt_key_t
670            for the dialog param.
671            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use new list
672            signature dialog by default.
673            * wptKeysigDlg.cpp (sigprops_dlg_proc): Use directly
674            gpgme_key_sig_t as param.
675            (keysig_dlg_proc): Change param for property dialog.
676            * wptSigTreeDlg.cpp (sigtree_load): Skip revoked user-ids
677            and use icons.
678            (sigtree_dlg_proc): Allow to execute old list dialog to
679            edit the signatures.
680            
681    2006-02-09  Timo Schulz  <[email protected]>
682    
683            * wptRegistry.cpp (set_winpt_reg_prefs): Removed keylist mode.
684            * wptNLS.c (gettext_localize_dialog): New.
685            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Add 'Cancel' button
686            to avoid to reload the key cache.
687            * wptClipEncryptDlg.cpp (clipenc_dlg_proc): Drop old 'normal'
688            list mode.
689            * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Likewise.
690            * wptPreferencesDlg.cpp (on_init_dialog): New. Move dialog
691            initiation code to this function.
692            (prefs_dlg_proc): Use it here.
693            
694    2006-02-07  Timo Schulz  <[email protected]>
695    
696            * wptKeyEdit.cpp (setNoPassphrase): New.
697            (getValidDays): New.
698            * wptKeysignDlg.cpp (keysign_dlg_proc): Check on init
699            if the key is protected.
700            * wptKeyEditDlgs.cpp (keyedit_addphoto_dlg_proc): Handle
701            keys without a passphrase.
702            (keyedit_addrevoker_dlg_proc): Likewise.
703            
704    2006-02-04  Timo Schulz  <[email protected]>
705    
706            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Check for
707            at least one ultimately trusted key.
708            * wptKeyManager.cpp (km_refresh_key_from_keyserver):
709            Only check inet connection if we refresh all keys.
710            * wptGPGUtil.cpp (gpg_extract_keys): New.
711            * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Use textmode.
712            * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Likewise.
713            * wptClipSignDlg.cpp (get_selected_key): New.
714            (one_key_proc): Use it here.
715            (count_useable_seckeys): New.
716            * wptSigTreeDlg.cpp (sigtree_dlg_proc): New.
717            * wptKeyEditDlgs.cpp (diff_time): Removed.
718            (w32_mktime): New.
719            (keyedit_addsubkey_dlg_proc): Use it here.
720            
721    2006-02-02  Timo Schulz  <[email protected]>
722    
723            * wptW32API.cpp (get_temp_name): New.
724            * wptKeyserver.cpp (ldap_recvkey): Use it here.
725            * wptKeyPropsDlg.cpp (get_photo_tmpname): Likewise.
726            * wptGPGUtil.cpp (create_tempfile): Likewise.
727            * wptImportList.cpp (implist_load): Likewise.
728            * wptKeyCache.cpp (parse_attr_data): Likewise.
729            (w32_tempfile): Removed.
730            * wptGPGME.cpp (check_ultimate_trusted_key): New.
731            
732    2006-01-31  Timo Schulz  <[email protected]>
733    
734            * wptMainProc.cpp (winpt_main_proc): Fix usage of the
735            help system.
736            * wptListView.cpp (listview_set_chkbox_style): New.
737            (listview_get_item_state): Support new checkbox style.
738            (listview_new): Reset flag var.
739            * wptKeylist.cpp (keylist_build): Support new checkbox style.
740            
741    2006-01-30  Timo Schulz  <[email protected]>
742    
743            * WinPT.cpp (check_readonly_attr): New.
744            (load_gpg_env): Use it here.
745            (WinPT): Make the the default key is searched in the
746            secret key cache.
747            Change error message.
748            * wptRegistry.cpp (regist_int_winpt): Make sure
749            the register extension is only offered once to the user.
750            * wptKeyPropsDlg.cpp (get_photo_tmpname): Always use
751            temp directory. Fixed a privilege problem.
752            
753    2006-01-29  Timo Schulz  <[email protected]>
754    
755            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Allow to use ESC
756            to quit dialog.
757            * wptKeysignDlg.cpp (sig_class_dlg_proc): More space for
758            translations. Directly return sig class.
759            (keysign_dlg_proc): Change msgbox title.
760            * wptKeyEdit.cpp (signUserid): New.
761            (getUseridIndex): New.
762            (getKeyIndex): New.
763            (getSigIndex): New.
764            (clear): New.
765            * wptKeyEditCB.cpp (cmd_sign_handler): Allow to select
766            user-id first.
767            * wptKeyEditDlgs.cpp (lookup_cmd): New.
768            (do_editkey_sign_userid): New.
769            (do_init_cmdlist): Differ between key pairs and public keys
770            and allowed actions.
771            (keyedit_change_ownertrust): Show msgbox on success.
772            (get_default_key): New.
773            * wptPassphraseDlg.cpp (request_passphrase): Reset @cancel.
774            
775    2006-01-27  Timo Schulz  <[email protected]>
776    
777            * WinPT.cpp (WinMain): Set minimal list mode as default.
778            * wptKeyCache.cpp (gpg_keycache_sync): Handle special v3 keys.
779            
780    2006-01-25  Timo Schulz  <[email protected]>
781    
782            * wptRegistry.cpp (get_reg_entry_gpg): Return NULL if
783            the key exist with no value.
784            * wptMDSumDlg.cpp (mdsum_dlg_proc): Translate string.
785            * wptKeysignDlg.cpp (do_fill_seclist): Select the
786            default key if possible.
787            * wptFirstRunDlg.cpp (firstrun_dlg_proc): Directly
788            return the choice.
789            * wptKeylist.cpp (get_key_desc): New.
790            (keylist_upd_key): Free memory.
791            * wptKeyCache.cpp (gpg_keycache_get_default_key): New.
792            (gpg_keycache_set_default_key): New.
793            * WinPT.cpp (gpg_prefs_ok): New.
794            (WinMain): Only start gpg prefs if needed.
795            
796    2006-01-24  Timo Schulz  <[email protected]>
797    
798            * wptKeyManager.cpp (km_dropped_file_import): New.
799            * wptKeyManagerDlg.cpp (keylist_subclass_proc): Allow
800            to drop files and try to import them.
801            (keymanager_dlg_proc): Pass kmi as opaque to the subclass
802            proc.
803            
804    2006-01-23  Timo Schulz  <[email protected]>
805    
806            * wptMDSumDlg.cpp (mdsum_dlg_proc): Allow to send output
807            to the clipboard.
808            * wptKeyEditDlgs.cpp (keyedit_change_ownertrust): New.
809            (do_editkey_enable_disable): New.
810            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Usability fix. Do not
811            close the dialog if the user cancelled the ownertrust dialog.
812            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Return TRUE to indicate
813            an update of any value.
814            
815    2006-01-21  Timo Schulz  <[email protected]>
816    
817            * wptKeyCache.cpp (keycache_next_key): Handle the case
818            that there is a secret key without a public part.
819            * wptKeyserver.cpp (kserver_save_conf): Save ports.
820            * wptKeyserverDlg.cpp (keyserver_modify_dlg_proc):
821            Reset keyserver name.
822            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Just indicate
823            an update, do not update the cache.
824            * wptFileManagerDlg.cpp (file_import_dlg_proc): Use one
825            dialog for both clipboard and file imports.
826            * wptKeyManager.cpp (km_file_import, km_clip_import):
827            Changes to support new update system.
828            (gpg_clip_import): New.
829            * wptKeyManagerDlg.cpp (km_gui_import): New.
830            (find_keypos): Rewritten.
831            (refresh_keylist): Improved error checking.
832            
833    2006-01-20  Timo Schulz  <[email protected]>
834    
835            * wptKeyCache.cpp (w32_tmpfile): New.
836            (parse_attr_data): Use it here.
837            * wptGPGUtil.cpp (gpg_get_photoid_data): Reset @ndata var.
838            
839    2006-01-19  Timo Schulz  <[email protected]>
840    
841            * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Do not
842            reload the entire cache, just update the key.
843            * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Likewise.
844            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Set update flag.
845            * wptKeyRevokersDlg.cpp (key_revokers_dlg_proc): Likewise.
846            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Update key
847            if need after showing the properties.
848            * wptGPGMEData.cpp (gpg_data_putc): Fix off-by-one bug.
849            * wptKeyManager.cpp (km_import_file): New param. Changed
850            all callers.
851            (km_import_clip): Likewise.
852            (delete_keys_from_cache): Delete secret part if available.
853            * wptClipImportDlg.cpp (print_import_status): If there
854            are too many new keys, use reload code.
855            
856    2006-01-18  Timo Schulz  <[email protected]>
857    
858            * wptKeyEditCB.cpp (cmd_delsig_handler): Do not assume
859            the self sig is always index 0. Noted by Kurt.
860            * wptPassphraseCB.cpp (passphrase_dlg_proc): Do not assume
861            the key user-ID contains an email address.
862            * wptKeyEditDlgs.cpp (do_find_userid): Likewise.
863            (do_editkey_deluid): Likewise.
864            (do_editkey_revuid): Likewise.
865            
866    2006-01-18  Timo Schulz  <[email protected]>
867    
868            * wptListview.cpp (listview_del_sel_items): Fixed index
869            calculation. This fixed a lot of problems with the KM listview
870            update.
871            (listview_del_all): Renamed to...
872            (listview_del_all_items): ..this. Changed all callers.
873            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Just refresh
874            list when file import contained new/updated keys.
875            * wptKeyManager.cpp (km_file_import): Indicate if the
876            import contained any new/update keys.
877            * wptClipImportDlg.cpp (print_import_status): Just mark
878            keys which actually changed.
879            
880    2006-01-17  Timo Schulz  <[email protected]>
881    
882            * wptMAPI.cpp (mapi_send_pubkey_ext): New.
883            * wptKeysigDlg.cpp (do_delsig): Just flag the key, do not
884            update it.
885            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Be more
886            careful about const pointers.
887            * wptKeyEditDlgs.cpp (get_subkey_fingerprint): Renamed to..
888            (get_subkey_keyid): ..this. Fix problem that key was updated
889            twice and this corrupted.
890            (keyedit_add_subkey): Set @lv item in the callback context.
891            
892    2006-01-16  Timo Schulz  <[email protected]>
893    
894            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Restore
895            window if it lost focus during the operation. Thanks to Kurt.
896            Update keylist when the window is enabled.
897            (find_keypos): New.
898            * wptKeyCache.cpp (keycache_next_key): Reset update status.
899            (gpg_keycache_next_updated_key): New arg @r_status. Change all
900            callers.
901            (gpg_keycache_update_key): Different status for new and updated.
902            Include key signatures.
903            * wptClipImportDlg.cpp (print_import_status): Mark all
904            imported keys.
905            * wptMainProc.cpp (clip_gpg_dlg): On import refresh KM keylist.
906            Thanks to Kurt.
907            * wptKeysigDlg.cpp (recv_missing_keys): Mark all received keys.
908            (do_delsig): Directly reload key. Thanks to Kurt.
909            * wptGPGME.cpp (keycache_set_reload, keycache_get_reload):
910            Removed.
911            * wptKeygenDlg.cpp (keygen_dlg_proc): Use new update system.
912            * wptClipImportDlg.cpp (clip_import_dlg_proc): Return
913            FALSE if no keys were updated or operation was cancelled.
914            * wptCommonDlg.cpp (http_dlg_proc): Fix title selection code.
915            * wptKeylist.cpp (get_ext_validity): Handle disabled keys.
916            * wptKeyPropsDlg.cpp (keyprops_dlg_proc):
917            Do not allow to change ownertrust of invalid keys.
918            Changed translation.
919            Slightly different user interface.
920            
921    2006-11-14  Timo Schulz  <[email protected]>
922    
923            * wptW32API.cpp (make_special_filename): New.
924            * wptRegistry.cpp (set_winpt_reg_prefs, get_winpt_reg_prefs):
925            Removed 'KeyServer' item.
926            * wptPreferencesDlg.cpp (prefs_dlg_proc): Remove keyserver
927            config item.
928            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Disable group
929            window until we really use it.
930            * wptKeyserver.cpp (kserver_save_conf): New.
931            (wsock_end): Save keyserver config file.
932            * wptKeyserverDlg.cpp (keyserver_edit): New.
933            (keyserver_remove): New.
934            (keyserver_add): New.
935            (fill_keyserv_types): New.
936            (keyserver_modify_dlg_proc): New.
937            (keyserver_dlg_proc): Provide context menu to modify the
938            keyserver list.
939            (keyserver_build_list): Remove 'proto' column because it is
940            not really useful.
941            * WinPT.cpp (load_keyserver_conf): Store keyserver.conf at
942            $APPDATA\winpt. If keyserver.conf exists in the current folder
943            move it to the new destination.
944            
945    2006-11-13  Timo Schulz  <[email protected]>
946    
947            * wptPreferencesDlg.cpp (prefs_dlg_proc): Changed translation.
948            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Likewise.
949            * wptAboutDlgs.cpp (about_dlg_proc): Make sure GPG about
950            dialog isn't shown twice.
951            * wptKeyCache.cpp (gpg_keycache_next_updated_key): New.
952            (gpg_keycache_update_key): Set update flag.
953            * wptKeyManagerDlg.cpp (refresh_keylist): New.
954            (keymanager_dlg_proc): Use new refresh system for keyservers.
955            * wptKeyserverSearchDlg.cpp (kserver_search_dlg_proc):
956            Update keycache.
957            * wptKeyserverDlg.cpp (hkp_dlg_proc): Likewise.
958            * wptKeyserver.cpp (socket_read_ext): New.
959            (kserver_recv_key_ext): New.
960            (kserver_read_config, kserver_write_config): Removed.
961            
962    2006-01-12  Timo Schulz  <[email protected]>
963    
964            * wptListView.cpp (listview_set_image_list): Make icons
965            always transparent.
966            * wptImageList.cpp (imagelist_load): New icons.
967            * wptGPGMEData.cpp (gpg_data_putc): New.
968            * wptKeyManagerDlg.cpp (load_toolbar): Include new icons.
969            (keymanager_dlg_proc): Add tooltips.
970            * wptKeyserverDlg.cpp (keyserver_list_build): Use icons.
971            * wptKeyserver.cpp (URL_encode): New.
972            (URL_must_encode): New.
973            (kserver_search_init): Properly encode pattern.
974            (parse_iso_date): New.
975            (keyserver_search): Be more strict to prevent buffer overflows.
976            
977    2006-01-11  Timo Schulz  <[email protected]>
978    
979            * wptKeyManagerDlg.cpp (load_toolbar): 2 new icons.
980            (keymanager_dlg_proc): Adjust tooltips.
981            (update_ui_items): Handle new icons.
982            * wptImageList.cpp (imagelist_load): New icons.
983            
984    2006-01-10  Timo Schulz  <[email protected]>
985    
986            * wptMainProc.cpp (winpt_main_proc): Restore iconic
987            File/Key Manager windows if needed.
988            * wptGPGPrefsDlg.cpp (gpg_prefs_dlg_proc): Disable button.
989            * wptSiglist.cpp (init_cmp): New.
990            (siglist_sort): New.
991            (siglist_cmp_cb): New.
992            (siglist_add_key): Force NOKEY status when key was not found.
993            * wptKeysigDlg.cpp (recv_single_key): New.
994            (recv_missing_keys): Reload entire key when more than one key
995            was fetched.
996            (keysig_dlg_proc): Support sorting the listview items.
997            
998    2006-01-09  Timo Schulz  <[email protected]>
999    
1000            * WinPT.cpp (load_gettext): Remove file locking.
1001            (WinMain): Use pre-defined autoconf constants.
1002            * wptW32API.cpp (init_file_lock, release_file_lock): Deleted.
1003            * wptGPG.cpp (check_gnupg_engine): Add param @need_gpg_ver.
1004            Change all callers.
1005            
1006    2006-01-07  Timo Schulz  <[email protected]>
1007    
1008            * wptKeyManager.cpp (km_refresh_from_keyserver): Summarize
1009            import status if just one key was selected.
1010    
1011    2006-01-04  Timo Schulz  <[email protected]>
1012    
1013            * wptGPGMEWrapper.c (setChangeVersion): New.
1014            (exportToBuffer, exportToFile, exportToClipboard): New.
1015            (setArmor, getArmor): New.
1016            * wptKeylist.cpp (get_key_expire_date): Return locale specific
1017            date.
1018            (keylist_get_recipients): Do not fetch the key again.
1019            (keylist_enum_recipients): Likewise.
1020            * wptGPG.cpp (create_empty_keyring): New.
1021            (get_gnupg_keyring): Fixed 'strict' logic.
1022            * wptKeyManagerDlg.cpp (update_ui_items): Disable some buttons
1023            when no secret keys are available.
1024            * wptKeyManager.cpp (km_send_to_mail_recipient): Release key data
1025            before the MAPI call is made.
1026            * WinPT.cpp (check_for_empty_keyrings): New.
1027            
1028    2006-01-03  Timo Schulz  <[email protected]>
1029    
1030            * pubkey.ico, keypair.ico: New.
1031            * wptListview.cpp (listview_add_item_image): New.
1032            (listview_set_image_list): New.
1033            * wptSigList.cpp (siglist_add_key): Correct order of the sigs.
1034            * wptKeyProps.cpp (keyprops_load_photo): Adjusted for new
1035            JPEG data.
1036            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not allow to
1037            add items to revoked keys.
1038            * wptKeyManager.cpp (km_delete_keys): Do not use uninitialized
1039            keyid buffer. This fixes a segv.
1040            * wptKeyserver.cpp (spawn_application): New.
1041            (ldap_recv_key): Support recent protocols and several cleanups.
1042            * wptKeylist.cpp (do_addkey): Set image which depends on the
1043            key type.
1044            (keylist_enum_recipients): Cleanups.
1045            (keylist_get_keyflags): Rewritten.
1046            * wptKeyCache.cpp (free_attr_list): New.
1047            (parse_attr_list): New.
1048            (parse_attr_data): New.
1049            (keycache_update_photo): New.
1050            (keycache_update_photos): New.
1051            (gpg_keycache_update_key): Automatically reload photos if needed.
1052            * wptGPGUtil.cpp (create_process): New param @err. Change all
1053            callers.
1054            (map_tmpfile): New param @nread. Change all callers.
1055            (gpg_get_photoid_data): New.
1056            * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not allow to
1057            add items to revoked keys.
1058            (subkey_init_list): Store gpgme key object.
1059            
1060    2005-12-29  Timo Schulz  <[email protected]>
1061    
1062            * wptKeygenDlg.cpp (keygen_dlg_proc): Request passphrase dynamically.
1063            (gpg_genkey_params): Simplified.
1064            * wptPreferencesDlg.cpp (prefs_dlg_proc): Fix problem with mutal
1065            exclusion of the dialog items.
1066            * wptAboutDlgs.cpp (about_winpt_dlg_proc): Allow to use ESC to
1067            quit the dialog.
1068            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
1069            * wptMDSumDlg.cpp (mdsum_dlg_proc): Handle WM_SYSCOMMAND.
1070            (id2algo): New.
1071    
1072    2005-12-28  Timo Schulz  <[email protected]>
1073    
1074            * wptKeyserverDlg.cpp (show_imported_keys): Decode user IDs.
1075            * wptKeyRevokersDlg.cpp (key_revokers_dlg_proc): Likewise.
1076            * wptKeylist.cpp (keylist_udp_key): Likewise.
1077            * wptKeyManager.cpp (key_get_clip_info, key_get_info): Likewise.
1078            * wptClipDecryptDlg.cpp (clip_decrypt_dlg_proc): Fix problem
1079            when no signing key was found.
1080            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Properly decode
1081            user IDs.
1082            (translate_popup_strings): s/Revoke/Revoke Cert.
1083            * wptKeyEditDlgs.cpp (do_init_keylist): Do not assume a
1084            0x prefixed keyid.
1085            * wptKeyEditCB.cpp (editkey_command_handler): Also reset
1086            step in case of a bad passphrase.
1087            
1088    2005-12-27  Timo Schulz  <[email protected]>
1089    
1090            * wptListView.cpp (listview_set_view): New.
1091            (listview_del_column): New.
1092            * wptW32API.cpp (get_locale_date): New.
1093            (get_menu_state): New.
1094            (force_foreground_window): New.
1095            * wptVerifyList.cpp (strtimestamp): Support for
1096            locale date formats.
1097            * wptGPGUtil.cpp (gpg_revoke_cert): Handle bad
1098            passphrases.
1099            * wptKeyEditCB.cpp (editkey_command_handler): Immediately
1100            return when a bad passphrase was submitted.
1101            * wptKeyRevokersDlg.cpp (keyrevokers_dlg_proc): Change
1102            column order.
1103            * wptKeylist.cpp (keylist_upd_col): New.
1104            * wptKeyManagerDlg.cpp (update_ui_items): Deactivate
1105            'Revocation' for public keys.
1106            (translate_menu_strings): s/Revoke/Revoke Cert.
1107            (modify_listview_columns): New.
1108            
1109    2005-12-18  Timo Schulz  <[email protected]>
1110    
1111            * wptKeyManagerDlg.cpp (save_column_size): New.
1112            (restore_column_size): New.
1113            (keymanager_dlg_proc): Save and restore column sizes for
1114            the listview control.
1115            * wptKeyManager.cpp (key_get_info): New.
1116            (km_delete_keys): Use it here to have a consistent message.
1117            Use stored key context and not the column data.
1118            (km_enable_disable_key): Likewise.
1119            (km_send_to_keyserver): Likewise.
1120            (km_set_implicit_trust): Likewise.
1121            * wptKeylist.cpp (get_key_pubalgo2): New.
1122            
1123    2005-12-17  Timo Schulz  <[email protected]>
1124    
1125            * wptUTF8.cpp: Removed unused charset array.
1126            * wptSigList.cpp (siglist_build): Increase size for 'class'
1127            column.
1128            * wptGPG.cpp (get_gnupg_path): Simplified.
1129            * WinPT.cpp (load_gpg_env): New.
1130            (check_crypto_engine): Return type is now bool.
1131            * wptRegistry.cpp (is_gpg4win_installed): New.
1132            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): More consistent
1133            dialog design.
1134            * wptKeyManagerDlg.cpp (translate_menu_strings): New.
1135            (translate_popupmenu_strings): New.
1136            * wptKeyEditDlgs.cpp (is_jpg_file): New.
1137            
1138    2005-12-13  Timo Schulz  <[email protected]>
1139    
1140            * wptCommonDlg.cpp (http_dlg_proc): Localized missing elements.
1141            * wptKeyManagerDlg.cpp (change_edit_menu): New.
1142            (change_key_menu): Renamed from...
1143            (menu_gpg_readonly): ..this.
1144            (clip_contains_pgpkey): New.
1145            (update_ui_items): Do not allow to sign expired keys.
1146            (keymanager_dlg_proc): Same for popup menu.
1147            * wptKeyPropsDlg.cpp (parse_preflist): Fixed string handling.
1148            * wptKeyCache.cpp (copy_uid_prefs):
1149            (gpg_keycache_sync): Copy uid prefs so the key property
1150            dialog show the correct values. Thanks to Shane.
1151            
1152    2005-12-11  Timo Schulz  <[email protected]>
1153    
1154            * wptW32API.cpp (get_file_version): New.
1155            * wptGPGUtil.cpp (create_process): Always hide window.
1156            * wptClipEditDlg.cpp (clipedit_dlg_proc): Use 'Close'
1157            instead of 'Exit'.
1158            * wptKeyManager.cpp (km_http_import): New filename
1159            generation code.
1160            (km_send_to_mail_recipient): Cleanups.
1161            * wptKeyEditDlg.cpp (showpref_dlg_proc): Localize dialog.
1162            * wptKeyManagerDlg.cpp (update_ui_items): Handle the case
1163            when multiple keys are selected.
1164            (popup_multiple): New.
1165            * WinPT.cpp (WinMain): Check that the PTD.dll and WinPT.exe
1166            file versions are equal. Rewrote --keymanager code.
1167            
1168    2005-12-08  Timo Schulz  <[email protected]>
1169    
1170            * wptKeyserverDlg.cpp (show_imported_keys): Enhanced.
1171            (hkp_recv_key2): Show user-id of the imported key instead
1172            of just the pattern.
1173            * wptFileCBS.cpp (read_cb): Changed to W32 API.
1174            (write_cb): Likewise. Create output file on demand.
1175            (gpg_file_data_new): Adjusted code for new API.
1176            * wptKeyEdit.cpp (cleanKey): New.
1177            * wptKeyEditCB.cpp (cmd_clean_handler): New.
1178            (editkey_command_handler): Call clean handler.
1179            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Sort
1180            keylist after inserting items.
1181            * wptFileManager.cpp (fm_set_status): Take care of
1182            cleartext sigs.
1183            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Make
1184            sure can be closed.
1185            
1186    2005-12-07  Timo Schulz  <[email protected]>
1187    
1188            * wptOwnertrustDlg.cpp (ownertrust_dlg_proc):
1189            Use 'Close' instead of 'Exit'.
1190            * wptKeyEditDlgs.cpp (keyedit_dlg_proc): Likewise.
1191            * wptGPG.cpp (gnupg_backup_keyrings): Use $APPDATA
1192            as the destination dir. Thanks to Werner.
1193            * wptRegistry.cpp (is_gpgee_installed): New.
1194            (regist_inst_winpt): Do not register file extensions
1195            if GPGee is available.
1196            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Limit
1197            use of local vars.
1198            * wptPreferencesDlg.cpp (prefs_dlg_proc): Make sure
1199            no illegal backup mode is saved.
1200            * wptKeyserverDlg.cpp (show_imported_key): New.
1201            (hkp_recv_key2): Show imported keys if the blob
1202            contained more than one.
1203            
1204    2005-12-06  Timo Schulz  <[email protected]>
1205    
1206            * WinPT.cpp (WinMain): Load the gettext environment soon
1207            as possible so all 'first start' messages are localized.
1208            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): If a single key is
1209            received via the keyserver, return the gpgme key context on
1210            success and add it directly to the list.
1211            * wptKeyserverDlg.cpp (keyserver_dlg_proc): Support a param
1212            to store the key.
1213            (hkp_recv_key2): Add extra param for the fingerprint.
1214            (hkp_recv_key): Call hkp_recv_key2 without fingerprint.
1215            
1216    2005-12-02  Werner Koch  <[email protected]>
1217    
1218            * wptKeyEditDlgs.cpp (subkey_list_init): Avoid trigraphs.
1219    
1220    2005-12-01  Timo Schulz  <[email protected]>
1221    
1222            * wptClipVerifyDlg.cpp (clipverify_dlg_proc): Use new semantic
1223            for get_gpg_sigstat().
1224            * wptGPGME.cpp (get_gpg_sigstat): New. It is now a function.
1225            As a macro strings will not be translated at runtime.
1226            * wptKeyserverDlg.cpp (hkp_recv_key): Properly detect if we
1227            need to update the cache. Thanks to Jan-Oliver.
1228            * wptKeyImportStatusDlg.cpp (import_status_dlg_proc): Localized.
1229            
1230    2005-11-30  Timo Schulz  <[email protected]>
1231    
1232            * wptW32API.cpp (dialog_box_param): Removed LANG_DE code.
1233            * WinPT-en.rc: Removed string list.
1234            * wptFileSaveDlg.cpp (file_save_dlg_proc): Localized
1235            * wptKeylist.cpp (keylist_build): Cannot use global
1236            arrays for the columns due to gettext.
1237            
1238    2005-11-29  Timo Schulz  <[email protected]>
1239    
1240            * WinPT.cpp (WinMain): Modify --keymanager. If an instance
1241            is running, just send the command to open the manager.
1242            
1243    2005-11-25  Timo Schulz  <[email protected]>
1244    
1245            * wptKeyEditCB.cpp (addrev_cmd_handler): Avoid hanging
1246            process when the revoker is already there.
1247            
1248    2005-11-24  Timo Schulz  <[email protected]>
1249    
1250            * wptPassphraseCB.cpp (passphrase_callback_proc): Localize
1251            signing dialog items.
1252            * wptMainProc.cpp (confirm_delclip_dlg): Localize dialog items.
1253            * wptAboutDlgs.cpp (about_winpt_dlg_proc): Disable help for now.
1254            * wptMDSumDlg.cpp (mdsum_dlg_proc): Localize missing items.
1255            * wptKeylist.cpp (key_check_validity): Likewise.
1256            * wptKeyEditDlgs.cpp (keyedit_addsubkey_dlg_proc): Likewise.
1257            
1258    2005-11-22  Timo Schulz  <[email protected]>
1259    
1260            * wptCardEditCB.cpp (gpg_write): Due to removed _DEBUG
1261            macro debug output will be generated in release version.
1262            
1263    2005-11-21  Timo Schulz  <[email protected]>
1264    
1265            * WinPT.cpp (WinMain): Implement --stop switch.
1266            * wptClipEditDlg.cpp (clip_edit_dlg_proc): Localize
1267            missing string.
1268            * wptPreferencesDlg.cpp (prefs_dlg_proc): Likewise.
1269            * wptKeygenDlg.cpp (keygen_dlg_proc): Verify valid context
1270            first. Thanks to Ralf.
1271            * wptFileManagerDlg.cpp (update_ui_items): New.
1272            * wptFileManager.cpp (fm_set_status): New sigmode param.
1273            Changed all callers.
1274            
1275    2005-11-17  Timo Schulz  <[email protected]>
1276    
1277            * wptGPG.cpp (check_last_gnupg_access): Kludge to avoid that
1278            the cache will be loaded twice.
1279            * wptRegistry.cpp (regist_inst_winpt): More comments.
1280            * wptKeyManagerDlg.cpp (do_center_window): Make sure that
1281            neg. coordinates are never used.
1282            * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Localize all
1283            strings.
1284            * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.
1285            * wptFileManagerDlg.cpp (filemanager_dlg_proc): Localize menu
1286            and save 'AlwaysOnTop' in the registry.
1287            
1288    2005-11-16  Timo Schulz  <[email protected]>
1289    
1290            * WinPT.cpp (check_crypto_engine): Min is now GPG 1.4.2.
1291            * wptKeylist.cpp (keylist_add_key): Add disabled keys in list
1292            mode.
1293            * wptPreferencesDlg.cpp (prefs_dlg_proc): Localize all strings.
1294            * wptRegistry.cpp (regist_inst_winpt): Set install directory.
1295            Useful for other programs to figure out the path to the EXE.
1296            
1297    2005-11-14  Timo Schulz  <[email protected]>
1298    
1299            * wptGPG.cpp (check_gnupg_engine): Fix version check.
1300            * wptMainProc.cpp (winpt_main_proc): Check keyring
1301            file permissions always and do not use interative output
1302            when the windows session ends.
1303            * wptProxySettingsDlg.cpp (proxy_settings_dlg_proc):
1304            Localize all strings.
1305            * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.
1306            * wptGPGPrefsDlg.cpp (gpg_prefs_dlg): Likewise.
1307            * wptKeyEditDlgs.cpp (do_init_keylist): Skip all
1308            non-valid keys.
1309            
1310    2005-11-12  Timo Schulz  <[email protected]>
1311    
1312            Fix more GCC warnings.
1313    
1314    2005-11-10  Timo Schulz  <[email protected]>
1315    
1316            * wptClipSignDlg.cpp (one_key_proc): Use
1317            release_gpg_passphrase_cb() to free the context.
1318            * wptListView.cpp (listview_deselect_all): New.
1319            * wptMAPI.cpp (mapi_send_pubkey): Works again.
1320            * wptFileManagerDlg.cpp (file_manager_dlg_proc): Support encrypt &
1321            zip.    
1322            * wptPassphraseCB.cpp (passphrase_callback_proc): Fix passphrase
1323            caching for signing operations.
1324            * wptKeyManager.cpp (km_send_to_mail_recipient): Works again.
1325            * wptFileManager.cpp (fm_send_file): Likewise.
1326            (fm_encrypt_into_zip): New.      
1327            
1328    2005-11-09  Timo Schulz  <[email protected]>
1329    
1330            * wptNLS.c (get_gettext_langid): Map user language id to
1331            printable gettext language strings.
1332            * wptRegistry.cpp (get_reg_entry_mo): Support for the
1333            gettext environment.
1334            * wptFileManager.cpp (fm_encrypt): Close all files before
1335            the wipe procedure is called.
1336            * wptVerlist.cpp (verlist_add_sig): Handle the case the
1337            issuer is not valid but the signature is.
1338            (verlist_add_sig_log): Likewise. Thanks to the folks on
1339            winpt-users.
1340            
1341    2005-11-08  Werner Koch  <[email protected]>
1342    
1343            * SAFE.ICO, SIGN.ICO: Fixed capitalization.
1344            * WinPT-en.rc: Ditto.
1345            * winpt_km.ico:  Moved from ../.
1346    
1347            * Makefile.am (resource_files): Add missing backslash.
1348    
1349    2005-11-08  Timo Schulz  <[email protected]>
1350    
1351            More minor changes to avoid GCC warnings.
1352            
1353            * wptGPG.cpp (check_homedir): Free memory in case of errors.
1354            (multi_gnupg_path): Add strict mode. If non-strict mode return
1355            the folder even if it does not exist.
1356            (check_for_gpgwin): New.
1357            * wptKeyserverDlg.cpp (hkp_recv_key): Make sure import_res is
1358            initialized.
1359            * wptRegistry.cpp (get_reg_entry_gpg4win): New.
1360            (get_reg_entry_mo): Support for gpg4win.
1361            
1362    2005-11-07  Timo Schulz  <[email protected]>
1363    
1364            * wptMainProc.cpp (winpt_main_proc): Disable
1365            some menu items when no secret key is available.
1366            
1367    2005-11-05  Timo Schulz  <[email protected]>
1368    
1369            More minor changes to avoid GCC warnings.
1370            
1371            * wptErrors.cp (winpt_strerror): Return w32
1372            formatted error and do not use 'break'.
1373            
1374    2005-11-04  Werner Koch  <[email protected]>
1375    
1376            * WinPT-en.rc: Fixed locations of icons.
1377    
1378    2005-11-03  Timo Schulz  <[email protected]>
1379    
1380            A lot of minor changes to avoid GCC warnings.
1381    
1382            * wptGPG.cpp (get_gnupg_keyring): Only check size for
1383            public keyring.
1384            * wptKeyManager.cpp (km_update_default_key_str): Do
1385            not issue a bug message when no secret key was found.
1386            * wptGPGPrefsDlg.cpp: Replace "" with NULL in the name struct.
1387            
1388    2005-11-02  Werner Koch  <[email protected]>
1389    
1390            * WinPT.cpp (WinMain): Disabled PTD version tests.
1391            (check_crypto_engine): Fixed version check for scard.
1392    
1393            * wptErrors.cpp (debug_end): Add dummy function.
1394    
1395            * Makefile.am (code_files): Added wptCardEditCB.cpp and
1396            wptKeyEditCB.cpp.
1397    
1398    2005-10-31  Werner Koch  <[email protected]>
1399    
1400            * wptCurrWnd.cpp: Include wptVersion.h to get prototypes of PTD
1401            functions.
1402    
1403            * wptKeyEditDlgs.cpp: Include oleauto.h
1404            * wptKeyEdit.cpp: Include time.h.
1405            * wptRegistry.cpp (gpg_filetypes): New from ../Include/wptGPG.h.
1406            * wptGPGUtil.cpp (gpg_manage_ownertrust): s/export/exportflag/.
1407    
1408            * Makefile.am (code_files): Add wptGPGUtil.cpp, wptCardEdit.cpp,
1409            wptKeyEdit.cpp and wptKeycache.cpp.
1410    
1411            * wptPassphraseCB.cpp: Fixed spelling of wptKeylist.h
1412            * wptImportList.cpp (implist_load): Use remove and not unlink.
1413            * wptGPG.cpp: Fixed spelling of wptGpgCmds.h
1414            * wptImportList.cpp (implist_load): Use remove and not unlink.
1415            * wptKeyManager.cpp (km_http_import): Ditto
1416            * wptMainProc.cpp: Include wptCrypto.h
1417            * wptKeyManager.cpp: Ditto.
1418            * wptFileManager.cpp: Ditto.
1419            * wptImportList.cpp (parse_colon_key): Need to cast argument for
1420            isdigit.  Include ctype.h.
1421            * wptGPG.cpp: Include shlobj.h.
1422    
1423            Fixed double inclusion of windows.h.
1424            
1425            * Makefile.am (bin_PROGRAMS): Don't build KeyManagerExe for now.
1426            * wptKeylist.cpp (get_key_created): Broke up trigraph.
1427            (get_key_status): Removed dangerous use of sprintf.  Still other
1428            flaws present, see comment.
1429    
1430            * wptCardPCSC.c: Don't include winscard.h.
1431            (pcsc_readerstate_t, pcsc_context_t): New.  Changed call users to
1432            use these types.
1433            (PCSC_): Added a lot of constants, all taked from GnuPG 1.9.
1434            (SCARD_S_SUCCESS): Changed all compares to test the value directly
1435            against zero.
1436    
1437            * WinPT.cpp: Include wptCrypto.h.
1438            (WinMain): Don't shard S. Removed usunsed variable SIZE.
1439            * Makefile.am (code_files): Actually add files by adding a first
1440            backslash.
1441            * wptMDSumDlg.cpp: Include wptCrypto.h.
1442            * wptProxySettingsDlg.cpp: Included ctype.h.
1443            * wptKeysigDlg.cpp: Fixed spelling of wptKeylist.h.
1444            * wptKeysignDlg.cpp: Ditto
1445            * wptKeyRevokersDlg.cpp: Ditto. Fixed spelling of wptW32API.h.
1446            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Replaced unlink by remove.
1447            Removed unused variable.
1448            * wptClipVerifyDlg.cpp (show_notation_data): s/not/nota/ due to
1449            silly c++ operator synonyms.
1450            * wptKeyEditDlgs.cpp: Include time.h.
1451            * wptClipDecryptDlg.cpp: Include wptCrypto.h to define PGP_MESSAGE.
1452            * wptFileManagerDlg.cpp: Ditto.
1453            (space_wipefrees_dlg_proc): Replaced unlink by remove; it doesn't
1454            matter if it does an rmdir for a directory.
1455    
1456            Fixed include of resource.h which is not anymore in the top
1457            directory.
1458    
1459    2005-10-28  Werner Koch  <[email protected]>
1460    
1461            * wptProxySettingsDlg.cpp (check_number): Cast isdigit() arg to
1462            unsigned.  Never ever use a possible signed char as argument for
1463            ctype tests.  An alternative is to first test using isascii ().
1464            (keyserver_proxy_dlg_proc): Removed unused variable.
1465    
1466    2005-10-27  Timo Schulz  <[email protected]>
1467    
1468            * wptKeyPropsDlg.cpp (get_validity): Take care of disabled keys.
1469            * wptKeylist.cpp (keylist_add_key): Check global key flag to
1470            see if the key is disabled and not each subkey.
1471            (seclist_init): Likewise.
1472            * wptClipDecryptDlg.cpp (gpgme_op_clip_decrypt): Use
1473            gpgme_op_decrypt_verify.
1474            (clip_decrypt_dlg_proc): Fixed fingerprint
1475            to keyid conversation. This also fixes a crash.
1476            * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Likewise.
1477            * wptKeyEditDlgs.cpp (do_editkey_expire): Ask if the key
1478            already expired if the user wants to change the date.
1479            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Replace old
1480            'v3 sig' option with the 'ask cert level' option. Sync
1481            with global preferences.
1482            * wptKeySignDlg.cpp (keysign_dlg_proc): Watch if the
1483            gpg.conf contains 'ask-cert-level'. If not disable button.
1484            * wptKeySigDlg.cpp (keysig_dlg_proc): Automatically disable
1485            the button when the key is available.
1486            Reload key directly, not the entire cache.
1487            
1488    2005-10-26  Timo Schulz  <[email protected]>
1489    
1490            * wptFileManager.cpp (is_floppy_disc): Prevent very unlikely but
1491            possible overflow.
1492            (is_openpgp_ext): Compare case insentensive.
1493            (add_single_file): New.
1494            (fm_add_opened_files): Support multi file selection.
1495            * wptKeyPropsDlg.cpp (do_change_ownertrust): Removed.
1496            * wptKeyManager.cpp (km_enable_disable_key): Do not set cache
1497            reload flag. Just update the single key.
1498            * wptFileManagerDlg.cpp (file_encrypt_dlg_proc): Remove static var
1499            and disable anonymize recipient for now.
1500    
1501            Begin to port code to GCC. Fix all warning issued by the gcc
1502            compiler.
1503    
1504    2005-10-25  Timo Schulz  <[email protected]>
1505    
1506            * wptGPGUtil.cpp (create_process): Hide window.
1507            * wptKeyPropsDlg.cpp (get_photo_tmpname): New.
1508            * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Remove
1509            static var 'enable'.
1510            * wptKeygenDlg.cpp (keygen_dlg_proc): Likewise.
1511            (gpg_genkey_params): Make sure all primary keys are capable
1512            for signing and certification.
1513            * wptKeySigDlg.cpp (is_sig): If no item is selected, return 0.
1514            * wptGPG.cpp (gnupg_access_keyring): Check return value for
1515            NULL. Noted by Ralf.
1516            (get_gnupg_prog): Simplified.
1517            (check_homedir): Fixed. Return 0 when the dir is successfully created.
1518            * wptKeyManagerDlg.cpp (km_file_import): Use the hourglass to
1519            indicate a pending GPG process.
1520            * wptFileManager.cpp (op_begin, op_end): New. Indicate an start
1521            and and of an operation. For now just the cursor changes.
1522            (fm_parse_command_line): Remove debug output. Thanks to Ralf again.
1523            * WinPT.cpp (WinMain): Check if there is already an instance and
1524            set a variable early as possible.
1525            (load_gettext): If a previous instance was found, do not output
1526            any errors. Kudos to Ralf.      
1527    
1528    2005-10-24  Timo Schulz  <[email protected]>
1529    
1530            * wptPassphraseCB.cpp (passphrase_callback_proc): Allow to use
1531            pre-defined recipients.
1532            (release_gpg_passphrase_cb): Release recipients.
1533            * wptKeyPropsDlg.cpp (keyprops_load_photo): Set photo-id
1534            validity if needed.
1535            (keyprops_dlg_proc): Issue a warning if the photo is valid.
1536    
1537    2005-10-23  Timo Schulz  <[email protected]>
1538    
1539            * wptFileManager.cpp (fm_get_file_type): Detect detached sigs.  
1540            * wptKeyList.cpp (keylist_cmp_cb): Take care of expired/revoked keys.
1541            (get_ext_validity): New.
1542            * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Several cleanups.
1543            * wptClipEditDlg.cpp (load_clipboard): Factored out some code into
1544            this function.
1545            (load_clipboard_from_file): Likewise.
1546            (save_clipboard_to_file): New.
1547            * wptKeyManagerDlg.cpp (keyprops_dlg_proc): Fix stack overflow.
1548    
1549    2005-10-22  Timo Schulz  <[email protected]>
1550    
1551            Localized a lot of more strings.
1552    
1553            * wptMainProc.cpp (load_smartcard): New.
1554            * wptFileManager.cpp (fm_parse_command_line): Simplify code.
1555            (fm_check_armor_type): Add new arg. Change all callers.
1556            (fm_get_file_type): Likewise.
1557            * wptKeyPropsDlg.cpp (display_key_info): New.  
1558            (keyprops_show_photo): Factored out some code into..
1559            (keyprops_load_photo): ..this function.
1560    
1561    2005-10-21  Timo Schulz  <[email protected]>
1562    
1563            * wptFileManagerDlg.cpp (file_manager_dlg_proc): Use
1564            WM_INITPOPUPMENU to localize popup menu texts.
1565            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
1566            * wptClipSignDlg.cpp (one_key_proc): Use wipememory instead of memset.  
1567    
1568    2005-10-20  Timo Schulz  <[email protected]>
1569    
1570            Now WinPT depends on GPG 1.4.3 and GPGME 1.2.0.
1571    
1572            * wptPassphraseCB.cpp (passphrase_cb): Complete card support.
1573            * wptCardEdit.cpp (genKey): Handle cancel case.
1574            * keycache.c: Renamed into...
1575            * wptKeyCache.cpp: ...this.
1576            * wptW32API.cpp (set_menu_text): Removed unused code.
1577            (set_menu_text_bypos): New.
1578            * wptCrypto.h: New.
1579            * wptMainProc.cpp (winpt_main_proc): Complete localize
1580            menu texts.
1581            * wptErrors.cpp (log_debug): Use a static var so the file
1582            is only opened once.
1583            (debug_end): Cleanup. Currently just close the log file.
1584            * wptErrors.h (wipememory): New.
1585            (sfree_if_alloc): Use it here.
1586            * WinPT.cpp (WinMain): Display the min. GPGME version which
1587            is needed in case of an error.
1588    
1589    2005-10-17  Timo Schulz  <[email protected]>
1590    
1591            Free all memory returned by the GPGME dll with gpgme_free ().
1592    
1593            s/GPG_ERR_CARD_REMOVED/GPG_ERR_CARD_NOT_PRESENT.
1594    
1595            * wptKeyEdit.cpp (getCardStatus): Remove dummy key.
1596            (list_handler): With user interaction to allow to insert
1597            the card into the reader.
1598            * wptKeyEditCB.cpp (gpg_edit_card): Likewise.
1599            (common_card_handler): Fixed incorrect command string.
1600            * wptKeyPropsDlg.cpp (get_card_type): New.
1601            (keyprops_dlg_proc): Show card information if present.
1602            * wptFileManager.cpp (secret_key_available): Make the code faster.
1603            
1604    
1605    2005-10-16  Timo Schulz  <[email protected]>
1606    
1607            * wptPassphraseCB.cpp (passphrase_cb): Fix problem
1608            with hanging GPG process on cancel.
1609            * keycache.c (gpg_keycache_release): Release all objects.
1610    
1611    2005-10-15  Timo Schulz  <[email protected]>
1612    
1613            * wptCardEdit.cpp (setResult, getResult): New.
1614            (reset): New.
1615            (getCardStatus): Check return codes and release all objects
1616            in case of errors.
1617            * wptCardEditCB.cpp (change_pin_handler): Call reset()
1618            before quit.
1619            (editcard_handler): Likewise.
1620            (common_card_handler): New.
1621            * wptCardDlg.cpp (card_changepin_dlg_proc): Also unmask
1622            the old PIN when 'Hide Typing' is disabled.
1623            * wptPassphraseCB.cpp (passphrase_cb): The card detection
1624            works again. Support to re-enter passphrase.
1625    
1626    2005-10-14  Timo Schulz  <[email protected]>
1627    
1628            * wptCardDlg.cpp (card_status): New fields for the
1629            fingerprint creation time. Display card info as title.
1630            (get_printable_version): New.
1631            * wptCardEditCB.cpp (editcard_handler): Fix problem
1632            with the counter comparison.
1633    
1634    2005-10-11  Timo Schulz  <[email protected]>
1635    
1636            Port to GPGME basically finished.
1637    
1638    2005-09-20  Timo Schulz  <[email protected]>
1639    
1640            * wptFileManagerDlg.cpp (file_secdel_confirm_dlg_proc):
1641            Do not use gpgme_recipients_t but the listview directly
1642            to add the selected files.
1643    
1644    2005-09-07  Timo Schulz  <[email protected]>
1645    
1646            * Make sure all GetOpenFileName filters are terminated by \0\0.
1647    
1648    2005-09-01  Timo Schulz  <[email protected]>
1649    
1650            * wptW32API.cpp (center_window): New argument for parent window.
1651            Change all callers.
1652            (center_window2): Likewise.
1653            * GPGME now can read gpgProgram entries with 'REG_EXPAND_SZ'.
1654            * wptGPG.cpp (gnupg_backup_options): Remove param. One backup
1655            file is enough. Changed all callers.
1656    
1657    2005-08-15  Timo Schulz  <[email protected]>
1658    
1659            * wptKeyEditDlgs.cpp (do_editkey_showpref): Take care of v3 keys.
1660            * wptGPGOptDlg.cpp (gpgopt_dlg_proc): Fixed name of title.
1661            * Make sure the passphrase is always overwritten before it is
1662            freed (or the function returns).
1663            * wptKeyPropDlg.cpp (get_pref_cipher): New.
1664            (keyprops_dlg_proc): Use it here.
1665    
1666    2005-08-06  Timo Schulz  <[email protected]>
1667    
1668            * wptGPGME.cpp (keycache_update): Reload OpenPGP parts
1669            of the secret key.
1670            (keycache_init): cache name of secret keyring.
1671            * wptKeyList.cpp (keylist_upd_key): Do not add long keyid.
1672            (get_key_type): Do not assume 'ultimate' means key pair.
1673            * wptKeyEditDlgs.cpp (diff_time): New.
1674            (keyedit_addsubkey_dlg_proc): Changed design and use
1675            diff_time. Drop checks for invalid keylength (< 1024, > 4096)
1676            because the combo box automatically handles this.
1677            * wptKeyManager.cpp (km_set_implicit_trust): Return error code.
1678            * wptGPG.cpp (get_backup_name): New.
1679            (gnupg_backup_keyrings): Rotate backup names, from 0..3.
1680            * wptClipImportDialog.cpp (clip_import_dlg_proc): Free memory.
1681            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use 0x short keyid and
1682            not the long keyid.
1683    
1684    2005-08-05  Timo Schulz  <[email protected]>
1685    
1686            * wptListView.cpp (listview_set_item2): New.
1687            * wptKeyManager.cpp (km_check_if_protected): Directly
1688            retrieve gpgme_key_t from the list.
1689            (km_check_key_status): Likewise.        
1690            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Also use
1691            a human-readable name for secret key export.
1692            Reload just the keys which were affected by updates
1693            (edit-key).
1694            (update_key): New.
1695            * wptKeyList.cpp ((keylist_upd_key): Stripped down
1696            version of keylist_add_key.
1697            * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not
1698            reload the keycache here, just flag 'update'. Give the
1699            control to the calling dialog.
1700            * wptKeySignDlg.cpp (keysign_dlg_proc): Use winpt_key_t
1701            as parameter. Changed all callers.
1702            Add date of expiration to the key info.
1703            (get_expire_date): New.
1704            Use a checkbox to allow to ask for the cert level.
1705            * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Do no reload
1706            the cache.
1707    
1708    2005-08-04  Timo Schulz  <[email protected]>
1709    
1710            * wptListView.cpp (listview_scroll): New.
1711            (listview_get_item2): New.
1712            * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): If the
1713            item was found, make it visible with scrolling.
1714            * wptKeyManager.cpp (km_find_key): New.
1715            (keylist_subclass_proc): Support to handle some acceleators.
1716            Strg+{C, P, F, A}.
1717            (km_get_key_status): Get the gpgme_key_t object directly
1718            from the list.
1719            * wptGPGPRefsDlg.cpp (gpgprefs_dlg_proc): Also try to set
1720            the config file (if it exists).
1721            * wptKeySignDlg.cpp (keysign_dlg_proc): Use easier code
1722            to handle the click->activate situation.
1723            * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.
1724            Support to check the passphrase quality.
1725            * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.
1726            (request_passphrase): Rename 'init' to 'flags' to allow more
1727            options.
1728            * wptMAPI.cpp: Check all *alloc results.
1729            * wptKeyGenDlg.cpp (keygen_dlg_proc): Use a rudimentary
1730            passphrase quality check.
1731            * wptMDSumDlg.cpp (mdsum_dlg_proc): Use md5/sha1sum file
1732            format and allow to save the checksum in a file.
1733            * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Issue a warning
1734            when the PGP mode is disabled.
1735            wptKeyEditDlgs.cpp (do_editkey_primary): Return if just
1736            one user-ID exists.
1737            (keyedit_dlg_proc): Fixed index problem.
1738            * wptKeyPropsDlg.cpp (get_validity): New.
1739            (keyprops_dlg_proc): Actually show extended validity if possible.
1740            * wptKeyList.cpp (get_key_fpr): Support for old v3 format.
1741            (do_addkey): Use listview_add_item2 to store key as opaque
1742            param inside the list.
1743            * wptFileStatDlg.cpp (get_digest_algo): Add SHAxxx.
1744            (file_stat_dlg_proc): End dialog if no PGP data was found.
1745            (do_list_packets): Return the number of valid PGP packets
1746            of the file.
1747    
1748    2005-08-02  Timo Schulz  <[email protected]>
1749    
1750            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Instead of
1751            using 'Default Keyserver' add the real keyserver name to
1752            the menu.
1753            The rebuild command does not reload the cache any longer.
1754            Use ATTR_NAME + .asc as the filename and not keyid + .asc.
1755            * wptProxySettingsDlg.cpp (enable_proxy_auth): New.
1756            (keyserver_proxy_dlg_proc): Changed the design a little
1757            and add some additional sanity checks.
1758            * wptGPGParser.cpp (commit_gpg_options): Use W32 line endings.
1759            This fixes the problem that the GPG option dialog does not show
1760            very nice lines.
1761            * wptGPGOptDlg.cpp (gpgopt_dlg_proc): s/options/config.
1762            * wptKeySigDlg.cpp (keysig_dlg_proc): If a single key is selected
1763            check for 'NOKEY' before asking a keyserver.
1764            * wptKeyManager.cpp (km_delete_keys): Do not set 'refresh' flag.
1765            If a lot of keys were selected, ask if the user wants to confirm
1766            each delete procedure or allow to cancel the operation.
1767            * wptFileManagerDlg.cpp (file_import_dlg_proc): Display how much
1768            keys the file contain.
1769            * wptKeyList.cpp (get_key_algo): Beautified.
1770            (get_key_status): Drop the "[XYZ] Unknown" format, it is too
1771            confusing for users.
1772            * wptKeyManager.cpp (km_check_key_status): Adjustments for the
1773            new code.
1774            (km_check_for_seckey): Reset utrust parameter. Return -1 for
1775            invalid (exp+rev+dis) keys.
1776    
1777    2005-08-01  Timo Schulz  <[email protected]>
1778    
1779            * wptKeyserver.cpp (kserver_urlencode): Use unsigned for all given
1780            sizes.
1781            (check_IP_or_hostname): New.
1782            (kserver_load_conf): Correct finger URL parsing problem.
1783            (port_from_proto): New.
1784            (keyserver_load_conf): Guess the port.
1785            (keyserver_set_default): Allocate new buffer.
1786            (kserver_load_conf): Likewise.
1787            * wptHTTP.c (parse_reqline, parse_request): Removed.
1788            Use WinPT error code and remove all unused code.
1789            * wptKeyserverDlg.cpp (keyserver_dlg_proc): Properly handle finger URLs.
1790            * wptProxySettingsDlg.cpp (read_proxy): Simple check for
1791            invalid host/IP addresses.
1792            * wptGPG.cpp (multi_gnupg_path): Return allocated buffer.
1793            Changed all callers.
1794            * wptPreferencesDlg.cpp (prefs_dlg_proc): At the first start,
1795            automatically set 'backup to homedir'.
1796            * WinPT.cpp (WinMain): Use desktop window as the parent window
1797            to load 'first-start' dialogs.
1798            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not set 'refresh'
1799            flag after deleting keys.
1800            * wptFirstRunDlg.cpp (first_run_dlg_proc): Use a new structure
1801            for passing the arguments.
1802            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Do not store "" for
1803            the OptFile. This was responsible for a lot of 'General Errors'
1804            after the first start related to key caching.
1805            Automatically set the gpg binary if possible.
1806    
1807    2005-07-22  Timo Schulz  <[email protected]>
1808    
1809            * wptMainProc.cpp (winpt_main_proc): Take care for shutdown
1810            messages and make sure WinPT make a keyring backup in this case.
1811            * wptGPGME.cpp (keycache_reload): Do not rebuild the signature
1812            cache each time. Just do it on startup.
1813            * wptKeyManager.cpp (km_key_is_v3): Use new ATTR_VERSION.
1814            * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Assume the v3 flag
1815            was set by the calling function.
1816            * wptKeyGenDlg.cpp (keygen_wizard_dlg_proc): Ask for backups.
1817            (keygen_dlg_proc): Only add the generated key to the keycache
1818            and do not reload the entire cache.
1819            * wptKeyManager.cpp (km_delete_keys): Store the number of keys
1820            because in each loop iteration it will be new calculated.
1821            * wptListView.cpp (listview_del_items): Likewise.
1822            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Directly add the
1823            generated key to the list instead of reloading the entire cache.
1824            * wptKeyEditDlgs.cpp (parse_preflist): Support fpr SHAnnn.
1825    
1826  2005-05-09  Timo Schulz  <[email protected]>  2005-05-09  Timo Schulz  <[email protected]>
1827    
1828          * wptCommonDlg.cpp (http_file_dlg_proc): Renamed to..          * wptCommonDlg.cpp (http_file_dlg_proc): Renamed to..
# Line 329  Line 1865 
1865          (kserver_sendkey): Likewise.          (kserver_sendkey): Likewise.
1866          * wptProxySettingsDlg.cpp (check_number): New.          * wptProxySettingsDlg.cpp (check_number): New.
1867          (read_proxy): Check the entered port number.          (read_proxy): Check the entered port number.
1868          * wptKeySignDlg.cpp (sig_class_dlg_proc): Check default button.          * wptKeySignDlg.cpp (sig_class_dlg_proc): Check default button.
1869          * wptW32API.cpp (get_folder_dlg): Free memory.          * wptW32API.cpp (get_folder_dlg): Free memory.
1870    
1871  2005-04-11  Timo Schulz  <[email protected]>  2005-04-11  Timo Schulz  <[email protected]>
# Line 674  Line 2210 
2210    
2211          * WinPT.cpp (load_keyserver_conf): New. Factored out some code          * WinPT.cpp (load_keyserver_conf): New. Factored out some code
2212          from WinMain ().          from WinMain ().
2213          (WinMain): Load keyserver config at the begin. Thanks to Bodo A�ner          (WinMain): Load keyserver config at the begin. Thanks to Bodo Aßner
2214          * wptKeyserverDlg.cpp (keyserver_dlg_proc): If there is no keyserver          * wptKeyserverDlg.cpp (keyserver_dlg_proc): If there is no keyserver
2215          in the list control, add at least the internal default HKP server.          in the list control, add at least the internal default HKP server.
2216          * wptKeygenDlg.cpp (keygen_wizard_dlg_proc): NLS support.          * wptKeygenDlg.cpp (keygen_wizard_dlg_proc): NLS support.

Legend:
Removed from v.32  
changed lines
  Added in v.236

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26