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

Diff of /trunk/Src/ChangeLog

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

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

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26