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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26