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

Diff of /trunk/Src/ChangeLog

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

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

Legend:
Removed from v.34  
changed lines
  Added in v.211

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26