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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26