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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26