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

Diff of /trunk/Src/ChangeLog

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

revision 26 by twoaday, Mon Oct 17 08:49:30 2005 UTC revision 174 by twoaday, Thu Feb 2 08:20:50 2006 UTC
# Line 1  Line 1 
1  2005-10-16  Timo Schulz  <[email protected]>  2006-01-31  Timo Schulz  <[email protected]>
2    
3          * wptPassphraseCB.cpp (passphrase_cb): Fix problem          * wptMainProc.cpp (winpt_main_proc): Fix usage of the
4          with hanging GPG process on cancel.          help system.
5          * keycache.c (gpg_keycache_release): Release all objects.          * wptListView.cpp (listview_set_chkbox_style): New.
6            (listview_get_item_state): Support new checkbox style.
7  2005-10-15  Timo Schulz  <[email protected]>          (listview_new): Reset flag var.
8            * wptKeylist.cpp (keylist_build): Support new checkbox style.
9          * wptCardEdit.cpp (setResult, getResult): New.          
10          (reset): New.  2006-01-30  Timo Schulz  <[email protected]>
11          (getCardStatus): Check return codes and release all objects  
12          in case of errors.          * WinPT.cpp (check_readonly_attr): New.
13          * wptCardEditCB.cpp (change_pin_handler): Call reset()          (load_gpg_env): Use it here.
14          before quit.          (WinPT): Make the the default key is searched in the
15          (editcard_handler): Likewise.          secret key cache.
16          (common_card_handler): New.          Change error message.
17          * wptCardDlg.cpp (card_changepin_dlg_proc): Also unmask          * wptRegistry.cpp (regist_int_winpt): Make sure
18          the old PIN when 'Hide Typing' is disabled.          the register extension is only offered once to the user.
19          * wptPassphraseCB.cpp (passphrase_cb): The card detection          * wptKeyPropsDlg.cpp (get_photo_tmpname): Always use
20          works again. Support to re-enter passphrase.          temp directory. Fixed a privilege problem.
21            
22  2005-10-14  Timo Schulz  <[email protected]>  2006-01-29  Timo Schulz  <[email protected]>
23    
24          * wptCardDlg.cpp (card_status): New fields for the          * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Allow to use ESC
25          fingerprint creation time. Display card info as title.          to quit dialog.
26          (get_printable_version): New.          * wptKeysignDlg.cpp (sig_class_dlg_proc): More space for
27          * wptCardEditCB.cpp (editcard_handler): Fix problem          translations. Directly return sig class.
28          with the counter comparison.          (keysign_dlg_proc): Change msgbox title.
29            * wptKeyEdit.cpp (signUserid): New.
30  2005-10-11  Timo Schulz  <[email protected]>          (getUseridIndex): New.
31            (getKeyIndex): New.
32          Port to GPGME basically finished.          (getSigIndex): New.
33            (clear): New.
34  2005-09-20  Timo Schulz  <[email protected]>          * wptKeyEditCB.cpp (cmd_sign_handler): Allow to select
35            user-id first.
36          * wptFileManagerDlg.cpp (file_secdel_confirm_dlg_proc):          * wptKeyEditDlgs.cpp (lookup_cmd): New.
37          Do not use gpgme_recipients_t but the listview directly          (do_editkey_sign_userid): New.
38          to add the selected files.          (do_init_cmdlist): Differ between key pairs and public keys
39            and allowed actions.
40  2005-09-07  Timo Schulz  <[email protected]>          (keyedit_change_ownertrust): Show msgbox on success.
41            (get_default_key): New.
42          * Make sure all GetOpenFileName filters are terminated by \0\0.          * wptPassphraseDlg.cpp (request_passphrase): Reset @cancel.
43            
44  2005-09-01  Timo Schulz  <[email protected]>  2006-01-27  Timo Schulz  <[email protected]>
45    
46          * wptW32API.cpp (center_window): New argument for parent window.          * WinPT.cpp (WinMain): Set minimal list mode as default.
47          Change all callers.          * wptKeyCache.cpp (gpg_keycache_sync): Handle special v3 keys.
48          (center_window2): Likewise.          
49          * GPGME now can read gpgProgram entries with 'REG_EXPAND_SZ'.  2006-01-25  Timo Schulz  <[email protected]>
50          * wptGPG.cpp (gnupg_backup_options): Remove param. One backup  
51          file is enough. Changed all callers.          * wptRegistry.cpp (get_reg_entry_gpg): Return NULL if
52            the key exist with no value.
53  2005-08-15  Timo Schulz  <[email protected]>          * wptMDSumDlg.cpp (mdsum_dlg_proc): Translate string.
54            * wptKeysignDlg.cpp (do_fill_seclist): Select the
55          * wptKeyEditDlgs.cpp (do_editkey_showpref): Take care of v3 keys.          default key if possible.
56          * wptGPGOptDlg.cpp (gpgopt_dlg_proc): Fixed name of title.          * wptFirstRunDlg.cpp (firstrun_dlg_proc): Directly
57          * Make sure the passphrase is always overwritten before it is          return the choice.
58          freed (or the function returns).          * wptKeylist.cpp (get_key_desc): New.
59          * wptKeyPropDlg.cpp (get_pref_cipher): New.          (keylist_upd_key): Free memory.
60          (keyprops_dlg_proc): Use it here.          * wptKeyCache.cpp (gpg_keycache_get_default_key): New.
61            (gpg_keycache_set_default_key): New.
62  2005-08-06  Timo Schulz  <[email protected]>          * WinPT.cpp (gpg_prefs_ok): New.
63            (WinMain): Only start gpg prefs if needed.
64          * wptGPGME.cpp (keycache_update): Reload OpenPGP parts          
65          of the secret key.  2006-01-24  Timo Schulz  <[email protected]>
66          (keycache_init): cache name of secret keyring.  
67          * wptKeyList.cpp (keylist_upd_key): Do not add long keyid.          * wptKeyManager.cpp (km_dropped_file_import): New.
68          (get_key_type): Do not assume 'ultimate' means key pair.          * wptKeyManagerDlg.cpp (keylist_subclass_proc): Allow
69          * wptKeyEditDlgs.cpp (diff_time): New.          to drop files and try to import them.
70          (keyedit_addsubkey_dlg_proc): Changed design and use          (keymanager_dlg_proc): Pass kmi as opaque to the subclass
71          diff_time. Drop checks for invalid keylength (< 1024, > 4096)          proc.
72          because the combo box automatically handles this.          
73          * wptKeyManager.cpp (km_set_implicit_trust): Return error code.  2006-01-23  Timo Schulz  <[email protected]>
74          * wptGPG.cpp (get_backup_name): New.  
75          (gnupg_backup_keyrings): Rotate backup names, from 0..3.          * wptMDSumDlg.cpp (mdsum_dlg_proc): Allow to send output
76          * wptClipImportDialog.cpp (clip_import_dlg_proc): Free memory.          to the clipboard.
77          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use 0x short keyid and          * wptKeyEditDlgs.cpp (keyedit_change_ownertrust): New.
78          not the long keyid.          (do_editkey_enable_disable): New.
79            * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Usability fix. Do not
80  2005-08-05  Timo Schulz  <[email protected]>          close the dialog if the user cancelled the ownertrust dialog.
81            * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Return TRUE to indicate
82          * wptListView.cpp (listview_set_item2): New.          an update of any value.
83          * wptKeyManager.cpp (km_check_if_protected): Directly          
84          retrieve gpgme_key_t from the list.  2006-01-21  Timo Schulz  <[email protected]>
85          (km_check_key_status): Likewise.          
86          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Also use          * wptKeyCache.cpp (keycache_next_key): Handle the case
87          a human-readable name for secret key export.          that there is a secret key without a public part.
88          Reload just the keys which were affected by updates          * wptKeyserver.cpp (kserver_save_conf): Save ports.
89          (edit-key).          * wptKeyserverDlg.cpp (keyserver_modify_dlg_proc):
90          (update_key): New.          Reset keyserver name.
91          * wptKeyList.cpp ((keylist_upd_key): Stripped down          * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Just indicate
92          version of keylist_add_key.          an update, do not update the cache.
93          * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not          * wptFileManagerDlg.cpp (file_import_dlg_proc): Use one
94          reload the keycache here, just flag 'update'. Give the          dialog for both clipboard and file imports.
95          control to the calling dialog.          * wptKeyManager.cpp (km_file_import, km_clip_import):
96          * wptKeySignDlg.cpp (keysign_dlg_proc): Use winpt_key_t          Changes to support new update system.
97          as parameter. Changed all callers.          (gpg_clip_import): New.
98          Add date of expiration to the key info.          * wptKeyManagerDlg.cpp (km_gui_import): New.
99          (get_expire_date): New.          (find_keypos): Rewritten.
100          Use a checkbox to allow to ask for the cert level.          (refresh_keylist): Improved error checking.
101          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Do no reload          
102          the cache.  2006-01-20  Timo Schulz  <[email protected]>
103    
104  2005-08-04  Timo Schulz  <[email protected]>          * wptKeyCache.cpp (w32_tmpfile): New.
105            (parse_attr_data): Use it here.
106          * wptListView.cpp (listview_scroll): New.          * wptGPGUtil.cpp (gpg_get_photoid_data): Reset @ndata var.
107          (listview_get_item2): New.          
108          * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): If the  2006-01-19  Timo Schulz  <[email protected]>
109          item was found, make it visible with scrolling.  
110          * wptKeyManager.cpp (km_find_key): New.          * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Do not
111          (keylist_subclass_proc): Support to handle some acceleators.          reload the entire cache, just update the key.
112          Strg+{C, P, F, A}.          * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Likewise.
113          (km_get_key_status): Get the gpgme_key_t object directly          * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Set update flag.
114          from the list.          * wptKeyRevokersDlg.cpp (key_revokers_dlg_proc): Likewise.
115          * wptGPGPRefsDlg.cpp (gpgprefs_dlg_proc): Also try to set          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Update key
116          the config file (if it exists).          if need after showing the properties.
117          * wptKeySignDlg.cpp (keysign_dlg_proc): Use easier code          * wptGPGMEData.cpp (gpg_data_putc): Fix off-by-one bug.
118          to handle the click->activate situation.          * wptKeyManager.cpp (km_import_file): New param. Changed
119          * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.          all callers.
120          Support to check the passphrase quality.          (km_import_clip): Likewise.
121          * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.          (delete_keys_from_cache): Delete secret part if available.
122          (request_passphrase): Rename 'init' to 'flags' to allow more          * wptClipImportDlg.cpp (print_import_status): If there
123          options.          are too many new keys, use reload code.
124          * wptMAPI.cpp: Check all *alloc results.          
125          * wptKeyGenDlg.cpp (keygen_dlg_proc): Use a rudimentary  2006-01-18  Timo Schulz  <[email protected]>
126          passphrase quality check.  
127          * wptMDSumDlg.cpp (mdsum_dlg_proc): Use md5/sha1sum file          * wptKeyEditCB.cpp (cmd_delsig_handler): Do not assume
128          format and allow to save the checksum in a file.          the self sig is always index 0. Noted by Kurt.
129          * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Issue a warning          * wptPassphraseCB.cpp (passphrase_dlg_proc): Do not assume
130          when the PGP mode is disabled.          the key user-ID contains an email address.
131          wptKeyEditDlgs.cpp (do_editkey_primary): Return if just          * wptKeyEditDlgs.cpp (do_find_userid): Likewise.
132          one user-ID exists.          (do_editkey_deluid): Likewise.
133          (keyedit_dlg_proc): Fixed index problem.          (do_editkey_revuid): Likewise.
134          * wptKeyPropsDlg.cpp (get_validity): New.          
135          (keyprops_dlg_proc): Actually show extended validity if possible.  2006-01-18  Timo Schulz  <[email protected]>
136          * wptKeyList.cpp (get_key_fpr): Support for old v3 format.  
137          (do_addkey): Use listview_add_item2 to store key as opaque          * wptListview.cpp (listview_del_sel_items): Fixed index
138          param inside the list.          calculation. This fixed a lot of problems with the KM listview
139          * wptFileStatDlg.cpp (get_digest_algo): Add SHAxxx.          update.
140          (file_stat_dlg_proc): End dialog if no PGP data was found.          (listview_del_all): Renamed to...
141          (do_list_packets): Return the number of valid PGP packets          (listview_del_all_items): ..this. Changed all callers.
142          of the file.          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Just refresh
143            list when file import contained new/updated keys.
144  2005-08-02  Timo Schulz  <[email protected]>          * wptKeyManager.cpp (km_file_import): Indicate if the
145            import contained any new/update keys.
146          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Instead of          * wptClipImportDlg.cpp (print_import_status): Just mark
147          using 'Default Keyserver' add the real keyserver name to          keys which actually changed.
148          the menu.          
149          The rebuild command does not reload the cache any longer.  2006-01-17  Timo Schulz  <[email protected]>
150          Use ATTR_NAME + .asc as the filename and not keyid + .asc.  
151          * wptProxySettingsDlg.cpp (enable_proxy_auth): New.          * wptMAPI.cpp (mapi_send_pubkey_ext): New.
152          (keyserver_proxy_dlg_proc): Changed the design a little          * wptKeysigDlg.cpp (do_delsig): Just flag the key, do not
153          and add some additional sanity checks.          update it.
154          * wptGPGParser.cpp (commit_gpg_options): Use W32 line endings.          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Be more
155          This fixes the problem that the GPG option dialog does not show          careful about const pointers.
156          very nice lines.          * wptKeyEditDlgs.cpp (get_subkey_fingerprint): Renamed to..
157          * wptGPGOptDlg.cpp (gpgopt_dlg_proc): s/options/config.          (get_subkey_keyid): ..this. Fix problem that key was updated
158          * wptKeySigDlg.cpp (keysig_dlg_proc): If a single key is selected          twice and this corrupted.
159          check for 'NOKEY' before asking a keyserver.          (keyedit_add_subkey): Set @lv item in the callback context.
160          * wptKeyManager.cpp (km_delete_keys): Do not set 'refresh' flag.          
161          If a lot of keys were selected, ask if the user wants to confirm  2006-01-16  Timo Schulz  <[email protected]>
162          each delete procedure or allow to cancel the operation.  
163          * wptFileManagerDlg.cpp (file_import_dlg_proc): Display how much          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Restore
164          keys the file contain.          window if it lost focus during the operation. Thanks to Kurt.
165          * wptKeyList.cpp (get_key_algo): Beautified.          Update keylist when the window is enabled.
166          (get_key_status): Drop the "[XYZ] Unknown" format, it is too          (find_keypos): New.
167          confusing for users.          * wptKeyCache.cpp (keycache_next_key): Reset update status.
168          * wptKeyManager.cpp (km_check_key_status): Adjustments for the          (gpg_keycache_next_updated_key): New arg @r_status. Change all
169          new code.          callers.
170          (km_check_for_seckey): Reset utrust parameter. Return -1 for          (gpg_keycache_update_key): Different status for new and updated.
171          invalid (exp+rev+dis) keys.          Include key signatures.
172            * wptClipImportDlg.cpp (print_import_status): Mark all
173  2005-08-01  Timo Schulz  <[email protected]>          imported keys.
174            * wptMainProc.cpp (clip_gpg_dlg): On import refresh KM keylist.
175          * wptKeyserver.cpp (kserver_urlencode): Use unsigned for all given          Thanks to Kurt.
176          sizes.          * wptKeysigDlg.cpp (recv_missing_keys): Mark all received keys.
177          (check_IP_or_hostname): New.          (do_delsig): Directly reload key. Thanks to Kurt.
178          (kserver_load_conf): Correct finger URL parsing problem.          * wptGPGME.cpp (keycache_set_reload, keycache_get_reload):
179          (port_from_proto): New.          Removed.
180          (keyserver_load_conf): Guess the port.          * wptKeygenDlg.cpp (keygen_dlg_proc): Use new update system.
181          (keyserver_set_default): Allocate new buffer.          * wptClipImportDlg.cpp (clip_import_dlg_proc): Return
182          (kserver_load_conf): Likewise.          FALSE if no keys were updated or operation was cancelled.
183          * wptHTTP.c (parse_reqline, parse_request): Removed.          * wptCommonDlg.cpp (http_dlg_proc): Fix title selection code.
184          Use WinPT error code and remove all unused code.          * wptKeylist.cpp (get_ext_validity): Handle disabled keys.
185          * wptKeyserverDlg.cpp (keyserver_dlg_proc): Properly handle finger URLs.          * wptKeyPropsDlg.cpp (keyprops_dlg_proc):
186          * wptProxySettingsDlg.cpp (read_proxy): Simple check for          Do not allow to change ownertrust of invalid keys.
187          invalid host/IP addresses.          Changed translation.
188          * wptGPG.cpp (multi_gnupg_path): Return allocated buffer.          Slightly different user interface.
189          Changed all callers.          
190          * wptPreferencesDlg.cpp (prefs_dlg_proc): At the first start,  2006-11-14  Timo Schulz  <[email protected]>
191          automatically set 'backup to homedir'.  
192          * WinPT.cpp (WinMain): Use desktop window as the parent window          * wptW32API.cpp (make_special_filename): New.
193          to load 'first-start' dialogs.          * wptRegistry.cpp (set_winpt_reg_prefs, get_winpt_reg_prefs):
194          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not set 'refresh'          Removed 'KeyServer' item.
195          flag after deleting keys.          * wptPreferencesDlg.cpp (prefs_dlg_proc): Remove keyserver
196          * wptFirstRunDlg.cpp (first_run_dlg_proc): Use a new structure          config item.
197          for passing the arguments.          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Disable group
198          * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Do not store "" for          window until we really use it.
199          the OptFile. This was responsible for a lot of 'General Errors'          * wptKeyserver.cpp (kserver_save_conf): New.
200          after the first start related to key caching.          (wsock_end): Save keyserver config file.
201          Automatically set the gpg binary if possible.          * wptKeyserverDlg.cpp (keyserver_edit): New.
202            (keyserver_remove): New.
203  2005-07-22  Timo Schulz  <[email protected]>          (keyserver_add): New.
204            (fill_keyserv_types): New.
205          * wptMainProc.cpp (winpt_main_proc): Take care for shutdown          (keyserver_modify_dlg_proc): New.
206          messages and make sure WinPT make a keyring backup in this case.          (keyserver_dlg_proc): Provide context menu to modify the
207          * wptGPGME.cpp (keycache_reload): Do not rebuild the signature          keyserver list.
208          cache each time. Just do it on startup.          (keyserver_build_list): Remove 'proto' column because it is
209          * wptKeyManager.cpp (km_key_is_v3): Use new ATTR_VERSION.          not really useful.
210          * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Assume the v3 flag          * WinPT.cpp (load_keyserver_conf): Store keyserver.conf at
211          was set by the calling function.          $APPDATA\winpt. If keyserver.conf exists in the current folder
212          * wptKeyGenDlg.cpp (keygen_wizard_dlg_proc): Ask for backups.          move it to the new destination.
213          (keygen_dlg_proc): Only add the generated key to the keycache          
214          and do not reload the entire cache.  2006-11-13  Timo Schulz  <[email protected]>
215          * wptKeyManager.cpp (km_delete_keys): Store the number of keys  
216          because in each loop iteration it will be new calculated.          * wptPreferencesDlg.cpp (prefs_dlg_proc): Changed translation.
217          * wptListView.cpp (listview_del_items): Likewise.          * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Likewise.
218          * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Directly add the          * wptAboutDlgs.cpp (about_dlg_proc): Make sure GPG about
219          generated key to the list instead of reloading the entire cache.          dialog isn't shown twice.
220          * wptKeyEditDlgs.cpp (parse_preflist): Support fpr SHAnnn.          * wptKeyCache.cpp (gpg_keycache_next_updated_key): New.
221            (gpg_keycache_update_key): Set update flag.
222            * wptKeyManagerDlg.cpp (refresh_keylist): New.
223            (keymanager_dlg_proc): Use new refresh system for keyservers.
224            * wptKeyserverSearchDlg.cpp (kserver_search_dlg_proc):
225            Update keycache.
226            * wptKeyserverDlg.cpp (hkp_dlg_proc): Likewise.
227            * wptKeyserver.cpp (socket_read_ext): New.
228            (kserver_recv_key_ext): New.
229            (kserver_read_config, kserver_write_config): Removed.
230            
231    2006-01-12  Timo Schulz  <[email protected]>
232    
233            * wptListView.cpp (listview_set_image_list): Make icons
234            always transparent.
235            * wptImageList.cpp (imagelist_load): New icons.
236            * wptGPGMEData.cpp (gpg_data_putc): New.
237            * wptKeyManagerDlg.cpp (load_toolbar): Include new icons.
238            (keymanager_dlg_proc): Add tooltips.
239            * wptKeyserverDlg.cpp (keyserver_list_build): Use icons.
240            * wptKeyserver.cpp (URL_encode): New.
241            (URL_must_encode): New.
242            (kserver_search_init): Properly encode pattern.
243            (parse_iso_date): New.
244            (keyserver_search): Be more strict to prevent buffer overflows.
245            
246    2006-01-11  Timo Schulz  <[email protected]>
247    
248            * wptKeyManagerDlg.cpp (load_toolbar): 2 new icons.
249            (keymanager_dlg_proc): Adjust tooltips.
250            (update_ui_items): Handle new icons.
251            * wptImageList.cpp (imagelist_load): New icons.
252            
253    2006-01-10  Timo Schulz  <[email protected]>
254    
255            * wptMainProc.cpp (winpt_main_proc): Restore iconic
256            File/Key Manager windows if needed.
257            * wptGPGPrefsDlg.cpp (gpg_prefs_dlg_proc): Disable button.
258            * wptSiglist.cpp (init_cmp): New.
259            (siglist_sort): New.
260            (siglist_cmp_cb): New.
261            (siglist_add_key): Force NOKEY status when key was not found.
262            * wptKeysigDlg.cpp (recv_single_key): New.
263            (recv_missing_keys): Reload entire key when more than one key
264            was fetched.
265            (keysig_dlg_proc): Support sorting the listview items.
266            
267    2006-01-09  Timo Schulz  <[email protected]>
268    
269            * WinPT.cpp (load_gettext): Remove file locking.
270            (WinMain): Use pre-defined autoconf constants.
271            * wptW32API.cpp (init_file_lock, release_file_lock): Deleted.
272            * wptGPG.cpp (check_gnupg_engine): Add param @need_gpg_ver.
273            Change all callers.
274            
275    2006-01-07  Timo Schulz  <[email protected]>
276    
277            * wptKeyManager.cpp (km_refresh_from_keyserver): Summarize
278            import status if just one key was selected.
279    
280    2006-01-04  Timo Schulz  <[email protected]>
281    
282            * wptGPGMEWrapper.c (setChangeVersion): New.
283            (exportToBuffer, exportToFile, exportToClipboard): New.
284            (setArmor, getArmor): New.
285            * wptKeylist.cpp (get_key_expire_date): Return locale specific
286            date.
287            (keylist_get_recipients): Do not fetch the key again.
288            (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 261  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 606  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.26  
changed lines
  Added in v.174

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26