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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26