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

Diff of /trunk/Src/ChangeLog

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

revision 32 by twoaday, Mon Oct 24 08:03:48 2005 UTC revision 175 by twoaday, Tue Feb 7 08:58:04 2006 UTC
# Line 1  Line 1 
1  2005-10-23  Timo Schulz  <[email protected]>  2006-02-04  Timo Schulz  <[email protected]>
2    
3          * wptFileManager.cpp (fm_get_file_type): Detect detached sigs.            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Check for
4          * wptKeyList.cpp (keylist_cmp_cb): Take care of expired/revoked keys.          at least one ultimately trusted key.
5          (get_ext_validity): New.          * wptKeyManager.cpp (km_refresh_key_from_keyserver):
6          * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Several cleanups.          Only check inet connection if we refresh all keys.
7          * wptClipEditDlg.cpp (load_clipboard): Factored out some code into          * wptGPGUtil.cpp (gpg_extract_keys): New.
8          this function.          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Use textmode.
9          (load_clipboard_from_file): Likewise.          * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Likewise.
10          (save_clipboard_to_file): New.          * wptClipSignDlg.cpp (get_selected_key): New.
11          * wptKeyManagerDlg.cpp (keyprops_dlg_proc): Fix stack overflow.          (one_key_proc): Use it here.
12            (count_useable_seckeys): New.
13  2005-10-22  Timo Schulz  <[email protected]>          * wptSigTreeDlg.cpp (sigtree_dlg_proc): New.
14            * wptKeyEditDlgs.cpp (diff_time): Removed.
15          Localized a lot of more strings.          (w32_mktime): New.
16            (keyedit_addsubkey_dlg_proc): Use it here.
17          * wptMainProc.cpp (load_smartcard): New.          
18          * wptFileManager.cpp (fm_parse_command_line): Simplify code.  2006-02-02  Timo Schulz  <[email protected]>
19          (fm_check_armor_type): Add new arg. Change all callers.  
20          (fm_get_file_type): Likewise.          * wptW32API.cpp (get_temp_name): New.
21          * wptKeyPropsDlg.cpp (display_key_info): New.            * wptKeyserver.cpp (ldap_recvkey): Use it here.
22          (keyprops_show_photo): Factored out some code into..          * wptKeyPropsDlg.cpp (get_photo_tmpname): Likewise.
23          (keyprops_load_photo): ..this function.          * wptGPGUtil.cpp (create_tempfile): Likewise.
24            * wptImportList.cpp (implist_load): Likewise.
25  2005-10-21  Timo Schulz  <[email protected]>          * wptKeyCache.cpp (parse_attr_data): Likewise.
26            (w32_tempfile): Removed.
27          * wptFileManagerDlg.cpp (file_manager_dlg_proc): Use          * wptGPGME.cpp (check_ultimate_trusted_key): New.
28          WM_INITPOPUPMENU to localize popup menu texts.          
29          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.  2006-01-31  Timo Schulz  <[email protected]>
30          * wptClipSignDlg.cpp (one_key_proc): Use wipememory instead of memset.    
31            * wptMainProc.cpp (winpt_main_proc): Fix usage of the
32  2005-10-20  Timo Schulz  <[email protected]>          help system.
33            * wptListView.cpp (listview_set_chkbox_style): New.
34          Now WinPT depends on GPG 1.4.3 and GPGME 1.2.0.          (listview_get_item_state): Support new checkbox style.
35            (listview_new): Reset flag var.
36          * wptPassphraseCB.cpp (passphrase_cb): Complete card support.          * wptKeylist.cpp (keylist_build): Support new checkbox style.
37          * wptCardEdit.cpp (genKey): Handle cancel case.          
38          * keycache.c: Renamed into...  2006-01-30  Timo Schulz  <[email protected]>
39          * wptKeyCache.cpp: ...this.  
40          * wptW32API.cpp (set_menu_text): Removed unused code.          * WinPT.cpp (check_readonly_attr): New.
41          (set_menu_text_bypos): New.          (load_gpg_env): Use it here.
42          * wptCrypto.h: New.          (WinPT): Make the the default key is searched in the
43          * wptMainProc.cpp (winpt_main_proc): Complete localize          secret key cache.
44          menu texts.          Change error message.
45          * wptErrors.cpp (log_debug): Use a static var so the file          * wptRegistry.cpp (regist_int_winpt): Make sure
46          is only opened once.          the register extension is only offered once to the user.
47          (debug_end): Cleanup. Currently just close the log file.          * wptKeyPropsDlg.cpp (get_photo_tmpname): Always use
48          * wptErrors.h (wipememory): New.          temp directory. Fixed a privilege problem.
49          (sfree_if_alloc): Use it here.          
50          * WinPT.cpp (WinMain): Display the min. GPGME version which  2006-01-29  Timo Schulz  <[email protected]>
51          is needed in case of an error.  
52            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Allow to use ESC
53  2005-10-17  Timo Schulz  <[email protected]>          to quit dialog.
54            * wptKeysignDlg.cpp (sig_class_dlg_proc): More space for
55          Free all memory returned by the GPGME dll with gpgme_free ().          translations. Directly return sig class.
56            (keysign_dlg_proc): Change msgbox title.
57          s/GPG_ERR_CARD_REMOVED/GPG_ERR_CARD_NOT_PRESENT.          * wptKeyEdit.cpp (signUserid): New.
58            (getUseridIndex): New.
59          * wptKeyEdit.cpp (getCardStatus): Remove dummy key.          (getKeyIndex): New.
60          (list_handler): With user interaction to allow to insert          (getSigIndex): New.
61          the card into the reader.          (clear): New.
62          * wptKeyEditCB.cpp (gpg_edit_card): Likewise.          * wptKeyEditCB.cpp (cmd_sign_handler): Allow to select
63          (common_card_handler): Fixed incorrect command string.          user-id first.
64          * wptKeyPropsDlg.cpp (get_card_type): New.          * wptKeyEditDlgs.cpp (lookup_cmd): New.
65          (keyprops_dlg_proc): Show card information if present.          (do_editkey_sign_userid): New.
66          * wptFileManager.cpp (secret_key_available): Make the code faster.          (do_init_cmdlist): Differ between key pairs and public keys
67                    and allowed actions.
68            (keyedit_change_ownertrust): Show msgbox on success.
69  2005-10-16  Timo Schulz  <[email protected]>          (get_default_key): New.
70            * wptPassphraseDlg.cpp (request_passphrase): Reset @cancel.
71          * wptPassphraseCB.cpp (passphrase_cb): Fix problem          
72          with hanging GPG process on cancel.  2006-01-27  Timo Schulz  <[email protected]>
73          * keycache.c (gpg_keycache_release): Release all objects.  
74            * WinPT.cpp (WinMain): Set minimal list mode as default.
75  2005-10-15  Timo Schulz  <[email protected]>          * wptKeyCache.cpp (gpg_keycache_sync): Handle special v3 keys.
76            
77          * wptCardEdit.cpp (setResult, getResult): New.  2006-01-25  Timo Schulz  <[email protected]>
78          (reset): New.  
79          (getCardStatus): Check return codes and release all objects          * wptRegistry.cpp (get_reg_entry_gpg): Return NULL if
80          in case of errors.          the key exist with no value.
81          * wptCardEditCB.cpp (change_pin_handler): Call reset()          * wptMDSumDlg.cpp (mdsum_dlg_proc): Translate string.
82          before quit.          * wptKeysignDlg.cpp (do_fill_seclist): Select the
83          (editcard_handler): Likewise.          default key if possible.
84          (common_card_handler): New.          * wptFirstRunDlg.cpp (firstrun_dlg_proc): Directly
85          * wptCardDlg.cpp (card_changepin_dlg_proc): Also unmask          return the choice.
86          the old PIN when 'Hide Typing' is disabled.          * wptKeylist.cpp (get_key_desc): New.
87          * wptPassphraseCB.cpp (passphrase_cb): The card detection          (keylist_upd_key): Free memory.
88          works again. Support to re-enter passphrase.          * wptKeyCache.cpp (gpg_keycache_get_default_key): New.
89            (gpg_keycache_set_default_key): New.
90  2005-10-14  Timo Schulz  <[email protected]>          * WinPT.cpp (gpg_prefs_ok): New.
91            (WinMain): Only start gpg prefs if needed.
92          * wptCardDlg.cpp (card_status): New fields for the          
93          fingerprint creation time. Display card info as title.  2006-01-24  Timo Schulz  <[email protected]>
94          (get_printable_version): New.  
95          * wptCardEditCB.cpp (editcard_handler): Fix problem          * wptKeyManager.cpp (km_dropped_file_import): New.
96          with the counter comparison.          * wptKeyManagerDlg.cpp (keylist_subclass_proc): Allow
97            to drop files and try to import them.
98  2005-10-11  Timo Schulz  <[email protected]>          (keymanager_dlg_proc): Pass kmi as opaque to the subclass
99            proc.
100          Port to GPGME basically finished.          
101    2006-01-23  Timo Schulz  <[email protected]>
102  2005-09-20  Timo Schulz  <[email protected]>  
103            * wptMDSumDlg.cpp (mdsum_dlg_proc): Allow to send output
104          * wptFileManagerDlg.cpp (file_secdel_confirm_dlg_proc):          to the clipboard.
105          Do not use gpgme_recipients_t but the listview directly          * wptKeyEditDlgs.cpp (keyedit_change_ownertrust): New.
106          to add the selected files.          (do_editkey_enable_disable): New.
107            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Usability fix. Do not
108  2005-09-07  Timo Schulz  <[email protected]>          close the dialog if the user cancelled the ownertrust dialog.
109            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Return TRUE to indicate
110          * Make sure all GetOpenFileName filters are terminated by \0\0.          an update of any value.
111            
112  2005-09-01  Timo Schulz  <[email protected]>  2006-01-21  Timo Schulz  <[email protected]>
113    
114          * wptW32API.cpp (center_window): New argument for parent window.          * wptKeyCache.cpp (keycache_next_key): Handle the case
115          Change all callers.          that there is a secret key without a public part.
116          (center_window2): Likewise.          * wptKeyserver.cpp (kserver_save_conf): Save ports.
117          * GPGME now can read gpgProgram entries with 'REG_EXPAND_SZ'.          * wptKeyserverDlg.cpp (keyserver_modify_dlg_proc):
118          * wptGPG.cpp (gnupg_backup_options): Remove param. One backup          Reset keyserver name.
119          file is enough. Changed all callers.          * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Just indicate
120            an update, do not update the cache.
121  2005-08-15  Timo Schulz  <[email protected]>          * wptFileManagerDlg.cpp (file_import_dlg_proc): Use one
122            dialog for both clipboard and file imports.
123          * wptKeyEditDlgs.cpp (do_editkey_showpref): Take care of v3 keys.          * wptKeyManager.cpp (km_file_import, km_clip_import):
124          * wptGPGOptDlg.cpp (gpgopt_dlg_proc): Fixed name of title.          Changes to support new update system.
125          * Make sure the passphrase is always overwritten before it is          (gpg_clip_import): New.
126          freed (or the function returns).          * wptKeyManagerDlg.cpp (km_gui_import): New.
127          * wptKeyPropDlg.cpp (get_pref_cipher): New.          (find_keypos): Rewritten.
128          (keyprops_dlg_proc): Use it here.          (refresh_keylist): Improved error checking.
129            
130  2005-08-06  Timo Schulz  <[email protected]>  2006-01-20  Timo Schulz  <[email protected]>
131    
132          * wptGPGME.cpp (keycache_update): Reload OpenPGP parts          * wptKeyCache.cpp (w32_tmpfile): New.
133          of the secret key.          (parse_attr_data): Use it here.
134          (keycache_init): cache name of secret keyring.          * wptGPGUtil.cpp (gpg_get_photoid_data): Reset @ndata var.
135          * wptKeyList.cpp (keylist_upd_key): Do not add long keyid.          
136          (get_key_type): Do not assume 'ultimate' means key pair.  2006-01-19  Timo Schulz  <[email protected]>
137          * wptKeyEditDlgs.cpp (diff_time): New.  
138          (keyedit_addsubkey_dlg_proc): Changed design and use          * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Do not
139          diff_time. Drop checks for invalid keylength (< 1024, > 4096)          reload the entire cache, just update the key.
140          because the combo box automatically handles this.          * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Likewise.
141          * wptKeyManager.cpp (km_set_implicit_trust): Return error code.          * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Set update flag.
142          * wptGPG.cpp (get_backup_name): New.          * wptKeyRevokersDlg.cpp (key_revokers_dlg_proc): Likewise.
143          (gnupg_backup_keyrings): Rotate backup names, from 0..3.          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Update key
144          * wptClipImportDialog.cpp (clip_import_dlg_proc): Free memory.          if need after showing the properties.
145          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use 0x short keyid and          * wptGPGMEData.cpp (gpg_data_putc): Fix off-by-one bug.
146          not the long keyid.          * wptKeyManager.cpp (km_import_file): New param. Changed
147            all callers.
148  2005-08-05  Timo Schulz  <[email protected]>          (km_import_clip): Likewise.
149            (delete_keys_from_cache): Delete secret part if available.
150          * wptListView.cpp (listview_set_item2): New.          * wptClipImportDlg.cpp (print_import_status): If there
151          * wptKeyManager.cpp (km_check_if_protected): Directly          are too many new keys, use reload code.
152          retrieve gpgme_key_t from the list.          
153          (km_check_key_status): Likewise.          2006-01-18  Timo Schulz  <[email protected]>
154          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Also use  
155          a human-readable name for secret key export.          * wptKeyEditCB.cpp (cmd_delsig_handler): Do not assume
156          Reload just the keys which were affected by updates          the self sig is always index 0. Noted by Kurt.
157          (edit-key).          * wptPassphraseCB.cpp (passphrase_dlg_proc): Do not assume
158          (update_key): New.          the key user-ID contains an email address.
159          * wptKeyList.cpp ((keylist_upd_key): Stripped down          * wptKeyEditDlgs.cpp (do_find_userid): Likewise.
160          version of keylist_add_key.          (do_editkey_deluid): Likewise.
161          * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not          (do_editkey_revuid): Likewise.
162          reload the keycache here, just flag 'update'. Give the          
163          control to the calling dialog.  2006-01-18  Timo Schulz  <[email protected]>
164          * wptKeySignDlg.cpp (keysign_dlg_proc): Use winpt_key_t  
165          as parameter. Changed all callers.          * wptListview.cpp (listview_del_sel_items): Fixed index
166          Add date of expiration to the key info.          calculation. This fixed a lot of problems with the KM listview
167          (get_expire_date): New.          update.
168          Use a checkbox to allow to ask for the cert level.          (listview_del_all): Renamed to...
169          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Do no reload          (listview_del_all_items): ..this. Changed all callers.
170          the cache.          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Just refresh
171            list when file import contained new/updated keys.
172  2005-08-04  Timo Schulz  <[email protected]>          * wptKeyManager.cpp (km_file_import): Indicate if the
173            import contained any new/update keys.
174          * wptListView.cpp (listview_scroll): New.          * wptClipImportDlg.cpp (print_import_status): Just mark
175          (listview_get_item2): New.          keys which actually changed.
176          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): If the          
177          item was found, make it visible with scrolling.  2006-01-17  Timo Schulz  <[email protected]>
178          * wptKeyManager.cpp (km_find_key): New.  
179          (keylist_subclass_proc): Support to handle some acceleators.          * wptMAPI.cpp (mapi_send_pubkey_ext): New.
180          Strg+{C, P, F, A}.          * wptKeysigDlg.cpp (do_delsig): Just flag the key, do not
181          (km_get_key_status): Get the gpgme_key_t object directly          update it.
182          from the list.          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Be more
183          * wptGPGPRefsDlg.cpp (gpgprefs_dlg_proc): Also try to set          careful about const pointers.
184          the config file (if it exists).          * wptKeyEditDlgs.cpp (get_subkey_fingerprint): Renamed to..
185          * wptKeySignDlg.cpp (keysign_dlg_proc): Use easier code          (get_subkey_keyid): ..this. Fix problem that key was updated
186          to handle the click->activate situation.          twice and this corrupted.
187          * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.          (keyedit_add_subkey): Set @lv item in the callback context.
188          Support to check the passphrase quality.          
189          * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.  2006-01-16  Timo Schulz  <[email protected]>
190          (request_passphrase): Rename 'init' to 'flags' to allow more  
191          options.          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Restore
192          * wptMAPI.cpp: Check all *alloc results.          window if it lost focus during the operation. Thanks to Kurt.
193          * wptKeyGenDlg.cpp (keygen_dlg_proc): Use a rudimentary          Update keylist when the window is enabled.
194          passphrase quality check.          (find_keypos): New.
195          * wptMDSumDlg.cpp (mdsum_dlg_proc): Use md5/sha1sum file          * wptKeyCache.cpp (keycache_next_key): Reset update status.
196          format and allow to save the checksum in a file.          (gpg_keycache_next_updated_key): New arg @r_status. Change all
197          * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Issue a warning          callers.
198          when the PGP mode is disabled.          (gpg_keycache_update_key): Different status for new and updated.
199          wptKeyEditDlgs.cpp (do_editkey_primary): Return if just          Include key signatures.
200          one user-ID exists.          * wptClipImportDlg.cpp (print_import_status): Mark all
201          (keyedit_dlg_proc): Fixed index problem.          imported keys.
202          * wptKeyPropsDlg.cpp (get_validity): New.          * wptMainProc.cpp (clip_gpg_dlg): On import refresh KM keylist.
203          (keyprops_dlg_proc): Actually show extended validity if possible.          Thanks to Kurt.
204          * wptKeyList.cpp (get_key_fpr): Support for old v3 format.          * wptKeysigDlg.cpp (recv_missing_keys): Mark all received keys.
205          (do_addkey): Use listview_add_item2 to store key as opaque          (do_delsig): Directly reload key. Thanks to Kurt.
206          param inside the list.          * wptGPGME.cpp (keycache_set_reload, keycache_get_reload):
207          * wptFileStatDlg.cpp (get_digest_algo): Add SHAxxx.          Removed.
208          (file_stat_dlg_proc): End dialog if no PGP data was found.          * wptKeygenDlg.cpp (keygen_dlg_proc): Use new update system.
209          (do_list_packets): Return the number of valid PGP packets          * wptClipImportDlg.cpp (clip_import_dlg_proc): Return
210          of the file.          FALSE if no keys were updated or operation was cancelled.
211            * wptCommonDlg.cpp (http_dlg_proc): Fix title selection code.
212  2005-08-02  Timo Schulz  <[email protected]>          * wptKeylist.cpp (get_ext_validity): Handle disabled keys.
213            * wptKeyPropsDlg.cpp (keyprops_dlg_proc):
214          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Instead of          Do not allow to change ownertrust of invalid keys.
215          using 'Default Keyserver' add the real keyserver name to          Changed translation.
216          the menu.          Slightly different user interface.
217          The rebuild command does not reload the cache any longer.          
218          Use ATTR_NAME + .asc as the filename and not keyid + .asc.  2006-11-14  Timo Schulz  <[email protected]>
219          * wptProxySettingsDlg.cpp (enable_proxy_auth): New.  
220          (keyserver_proxy_dlg_proc): Changed the design a little          * wptW32API.cpp (make_special_filename): New.
221          and add some additional sanity checks.          * wptRegistry.cpp (set_winpt_reg_prefs, get_winpt_reg_prefs):
222          * wptGPGParser.cpp (commit_gpg_options): Use W32 line endings.          Removed 'KeyServer' item.
223          This fixes the problem that the GPG option dialog does not show          * wptPreferencesDlg.cpp (prefs_dlg_proc): Remove keyserver
224          very nice lines.          config item.
225          * wptGPGOptDlg.cpp (gpgopt_dlg_proc): s/options/config.          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Disable group
226          * wptKeySigDlg.cpp (keysig_dlg_proc): If a single key is selected          window until we really use it.
227          check for 'NOKEY' before asking a keyserver.          * wptKeyserver.cpp (kserver_save_conf): New.
228          * wptKeyManager.cpp (km_delete_keys): Do not set 'refresh' flag.          (wsock_end): Save keyserver config file.
229          If a lot of keys were selected, ask if the user wants to confirm          * wptKeyserverDlg.cpp (keyserver_edit): New.
230          each delete procedure or allow to cancel the operation.          (keyserver_remove): New.
231          * wptFileManagerDlg.cpp (file_import_dlg_proc): Display how much          (keyserver_add): New.
232          keys the file contain.          (fill_keyserv_types): New.
233          * wptKeyList.cpp (get_key_algo): Beautified.          (keyserver_modify_dlg_proc): New.
234          (get_key_status): Drop the "[XYZ] Unknown" format, it is too          (keyserver_dlg_proc): Provide context menu to modify the
235          confusing for users.          keyserver list.
236          * wptKeyManager.cpp (km_check_key_status): Adjustments for the          (keyserver_build_list): Remove 'proto' column because it is
237          new code.          not really useful.
238          (km_check_for_seckey): Reset utrust parameter. Return -1 for          * WinPT.cpp (load_keyserver_conf): Store keyserver.conf at
239          invalid (exp+rev+dis) keys.          $APPDATA\winpt. If keyserver.conf exists in the current folder
240            move it to the new destination.
241  2005-08-01  Timo Schulz  <[email protected]>          
242    2006-11-13  Timo Schulz  <[email protected]>
243          * wptKeyserver.cpp (kserver_urlencode): Use unsigned for all given  
244          sizes.          * wptPreferencesDlg.cpp (prefs_dlg_proc): Changed translation.
245          (check_IP_or_hostname): New.          * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Likewise.
246          (kserver_load_conf): Correct finger URL parsing problem.          * wptAboutDlgs.cpp (about_dlg_proc): Make sure GPG about
247          (port_from_proto): New.          dialog isn't shown twice.
248          (keyserver_load_conf): Guess the port.          * wptKeyCache.cpp (gpg_keycache_next_updated_key): New.
249          (keyserver_set_default): Allocate new buffer.          (gpg_keycache_update_key): Set update flag.
250          (kserver_load_conf): Likewise.          * wptKeyManagerDlg.cpp (refresh_keylist): New.
251          * wptHTTP.c (parse_reqline, parse_request): Removed.          (keymanager_dlg_proc): Use new refresh system for keyservers.
252          Use WinPT error code and remove all unused code.          * wptKeyserverSearchDlg.cpp (kserver_search_dlg_proc):
253          * wptKeyserverDlg.cpp (keyserver_dlg_proc): Properly handle finger URLs.          Update keycache.
254          * wptProxySettingsDlg.cpp (read_proxy): Simple check for          * wptKeyserverDlg.cpp (hkp_dlg_proc): Likewise.
255          invalid host/IP addresses.          * wptKeyserver.cpp (socket_read_ext): New.
256          * wptGPG.cpp (multi_gnupg_path): Return allocated buffer.          (kserver_recv_key_ext): New.
257          Changed all callers.          (kserver_read_config, kserver_write_config): Removed.
258          * wptPreferencesDlg.cpp (prefs_dlg_proc): At the first start,          
259          automatically set 'backup to homedir'.  2006-01-12  Timo Schulz  <[email protected]>
260          * WinPT.cpp (WinMain): Use desktop window as the parent window  
261          to load 'first-start' dialogs.          * wptListView.cpp (listview_set_image_list): Make icons
262          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not set 'refresh'          always transparent.
263          flag after deleting keys.          * wptImageList.cpp (imagelist_load): New icons.
264          * wptFirstRunDlg.cpp (first_run_dlg_proc): Use a new structure          * wptGPGMEData.cpp (gpg_data_putc): New.
265          for passing the arguments.          * wptKeyManagerDlg.cpp (load_toolbar): Include new icons.
266          * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Do not store "" for          (keymanager_dlg_proc): Add tooltips.
267          the OptFile. This was responsible for a lot of 'General Errors'          * wptKeyserverDlg.cpp (keyserver_list_build): Use icons.
268          after the first start related to key caching.          * wptKeyserver.cpp (URL_encode): New.
269          Automatically set the gpg binary if possible.          (URL_must_encode): New.
270            (kserver_search_init): Properly encode pattern.
271  2005-07-22  Timo Schulz  <[email protected]>          (parse_iso_date): New.
272            (keyserver_search): Be more strict to prevent buffer overflows.
273          * wptMainProc.cpp (winpt_main_proc): Take care for shutdown          
274          messages and make sure WinPT make a keyring backup in this case.  2006-01-11  Timo Schulz  <[email protected]>
275          * wptGPGME.cpp (keycache_reload): Do not rebuild the signature  
276          cache each time. Just do it on startup.          * wptKeyManagerDlg.cpp (load_toolbar): 2 new icons.
277          * wptKeyManager.cpp (km_key_is_v3): Use new ATTR_VERSION.          (keymanager_dlg_proc): Adjust tooltips.
278          * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Assume the v3 flag          (update_ui_items): Handle new icons.
279          was set by the calling function.          * wptImageList.cpp (imagelist_load): New icons.
280          * wptKeyGenDlg.cpp (keygen_wizard_dlg_proc): Ask for backups.          
281          (keygen_dlg_proc): Only add the generated key to the keycache  2006-01-10  Timo Schulz  <[email protected]>
282          and do not reload the entire cache.  
283          * wptKeyManager.cpp (km_delete_keys): Store the number of keys          * wptMainProc.cpp (winpt_main_proc): Restore iconic
284          because in each loop iteration it will be new calculated.          File/Key Manager windows if needed.
285          * wptListView.cpp (listview_del_items): Likewise.          * wptGPGPrefsDlg.cpp (gpg_prefs_dlg_proc): Disable button.
286          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Directly add the          * wptSiglist.cpp (init_cmp): New.
287          generated key to the list instead of reloading the entire cache.          (siglist_sort): New.
288          * wptKeyEditDlgs.cpp (parse_preflist): Support fpr SHAnnn.          (siglist_cmp_cb): New.
289            (siglist_add_key): Force NOKEY status when key was not found.
290            * wptKeysigDlg.cpp (recv_single_key): New.
291            (recv_missing_keys): Reload entire key when more than one key
292            was fetched.
293            (keysig_dlg_proc): Support sorting the listview items.
294            
295    2006-01-09  Timo Schulz  <[email protected]>
296    
297            * WinPT.cpp (load_gettext): Remove file locking.
298            (WinMain): Use pre-defined autoconf constants.
299            * wptW32API.cpp (init_file_lock, release_file_lock): Deleted.
300            * wptGPG.cpp (check_gnupg_engine): Add param @need_gpg_ver.
301            Change all callers.
302            
303    2006-01-07  Timo Schulz  <[email protected]>
304    
305            * wptKeyManager.cpp (km_refresh_from_keyserver): Summarize
306            import status if just one key was selected.
307    
308    2006-01-04  Timo Schulz  <[email protected]>
309    
310            * wptGPGMEWrapper.c (setChangeVersion): New.
311            (exportToBuffer, exportToFile, exportToClipboard): New.
312            (setArmor, getArmor): New.
313            * wptKeylist.cpp (get_key_expire_date): Return locale specific
314            date.
315            (keylist_get_recipients): Do not fetch the key again.
316            (keylist_enum_recipients): Likewise.
317            * wptGPG.cpp (create_empty_keyring): New.
318            (get_gnupg_keyring): Fixed 'strict' logic.
319            * wptKeyManagerDlg.cpp (update_ui_items): Disable some buttons
320            when no secret keys are available.
321            * wptKeyManager.cpp (km_send_to_mail_recipient): Release key data
322            before the MAPI call is made.
323            * WinPT.cpp (check_for_empty_keyrings): New.
324            
325    2006-01-03  Timo Schulz  <[email protected]>
326    
327            * pubkey.ico, keypair.ico: New.
328            * wptListview.cpp (listview_add_item_image): New.
329            (listview_set_image_list): New.
330            * wptSigList.cpp (siglist_add_key): Correct order of the sigs.
331            * wptKeyProps.cpp (keyprops_load_photo): Adjusted for new
332            JPEG data.
333            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not allow to
334            add items to revoked keys.
335            * wptKeyManager.cpp (km_delete_keys): Do not use uninitialized
336            keyid buffer. This fixes a segv.
337            * wptKeyserver.cpp (spawn_application): New.
338            (ldap_recv_key): Support recent protocols and several cleanups.
339            * wptKeylist.cpp (do_addkey): Set image which depends on the
340            key type.
341            (keylist_enum_recipients): Cleanups.
342            (keylist_get_keyflags): Rewritten.
343            * wptKeyCache.cpp (free_attr_list): New.
344            (parse_attr_list): New.
345            (parse_attr_data): New.
346            (keycache_update_photo): New.
347            (keycache_update_photos): New.
348            (gpg_keycache_update_key): Automatically reload photos if needed.
349            * wptGPGUtil.cpp (create_process): New param @err. Change all
350            callers.
351            (map_tmpfile): New param @nread. Change all callers.
352            (gpg_get_photoid_data): New.
353            * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not allow to
354            add items to revoked keys.
355            (subkey_init_list): Store gpgme key object.
356            
357    2005-12-29  Timo Schulz  <[email protected]>
358    
359            * wptKeygenDlg.cpp (keygen_dlg_proc): Request passphrase dynamically.
360            (gpg_genkey_params): Simplified.
361            * wptPreferencesDlg.cpp (prefs_dlg_proc): Fix problem with mutal
362            exclusion of the dialog items.
363            * wptAboutDlgs.cpp (about_winpt_dlg_proc): Allow to use ESC to
364            quit the dialog.
365            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
366            * wptMDSumDlg.cpp (mdsum_dlg_proc): Handle WM_SYSCOMMAND.
367            (id2algo): New.
368    
369    2005-12-28  Timo Schulz  <[email protected]>
370    
371            * wptKeyserverDlg.cpp (show_imported_keys): Decode user IDs.
372            * wptKeyRevokersDlg.cpp (key_revokers_dlg_proc): Likewise.
373            * wptKeylist.cpp (keylist_udp_key): Likewise.
374            * wptKeyManager.cpp (key_get_clip_info, key_get_info): Likewise.
375            * wptClipDecryptDlg.cpp (clip_decrypt_dlg_proc): Fix problem
376            when no signing key was found.
377            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Properly decode
378            user IDs.
379            (translate_popup_strings): s/Revoke/Revoke Cert.
380            * wptKeyEditDlgs.cpp (do_init_keylist): Do not assume a
381            0x prefixed keyid.
382            * wptKeyEditCB.cpp (editkey_command_handler): Also reset
383            step in case of a bad passphrase.
384            
385    2005-12-27  Timo Schulz  <[email protected]>
386    
387            * wptListView.cpp (listview_set_view): New.
388            (listview_del_column): New.
389            * wptW32API.cpp (get_locale_date): New.
390            (get_menu_state): New.
391            (force_foreground_window): New.
392            * wptVerifyList.cpp (strtimestamp): Support for
393            locale date formats.
394            * wptGPGUtil.cpp (gpg_revoke_cert): Handle bad
395            passphrases.
396            * wptKeyEditCB.cpp (editkey_command_handler): Immediately
397            return when a bad passphrase was submitted.
398            * wptKeyRevokersDlg.cpp (keyrevokers_dlg_proc): Change
399            column order.
400            * wptKeylist.cpp (keylist_upd_col): New.
401            * wptKeyManagerDlg.cpp (update_ui_items): Deactivate
402            'Revocation' for public keys.
403            (translate_menu_strings): s/Revoke/Revoke Cert.
404            (modify_listview_columns): New.
405            
406    2005-12-18  Timo Schulz  <[email protected]>
407    
408            * wptKeyManagerDlg.cpp (save_column_size): New.
409            (restore_column_size): New.
410            (keymanager_dlg_proc): Save and restore column sizes for
411            the listview control.
412            * wptKeyManager.cpp (key_get_info): New.
413            (km_delete_keys): Use it here to have a consistent message.
414            Use stored key context and not the column data.
415            (km_enable_disable_key): Likewise.
416            (km_send_to_keyserver): Likewise.
417            (km_set_implicit_trust): Likewise.
418            * wptKeylist.cpp (get_key_pubalgo2): New.
419            
420    2005-12-17  Timo Schulz  <[email protected]>
421    
422            * wptUTF8.cpp: Removed unused charset array.
423            * wptSigList.cpp (siglist_build): Increase size for 'class'
424            column.
425            * wptGPG.cpp (get_gnupg_path): Simplified.
426            * WinPT.cpp (load_gpg_env): New.
427            (check_crypto_engine): Return type is now bool.
428            * wptRegistry.cpp (is_gpg4win_installed): New.
429            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): More consistent
430            dialog design.
431            * wptKeyManagerDlg.cpp (translate_menu_strings): New.
432            (translate_popupmenu_strings): New.
433            * wptKeyEditDlgs.cpp (is_jpg_file): New.
434            
435    2005-12-13  Timo Schulz  <[email protected]>
436    
437            * wptCommonDlg.cpp (http_dlg_proc): Localized missing elements.
438            * wptKeyManagerDlg.cpp (change_edit_menu): New.
439            (change_key_menu): Renamed from...
440            (menu_gpg_readonly): ..this.
441            (clip_contains_pgpkey): New.
442            (update_ui_items): Do not allow to sign expired keys.
443            (keymanager_dlg_proc): Same for popup menu.
444            * wptKeyPropsDlg.cpp (parse_preflist): Fixed string handling.
445            * wptKeyCache.cpp (copy_uid_prefs):
446            (gpg_keycache_sync): Copy uid prefs so the key property
447            dialog show the correct values. Thanks to Shane.
448            
449    2005-12-11  Timo Schulz  <[email protected]>
450    
451            * wptW32API.cpp (get_file_version): New.
452            * wptGPGUtil.cpp (create_process): Always hide window.
453            * wptClipEditDlg.cpp (clipedit_dlg_proc): Use 'Close'
454            instead of 'Exit'.
455            * wptKeyManager.cpp (km_http_import): New filename
456            generation code.
457            (km_send_to_mail_recipient): Cleanups.
458            * wptKeyEditDlg.cpp (showpref_dlg_proc): Localize dialog.
459            * wptKeyManagerDlg.cpp (update_ui_items): Handle the case
460            when multiple keys are selected.
461            (popup_multiple): New.
462            * WinPT.cpp (WinMain): Check that the PTD.dll and WinPT.exe
463            file versions are equal. Rewrote --keymanager code.
464            
465    2005-12-08  Timo Schulz  <[email protected]>
466    
467            * wptKeyserverDlg.cpp (show_imported_keys): Enhanced.
468            (hkp_recv_key2): Show user-id of the imported key instead
469            of just the pattern.
470            * wptFileCBS.cpp (read_cb): Changed to W32 API.
471            (write_cb): Likewise. Create output file on demand.
472            (gpg_file_data_new): Adjusted code for new API.
473            * wptKeyEdit.cpp (cleanKey): New.
474            * wptKeyEditCB.cpp (cmd_clean_handler): New.
475            (editkey_command_handler): Call clean handler.
476            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Sort
477            keylist after inserting items.
478            * wptFileManager.cpp (fm_set_status): Take care of
479            cleartext sigs.
480            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Make
481            sure can be closed.
482            
483    2005-12-07  Timo Schulz  <[email protected]>
484    
485            * wptOwnertrustDlg.cpp (ownertrust_dlg_proc):
486            Use 'Close' instead of 'Exit'.
487            * wptKeyEditDlgs.cpp (keyedit_dlg_proc): Likewise.
488            * wptGPG.cpp (gnupg_backup_keyrings): Use $APPDATA
489            as the destination dir. Thanks to Werner.
490            * wptRegistry.cpp (is_gpgee_installed): New.
491            (regist_inst_winpt): Do not register file extensions
492            if GPGee is available.
493            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Limit
494            use of local vars.
495            * wptPreferencesDlg.cpp (prefs_dlg_proc): Make sure
496            no illegal backup mode is saved.
497            * wptKeyserverDlg.cpp (show_imported_key): New.
498            (hkp_recv_key2): Show imported keys if the blob
499            contained more than one.
500            
501    2005-12-06  Timo Schulz  <[email protected]>
502    
503            * WinPT.cpp (WinMain): Load the gettext environment soon
504            as possible so all 'first start' messages are localized.
505            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): If a single key is
506            received via the keyserver, return the gpgme key context on
507            success and add it directly to the list.
508            * wptKeyserverDlg.cpp (keyserver_dlg_proc): Support a param
509            to store the key.
510            (hkp_recv_key2): Add extra param for the fingerprint.
511            (hkp_recv_key): Call hkp_recv_key2 without fingerprint.
512            
513    2005-12-02  Werner Koch  <[email protected]>
514    
515            * wptKeyEditDlgs.cpp (subkey_list_init): Avoid trigraphs.
516    
517    2005-12-01  Timo Schulz  <[email protected]>
518    
519            * wptClipVerifyDlg.cpp (clipverify_dlg_proc): Use new semantic
520            for get_gpg_sigstat().
521            * wptGPGME.cpp (get_gpg_sigstat): New. It is now a function.
522            As a macro strings will not be translated at runtime.
523            * wptKeyserverDlg.cpp (hkp_recv_key): Properly detect if we
524            need to update the cache. Thanks to Jan-Oliver.
525            * wptKeyImportStatusDlg.cpp (import_status_dlg_proc): Localized.
526            
527    2005-11-30  Timo Schulz  <[email protected]>
528    
529            * wptW32API.cpp (dialog_box_param): Removed LANG_DE code.
530            * WinPT-en.rc: Removed string list.
531            * wptFileSaveDlg.cpp (file_save_dlg_proc): Localized
532            * wptKeylist.cpp (keylist_build): Cannot use global
533            arrays for the columns due to gettext.
534            
535    2005-11-29  Timo Schulz  <[email protected]>
536    
537            * WinPT.cpp (WinMain): Modify --keymanager. If an instance
538            is running, just send the command to open the manager.
539            
540    2005-11-25  Timo Schulz  <[email protected]>
541    
542            * wptKeyEditCB.cpp (addrev_cmd_handler): Avoid hanging
543            process when the revoker is already there.
544            
545    2005-11-24  Timo Schulz  <[email protected]>
546    
547            * wptPassphraseCB.cpp (passphrase_callback_proc): Localize
548            signing dialog items.
549            * wptMainProc.cpp (confirm_delclip_dlg): Localize dialog items.
550            * wptAboutDlgs.cpp (about_winpt_dlg_proc): Disable help for now.
551            * wptMDSumDlg.cpp (mdsum_dlg_proc): Localize missing items.
552            * wptKeylist.cpp (key_check_validity): Likewise.
553            * wptKeyEditDlgs.cpp (keyedit_addsubkey_dlg_proc): Likewise.
554            
555    2005-11-22  Timo Schulz  <[email protected]>
556    
557            * wptCardEditCB.cpp (gpg_write): Due to removed _DEBUG
558            macro debug output will be generated in release version.
559            
560    2005-11-21  Timo Schulz  <[email protected]>
561    
562            * WinPT.cpp (WinMain): Implement --stop switch.
563            * wptClipEditDlg.cpp (clip_edit_dlg_proc): Localize
564            missing string.
565            * wptPreferencesDlg.cpp (prefs_dlg_proc): Likewise.
566            * wptKeygenDlg.cpp (keygen_dlg_proc): Verify valid context
567            first. Thanks to Ralf.
568            * wptFileManagerDlg.cpp (update_ui_items): New.
569            * wptFileManager.cpp (fm_set_status): New sigmode param.
570            Changed all callers.
571            
572    2005-11-17  Timo Schulz  <[email protected]>
573    
574            * wptGPG.cpp (check_last_gnupg_access): Kludge to avoid that
575            the cache will be loaded twice.
576            * wptRegistry.cpp (regist_inst_winpt): More comments.
577            * wptKeyManagerDlg.cpp (do_center_window): Make sure that
578            neg. coordinates are never used.
579            * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Localize all
580            strings.
581            * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.
582            * wptFileManagerDlg.cpp (filemanager_dlg_proc): Localize menu
583            and save 'AlwaysOnTop' in the registry.
584            
585    2005-11-16  Timo Schulz  <[email protected]>
586    
587            * WinPT.cpp (check_crypto_engine): Min is now GPG 1.4.2.
588            * wptKeylist.cpp (keylist_add_key): Add disabled keys in list
589            mode.
590            * wptPreferencesDlg.cpp (prefs_dlg_proc): Localize all strings.
591            * wptRegistry.cpp (regist_inst_winpt): Set install directory.
592            Useful for other programs to figure out the path to the EXE.
593            
594    2005-11-14  Timo Schulz  <[email protected]>
595    
596            * wptGPG.cpp (check_gnupg_engine): Fix version check.
597            * wptMainProc.cpp (winpt_main_proc): Check keyring
598            file permissions always and do not use interative output
599            when the windows session ends.
600            * wptProxySettingsDlg.cpp (proxy_settings_dlg_proc):
601            Localize all strings.
602            * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.
603            * wptGPGPrefsDlg.cpp (gpg_prefs_dlg): Likewise.
604            * wptKeyEditDlgs.cpp (do_init_keylist): Skip all
605            non-valid keys.
606            
607    2005-11-12  Timo Schulz  <[email protected]>
608    
609            Fix more GCC warnings.
610    
611    2005-11-10  Timo Schulz  <[email protected]>
612    
613            * wptClipSignDlg.cpp (one_key_proc): Use
614            release_gpg_passphrase_cb() to free the context.
615            * wptListView.cpp (listview_deselect_all): New.
616            * wptMAPI.cpp (mapi_send_pubkey): Works again.
617            * wptFileManagerDlg.cpp (file_manager_dlg_proc): Support encrypt &
618            zip.    
619            * wptPassphraseCB.cpp (passphrase_callback_proc): Fix passphrase
620            caching for signing operations.
621            * wptKeyManager.cpp (km_send_to_mail_recipient): Works again.
622            * wptFileManager.cpp (fm_send_file): Likewise.
623            (fm_encrypt_into_zip): New.      
624            
625    2005-11-09  Timo Schulz  <[email protected]>
626    
627            * wptNLS.c (get_gettext_langid): Map user language id to
628            printable gettext language strings.
629            * wptRegistry.cpp (get_reg_entry_mo): Support for the
630            gettext environment.
631            * wptFileManager.cpp (fm_encrypt): Close all files before
632            the wipe procedure is called.
633            * wptVerlist.cpp (verlist_add_sig): Handle the case the
634            issuer is not valid but the signature is.
635            (verlist_add_sig_log): Likewise. Thanks to the folks on
636            winpt-users.
637            
638    2005-11-08  Werner Koch  <[email protected]>
639    
640            * SAFE.ICO, SIGN.ICO: Fixed capitalization.
641            * WinPT-en.rc: Ditto.
642            * winpt_km.ico:  Moved from ../.
643    
644            * Makefile.am (resource_files): Add missing backslash.
645    
646    2005-11-08  Timo Schulz  <[email protected]>
647    
648            More minor changes to avoid GCC warnings.
649            
650            * wptGPG.cpp (check_homedir): Free memory in case of errors.
651            (multi_gnupg_path): Add strict mode. If non-strict mode return
652            the folder even if it does not exist.
653            (check_for_gpgwin): New.
654            * wptKeyserverDlg.cpp (hkp_recv_key): Make sure import_res is
655            initialized.
656            * wptRegistry.cpp (get_reg_entry_gpg4win): New.
657            (get_reg_entry_mo): Support for gpg4win.
658            
659    2005-11-07  Timo Schulz  <[email protected]>
660    
661            * wptMainProc.cpp (winpt_main_proc): Disable
662            some menu items when no secret key is available.
663            
664    2005-11-05  Timo Schulz  <[email protected]>
665    
666            More minor changes to avoid GCC warnings.
667            
668            * wptErrors.cp (winpt_strerror): Return w32
669            formatted error and do not use 'break'.
670            
671    2005-11-04  Werner Koch  <[email protected]>
672    
673            * WinPT-en.rc: Fixed locations of icons.
674    
675    2005-11-03  Timo Schulz  <[email protected]>
676    
677            A lot of minor changes to avoid GCC warnings.
678    
679            * wptGPG.cpp (get_gnupg_keyring): Only check size for
680            public keyring.
681            * wptKeyManager.cpp (km_update_default_key_str): Do
682            not issue a bug message when no secret key was found.
683            * wptGPGPrefsDlg.cpp: Replace "" with NULL in the name struct.
684            
685    2005-11-02  Werner Koch  <[email protected]>
686    
687            * WinPT.cpp (WinMain): Disabled PTD version tests.
688            (check_crypto_engine): Fixed version check for scard.
689    
690            * wptErrors.cpp (debug_end): Add dummy function.
691    
692            * Makefile.am (code_files): Added wptCardEditCB.cpp and
693            wptKeyEditCB.cpp.
694    
695    2005-10-31  Werner Koch  <[email protected]>
696    
697            * wptCurrWnd.cpp: Include wptVersion.h to get prototypes of PTD
698            functions.
699    
700            * wptKeyEditDlgs.cpp: Include oleauto.h
701            * wptKeyEdit.cpp: Include time.h.
702            * wptRegistry.cpp (gpg_filetypes): New from ../Include/wptGPG.h.
703            * wptGPGUtil.cpp (gpg_manage_ownertrust): s/export/exportflag/.
704    
705            * Makefile.am (code_files): Add wptGPGUtil.cpp, wptCardEdit.cpp,
706            wptKeyEdit.cpp and wptKeycache.cpp.
707    
708            * wptPassphraseCB.cpp: Fixed spelling of wptKeylist.h
709            * wptImportList.cpp (implist_load): Use remove and not unlink.
710            * wptGPG.cpp: Fixed spelling of wptGpgCmds.h
711            * wptImportList.cpp (implist_load): Use remove and not unlink.
712            * wptKeyManager.cpp (km_http_import): Ditto
713            * wptMainProc.cpp: Include wptCrypto.h
714            * wptKeyManager.cpp: Ditto.
715            * wptFileManager.cpp: Ditto.
716            * wptImportList.cpp (parse_colon_key): Need to cast argument for
717            isdigit.  Include ctype.h.
718            * wptGPG.cpp: Include shlobj.h.
719    
720            Fixed double inclusion of windows.h.
721            
722            * Makefile.am (bin_PROGRAMS): Don't build KeyManagerExe for now.
723            * wptKeylist.cpp (get_key_created): Broke up trigraph.
724            (get_key_status): Removed dangerous use of sprintf.  Still other
725            flaws present, see comment.
726    
727            * wptCardPCSC.c: Don't include winscard.h.
728            (pcsc_readerstate_t, pcsc_context_t): New.  Changed call users to
729            use these types.
730            (PCSC_): Added a lot of constants, all taked from GnuPG 1.9.
731            (SCARD_S_SUCCESS): Changed all compares to test the value directly
732            against zero.
733    
734            * WinPT.cpp: Include wptCrypto.h.
735            (WinMain): Don't shard S. Removed usunsed variable SIZE.
736            * Makefile.am (code_files): Actually add files by adding a first
737            backslash.
738            * wptMDSumDlg.cpp: Include wptCrypto.h.
739            * wptProxySettingsDlg.cpp: Included ctype.h.
740            * wptKeysigDlg.cpp: Fixed spelling of wptKeylist.h.
741            * wptKeysignDlg.cpp: Ditto
742            * wptKeyRevokersDlg.cpp: Ditto. Fixed spelling of wptW32API.h.
743            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Replaced unlink by remove.
744            Removed unused variable.
745            * wptClipVerifyDlg.cpp (show_notation_data): s/not/nota/ due to
746            silly c++ operator synonyms.
747            * wptKeyEditDlgs.cpp: Include time.h.
748            * wptClipDecryptDlg.cpp: Include wptCrypto.h to define PGP_MESSAGE.
749            * wptFileManagerDlg.cpp: Ditto.
750            (space_wipefrees_dlg_proc): Replaced unlink by remove; it doesn't
751            matter if it does an rmdir for a directory.
752    
753            Fixed include of resource.h which is not anymore in the top
754            directory.
755    
756    2005-10-28  Werner Koch  <[email protected]>
757    
758            * wptProxySettingsDlg.cpp (check_number): Cast isdigit() arg to
759            unsigned.  Never ever use a possible signed char as argument for
760            ctype tests.  An alternative is to first test using isascii ().
761            (keyserver_proxy_dlg_proc): Removed unused variable.
762    
763    2005-10-27  Timo Schulz  <[email protected]>
764    
765            * wptKeyPropsDlg.cpp (get_validity): Take care of disabled keys.
766            * wptKeylist.cpp (keylist_add_key): Check global key flag to
767            see if the key is disabled and not each subkey.
768            (seclist_init): Likewise.
769            * wptClipDecryptDlg.cpp (gpgme_op_clip_decrypt): Use
770            gpgme_op_decrypt_verify.
771            (clip_decrypt_dlg_proc): Fixed fingerprint
772            to keyid conversation. This also fixes a crash.
773            * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Likewise.
774            * wptKeyEditDlgs.cpp (do_editkey_expire): Ask if the key
775            already expired if the user wants to change the date.
776            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Replace old
777            'v3 sig' option with the 'ask cert level' option. Sync
778            with global preferences.
779            * wptKeySignDlg.cpp (keysign_dlg_proc): Watch if the
780            gpg.conf contains 'ask-cert-level'. If not disable button.
781            * wptKeySigDlg.cpp (keysig_dlg_proc): Automatically disable
782            the button when the key is available.
783            Reload key directly, not the entire cache.
784            
785    2005-10-26  Timo Schulz  <[email protected]>
786    
787            * wptFileManager.cpp (is_floppy_disc): Prevent very unlikely but
788            possible overflow.
789            (is_openpgp_ext): Compare case insentensive.
790            (add_single_file): New.
791            (fm_add_opened_files): Support multi file selection.
792            * wptKeyPropsDlg.cpp (do_change_ownertrust): Removed.
793            * wptKeyManager.cpp (km_enable_disable_key): Do not set cache
794            reload flag. Just update the single key.
795            * wptFileManagerDlg.cpp (file_encrypt_dlg_proc): Remove static var
796            and disable anonymize recipient for now.
797    
798            Begin to port code to GCC. Fix all warning issued by the gcc
799            compiler.
800    
801    2005-10-25  Timo Schulz  <[email protected]>
802    
803            * wptGPGUtil.cpp (create_process): Hide window.
804            * wptKeyPropsDlg.cpp (get_photo_tmpname): New.
805            * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Remove
806            static var 'enable'.
807            * wptKeygenDlg.cpp (keygen_dlg_proc): Likewise.
808            (gpg_genkey_params): Make sure all primary keys are capable
809            for signing and certification.
810            * wptKeySigDlg.cpp (is_sig): If no item is selected, return 0.
811            * wptGPG.cpp (gnupg_access_keyring): Check return value for
812            NULL. Noted by Ralf.
813            (get_gnupg_prog): Simplified.
814            (check_homedir): Fixed. Return 0 when the dir is successfully created.
815            * wptKeyManagerDlg.cpp (km_file_import): Use the hourglass to
816            indicate a pending GPG process.
817            * wptFileManager.cpp (op_begin, op_end): New. Indicate an start
818            and and of an operation. For now just the cursor changes.
819            (fm_parse_command_line): Remove debug output. Thanks to Ralf again.
820            * WinPT.cpp (WinMain): Check if there is already an instance and
821            set a variable early as possible.
822            (load_gettext): If a previous instance was found, do not output
823            any errors. Kudos to Ralf.      
824    
825    2005-10-24  Timo Schulz  <[email protected]>
826    
827            * wptPassphraseCB.cpp (passphrase_callback_proc): Allow to use
828            pre-defined recipients.
829            (release_gpg_passphrase_cb): Release recipients.
830            * wptKeyPropsDlg.cpp (keyprops_load_photo): Set photo-id
831            validity if needed.
832            (keyprops_dlg_proc): Issue a warning if the photo is valid.
833    
834    2005-10-23  Timo Schulz  <[email protected]>
835    
836            * wptFileManager.cpp (fm_get_file_type): Detect detached sigs.  
837            * wptKeyList.cpp (keylist_cmp_cb): Take care of expired/revoked keys.
838            (get_ext_validity): New.
839            * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Several cleanups.
840            * wptClipEditDlg.cpp (load_clipboard): Factored out some code into
841            this function.
842            (load_clipboard_from_file): Likewise.
843            (save_clipboard_to_file): New.
844            * wptKeyManagerDlg.cpp (keyprops_dlg_proc): Fix stack overflow.
845    
846    2005-10-22  Timo Schulz  <[email protected]>
847    
848            Localized a lot of more strings.
849    
850            * wptMainProc.cpp (load_smartcard): New.
851            * wptFileManager.cpp (fm_parse_command_line): Simplify code.
852            (fm_check_armor_type): Add new arg. Change all callers.
853            (fm_get_file_type): Likewise.
854            * wptKeyPropsDlg.cpp (display_key_info): New.  
855            (keyprops_show_photo): Factored out some code into..
856            (keyprops_load_photo): ..this function.
857    
858    2005-10-21  Timo Schulz  <[email protected]>
859    
860            * wptFileManagerDlg.cpp (file_manager_dlg_proc): Use
861            WM_INITPOPUPMENU to localize popup menu texts.
862            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
863            * wptClipSignDlg.cpp (one_key_proc): Use wipememory instead of memset.  
864    
865    2005-10-20  Timo Schulz  <[email protected]>
866    
867            Now WinPT depends on GPG 1.4.3 and GPGME 1.2.0.
868    
869            * wptPassphraseCB.cpp (passphrase_cb): Complete card support.
870            * wptCardEdit.cpp (genKey): Handle cancel case.
871            * keycache.c: Renamed into...
872            * wptKeyCache.cpp: ...this.
873            * wptW32API.cpp (set_menu_text): Removed unused code.
874            (set_menu_text_bypos): New.
875            * wptCrypto.h: New.
876            * wptMainProc.cpp (winpt_main_proc): Complete localize
877            menu texts.
878            * wptErrors.cpp (log_debug): Use a static var so the file
879            is only opened once.
880            (debug_end): Cleanup. Currently just close the log file.
881            * wptErrors.h (wipememory): New.
882            (sfree_if_alloc): Use it here.
883            * WinPT.cpp (WinMain): Display the min. GPGME version which
884            is needed in case of an error.
885    
886    2005-10-17  Timo Schulz  <[email protected]>
887    
888            Free all memory returned by the GPGME dll with gpgme_free ().
889    
890            s/GPG_ERR_CARD_REMOVED/GPG_ERR_CARD_NOT_PRESENT.
891    
892            * wptKeyEdit.cpp (getCardStatus): Remove dummy key.
893            (list_handler): With user interaction to allow to insert
894            the card into the reader.
895            * wptKeyEditCB.cpp (gpg_edit_card): Likewise.
896            (common_card_handler): Fixed incorrect command string.
897            * wptKeyPropsDlg.cpp (get_card_type): New.
898            (keyprops_dlg_proc): Show card information if present.
899            * wptFileManager.cpp (secret_key_available): Make the code faster.
900            
901    
902    2005-10-16  Timo Schulz  <[email protected]>
903    
904            * wptPassphraseCB.cpp (passphrase_cb): Fix problem
905            with hanging GPG process on cancel.
906            * keycache.c (gpg_keycache_release): Release all objects.
907    
908    2005-10-15  Timo Schulz  <[email protected]>
909    
910            * wptCardEdit.cpp (setResult, getResult): New.
911            (reset): New.
912            (getCardStatus): Check return codes and release all objects
913            in case of errors.
914            * wptCardEditCB.cpp (change_pin_handler): Call reset()
915            before quit.
916            (editcard_handler): Likewise.
917            (common_card_handler): New.
918            * wptCardDlg.cpp (card_changepin_dlg_proc): Also unmask
919            the old PIN when 'Hide Typing' is disabled.
920            * wptPassphraseCB.cpp (passphrase_cb): The card detection
921            works again. Support to re-enter passphrase.
922    
923    2005-10-14  Timo Schulz  <[email protected]>
924    
925            * wptCardDlg.cpp (card_status): New fields for the
926            fingerprint creation time. Display card info as title.
927            (get_printable_version): New.
928            * wptCardEditCB.cpp (editcard_handler): Fix problem
929            with the counter comparison.
930    
931    2005-10-11  Timo Schulz  <[email protected]>
932    
933            Port to GPGME basically finished.
934    
935    2005-09-20  Timo Schulz  <[email protected]>
936    
937            * wptFileManagerDlg.cpp (file_secdel_confirm_dlg_proc):
938            Do not use gpgme_recipients_t but the listview directly
939            to add the selected files.
940    
941    2005-09-07  Timo Schulz  <[email protected]>
942    
943            * Make sure all GetOpenFileName filters are terminated by \0\0.
944    
945    2005-09-01  Timo Schulz  <[email protected]>
946    
947            * wptW32API.cpp (center_window): New argument for parent window.
948            Change all callers.
949            (center_window2): Likewise.
950            * GPGME now can read gpgProgram entries with 'REG_EXPAND_SZ'.
951            * wptGPG.cpp (gnupg_backup_options): Remove param. One backup
952            file is enough. Changed all callers.
953    
954    2005-08-15  Timo Schulz  <[email protected]>
955    
956            * wptKeyEditDlgs.cpp (do_editkey_showpref): Take care of v3 keys.
957            * wptGPGOptDlg.cpp (gpgopt_dlg_proc): Fixed name of title.
958            * Make sure the passphrase is always overwritten before it is
959            freed (or the function returns).
960            * wptKeyPropDlg.cpp (get_pref_cipher): New.
961            (keyprops_dlg_proc): Use it here.
962    
963    2005-08-06  Timo Schulz  <[email protected]>
964    
965            * wptGPGME.cpp (keycache_update): Reload OpenPGP parts
966            of the secret key.
967            (keycache_init): cache name of secret keyring.
968            * wptKeyList.cpp (keylist_upd_key): Do not add long keyid.
969            (get_key_type): Do not assume 'ultimate' means key pair.
970            * wptKeyEditDlgs.cpp (diff_time): New.
971            (keyedit_addsubkey_dlg_proc): Changed design and use
972            diff_time. Drop checks for invalid keylength (< 1024, > 4096)
973            because the combo box automatically handles this.
974            * wptKeyManager.cpp (km_set_implicit_trust): Return error code.
975            * wptGPG.cpp (get_backup_name): New.
976            (gnupg_backup_keyrings): Rotate backup names, from 0..3.
977            * wptClipImportDialog.cpp (clip_import_dlg_proc): Free memory.
978            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use 0x short keyid and
979            not the long keyid.
980    
981    2005-08-05  Timo Schulz  <[email protected]>
982    
983            * wptListView.cpp (listview_set_item2): New.
984            * wptKeyManager.cpp (km_check_if_protected): Directly
985            retrieve gpgme_key_t from the list.
986            (km_check_key_status): Likewise.        
987            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Also use
988            a human-readable name for secret key export.
989            Reload just the keys which were affected by updates
990            (edit-key).
991            (update_key): New.
992            * wptKeyList.cpp ((keylist_upd_key): Stripped down
993            version of keylist_add_key.
994            * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not
995            reload the keycache here, just flag 'update'. Give the
996            control to the calling dialog.
997            * wptKeySignDlg.cpp (keysign_dlg_proc): Use winpt_key_t
998            as parameter. Changed all callers.
999            Add date of expiration to the key info.
1000            (get_expire_date): New.
1001            Use a checkbox to allow to ask for the cert level.
1002            * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Do no reload
1003            the cache.
1004    
1005    2005-08-04  Timo Schulz  <[email protected]>
1006    
1007            * wptListView.cpp (listview_scroll): New.
1008            (listview_get_item2): New.
1009            * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): If the
1010            item was found, make it visible with scrolling.
1011            * wptKeyManager.cpp (km_find_key): New.
1012            (keylist_subclass_proc): Support to handle some acceleators.
1013            Strg+{C, P, F, A}.
1014            (km_get_key_status): Get the gpgme_key_t object directly
1015            from the list.
1016            * wptGPGPRefsDlg.cpp (gpgprefs_dlg_proc): Also try to set
1017            the config file (if it exists).
1018            * wptKeySignDlg.cpp (keysign_dlg_proc): Use easier code
1019            to handle the click->activate situation.
1020            * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.
1021            Support to check the passphrase quality.
1022            * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.
1023            (request_passphrase): Rename 'init' to 'flags' to allow more
1024            options.
1025            * wptMAPI.cpp: Check all *alloc results.
1026            * wptKeyGenDlg.cpp (keygen_dlg_proc): Use a rudimentary
1027            passphrase quality check.
1028            * wptMDSumDlg.cpp (mdsum_dlg_proc): Use md5/sha1sum file
1029            format and allow to save the checksum in a file.
1030            * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Issue a warning
1031            when the PGP mode is disabled.
1032            wptKeyEditDlgs.cpp (do_editkey_primary): Return if just
1033            one user-ID exists.
1034            (keyedit_dlg_proc): Fixed index problem.
1035            * wptKeyPropsDlg.cpp (get_validity): New.
1036            (keyprops_dlg_proc): Actually show extended validity if possible.
1037            * wptKeyList.cpp (get_key_fpr): Support for old v3 format.
1038            (do_addkey): Use listview_add_item2 to store key as opaque
1039            param inside the list.
1040            * wptFileStatDlg.cpp (get_digest_algo): Add SHAxxx.
1041            (file_stat_dlg_proc): End dialog if no PGP data was found.
1042            (do_list_packets): Return the number of valid PGP packets
1043            of the file.
1044    
1045    2005-08-02  Timo Schulz  <[email protected]>
1046    
1047            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Instead of
1048            using 'Default Keyserver' add the real keyserver name to
1049            the menu.
1050            The rebuild command does not reload the cache any longer.
1051            Use ATTR_NAME + .asc as the filename and not keyid + .asc.
1052            * wptProxySettingsDlg.cpp (enable_proxy_auth): New.
1053            (keyserver_proxy_dlg_proc): Changed the design a little
1054            and add some additional sanity checks.
1055            * wptGPGParser.cpp (commit_gpg_options): Use W32 line endings.
1056            This fixes the problem that the GPG option dialog does not show
1057            very nice lines.
1058            * wptGPGOptDlg.cpp (gpgopt_dlg_proc): s/options/config.
1059            * wptKeySigDlg.cpp (keysig_dlg_proc): If a single key is selected
1060            check for 'NOKEY' before asking a keyserver.
1061            * wptKeyManager.cpp (km_delete_keys): Do not set 'refresh' flag.
1062            If a lot of keys were selected, ask if the user wants to confirm
1063            each delete procedure or allow to cancel the operation.
1064            * wptFileManagerDlg.cpp (file_import_dlg_proc): Display how much
1065            keys the file contain.
1066            * wptKeyList.cpp (get_key_algo): Beautified.
1067            (get_key_status): Drop the "[XYZ] Unknown" format, it is too
1068            confusing for users.
1069            * wptKeyManager.cpp (km_check_key_status): Adjustments for the
1070            new code.
1071            (km_check_for_seckey): Reset utrust parameter. Return -1 for
1072            invalid (exp+rev+dis) keys.
1073    
1074    2005-08-01  Timo Schulz  <[email protected]>
1075    
1076            * wptKeyserver.cpp (kserver_urlencode): Use unsigned for all given
1077            sizes.
1078            (check_IP_or_hostname): New.
1079            (kserver_load_conf): Correct finger URL parsing problem.
1080            (port_from_proto): New.
1081            (keyserver_load_conf): Guess the port.
1082            (keyserver_set_default): Allocate new buffer.
1083            (kserver_load_conf): Likewise.
1084            * wptHTTP.c (parse_reqline, parse_request): Removed.
1085            Use WinPT error code and remove all unused code.
1086            * wptKeyserverDlg.cpp (keyserver_dlg_proc): Properly handle finger URLs.
1087            * wptProxySettingsDlg.cpp (read_proxy): Simple check for
1088            invalid host/IP addresses.
1089            * wptGPG.cpp (multi_gnupg_path): Return allocated buffer.
1090            Changed all callers.
1091            * wptPreferencesDlg.cpp (prefs_dlg_proc): At the first start,
1092            automatically set 'backup to homedir'.
1093            * WinPT.cpp (WinMain): Use desktop window as the parent window
1094            to load 'first-start' dialogs.
1095            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not set 'refresh'
1096            flag after deleting keys.
1097            * wptFirstRunDlg.cpp (first_run_dlg_proc): Use a new structure
1098            for passing the arguments.
1099            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Do not store "" for
1100            the OptFile. This was responsible for a lot of 'General Errors'
1101            after the first start related to key caching.
1102            Automatically set the gpg binary if possible.
1103    
1104    2005-07-22  Timo Schulz  <[email protected]>
1105    
1106            * wptMainProc.cpp (winpt_main_proc): Take care for shutdown
1107            messages and make sure WinPT make a keyring backup in this case.
1108            * wptGPGME.cpp (keycache_reload): Do not rebuild the signature
1109            cache each time. Just do it on startup.
1110            * wptKeyManager.cpp (km_key_is_v3): Use new ATTR_VERSION.
1111            * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Assume the v3 flag
1112            was set by the calling function.
1113            * wptKeyGenDlg.cpp (keygen_wizard_dlg_proc): Ask for backups.
1114            (keygen_dlg_proc): Only add the generated key to the keycache
1115            and do not reload the entire cache.
1116            * wptKeyManager.cpp (km_delete_keys): Store the number of keys
1117            because in each loop iteration it will be new calculated.
1118            * wptListView.cpp (listview_del_items): Likewise.
1119            * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Directly add the
1120            generated key to the list instead of reloading the entire cache.
1121            * wptKeyEditDlgs.cpp (parse_preflist): Support fpr SHAnnn.
1122    
1123  2005-05-09  Timo Schulz  <[email protected]>  2005-05-09  Timo Schulz  <[email protected]>
1124    
1125          * wptCommonDlg.cpp (http_file_dlg_proc): Renamed to..          * wptCommonDlg.cpp (http_file_dlg_proc): Renamed to..
# Line 329  Line 1162 
1162          (kserver_sendkey): Likewise.          (kserver_sendkey): Likewise.
1163          * wptProxySettingsDlg.cpp (check_number): New.          * wptProxySettingsDlg.cpp (check_number): New.
1164          (read_proxy): Check the entered port number.          (read_proxy): Check the entered port number.
1165          * wptKeySignDlg.cpp (sig_class_dlg_proc): Check default button.          * wptKeySignDlg.cpp (sig_class_dlg_proc): Check default button.
1166          * wptW32API.cpp (get_folder_dlg): Free memory.          * wptW32API.cpp (get_folder_dlg): Free memory.
1167    
1168  2005-04-11  Timo Schulz  <[email protected]>  2005-04-11  Timo Schulz  <[email protected]>
# Line 674  Line 1507 
1507    
1508          * WinPT.cpp (load_keyserver_conf): New. Factored out some code          * WinPT.cpp (load_keyserver_conf): New. Factored out some code
1509          from WinMain ().          from WinMain ().
1510          (WinMain): Load keyserver config at the begin. Thanks to Bodo A�ner          (WinMain): Load keyserver config at the begin. Thanks to Bodo Aßner
1511          * wptKeyserverDlg.cpp (keyserver_dlg_proc): If there is no keyserver          * wptKeyserverDlg.cpp (keyserver_dlg_proc): If there is no keyserver
1512          in the list control, add at least the internal default HKP server.          in the list control, add at least the internal default HKP server.
1513          * wptKeygenDlg.cpp (keygen_wizard_dlg_proc): NLS support.          * wptKeygenDlg.cpp (keygen_wizard_dlg_proc): NLS support.

Legend:
Removed from v.32  
changed lines
  Added in v.175

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26