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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26