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

Diff of /trunk/Src/ChangeLog

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

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

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26