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

Diff of /trunk/Src/ChangeLog

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

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

Legend:
Removed from v.26  
changed lines
  Added in v.214

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26