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

Diff of /trunk/Src/ChangeLog

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

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

Legend:
Removed from v.27  
changed lines
  Added in v.178

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26