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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26