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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26