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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26