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

Diff of /trunk/Src/ChangeLog

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

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

Legend:
Removed from v.28  
changed lines
  Added in v.241

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26