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

Diff of /trunk/Src/ChangeLog

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

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

Legend:
Removed from v.22  
changed lines
  Added in v.306

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26