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

Diff of /trunk/Src/ChangeLog

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

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

Legend:
Removed from v.28  
changed lines
  Added in v.168

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26