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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26