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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26