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

Diff of /trunk/Src/ChangeLog

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

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

Legend:
Removed from v.30  
changed lines
  Added in v.234

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26