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

Diff of /trunk/Src/ChangeLog

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

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

Legend:
Removed from v.30  
changed lines
  Added in v.170

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26