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

Diff of /trunk/Src/ChangeLog

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

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

Legend:
Removed from v.27  
changed lines
  Added in v.420

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26