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

Contents of /trunk/Src/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 210 - (show annotations)
Thu May 4 08:44:11 2006 UTC (18 years, 9 months ago) by twoaday
File size: 217513 byte(s)
2006-05-03  Timo Schulz  <ts@g10code.de>
                                                                                
        * wptKeyCache.cpp (keycache_prepare2): Fix possible segv.
        Thanks to Mathias.


1 2006-05-03 Timo Schulz <[email protected]>
2
3 * wptKeyCache.cpp (keycache_prepare2): Fix possible segv.
4 Thanks to Mathias.
5
6 2006-05-02 Timo Schulz <[email protected]>
7
8 * wptFileManagerDlg.cpp (file_encrypt_dlg_proc): Use a
9 caption for the radio button group.
10 * wptKeyserverDlg.cpp (keyserver_recv_key): Use new code.
11 * wptKeyserver.cpp (kserver_recvkey, finger_recvkey,
12 ldap_recvkey): Avoid fixed buffers.
13 (do_spawn_ldap_helper): New.
14 (ldap_recvkey): Factor out code into helper function.
15 * wptPassphraseCBDlg.cpp (passphrase_callback_proc):
16 Increase width of the list box to make sure even large
17 user IDs will be completly displayed.
18
19 2006-05-01 Timo Schulz <[email protected]>
20
21 * WinPT.cpp (WinMain): Check if the user has admin privileges.
22 * wptW32API.cpp (user_is_admin): New.
23 * wptKeysigDlg.cpp (sigprops_dlg_proc): Cosmetical changes.
24 * wptKeyManagerDlg.cpp (key_manager_dlg_proc): Use timer
25 to re-activate the window again.
26 * wptKeylist.cpp (get_key_trust2): Differ between "full"
27 and "ultimate".
28 * wptKeyCache.cpp (keycache_prepare2): Primary user-id
29 has now highest priority.
30 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Use new utf8
31 system.
32
33 2006-04-30 Timo Schulz <[email protected]>
34
35 * wptKeyCache.cpp (gpg_keycache_release): Release revoker
36 list if needed.
37 * wptKeyRevokersDlg.cpp (key_get_revokers): New.
38 (key_revokers_dlg_proc): Expect winpt_key_t. Change all callers.
39 * wptKeyEditDlgs.cpp (check_desig_rev): New.
40 (do_editkey_minimize): New.
41 * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Support to
42 generate a revoc cert as a desig revoker.
43
44 2006-04-29 Timo Schulz <[email protected]>
45
46 * wptVerifyList.cpp (verlist_build): Adjusted code for new
47 list view interface.
48 * wptSigList.cpp (siglist_build): Likewise.
49 * wptKeyEditDlgs.cpp (showpref_dlg_proc): Correct code
50 to display the preferences of the selected UID. Thanks to Mathias.
51 * wptKeyCacheDlg.cpp (keycache_dlg_proc): Return 1 in case
52 of an error.
53 * wptKeyCache.cpp (gpg_keycache_update_key): Always update
54 the utf8 decoded uid list.
55 * wptImportList.cpp (decode_userid): Do utf8 decoding here.
56 * wptListView.cpp (listview_new): New param for HWND handle.
57 Change all callers.
58 * wptFileManager.cpp (fm_add_sig_stat): Use utf8 decoding.
59 * wptGPGUtil.cpp (gpg_revoke_cert): Support --desig-revoker.
60 * wptClipVerifyDlg.cpp (wptClipVerifyDlg.cpp): Correct
61 keyid extraction.
62
63 2006-04-28 Timo Schulz <[email protected]>
64
65 * wptMAPI.cpp (mapi_send_pubkey): Use new key struct.
66 * wptKeysigDlg.cpp (sigprops_dlg_proc): Prepare dialog
67 for handling policy URLs.
68 * wptKeyManagerDlg.cpp (save_column_info, restore_column_info):
69 New option KMSortBy.
70 * wptKeylist.cpp (get_key_algo): Lower priority for revoked keys.
71 * wptKeyEdit.cpp (minimizeKey): New.
72 * wptKeyCache.cpp (gpg_keycache_update_key): Reload utf8 uid list.
73
74 2006-04-27 Timo Schulz <[email protected]>
75
76 * wptKeyManager.cpp (km_get_key_ptr): New.
77 * wptListview.cpp (listview_get_item_text): Drop utf8 support.
78 * wptKeyCache.cpp (keycache_decode_uids): New.
79 (free_native_uids): New.
80 * wptKeyEdit.cpp (uid_inf_colon_handler): Do utf8 decodig here.
81
82 2006-04-26 Timo Schulz <[email protected]>
83
84 * wptKeylist.cpp (get_keyid_from_fpr): New.
85 * wptDecryptClipDlg.cpp (clip_decrypt_dlg): Use it here.
86 * wptVerifyList.cpp (verlist_add_sig): Likewise.
87
88 2006-04-25 Timo Schulz <[email protected]>
89
90 * wptFileManagerDlg.cpp (file_manager_dlg_proc): Handle IDCANCEL.
91 * wptMDSumDlg.cpp (hash_selected_files): New.
92 (mdsum_dlg_proc): Cleanups.
93 * wptKeysignDlg.cpp (keysign_dlg_proc): Fix segv.
94
95 2006-04-23 Timo Schulz <[email protected]>
96
97 * wptW32API.cpp (SetDlgItemText_utf8): New.
98 (SetWindowText_utf8): New.
99 (GetDlgItemText_utf8): New.
100 * wptListView.cpp (listview_add_sub_item): Internal
101 utf8 support.
102
103 2006-04-22 Timo Schulz <[email protected]>
104
105 * wptKeyEditDlgs.cpp (addrevoker_dlg_proc): Encode
106 revoker name in UTF8.
107 * wptKeysigDlg.cpp (keysig_dlg_proc): Fix utf8 problem
108 with the window title.
109
110 2006-04-20 Timo Schulz <[email protected]>
111
112 * wptUTF8.cpp (native_to_utf8): Use c++ alloc.
113 * wptKeygenDlg.cpp (keygen_dlg_proc): Do not mix c and
114 c++ memory allocation.
115 * wptFileManager.cpp (show_verify_result): Show PKA status
116 if possible.
117 * wptClipVerifyDlg.cpp (get_pka_status): New.
118 (clip_verify_dlg_proc): Show PKA status if possible.
119 * wptClipEditDlg.cpp (clip_edit_dlg_proc): Handle IDCANCEL
120 to use ESC to quit the dialog.
121 * wptKeyEditDlgs.cpp (keyedit_adduid_dlg_proc): Also
122 encode the comment in UTF8. Thanks to Werner and Jan.
123
124 2006-04-16 Timo Schulz <[email protected]>
125
126 * wptHTTP.cpp (getErrorCode): New.
127 (connect): Store winsock error code.
128 * wptGPGMEData.cpp (is_armor_header): New.
129 * wptGPG.cpp (check_gnupg_engine): Free context.
130 (gnupg_backup_keyrings): Do not use global vars.
131 * wptGPGUtil.cpp (gpg_export_seckey): Export in ascii format.
132
133 2006-04-15 Timo Schulz <[email protected]>
134
135 * wptKeyManager.cpp (km_get_key): New.
136 (km_key_show_revoc_info): New.
137 * wptKeyRevokeDlg.cpp (key_revoke_dlg): Cleanups.
138 (on_init_dialog): New.
139 * wptKeyManagerDlg.cpp (key_manager_dlg_proc): Factour
140 out some common code and use km_get_key() instead.
141 * wptKeyEditDlgs.cpp (do_init_keylist): Change second
142 param type. Change all callers.
143 * wptKeyEdit.cpp (addNotation): New.
144 * wptKeyEditCB.cpp (editkey_command_handler): Remove 'step'
145 param everywhere. Change all callers.
146
147 2006-04-09 Timo Schulz <[email protected]>
148
149 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Only return true
150 if the homedir value was changed.
151 * wptGPG.cpp (default_key_from_cache): Only return secret key
152 if public part is available.
153 (set_gnupg_default_key): Fix NULL problem.
154 * wptKeyEditDlgs.cpp (do_editkey_clean): Set update flag.
155 * wptFileCBS.cpp (write_cb, read_cb): Better error handling.
156 * wptFileManagerDlg.cpp (file_manager_dlg_proc): Handle
157 'always-on-top' correctly.
158 * wptKeylist.cpp (keylist_get_recipients): Allocate enough
159 mem to hold all possible keys.
160 (keylist_enum_keys): Likewise.
161
162 2006-04-08 Timo Schulz <[email protected]>
163
164 * wptKeylist.cpp (keylist_get_recipients): Always use utf8 output.
165 * wptKeyserver.cpp (kserver_connect): Fixed proxy support.
166 * wptKeyserverSearchDlg.cpp (fetch_keys): New.
167 * WinPT.cpp (WinMain): if the default key was not found, reset
168 the gpg.conf entry.
169 * wptFileManager.cpp (fm_encrypt_into_zip): Use correct output
170 file name.
171 (show_verify_result): Always use utf8 output.
172 (get_output_file): Case in-sentensive comparison.
173 (fm_assume_onepass_sig): Fixed temp file handling.
174 * wptClipEncryptDlg.cpp (show_invalid_recipients): Fix utf8
175 output.
176 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Fix possible segv.
177
178 2006-04-07 Timo Schulz <[email protected]>
179
180 * wptW32API.cpp (set_clip_text): Change code so it also
181 works again with non-XP systems.
182
183 2006-04-02 Timo Schulz <[email protected]>
184
185 * wptKeyserver.cpp: decrease general threshold for timeout.
186 * wptKeyEditDlgs.cpp (do_editkey_clean): New.
187
188 2006-04-01 Timo Schulz <[email protected]>
189
190 * wptFileVerifyDlg.cpp (file_verify_use_event): Removed.
191 * wptFileManager.cpp (restore_original_name): New.
192 (fm_decrypt): Restore original file name from literal
193 packet if possible.
194
195 2006-03-31 Timo Schulz <[email protected]>
196
197 * wptCommonDlg.cpp (nls_load_langlist): New.
198 (nsl_set_language): New.
199 (nls_dlg_proc): New.
200 (select_language): New. Allow user to select the language.
201 * wptNLS.c (get_gettext_langid): Updated available languages.
202 * WinPT.cpp (WinMain): Allow to select the languag on first
203 start in non-installer environments.
204 * wptVerifyList.cpp (verlist_build): Simplified.
205 (verlist_add_sig_log): Likewise.
206 * wptListview.cpp (listview_set_column_width,
207 listview_get_selected_item): New.
208 * wptKeyManager.cpp (gpg_clip_export): Merged into..
209 (km_clip_export): ..this function.
210
211 2006-03-30 Timo Schulz <[email protected]>
212
213 * wptW32API.cpp (insert_menu_item): New.
214 * wptSigTreeDlg.cpp (create_popup): Use it.
215 (sigtree_dlg_proc): Only show the name of the owner in the title.
216 * wptMainProc.cpp (init_common_controls): Initialize all
217 common controls here.
218 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Drop static
219 keyserver menu concept. Add all keyservers dynamically.
220
221 2006-03-29 Timo Schulz <[email protected]>
222
223 * wptKeyManager.cpp (km_refresh_one_key): Fix problem
224 with preferred keyserver.
225 * wptCommonDlg.cpp (check_URL): Allow non-http URL.
226 * wptKeyEditDlgs.cpp (subkey_subclass_proc,
227 uid_subclass_proc): Disable shortcuts for non keypairs.
228 * wptMainProc.cpp (winpt_main_proc): No user interaction
229 on automatic shutdown. Thanks to Werner.
230 * wptGPGUtil.cpp (xcalloc): New.
231 (gpg_rebuild_cache): Use --batch.
232
233 2006-03-26 Timo Schulz <[email protected]>
234
235 * wptSigTreeDlg.cpp (sigtree_load): Always use UTF8.
236 * wptMainProc.cpp (winpt_main_proc): Reload key cache
237 when the GPG settings were changed.
238 * wptKeygenDlg.cpp (keygen_wizard_dlg_proc,
239 keygen_dlg_proc): Improved check for the email address.
240 * wptKeyEditDlgs.cpp (keyedit_adduid_dlg_proc): Likewise.
241 * wptKeyserverDlg.cpp (keyserver_dlg_proc): Modified design.
242
243 2006-03-22 Timo Schulz <[email protected]>
244
245 * wptClipSignDlg.cpp (on_init_dialog): New.
246 Check that there is at least one useable signing key.
247 * wptSigTreeDlg.cpp (sigtree_load): Correct UTF8 handling.
248 * wptKeyEditDlgs.cpp (keyedit_set_pref_keyserver): Show error
249 if needed.
250
251 2006-03-21 Timo Schulz <[email protected]>
252
253 * wptUTF8.cpp (native_to_utf8): Use directly W32 API.
254 (utf8_to_native): Likewise. Remove cp850 conversion.
255 * wptKeyEditDlgs.cpp (do_find_userid): Correct UTF8 handling.
256 * wptKeyManager.cpp (km_delete_keys): Do not reset 'with_seckey'
257 flag.
258
259 2006-03-20 Timo Schulz <[email protected]>
260
261 * wptUTF8.cpp (get_native_charset): Removed.
262 (utf8_to_native): Rewritten.
263 * wptKeyEditDlgs.cpp (do_add_new_userid): Correct charset
264 handling.
265 * wptKeygenCBDlg.cpp (keygen_cb): Do proper reset if needed.
266
267 2006-03-16 Timo Schulz <[email protected]>
268
269 * wptMainProc.cpp (winpt_main_proc): Disable all CryptDisk code.
270 * wptCryptDisk.cpp: Disable code.
271 * wptProxySettingsDlg.cpp (proxy_settings_dlg_proc): Support for
272 NONE proxy protocol.
273 (init_proxy_procotol): Likewise.
274 (read_proxy): Likewise.
275 * wptKeyserverSearchDlg.cpp (on_init_dialog): New.
276 (keyserver_search_dlg_proc): Use it here.
277 * wptKeyserverDlg.cpp (hkp_send_key): Use GPGME wrapper.
278 * wptKeyserver.cpp (kserver_search_end): New.
279 (kserver_search_begin): Be more strict on mem allocation.
280 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Fix 'redraw'
281 problem.
282 * wptAboutDlgs.cpp (about_dlg_proc): Hide 'Help' button.
283
284 2006-03-12 Timo Schulz <[email protected]>
285
286 * wptGPG.cpp (gnupg_load_config): Search for 'ask-cert-expire'.
287 * wptKeyPropsDlg.cpp (display_key_info): Automatically update
288 sym algorithm preferences if needed.
289 * wptKeysignDlg.cpp (date_is_today): New.
290 (keysign_dlg_proc): Only allow to set cert expire date if
291 the option was found.
292 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Allow to set
293 'ask-cert-expire'.
294
295 2006-03-10 Timo Schulz <[email protected]>
296
297 * wptHTTP.c: deleted.
298 * wptHTTP.cpp (wHTTP): Transformed old code into an object.
299 * wptKeyManager.cpp (km_http_import): Use new code.
300 (km_refresh_one_key): Use preferred keyserver if possible.
301 * wptComonDlg.cpp (check_URL): Better conformance checking.
302 * wptKeyEditCB.cpp (cmd_keyserver_handler): By default
303 set keyserver for all userids.
304 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Enable code
305 to set preferred keyserver.
306 * wptKeyCache.cpp (decode_subpacket): New.
307 (gpg_keycache_update_attr): New.
308 * wptGPGUtil.cpp (gpg_find_key_subpacket): New.
309 * wptKeyEditDlgs.cpp (keyedit_set_pref_keyserver): Use
310 -1 as an index for all userids.
311
312 2006-03-07 Timo Schulz <[email protected]>
313
314 * WinPT.cpp (set_default_keyserver): New.
315 * wptKeyserver.cpp (kserver_set_socket_timeout): New.
316 (kserver_set_default_keyserver): Initialize default settings
317 if needed.
318 * wptSymEnc.cpp (gpg_encrypt_symmetric): Disallow empty passwords.
319 * wptPassphraseDlg.cpp (request_passphrase): Handle new flag.
320 (passphrase_dlg_proc): Support new safe edit window procedure.
321 * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.
322 * wptPreferencesDlg.cpp (prefs_dlg_proc): Flush passphrase cache
323 if user disable it.
324 * wptKeylist.cpp (keylist_build): Do not scale images but use
325 original size.
326 * wptListView.cpp (listview_set_image_list): New size params.
327 Change all callers.
328
329 2006-03-01 Timo Schulz <[email protected]>
330
331 * wptW32API.cpp (set_clip_text): Free all memory.
332
333 2006-02-27 Timo Schulz <[email protected]>
334
335 * wptSOCKS.cpp (socks_handshake): New.
336 * wptMainProc.cpp (winpt_main_proc): A dbl-click forces
337 the key manager in teh foreground if possible.
338 * wptHotkey.cpp (hotkey_unregister): Unregister all hotkeys.
339 * wptRegistry.cpp (get_reg_proxy_prefs,
340 set_reg_proxy_prefs): Use directly the proxy context.
341 Changed all callers.
342 * wptProxySettingsDlg.cpp (init_proxy_protocols): New.
343 (keyserver_proxy_dlg_proc): Use directly the proxy context.
344 * wptKeyserver.cpp (kserver_connect): Better proxy support.
345 (kserver_send_request, kserver_recvkey_request): Likewise.
346 * wptKeyserverDlg.cpp (name_from_proto): New.
347 (set_proxy): Adjusted for the new code.
348
349 2006-02-26 Timo Schulz <[email protected]>
350
351 * WinPT.cpp (WinMain): Removed hotkey_modify() code.
352 * wptKeyEditDlgs.cpp (is_idea_protect_algo): Better support
353 v4 keys.
354 * wptKeyserver.cpp (sock_getline): Skip '\r'.
355 (base64_encode): Remove @maxlen param. Changed all callers.
356 (finger_readline): Removed.
357 (finger_recvkey): Use internal functions.
358 * wptSigTreeDlg.cpp (sigtree_dlg_proc): Support a context menu.
359 (show_sigprops): New.
360 (create_popup): New.
361 * wptPreferenceDlg.cpp (prefs_dlg_proc): Cache amount is
362 now in minutes.
363 * wptRegistry.cpp (get_winpt_reg_prefs, set_winpt_reg_prefs):
364 Change code to use hotkeys directly.
365 * wptHotkeys.cpp (hotkeys_enable, hotkey_disable): Likewise.
366
367 2006-02-24 Timo Schulz <[email protected]>
368
369 * wptGPG.cpp (set_gnupg_default_key): Allow to remove entry
370 when parameter is NULL.
371 * wptKeyManager.cpp (check_exist_default_key): New.
372 (km_delete_keys): Check if the default key is still valid,
373 if not delete entry.
374 * wptSigTreeDlg.cpp (sigtree_dlg_proc): Forgot to localize
375 button.
376
377 2006-02-21 Timo Schulz <[email protected]>
378
379 * wptClipDecryptDlg.cpp (clip_decrypt_dlg_proc): Minor
380 cleanups.
381 * wptGPGUtil.cpp (file_extract_recipients): New.
382 (clip_extract_recipients): New.
383 (gpg_get_recipients): New.
384 * wptPassphraseCB.cpp (passphrase_callback_proc): Support
385 external recipient listings.
386
387 2006-02-15 Timo Schulz <[email protected]>
388
389 * wptKeysignDlg.cpp (keysign_dlg_proc): Localize new checkbox.
390 * wptFileStatDlg.cpp (get_s2k_algo): New.
391 * wptFileManagerDlg.cpp (update_status_bar): Use human readable
392 formats.
393
394 2006-02-14 Timo Schulz <[email protected]>
395
396 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Localize 'Cancel'.
397 * wptKeysignDlg.cpp (keysign_dlg_proc): Implement 'Hide Typing'.
398 * wptFileManager.cpp (fm_sym_encrypt): Set cancel.
399 (fm_parse_files): Handle cancel.
400
401 2006-02-10 Timo Schulz <[email protected]>
402
403 * wptKeyPropsDlg.cpp (props_dlg_proc): Removed unused vars.
404 * wptKeyEditDlgs.cpp (do_editkey_check): Use winpt_key_t
405 for the dialog param.
406 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use new list
407 signature dialog by default.
408 * wptKeysigDlg.cpp (sigprops_dlg_proc): Use directly
409 gpgme_key_sig_t as param.
410 (keysig_dlg_proc): Change param for property dialog.
411 * wptSigTreeDlg.cpp (sigtree_load): Skip revoked user-ids
412 and use icons.
413 (sigtree_dlg_proc): Allow to execute old list dialog to
414 edit the signatures.
415
416 2006-02-09 Timo Schulz <[email protected]>
417
418 * wptRegistry.cpp (set_winpt_reg_prefs): Removed keylist mode.
419 * wptNLS.c (gettext_localize_dialog): New.
420 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Add 'Cancel' button
421 to avoid to reload the key cache.
422 * wptClipEncryptDlg.cpp (clipenc_dlg_proc): Drop old 'normal'
423 list mode.
424 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Likewise.
425 * wptPreferencesDlg.cpp (on_init_dialog): New. Move dialog
426 initiation code to this function.
427 (prefs_dlg_proc): Use it here.
428
429 2006-02-07 Timo Schulz <[email protected]>
430
431 * wptKeyEdit.cpp (setNoPassphrase): New.
432 (getValidDays): New.
433 * wptKeysignDlg.cpp (keysign_dlg_proc): Check on init
434 if the key is protected.
435 * wptKeyEditDlgs.cpp (keyedit_addphoto_dlg_proc): Handle
436 keys without a passphrase.
437 (keyedit_addrevoker_dlg_proc): Likewise.
438
439 2006-02-04 Timo Schulz <[email protected]>
440
441 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Check for
442 at least one ultimately trusted key.
443 * wptKeyManager.cpp (km_refresh_key_from_keyserver):
444 Only check inet connection if we refresh all keys.
445 * wptGPGUtil.cpp (gpg_extract_keys): New.
446 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Use textmode.
447 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Likewise.
448 * wptClipSignDlg.cpp (get_selected_key): New.
449 (one_key_proc): Use it here.
450 (count_useable_seckeys): New.
451 * wptSigTreeDlg.cpp (sigtree_dlg_proc): New.
452 * wptKeyEditDlgs.cpp (diff_time): Removed.
453 (w32_mktime): New.
454 (keyedit_addsubkey_dlg_proc): Use it here.
455
456 2006-02-02 Timo Schulz <[email protected]>
457
458 * wptW32API.cpp (get_temp_name): New.
459 * wptKeyserver.cpp (ldap_recvkey): Use it here.
460 * wptKeyPropsDlg.cpp (get_photo_tmpname): Likewise.
461 * wptGPGUtil.cpp (create_tempfile): Likewise.
462 * wptImportList.cpp (implist_load): Likewise.
463 * wptKeyCache.cpp (parse_attr_data): Likewise.
464 (w32_tempfile): Removed.
465 * wptGPGME.cpp (check_ultimate_trusted_key): New.
466
467 2006-01-31 Timo Schulz <[email protected]>
468
469 * wptMainProc.cpp (winpt_main_proc): Fix usage of the
470 help system.
471 * wptListView.cpp (listview_set_chkbox_style): New.
472 (listview_get_item_state): Support new checkbox style.
473 (listview_new): Reset flag var.
474 * wptKeylist.cpp (keylist_build): Support new checkbox style.
475
476 2006-01-30 Timo Schulz <[email protected]>
477
478 * WinPT.cpp (check_readonly_attr): New.
479 (load_gpg_env): Use it here.
480 (WinPT): Make the the default key is searched in the
481 secret key cache.
482 Change error message.
483 * wptRegistry.cpp (regist_int_winpt): Make sure
484 the register extension is only offered once to the user.
485 * wptKeyPropsDlg.cpp (get_photo_tmpname): Always use
486 temp directory. Fixed a privilege problem.
487
488 2006-01-29 Timo Schulz <[email protected]>
489
490 * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Allow to use ESC
491 to quit dialog.
492 * wptKeysignDlg.cpp (sig_class_dlg_proc): More space for
493 translations. Directly return sig class.
494 (keysign_dlg_proc): Change msgbox title.
495 * wptKeyEdit.cpp (signUserid): New.
496 (getUseridIndex): New.
497 (getKeyIndex): New.
498 (getSigIndex): New.
499 (clear): New.
500 * wptKeyEditCB.cpp (cmd_sign_handler): Allow to select
501 user-id first.
502 * wptKeyEditDlgs.cpp (lookup_cmd): New.
503 (do_editkey_sign_userid): New.
504 (do_init_cmdlist): Differ between key pairs and public keys
505 and allowed actions.
506 (keyedit_change_ownertrust): Show msgbox on success.
507 (get_default_key): New.
508 * wptPassphraseDlg.cpp (request_passphrase): Reset @cancel.
509
510 2006-01-27 Timo Schulz <[email protected]>
511
512 * WinPT.cpp (WinMain): Set minimal list mode as default.
513 * wptKeyCache.cpp (gpg_keycache_sync): Handle special v3 keys.
514
515 2006-01-25 Timo Schulz <[email protected]>
516
517 * wptRegistry.cpp (get_reg_entry_gpg): Return NULL if
518 the key exist with no value.
519 * wptMDSumDlg.cpp (mdsum_dlg_proc): Translate string.
520 * wptKeysignDlg.cpp (do_fill_seclist): Select the
521 default key if possible.
522 * wptFirstRunDlg.cpp (firstrun_dlg_proc): Directly
523 return the choice.
524 * wptKeylist.cpp (get_key_desc): New.
525 (keylist_upd_key): Free memory.
526 * wptKeyCache.cpp (gpg_keycache_get_default_key): New.
527 (gpg_keycache_set_default_key): New.
528 * WinPT.cpp (gpg_prefs_ok): New.
529 (WinMain): Only start gpg prefs if needed.
530
531 2006-01-24 Timo Schulz <[email protected]>
532
533 * wptKeyManager.cpp (km_dropped_file_import): New.
534 * wptKeyManagerDlg.cpp (keylist_subclass_proc): Allow
535 to drop files and try to import them.
536 (keymanager_dlg_proc): Pass kmi as opaque to the subclass
537 proc.
538
539 2006-01-23 Timo Schulz <[email protected]>
540
541 * wptMDSumDlg.cpp (mdsum_dlg_proc): Allow to send output
542 to the clipboard.
543 * wptKeyEditDlgs.cpp (keyedit_change_ownertrust): New.
544 (do_editkey_enable_disable): New.
545 * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Usability fix. Do not
546 close the dialog if the user cancelled the ownertrust dialog.
547 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Return TRUE to indicate
548 an update of any value.
549
550 2006-01-21 Timo Schulz <[email protected]>
551
552 * wptKeyCache.cpp (keycache_next_key): Handle the case
553 that there is a secret key without a public part.
554 * wptKeyserver.cpp (kserver_save_conf): Save ports.
555 * wptKeyserverDlg.cpp (keyserver_modify_dlg_proc):
556 Reset keyserver name.
557 * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Just indicate
558 an update, do not update the cache.
559 * wptFileManagerDlg.cpp (file_import_dlg_proc): Use one
560 dialog for both clipboard and file imports.
561 * wptKeyManager.cpp (km_file_import, km_clip_import):
562 Changes to support new update system.
563 (gpg_clip_import): New.
564 * wptKeyManagerDlg.cpp (km_gui_import): New.
565 (find_keypos): Rewritten.
566 (refresh_keylist): Improved error checking.
567
568 2006-01-20 Timo Schulz <[email protected]>
569
570 * wptKeyCache.cpp (w32_tmpfile): New.
571 (parse_attr_data): Use it here.
572 * wptGPGUtil.cpp (gpg_get_photoid_data): Reset @ndata var.
573
574 2006-01-19 Timo Schulz <[email protected]>
575
576 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Do not
577 reload the entire cache, just update the key.
578 * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Likewise.
579 * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Set update flag.
580 * wptKeyRevokersDlg.cpp (key_revokers_dlg_proc): Likewise.
581 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Update key
582 if need after showing the properties.
583 * wptGPGMEData.cpp (gpg_data_putc): Fix off-by-one bug.
584 * wptKeyManager.cpp (km_import_file): New param. Changed
585 all callers.
586 (km_import_clip): Likewise.
587 (delete_keys_from_cache): Delete secret part if available.
588 * wptClipImportDlg.cpp (print_import_status): If there
589 are too many new keys, use reload code.
590
591 2006-01-18 Timo Schulz <[email protected]>
592
593 * wptKeyEditCB.cpp (cmd_delsig_handler): Do not assume
594 the self sig is always index 0. Noted by Kurt.
595 * wptPassphraseCB.cpp (passphrase_dlg_proc): Do not assume
596 the key user-ID contains an email address.
597 * wptKeyEditDlgs.cpp (do_find_userid): Likewise.
598 (do_editkey_deluid): Likewise.
599 (do_editkey_revuid): Likewise.
600
601 2006-01-18 Timo Schulz <[email protected]>
602
603 * wptListview.cpp (listview_del_sel_items): Fixed index
604 calculation. This fixed a lot of problems with the KM listview
605 update.
606 (listview_del_all): Renamed to...
607 (listview_del_all_items): ..this. Changed all callers.
608 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Just refresh
609 list when file import contained new/updated keys.
610 * wptKeyManager.cpp (km_file_import): Indicate if the
611 import contained any new/update keys.
612 * wptClipImportDlg.cpp (print_import_status): Just mark
613 keys which actually changed.
614
615 2006-01-17 Timo Schulz <[email protected]>
616
617 * wptMAPI.cpp (mapi_send_pubkey_ext): New.
618 * wptKeysigDlg.cpp (do_delsig): Just flag the key, do not
619 update it.
620 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Be more
621 careful about const pointers.
622 * wptKeyEditDlgs.cpp (get_subkey_fingerprint): Renamed to..
623 (get_subkey_keyid): ..this. Fix problem that key was updated
624 twice and this corrupted.
625 (keyedit_add_subkey): Set @lv item in the callback context.
626
627 2006-01-16 Timo Schulz <[email protected]>
628
629 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Restore
630 window if it lost focus during the operation. Thanks to Kurt.
631 Update keylist when the window is enabled.
632 (find_keypos): New.
633 * wptKeyCache.cpp (keycache_next_key): Reset update status.
634 (gpg_keycache_next_updated_key): New arg @r_status. Change all
635 callers.
636 (gpg_keycache_update_key): Different status for new and updated.
637 Include key signatures.
638 * wptClipImportDlg.cpp (print_import_status): Mark all
639 imported keys.
640 * wptMainProc.cpp (clip_gpg_dlg): On import refresh KM keylist.
641 Thanks to Kurt.
642 * wptKeysigDlg.cpp (recv_missing_keys): Mark all received keys.
643 (do_delsig): Directly reload key. Thanks to Kurt.
644 * wptGPGME.cpp (keycache_set_reload, keycache_get_reload):
645 Removed.
646 * wptKeygenDlg.cpp (keygen_dlg_proc): Use new update system.
647 * wptClipImportDlg.cpp (clip_import_dlg_proc): Return
648 FALSE if no keys were updated or operation was cancelled.
649 * wptCommonDlg.cpp (http_dlg_proc): Fix title selection code.
650 * wptKeylist.cpp (get_ext_validity): Handle disabled keys.
651 * wptKeyPropsDlg.cpp (keyprops_dlg_proc):
652 Do not allow to change ownertrust of invalid keys.
653 Changed translation.
654 Slightly different user interface.
655
656 2006-11-14 Timo Schulz <[email protected]>
657
658 * wptW32API.cpp (make_special_filename): New.
659 * wptRegistry.cpp (set_winpt_reg_prefs, get_winpt_reg_prefs):
660 Removed 'KeyServer' item.
661 * wptPreferencesDlg.cpp (prefs_dlg_proc): Remove keyserver
662 config item.
663 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Disable group
664 window until we really use it.
665 * wptKeyserver.cpp (kserver_save_conf): New.
666 (wsock_end): Save keyserver config file.
667 * wptKeyserverDlg.cpp (keyserver_edit): New.
668 (keyserver_remove): New.
669 (keyserver_add): New.
670 (fill_keyserv_types): New.
671 (keyserver_modify_dlg_proc): New.
672 (keyserver_dlg_proc): Provide context menu to modify the
673 keyserver list.
674 (keyserver_build_list): Remove 'proto' column because it is
675 not really useful.
676 * WinPT.cpp (load_keyserver_conf): Store keyserver.conf at
677 $APPDATA\winpt. If keyserver.conf exists in the current folder
678 move it to the new destination.
679
680 2006-11-13 Timo Schulz <[email protected]>
681
682 * wptPreferencesDlg.cpp (prefs_dlg_proc): Changed translation.
683 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Likewise.
684 * wptAboutDlgs.cpp (about_dlg_proc): Make sure GPG about
685 dialog isn't shown twice.
686 * wptKeyCache.cpp (gpg_keycache_next_updated_key): New.
687 (gpg_keycache_update_key): Set update flag.
688 * wptKeyManagerDlg.cpp (refresh_keylist): New.
689 (keymanager_dlg_proc): Use new refresh system for keyservers.
690 * wptKeyserverSearchDlg.cpp (kserver_search_dlg_proc):
691 Update keycache.
692 * wptKeyserverDlg.cpp (hkp_dlg_proc): Likewise.
693 * wptKeyserver.cpp (socket_read_ext): New.
694 (kserver_recv_key_ext): New.
695 (kserver_read_config, kserver_write_config): Removed.
696
697 2006-01-12 Timo Schulz <[email protected]>
698
699 * wptListView.cpp (listview_set_image_list): Make icons
700 always transparent.
701 * wptImageList.cpp (imagelist_load): New icons.
702 * wptGPGMEData.cpp (gpg_data_putc): New.
703 * wptKeyManagerDlg.cpp (load_toolbar): Include new icons.
704 (keymanager_dlg_proc): Add tooltips.
705 * wptKeyserverDlg.cpp (keyserver_list_build): Use icons.
706 * wptKeyserver.cpp (URL_encode): New.
707 (URL_must_encode): New.
708 (kserver_search_init): Properly encode pattern.
709 (parse_iso_date): New.
710 (keyserver_search): Be more strict to prevent buffer overflows.
711
712 2006-01-11 Timo Schulz <[email protected]>
713
714 * wptKeyManagerDlg.cpp (load_toolbar): 2 new icons.
715 (keymanager_dlg_proc): Adjust tooltips.
716 (update_ui_items): Handle new icons.
717 * wptImageList.cpp (imagelist_load): New icons.
718
719 2006-01-10 Timo Schulz <[email protected]>
720
721 * wptMainProc.cpp (winpt_main_proc): Restore iconic
722 File/Key Manager windows if needed.
723 * wptGPGPrefsDlg.cpp (gpg_prefs_dlg_proc): Disable button.
724 * wptSiglist.cpp (init_cmp): New.
725 (siglist_sort): New.
726 (siglist_cmp_cb): New.
727 (siglist_add_key): Force NOKEY status when key was not found.
728 * wptKeysigDlg.cpp (recv_single_key): New.
729 (recv_missing_keys): Reload entire key when more than one key
730 was fetched.
731 (keysig_dlg_proc): Support sorting the listview items.
732
733 2006-01-09 Timo Schulz <[email protected]>
734
735 * WinPT.cpp (load_gettext): Remove file locking.
736 (WinMain): Use pre-defined autoconf constants.
737 * wptW32API.cpp (init_file_lock, release_file_lock): Deleted.
738 * wptGPG.cpp (check_gnupg_engine): Add param @need_gpg_ver.
739 Change all callers.
740
741 2006-01-07 Timo Schulz <[email protected]>
742
743 * wptKeyManager.cpp (km_refresh_from_keyserver): Summarize
744 import status if just one key was selected.
745
746 2006-01-04 Timo Schulz <[email protected]>
747
748 * wptGPGMEWrapper.c (setChangeVersion): New.
749 (exportToBuffer, exportToFile, exportToClipboard): New.
750 (setArmor, getArmor): New.
751 * wptKeylist.cpp (get_key_expire_date): Return locale specific
752 date.
753 (keylist_get_recipients): Do not fetch the key again.
754 (keylist_enum_recipients): Likewise.
755 * wptGPG.cpp (create_empty_keyring): New.
756 (get_gnupg_keyring): Fixed 'strict' logic.
757 * wptKeyManagerDlg.cpp (update_ui_items): Disable some buttons
758 when no secret keys are available.
759 * wptKeyManager.cpp (km_send_to_mail_recipient): Release key data
760 before the MAPI call is made.
761 * WinPT.cpp (check_for_empty_keyrings): New.
762
763 2006-01-03 Timo Schulz <[email protected]>
764
765 * pubkey.ico, keypair.ico: New.
766 * wptListview.cpp (listview_add_item_image): New.
767 (listview_set_image_list): New.
768 * wptSigList.cpp (siglist_add_key): Correct order of the sigs.
769 * wptKeyProps.cpp (keyprops_load_photo): Adjusted for new
770 JPEG data.
771 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not allow to
772 add items to revoked keys.
773 * wptKeyManager.cpp (km_delete_keys): Do not use uninitialized
774 keyid buffer. This fixes a segv.
775 * wptKeyserver.cpp (spawn_application): New.
776 (ldap_recv_key): Support recent protocols and several cleanups.
777 * wptKeylist.cpp (do_addkey): Set image which depends on the
778 key type.
779 (keylist_enum_recipients): Cleanups.
780 (keylist_get_keyflags): Rewritten.
781 * wptKeyCache.cpp (free_attr_list): New.
782 (parse_attr_list): New.
783 (parse_attr_data): New.
784 (keycache_update_photo): New.
785 (keycache_update_photos): New.
786 (gpg_keycache_update_key): Automatically reload photos if needed.
787 * wptGPGUtil.cpp (create_process): New param @err. Change all
788 callers.
789 (map_tmpfile): New param @nread. Change all callers.
790 (gpg_get_photoid_data): New.
791 * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not allow to
792 add items to revoked keys.
793 (subkey_init_list): Store gpgme key object.
794
795 2005-12-29 Timo Schulz <[email protected]>
796
797 * wptKeygenDlg.cpp (keygen_dlg_proc): Request passphrase dynamically.
798 (gpg_genkey_params): Simplified.
799 * wptPreferencesDlg.cpp (prefs_dlg_proc): Fix problem with mutal
800 exclusion of the dialog items.
801 * wptAboutDlgs.cpp (about_winpt_dlg_proc): Allow to use ESC to
802 quit the dialog.
803 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
804 * wptMDSumDlg.cpp (mdsum_dlg_proc): Handle WM_SYSCOMMAND.
805 (id2algo): New.
806
807 2005-12-28 Timo Schulz <[email protected]>
808
809 * wptKeyserverDlg.cpp (show_imported_keys): Decode user IDs.
810 * wptKeyRevokersDlg.cpp (key_revokers_dlg_proc): Likewise.
811 * wptKeylist.cpp (keylist_udp_key): Likewise.
812 * wptKeyManager.cpp (key_get_clip_info, key_get_info): Likewise.
813 * wptClipDecryptDlg.cpp (clip_decrypt_dlg_proc): Fix problem
814 when no signing key was found.
815 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Properly decode
816 user IDs.
817 (translate_popup_strings): s/Revoke/Revoke Cert.
818 * wptKeyEditDlgs.cpp (do_init_keylist): Do not assume a
819 0x prefixed keyid.
820 * wptKeyEditCB.cpp (editkey_command_handler): Also reset
821 step in case of a bad passphrase.
822
823 2005-12-27 Timo Schulz <[email protected]>
824
825 * wptListView.cpp (listview_set_view): New.
826 (listview_del_column): New.
827 * wptW32API.cpp (get_locale_date): New.
828 (get_menu_state): New.
829 (force_foreground_window): New.
830 * wptVerifyList.cpp (strtimestamp): Support for
831 locale date formats.
832 * wptGPGUtil.cpp (gpg_revoke_cert): Handle bad
833 passphrases.
834 * wptKeyEditCB.cpp (editkey_command_handler): Immediately
835 return when a bad passphrase was submitted.
836 * wptKeyRevokersDlg.cpp (keyrevokers_dlg_proc): Change
837 column order.
838 * wptKeylist.cpp (keylist_upd_col): New.
839 * wptKeyManagerDlg.cpp (update_ui_items): Deactivate
840 'Revocation' for public keys.
841 (translate_menu_strings): s/Revoke/Revoke Cert.
842 (modify_listview_columns): New.
843
844 2005-12-18 Timo Schulz <[email protected]>
845
846 * wptKeyManagerDlg.cpp (save_column_size): New.
847 (restore_column_size): New.
848 (keymanager_dlg_proc): Save and restore column sizes for
849 the listview control.
850 * wptKeyManager.cpp (key_get_info): New.
851 (km_delete_keys): Use it here to have a consistent message.
852 Use stored key context and not the column data.
853 (km_enable_disable_key): Likewise.
854 (km_send_to_keyserver): Likewise.
855 (km_set_implicit_trust): Likewise.
856 * wptKeylist.cpp (get_key_pubalgo2): New.
857
858 2005-12-17 Timo Schulz <[email protected]>
859
860 * wptUTF8.cpp: Removed unused charset array.
861 * wptSigList.cpp (siglist_build): Increase size for 'class'
862 column.
863 * wptGPG.cpp (get_gnupg_path): Simplified.
864 * WinPT.cpp (load_gpg_env): New.
865 (check_crypto_engine): Return type is now bool.
866 * wptRegistry.cpp (is_gpg4win_installed): New.
867 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): More consistent
868 dialog design.
869 * wptKeyManagerDlg.cpp (translate_menu_strings): New.
870 (translate_popupmenu_strings): New.
871 * wptKeyEditDlgs.cpp (is_jpg_file): New.
872
873 2005-12-13 Timo Schulz <[email protected]>
874
875 * wptCommonDlg.cpp (http_dlg_proc): Localized missing elements.
876 * wptKeyManagerDlg.cpp (change_edit_menu): New.
877 (change_key_menu): Renamed from...
878 (menu_gpg_readonly): ..this.
879 (clip_contains_pgpkey): New.
880 (update_ui_items): Do not allow to sign expired keys.
881 (keymanager_dlg_proc): Same for popup menu.
882 * wptKeyPropsDlg.cpp (parse_preflist): Fixed string handling.
883 * wptKeyCache.cpp (copy_uid_prefs):
884 (gpg_keycache_sync): Copy uid prefs so the key property
885 dialog show the correct values. Thanks to Shane.
886
887 2005-12-11 Timo Schulz <[email protected]>
888
889 * wptW32API.cpp (get_file_version): New.
890 * wptGPGUtil.cpp (create_process): Always hide window.
891 * wptClipEditDlg.cpp (clipedit_dlg_proc): Use 'Close'
892 instead of 'Exit'.
893 * wptKeyManager.cpp (km_http_import): New filename
894 generation code.
895 (km_send_to_mail_recipient): Cleanups.
896 * wptKeyEditDlg.cpp (showpref_dlg_proc): Localize dialog.
897 * wptKeyManagerDlg.cpp (update_ui_items): Handle the case
898 when multiple keys are selected.
899 (popup_multiple): New.
900 * WinPT.cpp (WinMain): Check that the PTD.dll and WinPT.exe
901 file versions are equal. Rewrote --keymanager code.
902
903 2005-12-08 Timo Schulz <[email protected]>
904
905 * wptKeyserverDlg.cpp (show_imported_keys): Enhanced.
906 (hkp_recv_key2): Show user-id of the imported key instead
907 of just the pattern.
908 * wptFileCBS.cpp (read_cb): Changed to W32 API.
909 (write_cb): Likewise. Create output file on demand.
910 (gpg_file_data_new): Adjusted code for new API.
911 * wptKeyEdit.cpp (cleanKey): New.
912 * wptKeyEditCB.cpp (cmd_clean_handler): New.
913 (editkey_command_handler): Call clean handler.
914 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Sort
915 keylist after inserting items.
916 * wptFileManager.cpp (fm_set_status): Take care of
917 cleartext sigs.
918 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Make
919 sure can be closed.
920
921 2005-12-07 Timo Schulz <[email protected]>
922
923 * wptOwnertrustDlg.cpp (ownertrust_dlg_proc):
924 Use 'Close' instead of 'Exit'.
925 * wptKeyEditDlgs.cpp (keyedit_dlg_proc): Likewise.
926 * wptGPG.cpp (gnupg_backup_keyrings): Use $APPDATA
927 as the destination dir. Thanks to Werner.
928 * wptRegistry.cpp (is_gpgee_installed): New.
929 (regist_inst_winpt): Do not register file extensions
930 if GPGee is available.
931 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Limit
932 use of local vars.
933 * wptPreferencesDlg.cpp (prefs_dlg_proc): Make sure
934 no illegal backup mode is saved.
935 * wptKeyserverDlg.cpp (show_imported_key): New.
936 (hkp_recv_key2): Show imported keys if the blob
937 contained more than one.
938
939 2005-12-06 Timo Schulz <[email protected]>
940
941 * WinPT.cpp (WinMain): Load the gettext environment soon
942 as possible so all 'first start' messages are localized.
943 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): If a single key is
944 received via the keyserver, return the gpgme key context on
945 success and add it directly to the list.
946 * wptKeyserverDlg.cpp (keyserver_dlg_proc): Support a param
947 to store the key.
948 (hkp_recv_key2): Add extra param for the fingerprint.
949 (hkp_recv_key): Call hkp_recv_key2 without fingerprint.
950
951 2005-12-02 Werner Koch <[email protected]>
952
953 * wptKeyEditDlgs.cpp (subkey_list_init): Avoid trigraphs.
954
955 2005-12-01 Timo Schulz <[email protected]>
956
957 * wptClipVerifyDlg.cpp (clipverify_dlg_proc): Use new semantic
958 for get_gpg_sigstat().
959 * wptGPGME.cpp (get_gpg_sigstat): New. It is now a function.
960 As a macro strings will not be translated at runtime.
961 * wptKeyserverDlg.cpp (hkp_recv_key): Properly detect if we
962 need to update the cache. Thanks to Jan-Oliver.
963 * wptKeyImportStatusDlg.cpp (import_status_dlg_proc): Localized.
964
965 2005-11-30 Timo Schulz <[email protected]>
966
967 * wptW32API.cpp (dialog_box_param): Removed LANG_DE code.
968 * WinPT-en.rc: Removed string list.
969 * wptFileSaveDlg.cpp (file_save_dlg_proc): Localized
970 * wptKeylist.cpp (keylist_build): Cannot use global
971 arrays for the columns due to gettext.
972
973 2005-11-29 Timo Schulz <[email protected]>
974
975 * WinPT.cpp (WinMain): Modify --keymanager. If an instance
976 is running, just send the command to open the manager.
977
978 2005-11-25 Timo Schulz <[email protected]>
979
980 * wptKeyEditCB.cpp (addrev_cmd_handler): Avoid hanging
981 process when the revoker is already there.
982
983 2005-11-24 Timo Schulz <[email protected]>
984
985 * wptPassphraseCB.cpp (passphrase_callback_proc): Localize
986 signing dialog items.
987 * wptMainProc.cpp (confirm_delclip_dlg): Localize dialog items.
988 * wptAboutDlgs.cpp (about_winpt_dlg_proc): Disable help for now.
989 * wptMDSumDlg.cpp (mdsum_dlg_proc): Localize missing items.
990 * wptKeylist.cpp (key_check_validity): Likewise.
991 * wptKeyEditDlgs.cpp (keyedit_addsubkey_dlg_proc): Likewise.
992
993 2005-11-22 Timo Schulz <[email protected]>
994
995 * wptCardEditCB.cpp (gpg_write): Due to removed _DEBUG
996 macro debug output will be generated in release version.
997
998 2005-11-21 Timo Schulz <[email protected]>
999
1000 * WinPT.cpp (WinMain): Implement --stop switch.
1001 * wptClipEditDlg.cpp (clip_edit_dlg_proc): Localize
1002 missing string.
1003 * wptPreferencesDlg.cpp (prefs_dlg_proc): Likewise.
1004 * wptKeygenDlg.cpp (keygen_dlg_proc): Verify valid context
1005 first. Thanks to Ralf.
1006 * wptFileManagerDlg.cpp (update_ui_items): New.
1007 * wptFileManager.cpp (fm_set_status): New sigmode param.
1008 Changed all callers.
1009
1010 2005-11-17 Timo Schulz <[email protected]>
1011
1012 * wptGPG.cpp (check_last_gnupg_access): Kludge to avoid that
1013 the cache will be loaded twice.
1014 * wptRegistry.cpp (regist_inst_winpt): More comments.
1015 * wptKeyManagerDlg.cpp (do_center_window): Make sure that
1016 neg. coordinates are never used.
1017 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Localize all
1018 strings.
1019 * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.
1020 * wptFileManagerDlg.cpp (filemanager_dlg_proc): Localize menu
1021 and save 'AlwaysOnTop' in the registry.
1022
1023 2005-11-16 Timo Schulz <[email protected]>
1024
1025 * WinPT.cpp (check_crypto_engine): Min is now GPG 1.4.2.
1026 * wptKeylist.cpp (keylist_add_key): Add disabled keys in list
1027 mode.
1028 * wptPreferencesDlg.cpp (prefs_dlg_proc): Localize all strings.
1029 * wptRegistry.cpp (regist_inst_winpt): Set install directory.
1030 Useful for other programs to figure out the path to the EXE.
1031
1032 2005-11-14 Timo Schulz <[email protected]>
1033
1034 * wptGPG.cpp (check_gnupg_engine): Fix version check.
1035 * wptMainProc.cpp (winpt_main_proc): Check keyring
1036 file permissions always and do not use interative output
1037 when the windows session ends.
1038 * wptProxySettingsDlg.cpp (proxy_settings_dlg_proc):
1039 Localize all strings.
1040 * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.
1041 * wptGPGPrefsDlg.cpp (gpg_prefs_dlg): Likewise.
1042 * wptKeyEditDlgs.cpp (do_init_keylist): Skip all
1043 non-valid keys.
1044
1045 2005-11-12 Timo Schulz <[email protected]>
1046
1047 Fix more GCC warnings.
1048
1049 2005-11-10 Timo Schulz <[email protected]>
1050
1051 * wptClipSignDlg.cpp (one_key_proc): Use
1052 release_gpg_passphrase_cb() to free the context.
1053 * wptListView.cpp (listview_deselect_all): New.
1054 * wptMAPI.cpp (mapi_send_pubkey): Works again.
1055 * wptFileManagerDlg.cpp (file_manager_dlg_proc): Support encrypt &
1056 zip.
1057 * wptPassphraseCB.cpp (passphrase_callback_proc): Fix passphrase
1058 caching for signing operations.
1059 * wptKeyManager.cpp (km_send_to_mail_recipient): Works again.
1060 * wptFileManager.cpp (fm_send_file): Likewise.
1061 (fm_encrypt_into_zip): New.
1062
1063 2005-11-09 Timo Schulz <[email protected]>
1064
1065 * wptNLS.c (get_gettext_langid): Map user language id to
1066 printable gettext language strings.
1067 * wptRegistry.cpp (get_reg_entry_mo): Support for the
1068 gettext environment.
1069 * wptFileManager.cpp (fm_encrypt): Close all files before
1070 the wipe procedure is called.
1071 * wptVerlist.cpp (verlist_add_sig): Handle the case the
1072 issuer is not valid but the signature is.
1073 (verlist_add_sig_log): Likewise. Thanks to the folks on
1074 winpt-users.
1075
1076 2005-11-08 Werner Koch <[email protected]>
1077
1078 * SAFE.ICO, SIGN.ICO: Fixed capitalization.
1079 * WinPT-en.rc: Ditto.
1080 * winpt_km.ico: Moved from ../.
1081
1082 * Makefile.am (resource_files): Add missing backslash.
1083
1084 2005-11-08 Timo Schulz <[email protected]>
1085
1086 More minor changes to avoid GCC warnings.
1087
1088 * wptGPG.cpp (check_homedir): Free memory in case of errors.
1089 (multi_gnupg_path): Add strict mode. If non-strict mode return
1090 the folder even if it does not exist.
1091 (check_for_gpgwin): New.
1092 * wptKeyserverDlg.cpp (hkp_recv_key): Make sure import_res is
1093 initialized.
1094 * wptRegistry.cpp (get_reg_entry_gpg4win): New.
1095 (get_reg_entry_mo): Support for gpg4win.
1096
1097 2005-11-07 Timo Schulz <[email protected]>
1098
1099 * wptMainProc.cpp (winpt_main_proc): Disable
1100 some menu items when no secret key is available.
1101
1102 2005-11-05 Timo Schulz <[email protected]>
1103
1104 More minor changes to avoid GCC warnings.
1105
1106 * wptErrors.cp (winpt_strerror): Return w32
1107 formatted error and do not use 'break'.
1108
1109 2005-11-04 Werner Koch <[email protected]>
1110
1111 * WinPT-en.rc: Fixed locations of icons.
1112
1113 2005-11-03 Timo Schulz <[email protected]>
1114
1115 A lot of minor changes to avoid GCC warnings.
1116
1117 * wptGPG.cpp (get_gnupg_keyring): Only check size for
1118 public keyring.
1119 * wptKeyManager.cpp (km_update_default_key_str): Do
1120 not issue a bug message when no secret key was found.
1121 * wptGPGPrefsDlg.cpp: Replace "" with NULL in the name struct.
1122
1123 2005-11-02 Werner Koch <[email protected]>
1124
1125 * WinPT.cpp (WinMain): Disabled PTD version tests.
1126 (check_crypto_engine): Fixed version check for scard.
1127
1128 * wptErrors.cpp (debug_end): Add dummy function.
1129
1130 * Makefile.am (code_files): Added wptCardEditCB.cpp and
1131 wptKeyEditCB.cpp.
1132
1133 2005-10-31 Werner Koch <[email protected]>
1134
1135 * wptCurrWnd.cpp: Include wptVersion.h to get prototypes of PTD
1136 functions.
1137
1138 * wptKeyEditDlgs.cpp: Include oleauto.h
1139 * wptKeyEdit.cpp: Include time.h.
1140 * wptRegistry.cpp (gpg_filetypes): New from ../Include/wptGPG.h.
1141 * wptGPGUtil.cpp (gpg_manage_ownertrust): s/export/exportflag/.
1142
1143 * Makefile.am (code_files): Add wptGPGUtil.cpp, wptCardEdit.cpp,
1144 wptKeyEdit.cpp and wptKeycache.cpp.
1145
1146 * wptPassphraseCB.cpp: Fixed spelling of wptKeylist.h
1147 * wptImportList.cpp (implist_load): Use remove and not unlink.
1148 * wptGPG.cpp: Fixed spelling of wptGpgCmds.h
1149 * wptImportList.cpp (implist_load): Use remove and not unlink.
1150 * wptKeyManager.cpp (km_http_import): Ditto
1151 * wptMainProc.cpp: Include wptCrypto.h
1152 * wptKeyManager.cpp: Ditto.
1153 * wptFileManager.cpp: Ditto.
1154 * wptImportList.cpp (parse_colon_key): Need to cast argument for
1155 isdigit. Include ctype.h.
1156 * wptGPG.cpp: Include shlobj.h.
1157
1158 Fixed double inclusion of windows.h.
1159
1160 * Makefile.am (bin_PROGRAMS): Don't build KeyManagerExe for now.
1161 * wptKeylist.cpp (get_key_created): Broke up trigraph.
1162 (get_key_status): Removed dangerous use of sprintf. Still other
1163 flaws present, see comment.
1164
1165 * wptCardPCSC.c: Don't include winscard.h.
1166 (pcsc_readerstate_t, pcsc_context_t): New. Changed call users to
1167 use these types.
1168 (PCSC_): Added a lot of constants, all taked from GnuPG 1.9.
1169 (SCARD_S_SUCCESS): Changed all compares to test the value directly
1170 against zero.
1171
1172 * WinPT.cpp: Include wptCrypto.h.
1173 (WinMain): Don't shard S. Removed usunsed variable SIZE.
1174 * Makefile.am (code_files): Actually add files by adding a first
1175 backslash.
1176 * wptMDSumDlg.cpp: Include wptCrypto.h.
1177 * wptProxySettingsDlg.cpp: Included ctype.h.
1178 * wptKeysigDlg.cpp: Fixed spelling of wptKeylist.h.
1179 * wptKeysignDlg.cpp: Ditto
1180 * wptKeyRevokersDlg.cpp: Ditto. Fixed spelling of wptW32API.h.
1181 * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Replaced unlink by remove.
1182 Removed unused variable.
1183 * wptClipVerifyDlg.cpp (show_notation_data): s/not/nota/ due to
1184 silly c++ operator synonyms.
1185 * wptKeyEditDlgs.cpp: Include time.h.
1186 * wptClipDecryptDlg.cpp: Include wptCrypto.h to define PGP_MESSAGE.
1187 * wptFileManagerDlg.cpp: Ditto.
1188 (space_wipefrees_dlg_proc): Replaced unlink by remove; it doesn't
1189 matter if it does an rmdir for a directory.
1190
1191 Fixed include of resource.h which is not anymore in the top
1192 directory.
1193
1194 2005-10-28 Werner Koch <[email protected]>
1195
1196 * wptProxySettingsDlg.cpp (check_number): Cast isdigit() arg to
1197 unsigned. Never ever use a possible signed char as argument for
1198 ctype tests. An alternative is to first test using isascii ().
1199 (keyserver_proxy_dlg_proc): Removed unused variable.
1200
1201 2005-10-27 Timo Schulz <[email protected]>
1202
1203 * wptKeyPropsDlg.cpp (get_validity): Take care of disabled keys.
1204 * wptKeylist.cpp (keylist_add_key): Check global key flag to
1205 see if the key is disabled and not each subkey.
1206 (seclist_init): Likewise.
1207 * wptClipDecryptDlg.cpp (gpgme_op_clip_decrypt): Use
1208 gpgme_op_decrypt_verify.
1209 (clip_decrypt_dlg_proc): Fixed fingerprint
1210 to keyid conversation. This also fixes a crash.
1211 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Likewise.
1212 * wptKeyEditDlgs.cpp (do_editkey_expire): Ask if the key
1213 already expired if the user wants to change the date.
1214 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Replace old
1215 'v3 sig' option with the 'ask cert level' option. Sync
1216 with global preferences.
1217 * wptKeySignDlg.cpp (keysign_dlg_proc): Watch if the
1218 gpg.conf contains 'ask-cert-level'. If not disable button.
1219 * wptKeySigDlg.cpp (keysig_dlg_proc): Automatically disable
1220 the button when the key is available.
1221 Reload key directly, not the entire cache.
1222
1223 2005-10-26 Timo Schulz <[email protected]>
1224
1225 * wptFileManager.cpp (is_floppy_disc): Prevent very unlikely but
1226 possible overflow.
1227 (is_openpgp_ext): Compare case insentensive.
1228 (add_single_file): New.
1229 (fm_add_opened_files): Support multi file selection.
1230 * wptKeyPropsDlg.cpp (do_change_ownertrust): Removed.
1231 * wptKeyManager.cpp (km_enable_disable_key): Do not set cache
1232 reload flag. Just update the single key.
1233 * wptFileManagerDlg.cpp (file_encrypt_dlg_proc): Remove static var
1234 and disable anonymize recipient for now.
1235
1236 Begin to port code to GCC. Fix all warning issued by the gcc
1237 compiler.
1238
1239 2005-10-25 Timo Schulz <[email protected]>
1240
1241 * wptGPGUtil.cpp (create_process): Hide window.
1242 * wptKeyPropsDlg.cpp (get_photo_tmpname): New.
1243 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Remove
1244 static var 'enable'.
1245 * wptKeygenDlg.cpp (keygen_dlg_proc): Likewise.
1246 (gpg_genkey_params): Make sure all primary keys are capable
1247 for signing and certification.
1248 * wptKeySigDlg.cpp (is_sig): If no item is selected, return 0.
1249 * wptGPG.cpp (gnupg_access_keyring): Check return value for
1250 NULL. Noted by Ralf.
1251 (get_gnupg_prog): Simplified.
1252 (check_homedir): Fixed. Return 0 when the dir is successfully created.
1253 * wptKeyManagerDlg.cpp (km_file_import): Use the hourglass to
1254 indicate a pending GPG process.
1255 * wptFileManager.cpp (op_begin, op_end): New. Indicate an start
1256 and and of an operation. For now just the cursor changes.
1257 (fm_parse_command_line): Remove debug output. Thanks to Ralf again.
1258 * WinPT.cpp (WinMain): Check if there is already an instance and
1259 set a variable early as possible.
1260 (load_gettext): If a previous instance was found, do not output
1261 any errors. Kudos to Ralf.
1262
1263 2005-10-24 Timo Schulz <[email protected]>
1264
1265 * wptPassphraseCB.cpp (passphrase_callback_proc): Allow to use
1266 pre-defined recipients.
1267 (release_gpg_passphrase_cb): Release recipients.
1268 * wptKeyPropsDlg.cpp (keyprops_load_photo): Set photo-id
1269 validity if needed.
1270 (keyprops_dlg_proc): Issue a warning if the photo is valid.
1271
1272 2005-10-23 Timo Schulz <[email protected]>
1273
1274 * wptFileManager.cpp (fm_get_file_type): Detect detached sigs.
1275 * wptKeyList.cpp (keylist_cmp_cb): Take care of expired/revoked keys.
1276 (get_ext_validity): New.
1277 * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Several cleanups.
1278 * wptClipEditDlg.cpp (load_clipboard): Factored out some code into
1279 this function.
1280 (load_clipboard_from_file): Likewise.
1281 (save_clipboard_to_file): New.
1282 * wptKeyManagerDlg.cpp (keyprops_dlg_proc): Fix stack overflow.
1283
1284 2005-10-22 Timo Schulz <[email protected]>
1285
1286 Localized a lot of more strings.
1287
1288 * wptMainProc.cpp (load_smartcard): New.
1289 * wptFileManager.cpp (fm_parse_command_line): Simplify code.
1290 (fm_check_armor_type): Add new arg. Change all callers.
1291 (fm_get_file_type): Likewise.
1292 * wptKeyPropsDlg.cpp (display_key_info): New.
1293 (keyprops_show_photo): Factored out some code into..
1294 (keyprops_load_photo): ..this function.
1295
1296 2005-10-21 Timo Schulz <[email protected]>
1297
1298 * wptFileManagerDlg.cpp (file_manager_dlg_proc): Use
1299 WM_INITPOPUPMENU to localize popup menu texts.
1300 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
1301 * wptClipSignDlg.cpp (one_key_proc): Use wipememory instead of memset.
1302
1303 2005-10-20 Timo Schulz <[email protected]>
1304
1305 Now WinPT depends on GPG 1.4.3 and GPGME 1.2.0.
1306
1307 * wptPassphraseCB.cpp (passphrase_cb): Complete card support.
1308 * wptCardEdit.cpp (genKey): Handle cancel case.
1309 * keycache.c: Renamed into...
1310 * wptKeyCache.cpp: ...this.
1311 * wptW32API.cpp (set_menu_text): Removed unused code.
1312 (set_menu_text_bypos): New.
1313 * wptCrypto.h: New.
1314 * wptMainProc.cpp (winpt_main_proc): Complete localize
1315 menu texts.
1316 * wptErrors.cpp (log_debug): Use a static var so the file
1317 is only opened once.
1318 (debug_end): Cleanup. Currently just close the log file.
1319 * wptErrors.h (wipememory): New.
1320 (sfree_if_alloc): Use it here.
1321 * WinPT.cpp (WinMain): Display the min. GPGME version which
1322 is needed in case of an error.
1323
1324 2005-10-17 Timo Schulz <[email protected]>
1325
1326 Free all memory returned by the GPGME dll with gpgme_free ().
1327
1328 s/GPG_ERR_CARD_REMOVED/GPG_ERR_CARD_NOT_PRESENT.
1329
1330 * wptKeyEdit.cpp (getCardStatus): Remove dummy key.
1331 (list_handler): With user interaction to allow to insert
1332 the card into the reader.
1333 * wptKeyEditCB.cpp (gpg_edit_card): Likewise.
1334 (common_card_handler): Fixed incorrect command string.
1335 * wptKeyPropsDlg.cpp (get_card_type): New.
1336 (keyprops_dlg_proc): Show card information if present.
1337 * wptFileManager.cpp (secret_key_available): Make the code faster.
1338
1339
1340 2005-10-16 Timo Schulz <[email protected]>
1341
1342 * wptPassphraseCB.cpp (passphrase_cb): Fix problem
1343 with hanging GPG process on cancel.
1344 * keycache.c (gpg_keycache_release): Release all objects.
1345
1346 2005-10-15 Timo Schulz <[email protected]>
1347
1348 * wptCardEdit.cpp (setResult, getResult): New.
1349 (reset): New.
1350 (getCardStatus): Check return codes and release all objects
1351 in case of errors.
1352 * wptCardEditCB.cpp (change_pin_handler): Call reset()
1353 before quit.
1354 (editcard_handler): Likewise.
1355 (common_card_handler): New.
1356 * wptCardDlg.cpp (card_changepin_dlg_proc): Also unmask
1357 the old PIN when 'Hide Typing' is disabled.
1358 * wptPassphraseCB.cpp (passphrase_cb): The card detection
1359 works again. Support to re-enter passphrase.
1360
1361 2005-10-14 Timo Schulz <[email protected]>
1362
1363 * wptCardDlg.cpp (card_status): New fields for the
1364 fingerprint creation time. Display card info as title.
1365 (get_printable_version): New.
1366 * wptCardEditCB.cpp (editcard_handler): Fix problem
1367 with the counter comparison.
1368
1369 2005-10-11 Timo Schulz <[email protected]>
1370
1371 Port to GPGME basically finished.
1372
1373 2005-09-20 Timo Schulz <[email protected]>
1374
1375 * wptFileManagerDlg.cpp (file_secdel_confirm_dlg_proc):
1376 Do not use gpgme_recipients_t but the listview directly
1377 to add the selected files.
1378
1379 2005-09-07 Timo Schulz <[email protected]>
1380
1381 * Make sure all GetOpenFileName filters are terminated by \0\0.
1382
1383 2005-09-01 Timo Schulz <[email protected]>
1384
1385 * wptW32API.cpp (center_window): New argument for parent window.
1386 Change all callers.
1387 (center_window2): Likewise.
1388 * GPGME now can read gpgProgram entries with 'REG_EXPAND_SZ'.
1389 * wptGPG.cpp (gnupg_backup_options): Remove param. One backup
1390 file is enough. Changed all callers.
1391
1392 2005-08-15 Timo Schulz <[email protected]>
1393
1394 * wptKeyEditDlgs.cpp (do_editkey_showpref): Take care of v3 keys.
1395 * wptGPGOptDlg.cpp (gpgopt_dlg_proc): Fixed name of title.
1396 * Make sure the passphrase is always overwritten before it is
1397 freed (or the function returns).
1398 * wptKeyPropDlg.cpp (get_pref_cipher): New.
1399 (keyprops_dlg_proc): Use it here.
1400
1401 2005-08-06 Timo Schulz <[email protected]>
1402
1403 * wptGPGME.cpp (keycache_update): Reload OpenPGP parts
1404 of the secret key.
1405 (keycache_init): cache name of secret keyring.
1406 * wptKeyList.cpp (keylist_upd_key): Do not add long keyid.
1407 (get_key_type): Do not assume 'ultimate' means key pair.
1408 * wptKeyEditDlgs.cpp (diff_time): New.
1409 (keyedit_addsubkey_dlg_proc): Changed design and use
1410 diff_time. Drop checks for invalid keylength (< 1024, > 4096)
1411 because the combo box automatically handles this.
1412 * wptKeyManager.cpp (km_set_implicit_trust): Return error code.
1413 * wptGPG.cpp (get_backup_name): New.
1414 (gnupg_backup_keyrings): Rotate backup names, from 0..3.
1415 * wptClipImportDialog.cpp (clip_import_dlg_proc): Free memory.
1416 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use 0x short keyid and
1417 not the long keyid.
1418
1419 2005-08-05 Timo Schulz <[email protected]>
1420
1421 * wptListView.cpp (listview_set_item2): New.
1422 * wptKeyManager.cpp (km_check_if_protected): Directly
1423 retrieve gpgme_key_t from the list.
1424 (km_check_key_status): Likewise.
1425 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Also use
1426 a human-readable name for secret key export.
1427 Reload just the keys which were affected by updates
1428 (edit-key).
1429 (update_key): New.
1430 * wptKeyList.cpp ((keylist_upd_key): Stripped down
1431 version of keylist_add_key.
1432 * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Do not
1433 reload the keycache here, just flag 'update'. Give the
1434 control to the calling dialog.
1435 * wptKeySignDlg.cpp (keysign_dlg_proc): Use winpt_key_t
1436 as parameter. Changed all callers.
1437 Add date of expiration to the key info.
1438 (get_expire_date): New.
1439 Use a checkbox to allow to ask for the cert level.
1440 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Do no reload
1441 the cache.
1442
1443 2005-08-04 Timo Schulz <[email protected]>
1444
1445 * wptListView.cpp (listview_scroll): New.
1446 (listview_get_item2): New.
1447 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): If the
1448 item was found, make it visible with scrolling.
1449 * wptKeyManager.cpp (km_find_key): New.
1450 (keylist_subclass_proc): Support to handle some acceleators.
1451 Strg+{C, P, F, A}.
1452 (km_get_key_status): Get the gpgme_key_t object directly
1453 from the list.
1454 * wptGPGPRefsDlg.cpp (gpgprefs_dlg_proc): Also try to set
1455 the config file (if it exists).
1456 * wptKeySignDlg.cpp (keysign_dlg_proc): Use easier code
1457 to handle the click->activate situation.
1458 * wptPassphraseCB.cpp (passphrase_callback_proc): Likewise.
1459 Support to check the passphrase quality.
1460 * wptPassphraseDlg.cpp (passwd_dlg_proc): Likewise.
1461 (request_passphrase): Rename 'init' to 'flags' to allow more
1462 options.
1463 * wptMAPI.cpp: Check all *alloc results.
1464 * wptKeyGenDlg.cpp (keygen_dlg_proc): Use a rudimentary
1465 passphrase quality check.
1466 * wptMDSumDlg.cpp (mdsum_dlg_proc): Use md5/sha1sum file
1467 format and allow to save the checksum in a file.
1468 * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Issue a warning
1469 when the PGP mode is disabled.
1470 wptKeyEditDlgs.cpp (do_editkey_primary): Return if just
1471 one user-ID exists.
1472 (keyedit_dlg_proc): Fixed index problem.
1473 * wptKeyPropsDlg.cpp (get_validity): New.
1474 (keyprops_dlg_proc): Actually show extended validity if possible.
1475 * wptKeyList.cpp (get_key_fpr): Support for old v3 format.
1476 (do_addkey): Use listview_add_item2 to store key as opaque
1477 param inside the list.
1478 * wptFileStatDlg.cpp (get_digest_algo): Add SHAxxx.
1479 (file_stat_dlg_proc): End dialog if no PGP data was found.
1480 (do_list_packets): Return the number of valid PGP packets
1481 of the file.
1482
1483 2005-08-02 Timo Schulz <[email protected]>
1484
1485 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Instead of
1486 using 'Default Keyserver' add the real keyserver name to
1487 the menu.
1488 The rebuild command does not reload the cache any longer.
1489 Use ATTR_NAME + .asc as the filename and not keyid + .asc.
1490 * wptProxySettingsDlg.cpp (enable_proxy_auth): New.
1491 (keyserver_proxy_dlg_proc): Changed the design a little
1492 and add some additional sanity checks.
1493 * wptGPGParser.cpp (commit_gpg_options): Use W32 line endings.
1494 This fixes the problem that the GPG option dialog does not show
1495 very nice lines.
1496 * wptGPGOptDlg.cpp (gpgopt_dlg_proc): s/options/config.
1497 * wptKeySigDlg.cpp (keysig_dlg_proc): If a single key is selected
1498 check for 'NOKEY' before asking a keyserver.
1499 * wptKeyManager.cpp (km_delete_keys): Do not set 'refresh' flag.
1500 If a lot of keys were selected, ask if the user wants to confirm
1501 each delete procedure or allow to cancel the operation.
1502 * wptFileManagerDlg.cpp (file_import_dlg_proc): Display how much
1503 keys the file contain.
1504 * wptKeyList.cpp (get_key_algo): Beautified.
1505 (get_key_status): Drop the "[XYZ] Unknown" format, it is too
1506 confusing for users.
1507 * wptKeyManager.cpp (km_check_key_status): Adjustments for the
1508 new code.
1509 (km_check_for_seckey): Reset utrust parameter. Return -1 for
1510 invalid (exp+rev+dis) keys.
1511
1512 2005-08-01 Timo Schulz <[email protected]>
1513
1514 * wptKeyserver.cpp (kserver_urlencode): Use unsigned for all given
1515 sizes.
1516 (check_IP_or_hostname): New.
1517 (kserver_load_conf): Correct finger URL parsing problem.
1518 (port_from_proto): New.
1519 (keyserver_load_conf): Guess the port.
1520 (keyserver_set_default): Allocate new buffer.
1521 (kserver_load_conf): Likewise.
1522 * wptHTTP.c (parse_reqline, parse_request): Removed.
1523 Use WinPT error code and remove all unused code.
1524 * wptKeyserverDlg.cpp (keyserver_dlg_proc): Properly handle finger URLs.
1525 * wptProxySettingsDlg.cpp (read_proxy): Simple check for
1526 invalid host/IP addresses.
1527 * wptGPG.cpp (multi_gnupg_path): Return allocated buffer.
1528 Changed all callers.
1529 * wptPreferencesDlg.cpp (prefs_dlg_proc): At the first start,
1530 automatically set 'backup to homedir'.
1531 * WinPT.cpp (WinMain): Use desktop window as the parent window
1532 to load 'first-start' dialogs.
1533 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Do not set 'refresh'
1534 flag after deleting keys.
1535 * wptFirstRunDlg.cpp (first_run_dlg_proc): Use a new structure
1536 for passing the arguments.
1537 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Do not store "" for
1538 the OptFile. This was responsible for a lot of 'General Errors'
1539 after the first start related to key caching.
1540 Automatically set the gpg binary if possible.
1541
1542 2005-07-22 Timo Schulz <[email protected]>
1543
1544 * wptMainProc.cpp (winpt_main_proc): Take care for shutdown
1545 messages and make sure WinPT make a keyring backup in this case.
1546 * wptGPGME.cpp (keycache_reload): Do not rebuild the signature
1547 cache each time. Just do it on startup.
1548 * wptKeyManager.cpp (km_key_is_v3): Use new ATTR_VERSION.
1549 * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Assume the v3 flag
1550 was set by the calling function.
1551 * wptKeyGenDlg.cpp (keygen_wizard_dlg_proc): Ask for backups.
1552 (keygen_dlg_proc): Only add the generated key to the keycache
1553 and do not reload the entire cache.
1554 * wptKeyManager.cpp (km_delete_keys): Store the number of keys
1555 because in each loop iteration it will be new calculated.
1556 * wptListView.cpp (listview_del_items): Likewise.
1557 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Directly add the
1558 generated key to the list instead of reloading the entire cache.
1559 * wptKeyEditDlgs.cpp (parse_preflist): Support fpr SHAnnn.
1560
1561 2005-05-09 Timo Schulz <[email protected]>
1562
1563 * wptCommonDlg.cpp (http_file_dlg_proc): Renamed to..
1564 (http_dlg_proc): ..this.
1565 (get_keyserver_URL_dlg): New.
1566 (check_URL): New.
1567 * wptKeyEditDlgs.cpp (keyedit_set_pref_keyserver): New.
1568 (keyedit_main_dlg_proc): Avoid massive keycache reloads, just reload
1569 the single key.
1570 * wptKeyRevokersDlg.cpp (key_revokers_dlg_proc): Show the key
1571 properties of the selected desig. revoker.
1572 * wptVerifyList.cpp (verlist_build): Increase the column
1573 size of 'keyid'.
1574 * wptGPGME.cpp (keycache_update): New.
1575 * wptKeySigDlg.cpp (keysig_dlg_proc): Update the key if a signature
1576 was deleted.
1577 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Zeroing the key struct
1578 before we set any values.
1579
1580 2005-05-03 Timo Schulz <[email protected]>
1581
1582 * wptFileManager.cpp (fm_parse_command_line): Handle
1583 'SYMKEYENC' files. Thanks to the user who reported it.
1584 * wptKeyEditDlgs.cpp (do_find_userid): Optionally return the context.
1585 (showpref_dlg_proc): New.
1586 (keyedit_main_dlg_proc): Support SHOWPREF.
1587 (userid_list_init): New field 'Email'. Split userID into 'Name' + 'Email'.
1588 (do_add_new_userid): Adjust for new ListView.
1589 (do_find_userid): Use email for searching.
1590 (parse_preflist): New.
1591
1592 2005-04-19 Timo Schulz <[email protected]>
1593
1594 * wptKeyserver.cpp (kserver_update_proxyuser): Fixed
1595 buffer overflow that occurred when the proxy password
1596 is > 29 chars. Thanks to the friendly user who reported this.
1597 (kserver_search): Handle the case the key is revoked. Thanks
1598 to Ralf.
1599 (kserver_connect): More logging.
1600 (kserver_sendkey): Likewise.
1601 * wptProxySettingsDlg.cpp (check_number): New.
1602 (read_proxy): Check the entered port number.
1603 * wptKeySignDlg.cpp (sig_class_dlg_proc): Check default button.
1604 * wptW32API.cpp (get_folder_dlg): Free memory.
1605
1606 2005-04-11 Timo Schulz <[email protected]>
1607
1608 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Reset
1609 'enable' flag always at the begin.
1610 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Show correct
1611 key trust. Noted by a friendly user.
1612 * wptListView.cpp (listview_add_item_pos): New.
1613 * wptKeyEditDlgs.cpp (get_subkey_fingerprint): Due to
1614 the fact that GPG does not return the fingerprint of
1615 the generated subkey any longer, we need to get it manually.
1616 Thanks to Maxime Brandt.
1617 (keyedit_addsubkey_dlg_proc): If key size too large, ask
1618 if this was a mistake.
1619 (keyedit_add_subkey): Use it here.
1620 (do_add_new_subkey): Fix list contrl insertion.
1621 * wptTypes.h (DEFAULT_KEYSIZE): Define new default keysize constant.
1622
1623 2005-04-04 Timo Schulz <[email protected]>
1624
1625 * WinPT.cpp (check_crypto_engine): Correct version
1626 check. Noted by Werner.
1627
1628 2005-03-22 Timo Schulz <[email protected]>
1629
1630 * WinPT.cpp (WinMain): --debug as an alias for --enable-debug.
1631 (enable_mobile_mode): New.
1632 * wptKeyEditDlg.cpp (keyedit_addsubkey_dlg_proc): Use new
1633 ID's for adding subkeys.
1634
1635 2005-03-06 Timo Schulz <[email protected]>
1636
1637 * wptKeySignDlg.cpp (do_fill_seckeylist): Skip secret keys without
1638 a public key. Noted by Kurt Fitzner.
1639
1640 2005-03-04 Timo Schulz <[email protected]>
1641
1642 * GPG asks twice for the new PIN. Thanks to Achim.
1643 * wptCardDlg.cpp (card_changepin_dlg_proc): Reset the 'safety' pin also.
1644 Only check the passphrase if the backup flag is enabled. Again thanks to
1645 Achim.
1646
1647 2005-03-03 Timo Schulz <[email protected]>
1648
1649 * wptCardDlg.cpp (card_changepin_dlg_proc): Add item to re-type the
1650 new PIN. Suggested by Achim.
1651 Support to show the unmasked PIN.
1652 Modified TAB-order.
1653 * wptPINDlg.cpp (pin_cb_dlg_proc): Show unmasked PIN.
1654
1655 * Fixed wrong GPG --command-fd strings. Thanks to Achim.
1656
1657 2005-02-23 Timo Schulz <[email protected]>
1658
1659 * wptKeyserver.cpp (check_hkp_response): Support for HTTP/1.1.
1660 (kserver_search): Be more strict.
1661 * WinPT.cpp (WinMain): Enable FM progress by default.
1662 * wptFileManagerDlg.cpp (file_preferences_dlg_proc): New.
1663 (fm_parse_files): Use progress dialog only if it is
1664 enabled.
1665
1666 2005-02-07 Timo Schulz <[email protected]>
1667
1668 * wptFileManager.cpp (fm_parse_files): Do not use the progress dialog
1669 for signing and verifying. But this does not fix the problem tha the
1670 dialog sometimes stay and is not destroyed.
1671
1672 2005-02-04 Timo Schulz <[email protected]>
1673
1674 * wptProgressDlg.cpp (progress_cb_thread): Set root window if available.
1675 If the progress window survives by accident, it will be closed when the
1676 File Manager (root window) is closed.
1677
1678 2005-02-02 Timo Schulz <[email protected]>
1679
1680 * wptPassphraseDlg.cpp (passwd_dlg_proc): use center_window2, otherwise
1681 it is invisible.
1682 * wptPassphraseCB.cpp (passphrase_callback_proc): Do not cache symmetric
1683 passphrases.
1684 * Enable the progress dialog for symmetric encryption.
1685 * wptFileManager.cpp (fm_check_file_type): Also check for 'SYMKEYENC' in
1686 FM_ENCRYPT mode.
1687 * WinPT.cpp (WinMain): SETUP_EXISTING implemented.
1688 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Reset 'Locale directory' when
1689 no value is entered.
1690
1691 2005-01-26 Timo Schulz <[email protected]>
1692
1693 * wptGPG.cpp (multi_gnupg_path): Zero buffer before use.
1694 * wptKeyManagerDlg.cpp: Add 'Select All' feature.
1695 Move 'Edit->Key' to 'Key->Edit'.
1696 * wptFileManagerDlg.cpp: Likewise.
1697 * wptKeyPropsDlg.cpp (keyprops_show_photo): Show the JPG photo directly.
1698 * wptKeyManager.cpp (spawn_loadimage): Removed.
1699 (km_show_photo): Removed.
1700 * wptRevokersDlg.cpp (revokelist_init): Fixed index.
1701 * wptErrors.cpp (winpt_strerror): Show system error for registry
1702 related problems.
1703
1704 2005-01-25 Timo Schulz <[email protected]>
1705
1706 * wptCardDlg.cpp (card_keygen_dlg_proc): Make 'backup keys' default
1707 and that all values are 7-bit ASCII.
1708 Use '*' for the passphrase field.
1709 * wptGPG.cpp (multi_gnupg_path): New.
1710 (get_gnupg_path): Use it here.
1711 (check_homedir): Likewise.
1712 * wptKeyserverDlg.cpp (save_default_ks): Fix problem that the port
1713 is actually set.
1714 * wptFileManager.cpp (fm_clearsign_8bit): New.
1715 (fm_parse_files): Check if the file to clearsign is really 7-bit.
1716 Thanks to djek.
1717 (fm_set_ftype): Factored out some code from...
1718 (fm_add_dropped_files): ...here. Simplied the code.
1719 (fm_add_dir_files): New.
1720 * Removed MD5 from MyGPGME and the new default sym cipher is AES.
1721 * wptProgressDlg.cpp (progress_dlg_proc): Use additional HAND var
1722 to track the window handle.
1723 (progress_cleanup): Try to close tracking handle first.
1724
1725 2005-01-21 Timo Schulz <[email protected]>
1726
1727 * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Allow to retrieve keys
1728 which are not in the keyring. Suggested by djek.
1729 * wptFileManagerDlg.cpp (filemanager_dlg_proc): Implement basic
1730 'Always on Top'.
1731 Allow to send encrypted files via MAPI.
1732 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Only reload the keycache
1733 if the HKP retrieval succeeded.
1734 * wptFileStatDlg.cpp (do_list_packets): Make sure that the pkt pointer
1735 is not NULL.
1736 * wptKeyManager.cpp (km_clip_export): Prefix the clipboard text with
1737 a header similar to 'gpg -k name'.
1738 * wptErrors.cpp (log_box): Use msg_box to make sure the box is visible
1739 with 'Always on Top' windows.
1740 * wptFileManager.cpp (fm_parse_files): Set progress callback for
1741 wiping files.
1742 (fm_add_opened_files): Do not add the file in case of an error.
1743 * wptKeyserverDlg.cpp (kserver_get_port): New.
1744 (save_default_ks): Save port.
1745 * wptKeyserver.cpp (set_default_kserver): Get port or use default.
1746 (kserver_connect): Logging.
1747 (kserver_send_request): Likewise. Thanks to Markus.
1748 * wptError.cpp (w32_fmt_msg): New.
1749 (winpt_strerror): Show the W32 API error if the hotkey could not
1750 be registered.
1751
1752 2005-01-20 Timo Schulz <[email protected]>
1753
1754 * wptKeycacheDlg.cpp (keycache_dlg_proc): Be less strict with the
1755 keyring check. If the file exists, it is enough.
1756 * wptKeyring.cpp (kserver_load_conf): Use C++ new for proxy_host.
1757 Several cleanups and allow to specify the port of the keyserver.
1758 * wptMainProc.cpp (winpt_main_proc): Handle WM_CLOSE to make sure
1759 the application terminates clearly when Windows shutdown.
1760
1761 2005-01-10 Timo Schulz <[email protected]>
1762
1763 * WinPT.cpp (load_gettext): New.
1764 (WinMain): Use it here to load it before --keymanager. Thanks to Ralf.
1765
1766 2005-01-08 Timo Schulz <[email protected]>
1767
1768 * Applied the patches to make the source G++ compatible.
1769 * wptKeyserver.cpp (kserver_load_conf): Use the stripped string.
1770 * wptKeygenDlg.cpp (keygen_dlg_proc): Default key size is now 2048.
1771 * wptFileManagerDlg.cpp (fill_drive_combobox): Do not add CD-Roms.
1772
1773 2005-01-07 Timo Schulz <[email protected]>
1774
1775 * wptKeyserver.cpp (skip_type_prefix): Support all URL schemes.
1776 (finger_recvkey): Use skip_type_prefix and prevent buffer overflows.
1777 (ldap_recvkey): Likewise.
1778 (check_hkp_response): Be more liberal with error strings.
1779 (kserver_connect): Prevent buffer overflow and use the right return
1780 code for inet_addr().
1781 (kserver_search_chkresp): New.
1782 (kserver_search): Fixed. Now it works with modern keyservers.
1783 * wptKeylist.cpp (seclist_init): Add new flags param.
1784 * wptFileManagerDlg.cpp (file_encrypt_dlg_proc): Use short secret key
1785 listing.
1786 * wptClipboardSignEncDlg.cpp (clip_signenc_dlg_proc): Likewise.
1787 * wptMainProc.cpp (winpt_main_proc): GPGME cleanup.
1788 * WinPT.cpp (WinMain): call GPGME init.
1789 Reword the 'you have no keyring' problem and revamp the first run dialog.
1790 * wptGPG.cpp (gnupg_access_keyring): New.
1791 (gnupg_check_keyring): Removed unused code.
1792 * wptFirstRunDlg.cpp (first_run_dlg_proc): Adjust dialog for the
1793 new texts and remove unused elements.
1794 * wptKeyserverDlg.cpp (keyserver_dlg_proc): s/keyserver/kserver. The
1795 last annoying typo.
1796 * wptKeyserverSearchDlg.cpp (hkpsearch_dlg_proc): End dialog in case of
1797 an error.
1798
1799 2004-12-30 Timo Schulz <[email protected]>
1800
1801 * wptKeyserverDlg.cpp (keyserver_list_build): Initialize pointer.
1802 This fixes the problem that the dialog crashes when the user selects
1803 anything. Thanks to my users.
1804 (keyserver_dlg_proc): s/keyserver/kserver. Thanks to Ulf.
1805
1806 2004-12-20 Timo Schulz <[email protected]>
1807
1808 * wptGPG.cpp (check_gnupg_engine): Fixed version checking.
1809 * wptFileManager.cpp (fm_encrypt): Delete the passphrase from the
1810 cache if it is not valid.
1811
1812 Fix problem with a NULL pointer.
1813
1814 2004-12-15 Timo Schulz <[email protected]>
1815
1816 * wptFileManagerDlg.cpp (space_wipefrees_dlg_proc): Use the right
1817 temp name.
1818 * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Disable 'OK' button
1819 when no secret key is available.
1820
1821 2004-12-11 Timo Schulz <[email protected]>
1822
1823 * wptFileManager.cpp (fm_add_opened_files): Fix broken code to detect
1824 the file type.
1825 (fm_parse_command_line): Likewise.
1826
1827 2004-12-02 Timo Schulz <[email protected]>
1828
1829 * wptKeySigDlg.cpp (do_load_keyprops): Only issue errors for non-main nodes.
1830
1831 2004-11-04 Timo Schulz <[email protected]>
1832
1833 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Support preferred
1834 keyserver sub packets.
1835
1836 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Set a flag to
1837 indicate we need to reload the cache. If a user deletes a key
1838 and exits the manager and loads it again the deleted key is
1839 still in cache and provoked an error.
1840
1841 * wptKeySigDlg.cpp (do_load_keyprops): Stricter key checks.
1842
1843 * wptW32API.cpp (center_window): Replaced with real code which calculates
1844 the position relative to the desktop window.
1845
1846 2004-10-25 Timo Schulz <[email protected]>
1847
1848 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Issue an info box
1849 if the PGP message is complete but broken during the transport.
1850 Thanks to Werner and Achim.
1851 * wptFileManager.cpp (fm_sym_encrypt): Do not force CAST5. Thanks
1852 to the gnupg-users.
1853 * Automatically add '\r\n' to the text before signing. This solves
1854 the problem the last line is not included if no \r\n is present.
1855 * wptClipEditDlg.cpp (clip_edit_dlg_proc): Add a 'mail quote' mode
1856 which prepends the text with '> '. This makes it easier to quote
1857 decrypted text.
1858 * wptKeyserverDlg.cpp (keyserver_list_build): Code which was factored
1859 out from..
1860 (keyserver_dlg_proc): ..here.
1861
1862 2004-10-15 Timo Schulz <[email protected]>
1863
1864 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Make sure that opt
1865 is really initialized.
1866
1867 2004-10-07 Timo Schulz <[email protected]>
1868
1869 * wptErrors.cpp (winpt_errmsg): Use a generic header when no
1870 filename is supplied.
1871 * wptMainProc.cpp (cleanup_tmp_files): Do not use BUG but
1872 an error message which is more clean. Thanks to Ralf.
1873 * wptCardDlg.cpp (card_keygen_dlg_proc): Support new card
1874 admin mode.
1875 * wptKeySignDlg.cpp (do_check_protection): Also check for smart
1876 card protection.
1877 (get_keyinfo): Return if this is a smart card key.
1878 * wptKeyEditDlgs.cpp (do_find_userid): Use UTF8 encoding before
1879 comparing the names.
1880 * winpt.cpp: Now depends on PTD 0.7.1.
1881
1882 2004-10-01 Timo Schulz <[email protected]>
1883
1884 * wptClipSignDlg.cpp: Really use the selected subkey with the
1885 right '!' syntax. Thanks to Vedaal for pointing this out.
1886 * wptGPG.cpp (gnupg_backup_keyrings): Check if the backup device
1887 is accessable and writeable, otherwise inform the user. Kudos to
1888 the one who reported this problem.
1889
1890 2004-09-20 Timo Schulz <[email protected]>
1891
1892 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Disable 'Sign' in
1893 context menus when the key is flagged as revoked.
1894 (update_ui_items): Likewise and set the 'ShowPhoto' flag only if
1895 the key has such an item.
1896
1897 2004-09-08 Timo Schulz <[email protected]>
1898
1899 * wptKeyserverDlg.cpp (kserver_get_pos): If only one element is
1900 in the list, return zero.
1901
1902 2004-09-07 Timo Schulz <[email protected]>
1903
1904 * wptAboutDlg.cpp (about_dlg_proc): Add 'Help' button. Suggested by Ralf.
1905 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
1906
1907 2004-09-01 Timo Schulz <[email protected]>
1908
1909 * wptGPG.cpp (GPG_CONF): Define it. Use gpg.conf by default.
1910 (default_key_from_cache): Use new key attribute 'usable'.
1911 * WinPT.cpp (show_unprotected_keys): Removed.
1912 * wptKeylist.cpp (check_key): Removed.
1913 (seclist_init): Use new 'usable' key attribute.
1914 (keylist_add_key): Likewise.
1915 * wptKeyManagerDlg.cpp (keylist_subclass_proc): support to
1916 add keys via 'INSERT'.
1917 * wptListView.cpp (listview_select_one): New.
1918 (listview_find): New.
1919 * wptFileManager.cpp (fm_get_current_pos): If there is only
1920 one item, return 0 but also select it. Thanks to Christian.
1921
1922 2004-08-28 Timo Schulz <[email protected]>
1923
1924 * WinPT.cpp (WinMain): Free gpg table in case of an error.
1925 * wptFileManagerDlg.cpp (filelist_subclass_proc): New.
1926 (filemanager_dlg_proc): Subclass the list control.
1927 * Fix Alt+C for the winpt_prefs_dlg_proc.
1928 * wptKeyserver.cpp (kserver_load_conf): Ignore lines with
1929 just whitespaces. Thanks to the folks on winpt-users.
1930
1931 2004-08-27 Timo Schulz <[email protected]>
1932
1933 * wptKeyserver.cpp (skip_whitespace): New.
1934 * Fix a problem with the key cache. The new hash item was
1935 not initialized to zero and thus the free caused an illegal access.
1936 Thanks to Ralf for pointing this out.
1937 * wptTextInputDlg.cpp (text_input_dlg_proc): Finished with localisation.
1938 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Likewise.
1939 * wptFirstRunDlg.cpp (first_run_dlg_proc): Remove global variable and
1940 use a context to store the value. Loalize all text strings.
1941 * wptKeyList.cpp (key_check_validity): Cannot use gettext here.
1942 (keylist_get_recipients): Increase buffer for gettext messages.
1943
1944 2004-08-26 Timo Schulz <[email protected]>
1945
1946 * WinPT.cpp (load_keyserver_conf): New. Factored out some code
1947 from WinMain ().
1948 (WinMain): Load keyserver config at the begin. Thanks to Bodo Aßner
1949 * wptKeyserverDlg.cpp (keyserver_dlg_proc): If there is no keyserver
1950 in the list control, add at least the internal default HKP server.
1951 * wptKeygenDlg.cpp (keygen_wizard_dlg_proc): NLS support.
1952 * wptKeySignDlg.cpp (sig_class_dlg_proc): Likewise.
1953 (keysign_dlg_proc): Likewise.
1954 * wptKeySigDlg.cpp (keysig_dlg_proc): Likewise.
1955 * wptKeyserver.cpp (skip_type_prefix): New. Thanks to Marcus Junk.
1956 (kserver_connect): use it here.
1957 (kserver_send_request): Likewise.
1958 (kserver_recvkey): Likewise.
1959
1960 2004-08-25 Timo Schulz <[email protected]>
1961
1962 * wptFileManager.cpp (fm_get_file_type): Skip files over 32 MB
1963 and skip to read large files on floppy discs.
1964 (fm_wipe): Display a 'wait' cursor until the wipe is complete.
1965 (is_floppy_disc): New.
1966 * wptFileManagerDlg.cpp (filelist_subclass_proc): New.
1967 (file_manager_dlg_proc): Use subclassing to allow some hotkeys.
1968
1969 2004-08-24 Timo Schulz <[email protected]>
1970
1971 * wptKeyEditDlgs.cpp (userid_list_init): Add creation date for
1972 the user-ids.
1973 * wptKeygenDlg.cpp (key_wizard_dlg_proc): Allow to switch into
1974 expert mode when the non-interactive mode is used.
1975 * WinPT.cpp (WinMain): Start the keygen wizard instead of the
1976 expert dialog and allow to switch to it.
1977
1978 2004-08-20 Timo Schulz <[email protected]>
1979
1980 * wptKeyManagerDlg.cpp (do_create_minpopup): In read-only
1981 mode the menu is not available.
1982 (popup_gpg_readonly): New.
1983 (menu_gpg_readonly): New.
1984 (keymanager_dlg_proc): Use it here. Do not check the permissions
1985 any longer since this is now handle via the read-only code.
1986 * wptMainProc.cpp (winpt_main_proc): Check if the keyrings
1987 are in read-only mode.
1988 * wptKeyGenDlg.cpp (keygen_wizard_dlg_proc): RSA support.
1989 * wptKeySignDlg.cpp (keysign_dlg_proc): Allow non-revocably
1990 signatures in expert mode.
1991 * wptKEyEditDlgs.cpp (do_find_userid): Release context.
1992 * wptGPG.cpp (gpg_check_permissions): Only print out a warning
1993 in the interactive mode.
1994 * wptTrayPopDlg.cpp (WndProc): Destroy the window when the left
1995 mouse button is clicked.
1996
1997 2004-08-19 Timo Schulz <[email protected]>
1998
1999 * wptKeyEditDlg.cpp (keyedit_addsubkey_dlg_proc): Corrected
2000 key numbers.
2001
2002 * wptKeysigDlg.cpp (do_delsig): New. Implement 'delsig' command.
2003 (is_sig): Change code to allow to check pre-defined fields.
2004
2005 * WinPT.cpp (WinMain): Allow read-only support for keyrings.
2006
2007 2004-08-06 Timo Schulz <[email protected]>
2008
2009 * wptContext.h: Move subclass_s context to this file.
2010
2011 * wptKeysigDlg.cpp (subclass_dlg_proc): New.
2012
2013
2014 2004-08-05 Timo Schulz <[email protected]>
2015
2016 * wptKeySigDlg.cpp (sigprops_dlg_proc): Set the 'expired' flag
2017 when possible.
2018 New dialog layout to enhance the readability of the text. Use
2019 flat check boxes for the same reason.
2020
2021 * wptKeyEditDlgs.cpp (do_editkey_expire): Set new value to
2022 the right column (3 not 4).
2023
2024 * wptFileManagerDlg.cpp: Make sure the wipe freespace tempfile
2025 uses a unique name.
2026
2027
2028 2004-08-04 Timo Schulz <[email protected]>
2029
2030 * wptClipEditdlg.cpp (clip_edit_dlg_proc): Removed the
2031 edit-field to display the text. Now a RichEdit field is
2032 used. This solves the XP problem that the viewer is empty
2033 even if there is text in it.
2034
2035 * wptKeyManger.cpp (km_file_export): Add WinPT specific comment.
2036
2037 * wptKeySigDlg.cpp (sigprops_dlg_proc): New.
2038 (keysig_dlg_proc): Add new 'Properties' button and implement
2039 the code for it.
2040
2041 * wptSigList.cpp: Add support to show the expiration date.
2042
2043 * wptGPGME.cpp (keycache_init): Support to show the progress bar.
2044 (keycache_release): Store the amount of keys in the registry for
2045 the progress dialog.
2046
2047 * wptPreferenceDlg.cpp (prefs_dlg_proc): Add support to generate
2048 default keyserver.conf.
2049
2050 * wptKeyserver.cpp (kserver_load_conf): Store the mod-time of the file.
2051 Fix possible buffer overflow.
2052 (wsock_end): Release stored keyserver list.
2053
2054 * wptEncryptDlg.cpp (clip_encrypt_dlg_proc): Allow to search for
2055 a specific recipient and select it.
2056
2057 2004-08-02 Timo Schulz <[email protected]>
2058
2059 * wptKeysigDlg.cpp (do_create_popup): New.
2060 (do_load_keyprops): New.
2061
2062 (keysig_dlg_proc): Factor out some common code and use
2063 do_load_keyprops.
2064
2065 * wptKeyServer.cpp (kserver_check_inet_connection): New.
2066
2067 * wptKeyManger.cpp (km_refresh_from_keyserver): First check
2068 for an active internet connection. It's annoying for the
2069 user to confirm an connection error for each key (n>40).
2070
2071 2004-07-27 Timo Schulz <[email protected]>
2072
2073 * wptKeyManagerDlgProc.cpp (keymanager_dlg_proc): Set the new
2074 value for the ownertrust.
2075
2076 * wptKeyManager.cpp (get_key_trust): Make it public.
2077 (get_key_trust_str): New.
2078 (km_refresh_from_keyserver): Allow to select random keys.
2079 (km_refresh_one_key): New.
2080
2081 * wptKeyserver.cpp: Use default keyserver if possible.
2082
2083 2004-07-13 Timo Schulz <[email protected]>
2084
2085 * wptFileManager.cpp (fm_assume_onepass_sig): New.
2086 Thanks to Vedaal who found out that armored one-pass sigs are not
2087 correctly recognized.
2088
2089 (ask_filename): New.
2090 Again thanks to Vedaal who suggested to ask for a new output name
2091 for the case the user does not want to overwrite the file.
2092
2093 (fm_encrypt): Use it here.
2094 (fm_decrypt): Likewise.
2095 (fm_sign): Likewise.
2096
2097 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): New context menu entry
2098 to set secret keys to ultimate trust.
2099
2100 * wptKeyManager.cpp (km_check_for_seckey): Optionally return if the
2101 key has ultimate trust.
2102 (km_set_implicit_trust): New.
2103
2104 2004-07-12 Timo Schulz <[email protected]>
2105
2106 * wptRegistry.cpp: Support for disable compression of multi-media files.
2107 (set_reg_winpt_single): New.
2108 (get_reg_winpt_single): New.
2109
2110 * wptFileManager.cpp (is_multi_media): New.
2111 (fm_encrypt): Disable compression of multi-media files.
2112 (fm_state_new): Set comment to indicate armored files were generated
2113 by WinPT. This is a replacement due to the fact the WinPT string is not
2114 added in the 'Version' for larger files.
2115
2116 * WinPT.cpp (WinMain): Extract the loadimage.exe from the DLL if not found.
2117
2118 2004-07-11 Timo Schulz <[email protected]>
2119
2120 * Bug fix for the validity revoked status. Now it is 'revoked'
2121 and not 'unknown' any longer.
2122
2123 * Feature to disable encryption. This might be useful for filetypes
2124 GPG does not recognize as compress (movies, ...).
2125
2126 * wptFileManager.cpp (fm_get_file_type): Skip packet detction if
2127 the file is large and it has no openpgp extension.
2128
2129 2004-06-19 Timo Schulz <[email protected]>
2130
2131 * wptInet.cpp: Renamed to ...
2132 * wptHttp.c: ... this.
2133 * wptKeyManager.cpp (km_http_import): Release 'p' not too early.
2134 * WinPT.cpp (WinMain): If there is a problem with the homedir,
2135 jump to the first start settings.
2136
2137 2004-06-12 Timo Schulz <[email protected]>
2138
2139 * wptInet.cpp: Updated.
2140 * wptKeyManager.cpp (km_http_import): Use http_send_request2() to
2141 parse the URL.
2142 * wptCommonDlg.cpp (http_file_dlg_proc): New.
2143 (get_http_file_dlg): New.
2144
2145 2004-06-08 Timo Schulz <[email protected]>
2146
2147 * wptInet.cpp: New.
2148 * wptKeyManagerDlg.cpp (key_manager_dlg_proc): Support for http
2149 transfers.
2150 * wptKeyManager.cpp (km_http_import): New.
2151
2152
2153 2004-06-02 Timo Schulz <[email protected]>
2154
2155 * wptClipEditDlg.cpp (clip_edit_dlg_proc): Do not issue an error
2156 if there is no clipboard data.
2157
2158 Release memory in case of an error.
2159
2160 * wptKeyManager.cpp (keylist_cmp_cb): Allow to sort by algorithm.
2161
2162 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
2163
2164
2165 2004-05-31 Timo Schulz <[email protected]>
2166
2167 * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Implement the
2168 'X' close button. Noted by a friendly user.
2169
2170 Disable 'Save' button.
2171
2172 * wptMainProc.cpp (cleanup_tmp_files): Delete all related temp files.
2173
2174 * wptFileManager.cpp (fm_set_status): Do not use the data file name
2175 for signatures but keep the original file name.
2176
2177 (fm_verify_pasted_detsig): Try to verify detached signatures from
2178 the clipboard.
2179
2180 2004-05-14 Timo Schulz <[email protected]>
2181
2182 * WinPT.cpp (check_crypto_engine): Due to some
2183 internal GPG changes the min. version for smart card
2184 support is now 1.3.6.
2185
2186 * wptProxySettingsDlg.cpp (read_proxy): Correct prefix
2187 handling. Thanks to the folks who reported this via SF.net.
2188
2189 * wptRegistry.cpp (get_reg_winpt_prefs): Corrected enum ids.
2190 Thanks to the folks on winpt-users who reported it.
2191
2192 * wptPreferencesDlg.cpp (prefs_dlg_proc): Fix code in case of
2193 the hotkeys are disabled.
2194
2195 * wptKeylist.cpp (do_addkey): Broken ElGamal dection, fixed.
2196
2197 * wptFileManager.cpp (fm_get_file_type): Do not parse the entire
2198 file if the size is >= 256MB.
2199
2200 2004-03-15 Timo Schulz <[email protected]>
2201
2202 * Decrypt list box has now a vertical scroll bar.
2203
2204 2004-03-11 Timo Schulz <[email protected]>
2205
2206 * The DLL is now complety C-source.
2207
2208 2004-03-08 Timo Schulz <[email protected]>
2209
2210 * wptGPG.cpp (gnupg_import_keyrings): cleanups.
2211
2212 * wptUTF8.c (utf8_to_wincp): New. Directly convert UTF-8 to Windows
2213 CP.
2214 (wincp_to_utf8): Likewise.
2215 (conv_charset): Now internal and static.
2216
2217 * wptUTF8.h: New prototypes and remove the old prototypes.
2218
2219 * WinPT.cpp (WinMain): Destroy the windows handle in case of an error.
2220
2221
2222 2004-03-07 Timo Schulz <[email protected]>
2223
2224 * wptGPG.cpp (get_gnupg_keyring): Special case because GPG creats
2225 dummy keyrings with a size of zero in the homedir.
2226
2227 (gpg_check_permissions): Check for read-only keyrings and add code
2228 for this case.
2229
2230 This problem fixes a lof of other problems related to the OpenPGP
2231 parsing stuff for the key cache.
2232
2233 * WinPT.cpp (check_crypto_engine): Store the GPG version for later use.
2234
2235 2004-03-04 Timo Schulz <[email protected]>
2236
2237 * wptKeyserver.cpp (finger_recvkey): Error if key was not found
2238 or garbled.
2239
2240 * wptGPG.cpp (gpg_check_permissions): Take care of the entries
2241 in gpg.conf.
2242
2243 * wptFileManagerDlg.cpp (file_encrypt_dlg_proc): Support to select
2244 the signer. Suggested by Sebastian.
2245
2246 * wptKeylist.cpp (seclist_init): Moved from the clip dialog file to
2247 this file.
2248 (seclist_free): Likewise.
2249 (seclist_select_key): Likewise.
2250
2251 * wptFileManager.cpp (fm_encrypt): Handle the case the signer was
2252 already set.
2253
2254 2004-03-02 Timo Schulz <[email protected]>
2255
2256 * wptGPG.cpp (check_keyring): Handle the case that the keyring
2257 is set in the gpg.conf file and the pubring.gpg file is zero bytes.
2258
2259 (gnupg_backup_keyrings): Support backup of keyrings which were set
2260 in gpg.conf. Thanks to the user who reminded me of this problem.
2261
2262 (gnupg_check_file_ext): Make check not case sentensive.
2263
2264 * (sfree_if_alloc): Overwrite the memory with zeros before freeing
2265 it. This only works with c-strings! Use it everywhere we handle
2266 sentensive information (passphrases).
2267
2268 * Try to improve the usability with better menu names and new
2269 ordering.
2270
2271 * wptKeyMangerDlg.cpp: Make the 'Trust' column sortable.
2272
2273 * wptMainProc.cpp (winpt_main_proc): Removed GPG about dialog. Now
2274 it is part of the WinPt about dialog. This way we can minimize the
2275 elements in the popup menu.
2276
2277 2004-02-29 Timo Schulz <[email protected]>
2278
2279 * wptFileManagerDlg.cpp (file_encrypt_dlg_proc): Support throw-keyid.
2280
2281 * wptKeySignDlg.cpp (do_fill_seckeylist): Make sure we skip key itself
2282 so we are not allowing to sign ourself.
2283
2284 * wptSigList.cpp (siglist_add_key): Support for the signature
2285 flags (local, non-revocably, ...).
2286
2287 * Key signing with GPG 1.2.x should work again. Hopefully.
2288
2289 2004-02-26 Timo Schulz <[email protected]>
2290
2291 * wptFileManagerDlg.cpp (file_encrypt_dlg_proc): Issue an error
2292 if no recipient was selected.
2293
2294 * wptFileManager.cpp (fm_parse_files): Make sure the progress dialog
2295 is destroyed. This fixes the bug that the dialog sometimes exist even
2296 after the procedure ended.
2297
2298 * wptProgressDlg.cpp (progress_callback): Change the if-then-else
2299 struct to prevent zombie dialogs.
2300
2301 * wptKeyserver.cpp: Removed unused prototypes.
2302
2303 2004-02-25 Timo Schulz <[email protected]>
2304
2305 * wptKeyManagerDlg.cpp: Use consequently 'List Signatures' and
2306 do not mix the names in the different menus.
2307
2308 * wptSigList.cpp: Support to show the signature class.
2309
2310 * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Disable the combo
2311 box when there is no secret key available.
2312
2313 (do_init_keylist): Do not allow to use the owners key as a desig
2314 revoker.
2315
2316 * wptKeylist.cpp (get_key_trust): New.
2317 (do_addkey): Use it here.
2318
2319 2004-02-24 Timo Schulz <[email protected]>
2320
2321 * WinPT.cpp (WinMain): Call a selftest check procedure to
2322 make sure all cryptographic code works as expected.
2323
2324 2004-02-22 Timo Schulz <[email protected]>
2325
2326 * PTD: Cryptdisk seems to have problems with locking. Use
2327 a forced flag to tell the code if it should bail out or
2328 ignore locking errors.
2329
2330 * wptCryptdisk.cpp (cryptdisk_umount_dlg_proc): Use new
2331 locking code.
2332 (cryptdisk_new_dlg_proc): Adjust size of the volume.
2333
2334 2004-02-21 Timo Schulz <[email protected]>
2335
2336 * wptCryptdisk.cpp (cryptdisk_cleanup): New.
2337 (is_nt4): Because my Platform-SDK is too old I need to load
2338 some prototypes dynamically.
2339 (init_drives): Return the first useable drive letter if
2340 called with appropriate parameters.
2341 * wptMainProc.cpp (winpt_main_proc): Use it here.
2342
2343 2004-02-18 Timo Schulz <[email protected]>
2344
2345 * Modify the cryptdisk code for crosscrypt 0.4.1.
2346 * wptCryptDisk.cpp (do_mount): Add key algorithm param.
2347
2348 2004-02-17 Timo Schulz <[email protected]>
2349
2350 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Also encrypt
2351 to the signers key. Suggested by Alexander.
2352 Use new keycache system, we use the public key part of the
2353 cache because it has all flags set.
2354 * wptGPG.cpp (default_key_from_cache): Use new cache system.
2355 * wptKeySignDlg.cpp (do_fill_seckeylist): Likewise.
2356
2357
2358 2004-02-12 Timo Schulz <[email protected]>
2359
2360 * wptErrors.cpp: New error codes for the cryptdisk feature.
2361 * wptCryptdisk.cpp (do_dispatch): Better error handling.
2362 (cryptdisk_mount_dlg_proc): Use it here.
2363 (cryptdisk_umount_dlg_proc): Likewise.
2364 (init_drives): Use system list.
2365
2366 Localized all strings.
2367
2368 2004-02-09 Timo Schulz <[email protected]>
2369
2370 * wptCryptdisk.cpp (cryptdisk_umount_dlg_proc): New.
2371 (do_reaping): New. Release the list if all items are 'expired'.
2372 (cryptdisk_mount_dlg_proc): New.
2373 (init_drives): New.
2374 * wptMainProc.cpp (cryptdisk_proc): Renamed from...
2375 (handle_cryptdisk): this. And filled with life.
2376
2377 2004-02-08 Timo Schulz <[email protected]>
2378
2379 * wptCryptdisk.{cpp,h}: New. Support for the extended
2380 filedisk application.
2381 * wptMainProc.cpp (winpt_main_proc): Likewise.
2382 * WinPT.cpp (WinMain): Make sure the new PTD lib is installed.
2383
2384 2004-02-05 Timo Schulz <[email protected]>
2385
2386 * wptRegistry.cpp (set_reg_winpt_prefs): Forget to handle
2387 CMD_DISHOTKEYS. Thanks to the user who reminded me.
2388 * wptMainProc.cpp (spawn_cryptdisk): New interface to
2389 the Cryptdisk application.
2390
2391 2004-02-04 Timo Schulz <[email protected]>
2392
2393 * wptRegistry.cpp (get_reg_winpt_prefs): Revamped the core.
2394
2395 2004-02-03 Timo Schulz <[email protected]>
2396
2397 * WinPT.cpp (check_crypto_engine): New. Factor out common code.
2398 (WinMain): Check the crypto engine after the first start.
2399
2400 * wptRegistry.cpp (set_reg_winpt_prefs): Make sure an error is
2401 issued if the values could not stored. Revamped the core.
2402
2403 * Removed the last appearance of the GPG agent support.
2404
2405 * wptGPG.cpp (init_gnupg_table): Do not use static buffers.
2406 (free_gnupg_table): Free memory.
2407
2408 * wptClipImportDlg.cpp (clip_import_dlg_proc): Make sure the
2409 ctx pointer get malloced and set the contents to zero.
2410
2411
2412 2004-02-02 Timo Schulz <[email protected]>
2413
2414 * wptCardDlg.cpp (card_keygen_dlg_proc): Make sure the name
2415 is long enough. The same check for the mail address.
2416
2417 Thanks to Achim.
2418
2419 2004-01-28 Timo Schulz <[email protected]>
2420
2421 * wptCardDlg.cpp (card_keygen_dlg_proc): A info is issued
2422 if keys on the card exist but the user does not said overwrite.
2423
2424 Make sure the expire date is not in the past.
2425
2426 * wptMainProc.cpp (winpt_main_proc): Avoid to release the file
2427 lock twice. Not sure if this fixes some other problems but it
2428 was definitely a bug.
2429
2430 * wptMapi.cpp (mapi_init): Make sure all function ptrs are
2431 initialized otherwise bail out.
2432 (mapi_send_message): New. Interface to allow to send an
2433 encrypted mail with zero ore more encrypted attachments.
2434 (secure_attachment): New.
2435 (parse_recipients): New.
2436
2437 2004-01-25 Timo Schulz <[email protected]>
2438
2439 * WinPT.cpp (WinMain): Silently die when an instance is already
2440 running. Do not confuse the user with a message. Suggested by
2441 Sebastian.
2442 * wptKeyManager.cpp (delete_keys_from_cache): New.
2443 (km_delete_keys): Use it here. Thanks to Achim.
2444
2445 2004-01-23 Timo Schulz <[email protected]>
2446
2447 * wptCardDlg.cpp (check_pin_len): New. Check if the
2448 PIN is long enough and give an appropriate error.
2449 (card_changepin_dlg_proc): Use the new check function.
2450
2451 2004-01-22 Timo Schulz <[email protected]>
2452
2453 * Remove all internal card reader config. It's up to the
2454 user to do this. It would be too error proune to offer it.
2455 * wptCard.h: Removed all card driver stuff.
2456 * wptPinDLG.cpp (pin_cb_dlg): Use better names to differ
2457 between the admin and the user (normal) PIN.
2458
2459 2004-01-04 Timo Schulz <[email protected]>
2460
2461 * wptImageList.{cpp,h}: New. Contributed by Andreas Jobs.
2462 * wptKeylist.cpp (keylist_cmp_cb): More patches from Andreas
2463 and minor changes.
2464 * wptListView.cpp (listview_sort_items): Likewise.
2465 * wptKeyManager.cpp (key_manager_dlg_proc): Likewise.
2466 (regist_sep_wnd): Factored out some code.
2467
2468 2004-01-03 Timo Schulz <[email protected]>
2469
2470 * wptClipImportDlg.cpp (clip_import_dlg_proc): automatically allow
2471 to import secret keys.
2472
2473 2003-12-31 Timo Schulz <[email protected]>
2474
2475 * wptKeyEditDlgs.cpp (keyedit_addsubkey_dlg_proc): Do not sort
2476 the list otherwise the index is wrong.
2477 * wptKeySignDlg.cpp (keysign_dlg_proc): Add the ability to set
2478 a signature expire date.
2479
2480 2003-12-30 Timo Schulz <[email protected]>
2481
2482 * fixed the GPG edit-key commands sign and addrevoker.
2483
2484 2003-12-23 Timo Schulz <[email protected]>
2485
2486 * wptKeyEditAddKEyDlg.cpp (keyedit_addsubkey_dlg_proc): Remove
2487 ElGamal s+e support. Oops, this should be already done.
2488 * wptGPGME.cpp (keycache_init): Sync both key caches. In other
2489 words transfer some flags from the sec-cache to the pub-cache.
2490 * wptKeySignDlg.cpp (key_sign_dlg_proc): A workaround for the
2491 key sign procedure. If it is already signed, the process
2492 sometimes hangs.
2493
2494 2003-12-14 Timo Schulz <[email protected]>
2495
2496 * wptKeyeditSetPrefDlg.cpp (get_userid_preflist): New.
2497 * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Support for updpref.
2498 (do_editkey_setpref): Implement updpref command.
2499
2500
2501 2003-12-10 Timo Schulz <[email protected]>
2502
2503 * GPGME support to change key preferences.
2504 * wptKeyeditSetPrefDlg.cpp (keyedit_setpref_dlg_proc): New.
2505 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Use the new feature here.
2506
2507
2508 2003-11-29 Timo Schulz <[email protected]>
2509
2510 * wptMAPI.cpp (mapi_init): New.
2511 (mapi_deinit): New.
2512 (mapi_send_pubkey): New.
2513 * wptKeyManager.cpp (km_send_to_mail_recipient): New.
2514 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Support
2515 to send the public key via MAPI to a recipient.
2516 * wptKeySignDlg.cpp (do_fill_seckeylist): Make sure we rewind
2517 the secret key cache so it's not at the end.
2518 (keysign_dlg_proc): Issue a warning when no secret key was
2519 found which could be used for signing the key.
2520 * wptKeylist.cpp (do_addkey): Never add an Elgamal sign+encrypt key.
2521 * wptKeySignDlg.cpp (do_fill_seckeylist): Likewise.
2522
2523 2003-11-28 Timo Schulz <[email protected]>
2524
2525 * Remove all support for ElGamal sign+encrypt keys.
2526
2527 There is a flaw in GPG which makes all such keys useable and
2528 they are comprised even if one signature they made is accessable.
2529 And due to the fact the key is self signed, such a sig is always
2530 available for the public.
2531
2532 We warn the user at startup if such keys were found!
2533
2534 * wptMainProc.cpp (elgamal_warn_dlg_proc): New.
2535 * wptGPGME.cpp (count_insecure_elgkeys): New.
2536 * WinPT (WinMain): Use it here.
2537
2538 2003-11-14 Timo Schulz <[email protected]>
2539
2540 * wptCardDlg.cpp (card_edit_dlg_proc): Release the second PIN.
2541
2542 2003-11-13 Timo Schulz <[email protected]>
2543
2544 * Clarify pin names. Now all PIN's are labeled 'Admin' or 'User'.
2545 * wptPINDlg.cpp (pin_cb_dlg_proc): Length check for the PINs.
2546 Thanks to Achim.
2547 * Change PIN interface. Now it is easier when an operation requires
2548 both PINs.
2549 * wptCardDlg.cpp (do_proc_card_cmds): Now GPG requires both PINs
2550 to change card attributes. Do not ask me why, but now the user
2551 needs to enter 2 PINs.
2552
2553 Name parts were swapped, now they have the right order again.
2554
2555 2003-10-02 Timo Schulz <[email protected]>
2556
2557 * Prepare test release.
2558 * wptGPGCmds.h: New from GPG 1.3.4-cvs.
2559
2560 2003-10-29 Timo Schulz <[email protected]>
2561
2562 * wptKeyEditDlgs.cpp: New logging scheme. Changed all callers.
2563
2564 * Create a new interface for an interactive card callback. GPG
2565 provides card control status messages if the wrong card is inserted.
2566
2567 * wptCardManager.cpp (card_cb_dlg_proc): New.
2568 (card_callback): New.
2569
2570 * wptCardPCSC.cpp (pcsc_loadlib): Use some 'A' to declare we use
2571 the ASCII functions and not the Unicode function names. Thanks to
2572 Werner for pointing this out.
2573
2574 * wptPassphraseCB.cpp (passphrase_cb): Better card interface. Now the
2575 serial card number is shown to help the user to find the right card.
2576
2577 * wptClipSignDlg.cpp (clip_sign_dlg_proc): New logging scheme.
2578
2579 2003-10-26 Timo Schulz <[email protected]>
2580
2581 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Implement new logging.
2582
2583 * Changed the code at several other places to support the new logging
2584 scheme.
2585
2586
2587 2003-10-24 Timo Schulz <[email protected]>
2588
2589 * Implemented a better logging system. If the return code
2590 of GPG is != 0 and the error is not known, display the errors
2591 from stderr.
2592
2593 * wptGPGME.cpp (logging_cb): New.
2594
2595 2003-10-23 Timo Schulz <[email protected]>
2596
2597 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Show GPG output
2598 if the error is unknown.
2599 (clip_sign_dlg_proc): Likewise.
2600 (clip_signenc_dlg_proc): Likewise.
2601 (clip_import_dlg_proc): Likewise.
2602
2603 2003-10-21 Timo Schulz <[email protected]>
2604
2605 * wptClipDecryptDlg.cpp (list_recipients): New.
2606 (algo_from_list): New.
2607 (clip_decrypt_dlg): New concept to list all recipients.
2608 * wptFileManager.cpp (fm_list_keys): New.
2609 (fm_decrypt): Same changes as for the clipboard decryption.
2610
2611 2003-10-21 Timo Schulz <[email protected]>
2612
2613 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): If the passphrase
2614 was wrong, delete the cache item (if available).
2615 * wptClipSignDlg.cpp (clip_sign_dlg): Likewise.
2616 * wptClipSignEncDlg.cpp (clip_signenc_dlg): Likewise.
2617 * wptPassphraseCB.cpp (set_gpg_passphrase_cb): Set 'is_card'
2618 flag to zero.
2619
2620
2621 2003-10-19 Timo Schulz <[email protected]>
2622
2623 * wptPINDlg.cpp (pin_cb_dlg_proc): Support to store the admin and
2624 the working PIN.
2625 wptCardDlg.cpp (free_pincb): New.
2626 (card_keygen_dlg_proc): Pin callback implemented.
2627 Simple check for the e-mail address.
2628 (card_edit_dlg_proc): End the dialog if no changes were made.
2629
2630 * Expanded GPGME passphrase interface to work both with PINs
2631 and passphrases.
2632
2633 2003-10-18 Timo Schulz <[email protected]>
2634
2635 * wptCardDlg.cpp (card_keygen_dlg_proc): New.
2636 (do_askpin): Handle the case there is no card.
2637 (card_edit_dlg_proc): Add 'New Keys' feature.
2638 (card_changepin_dlg_proc): Implemented.
2639 * WinPT.cpp (WinMain): Ability to start the card manager directly.
2640 * wptMainProc.cpp (smartcard_init): Global stuff to init the reader
2641 driver and the inserted card.
2642
2643 2003-10-17 Timo Schulz <[email protected]>
2644
2645 * wptGPGME.cpp (keycache_init): Do not use secring the first time.
2646 * wptKeySignDlg.cpp (keysign_dlg_proc): Make sure only the short
2647 keyid will be displayed.
2648
2649 2003-10-16 Timo Schulz <[email protected]>
2650
2651 * Changed GPGME interface for edit card. Now one context is
2652 used for all edit card operations.
2653 * wptCardDlg.cpp (card_edit_dlg_proc): Support for working
2654 and admin PIN. Changed gpgme interface.
2655 (ask_pin): Renamed to..
2656 (do_askpin): this. Provide more information about the card
2657 and its holder.
2658 (do_proc_card_cmds): If no error, reset modify flags for
2659 all controls. Show a short message that the operation ended.
2660 * wptCardPCSC.c (pcsc_free_readers): New.
2661 (pcsc_scan_readers): New.
2662 (pcsc_get_reader): New.
2663 (pcsc_get_card_status): New.
2664
2665
2666 2003-10-14 Timo Schulz <[email protected]>
2667
2668 * wptKeyList.cpp (do_addkey): Add the case the secret key
2669 is stored on a smart card.
2670 (km_check_for_seckey): Take care of the new code.
2671 * wptKeyManager.cpp (km_delete_keys): Extra warning when
2672 the secret key is stored on a card.
2673 * wptKeyEditDlgs.cpp (subkey_list_init): Add the key cabilities
2674 to the list view. Now the user can see if the key is useable
2675 for: signing, certifying or encrypting.
2676
2677 2003-10-13 Timo Schulz <[email protected]>
2678
2679 * Extended the GPGME API that it is possible to retrieve
2680 the key data. This is for the planned card login but it
2681 might be also useful for other purposes.
2682
2683 * wptCardPCSC.c: New. General code for PC/SC card readers.
2684
2685
2686 2003-10-12 Timo Schulz <[email protected]>
2687
2688 * wptCardDlg.cpp (guess_libname): New.
2689 (card_status): Simplified the code with an attribute
2690 table. Now it is a loop and not hard coded.
2691 * The card interface has changed. Now the surname and
2692 the given name are two fields and not one field.
2693 * wptMainProc.cpp (winpt_main_proc): Check if the card
2694 reader is configured where appropriate.
2695
2696 2003-10-09 Timo Schulz <[email protected]>
2697
2698 * wptCardDlg.cpp (get_card_status): New.
2699 (show_card_status): New. Retrieve the card status and show an
2700 error if approprioate.
2701 * Make sure that WinPT does not try to use non-OpenPGP cards.
2702 * Add GPGME support for the forthcoming AUTH flag for keys.
2703 * Implemented the detection of keys where the secret key components
2704 are stored on a smart card.
2705
2706
2707 2003-10-08 Timo Schulz <[email protected]>
2708
2709 * wptCardDlg.cpp (do_proc_card_cmds): Check that only US-ASCII
2710 is used. Otherwise reject the value.
2711 (ask_pin): New. Enable PIN caching for the 'dialog session' so
2712 the user does not need to re-enter it again and again.
2713
2714 2003-10-07 Timo Schulz <[email protected]>
2715
2716 * wptPINDlg.cpp (pin_cb_dlg_proc): New.
2717 * wptCardDlg.cpp (do_proc_card_cmds): New.
2718 (card_edit_dlg_proc): Use it here.
2719
2720 2003-10-06 Timo Schulz <[email protected]>
2721
2722 * wptFileManager.cpp (fm_encrypt): Wipe files in both modes.
2723 * wptGPG.cpp (gnupg_display_error): Display general error
2724 when the file does not exit.
2725 * wptW32API.cpp (get_folder_dlg): New.
2726 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Ability to select
2727 the folder for the home directory.
2728 * wptKeyManager.cpp (km_update_default_key_str): Return length
2729 of the string.
2730 (km_complete_status_bar): Use the offset of the default
2731 key string so it is not appened twice.
2732 * wptRegistry.cpp (regist_inst_winpt): Create 'Card' subkey.
2733 * wptCard.h: New.
2734 * wptCardDlg.cpp (new_card_driver): New.
2735 (load_card_driver): New.
2736 (free_card_driver): New.
2737 (card_config_dlg_proc): If the reader is configured, load the
2738 values. This is needful to change the driver later.
2739 (gpg_load_scard): Use driver as a parameter.
2740 * wptMainProc.cpp (winpt_main_proc): Load card driver and
2741 unload it after use.
2742
2743 2003-09-28 Timo Schulz <[email protected]>
2744
2745 * wptCardDlg.cpp (card_edit_dlg_proc): New.
2746 (gpg_load_scard): New. Try to use GPG load the card info.
2747 (print_fpr): New. Print beautified fingerprint.
2748 (card_status): New. Set all dialog fields with the values from
2749 the card.
2750 (prepare_dialog): New. Load combo boxes with pre-defined strings.
2751
2752
2753 2003-09-25 Timo Schulz <[email protected]>
2754
2755 * wptProgressDlg.cpp (progress_cb_thread): New.
2756 (progress_callback): Use asynchron code.
2757 * wptFileManager.cpp (fm_parse_files): Implement progress callback.
2758
2759
2760 2003-09-25 Timo Schulz <[email protected]>
2761
2762 * wptClipSignEncDlg.cpp (seclist_dlg_proc): The dialog was broken.
2763 (check_key): New.
2764 Removed the old Secret Key List dialog. Now the key can be directly
2765 chose in the dialog.
2766 (seclist_init): New.
2767 (seclist_destroy): New.
2768 (seclist_select_key): New.
2769 * wptFileManager.cpp (fm_sign): Ask for output file if needed.
2770
2771 * Client side implementation of the --enable-progress-filter feature.
2772
2773 * wptProgressDlg.cpp: Server side implementation.
2774 (progress_dlg_proc): New. The actual dialog procedure.
2775 (progress_callback): The GPGME wrapper callback.
2776
2777 2003-09-24 Timo Schulz <[email protected]>
2778
2779 * wptKeygenDlg.cpp (keygen_dlg_proc): Implement 'Hide Typing' feature.
2780 * wptFileManager.cpp (fm_encrypt): Ask for output file if needed.
2781 * wptFileManagerDlg.cpp (fm_dlg_proc): Removed im- and export from
2782 the menu. We use import internally, but export was not useful and
2783 thus the code were removed.
2784 * wptPreferenceDlg.cpp (prefs_dlg_proc): Disable some controle at
2785 startup when they are not allowed.
2786 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Removed PGP2 option.
2787 Make the parsing code much shorter (read).
2788
2789
2790 2003-09-22 Timo Schulz <[email protected]>
2791
2792 * wptSigList.cpp (extract_filename): Make sure there is a '\',
2793 otherwise just dup the string and return.
2794 * wptVerifyList.cpp (verlist_add_sig): Use a variable for the key
2795 to make the code more readable.
2796 * Implemented the GPGME part of the new smartcard interface.
2797 The WinPT interface will be open until the scard stuff is back
2798 ported to GPG 1.3.x.
2799 * wptKeyEditDlgs.cpp (do_editkey_revuid): Need a secret key to do it.
2800 Several code cleanups.
2801
2802 2003-09-08 Timo Schulz <[email protected]>
2803
2804 * wptRegistry.cpp: Remove some hotkeys to correct index calculation.
2805 (get_reg_winpt_flag): Check buffer first.
2806 (get_reg_winpt_prefs): Support for the new backup system.
2807 (set_reg_winpt_prefs): Likewise.
2808 * wptHotkey.h: Removed import and export hotkey. Re-ordered elements.
2809 * wptRegistry.h: Cleaned up the hotkey interface.
2810 * wptPreferenceDlg.cpp (enable_backup_items): New.
2811 (prefs_dlg_proc): Simplified hotkey handling. Use new code.
2812 * wptMainProc.cpp (clip_gpg_dlg): Remove hotkey handling for
2813 im- and export. Use the code directly.
2814 (currwnd_gpg_dlg): Likewise.
2815 * wptGPG.cpp (gnupg_backup_keyrings): New.
2816 (backup_one_file): New.
2817
2818 2003-09-04 Timo Schulz <[email protected]>
2819
2820 * wptFileManager.cpp (fm_get_file_type): Due to an unknown reason,
2821 the packet parsing return value check was wrong again. Now it does
2822 not recognize Word documents as SECKEY or ENCRYPTED any longer.
2823
2824 2003-09-03 Timo Schulz <[email protected]>
2825
2826 * The secret key listing does not contain any 'validity' or
2827 'status' flags any longer. Thus we only can use the cache to
2828 make sure we have a secret key. All attributes need to be retrieved
2829 from the public key listing.
2830
2831 * wptGPG.cpp (default_key_from_cache): New.
2832 (get_gnupg_default_key): Use new function to make sure we try
2833 to get the key from cache if there is a problem with the config
2834 file.
2835
2836 2003-08-30 Timo Schulz <[email protected]>
2837
2838 * wptGPG.h: Support for the GPG status messages REVKEYSIG and
2839 EXPKEYSIG. With this new feature, GPG 1.2.3 is required.
2840 * Make sure that the signature status does not cause an
2841 segfault.
2842 * WinPT.cpp: Use new check to detect the GPG version and make sure
2843 it is the minimum.
2844 * wptGPG.cpp (parse_version_nr): New.
2845 (check_gnupg_engine): Improved. Now it returns the actual version.
2846
2847 2003-08-24 Timo Schulz <[email protected]>
2848
2849 * wptPreferencesDlg.cpp (prefs_dlg_proc): Use better code to disable
2850 dialog controls.
2851
2852 2003-08-17 Timo Schulz <[email protected]>
2853
2854 * wptKeyManagerDlg.cpp (keymanager_dlg_proc):
2855 #ID_KEYMISC_EXPORT_PRIVKEY: Retrieve the current list view index. The
2856 value was malformed.
2857 * wptClipEditDlg.cpp (clip_edit_dlg_proc): Free global memory.
2858 * wptKeyserver.cpp (kserver_load_conf): If the file does not exist,
2859 don't bother the user with an error message. Closes #782751.
2860 * wptKeyEditDlgs.cpp (do_editkey_primary): New. Implement the
2861 "primary" edit key command.
2862 * wptKeyserverDlg.cpp (hkp_recv_key): New flag parameter. Now it is
2863 possible to supress the status message. This is useful when the whole
2864 keyring will be refreshed.
2865 * wptFileManager.cpp (fm_parse_command_line): Unquote file if needed.
2866 (quote_file): Avoid double quotes.
2867 * GPGME support for quoted file names.
2868 (fm_sym_encrypt): Double check password and to additional 8-bit checks.
2869 * WinPT.cpp (my_acces): Moved to this file..
2870 * wptGPG.cpp: ..here.
2871 (gpg_check_permissions): Renamed from check_permissions and make it global.
2872 * wptKeyManagerDlg.cpp (key_manager_dlg_proc): Check to make sure we
2873 have write access to the keyring for some commands.
2874
2875 2003-07-22 Timo Schulz <[email protected]>
2876
2877 * wptClipEditDlg.cpp (clip_edit_dlg_proc): Figure out the size of
2878 the text instead of allocating the maximum.
2879
2880 2003-07-13 Timo Schulz <[email protected]>
2881
2882 * wptKeygenDlg.cpp (check_passphrase): Check if the passphrase contains
2883 characters >= 127. Due to the fact that we use CP-1250 and GPG uses CP-850
2884 it would be a bad idea to use such passphrases. And thus we disallow it.
2885 * wptKeyEditDlgs.cpp (keyedit_change_passwd): Likewise.
2886 * wptSymEnc.cpp (gpgme_encrypt_symmetric): Likewise.
2887 * wptHotkey.cpp (hotkeys_strerror): Use capital letters.
2888
2889 2003-07-12 Timo Schulz <[email protected]>
2890
2891 * wptFileManager.cpp (fm_verify): Support for multiple signatures.
2892 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Likewise.
2893 * wptProxySettingsDlg.cpp (read_proxy): Skip http:// prefix.
2894 * wptKeyserver.cpp (check_URL): Support for hkp://. Closes #755156.
2895 (kserver_connect): Likewise.
2896 (kserver_read_config): Likewise.
2897 * wptSymEnc.cpp (gpgme_encrypt_symmetric): Free memory if the passphrases
2898 are not equal.
2899 * wptKeyGenDlg.cpp (keygen_wizard_dlg_proc): New. An easy to use wizard to
2900 generate a key pair.
2901
2902 2003-06-24 Timo Schulz <[email protected]>
2903
2904 * Fixed filter code in Get{Open,Save}FileName. Changed all callers.
2905 Thanks to Alex.
2906 * wptKeyManager.cpp (km_delete_keys): Quote the user-id.
2907
2908
2909 2003-06-13 Timo Schulz <[email protected]>
2910
2911 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Quote the user-id name.
2912 * wptClipSignDlg.cpp (clip_sign_dlg_proc): Fix the code due to
2913 the fact the signer is now dymanic and not static.
2914 * wptGPG.cpp (check_gnupg_engine): Check if IDEA is available and
2915 change all code that it only shows an error if no plug-in was loaded.
2916 * wptKeyEditDlgs.cpp (is_cmd_openpgp): Remove REVKEY since you
2917 can revoke v3 keys.
2918 (do_editkey_revoke): Clarify command because it can be only used
2919 for secondary keys.
2920 * wptKeyManagerDlg.cpp (file_sign_dlg_proc): Make sure an error
2921 is issued when no key was selected. Thanks to vedaal.
2922
2923 2003-06-11 Timo Schulz <[email protected]>
2924
2925 * wptKeylist.cpp (keylist_add_key): Now the user-ids are in the
2926 right order and we do not use the last user-id but the first
2927 because this is always the primary user-id or the newest user-id.
2928 * wptGPGME.cpp (get_default_keyid): Removed. Some better code
2929 were added to get_gnupg_default_key.
2930
2931 2003-06-10 Timo Schulz <[email protected]>
2932
2933 * wptKeysignDlg.cpp (do_fill_seckeylist): Make sure disabled keys
2934 are skipped.
2935 (keysign_dlg_proc): Removed some redundant code.
2936 * wptKeyEditDlgs.cpp (is_idea_protect_algo): New. Find out if
2937 it is possible to change the passphrase.
2938
2939 2003-06-06 Timo Schulz <[email protected]>
2940
2941 * wptKeylist.cpp (keylist_get_recipients): Use a stronger warning
2942 message and include the user-id.
2943 * Encryption: use force overwrite (--yes) to make sure there are
2944 no complications with GPG.
2945 * Import: skip all record types we do not understand.
2946
2947
2948 2003-06-05 Timo Schulz <[email protected]>
2949
2950 * wptPassphraseCB.cpp (passphrase_callback_proc): Now the dialog
2951 shows all involved recipients and also the public key algorithm.
2952 * wptRegistry.cpp (reg_inst_winpt): If the user does not want
2953 the extensions, set the entry to "1" so the message is not shown
2954 again.
2955
2956 2003-06-04 Timo Schulz <[email protected]>
2957
2958 * wptKeylist.cpp (get_key_algo, get_key_size): Due to the fact
2959 that GPG uses the newest subkey by default, we always return
2960 the info of this subkey and not the first.
2961 * wptKeyImportStatusDlg.cpp (import_status_dlg_proc): Fixed off-by-one
2962 bug. Now the indicies are correctly.
2963 * wptGPG.cpp (gnupg_check_keyring): Do not free the value before
2964 get_file_size is called.
2965 * WinPT.cpp (WinMain): Only check the GPG engine version if there
2966 were no problems with the GPG config. And differ between a problem
2967 to get the version and if a wrong version were detected.
2968
2969
2970 2003-06-01 Timo Schulz <[email protected]>
2971
2972 * wptCurrWnd.cpp (rel_key, hit_key): Replaced with macros...
2973 (KEYDOWN, KEYUP): macros for the functions above.
2974
2975 2003-05-31 Timo Schulz <[email protected]>
2976
2977 * wptKeyManager.cpp (km_key_is_v3): Return if the selected
2978 key is an old PGP 2 (v3) key.
2979 * wptKeyManagerDlg.cpp (key_manager_dlg_proc): Only allow
2980 (#ID_KEYMISC_EDITKEY): Bail out if no key was selected.
2981 to add extented items if the key is NOT version 3.
2982 * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Check if the
2983 key is v3 and forbid most commands.
2984 (is_cmd_openpgp): New.
2985
2986 2003-05-28 Timo Schulz <[email protected]>
2987
2988 * wptKeyManager.cpp (km_set_clip_info): New.
2989 * wptKeyManagerDlg.cpp (key_manager_dlg_proc): Use it here.
2990 * wptImportList.cpp (implist_build): Some column changes for
2991 the listview control.
2992 (implist_load): Return if secret keys were found.
2993 * wptClipImportDlg.cpp (data_cb_dlg_proc): Store if secret keys
2994 were found.
2995 (clip_import_dlg_proc): New message if secret keys were found.
2996
2997
2998 2003-05-25 Timo Schulz <[email protected]>
2999
3000 * wptImportList.cpp (implist_add_key): Address charset problem.
3001 * wptVerifyList.cpp (verlist_add_sig_log): Use UTF8 decoding.
3002 * wptKeyserver.cpp (set_default_kserver): New.
3003 (wsock_init): Call the new function.
3004 (kserver_load_conf): If the FP is invalid, skip to read the file.
3005 * WinPT.cpp (WinMain): Call set_default_kserver to make sure the
3006 item has a value.
3007
3008 2003-05-24 Timo Schulz <[email protected]>
3009
3010 * wptKeyEditDlgs.cpp (keyedit_main_dlg_proc): Subclass the two lists
3011 to allow to use virtual keys (DEL, INS).
3012 Release the uid control context when the dialog will be destroyed.
3013
3014
3015 2003-05-22 Timo Schulz <[email protected]>
3016
3017 * wptMainProc.cpp (winpt_main_proc): Set use_hotkey for current
3018 window mode sign+encrypt. This fixes a couple of other problems.
3019 * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Get new values of the
3020 key when the cache was reloaded.
3021
3022
3023 2003-05-21 Timo Schulz <[email protected]>
3024
3025 * wptSiglist.cpp (siglist_add_key): Only list signatures which are
3026 user-id certificates (0x10-0x13) and ignore key and subkey sigs.
3027 c-strings are now handle correctly and decoded into GPGME.
3028
3029 2003-05-20 Timo Schulz <[email protected]>
3030
3031 * wptKeyPropsDlg.cpp (key_props_dlg_proc): Factor out code to change
3032 the passphrase from here to...
3033 * wptKeyEditDlgs.cpp (keyedit_change_passwd): ...this place.
3034
3035 2003-05-19 Timo Schulz <[email protected]>
3036
3037 * wptPasswdDlg.cpp (create_passwd_dlg): Removed.
3038 (request_passphrase): New.
3039 The passphrase_s context is now internal, all externl function use now
3040 request_passphrase. Changed all callers.
3041 * wptKeygenDlg.cpp (keygen_dlg_proc): Reworded the passphrase
3042 warning and a check for the comment field was added.
3043 * wptKeyEditDlgs.cpp: New. This file now combines the dialogs which
3044 has shown the subkeys and the userids.
3045 * wptKeySubkeyDlg.cpp: Deleted and stuff merged into wptKeyEditDlgs.cpp.
3046
3047 2003-05-17 Timo Schulz <[email protected]>
3048
3049 * wptFileManager.cpp: Moved gpgme_file_get_extension to this file
3050 and renamed it to...
3051 (file_get_extension): this. gpgme_control now also returns the
3052 (get_file_name): Corrected the calculation of the basename.
3053 state of the command if you use -1 as the value.
3054 * wptImportList.cpp (implist_load): Make sure we really have the key ID.
3055 * wptClipEditDlg.cpp (clip_edit_dlg_proc): Some small changes all over
3056 the place.
3057
3058 2003-05-14 Timo Schulz <[email protected]>
3059
3060 * wptKeyManager.cpp (km_enable_disable_key): New.
3061
3062 2003-05-13 Timo Schulz <[email protected]>
3063
3064 * wptKeyList.cpp (keylist_add_key): Add 'DISABLED' flag for keys.
3065 (key_check_validity): Moved from GPGME to this file.
3066 * wptKeyManager.cpp (km_get_key_status): New.
3067
3068 2003-05-09 Timo Schulz <[email protected]>
3069
3070 * wptMDSumDlg.cpp (mdsum_dlg_proc): New.
3071 * wptFileManager.cpp (fm_print_md): New.
3072 * wptFileManagerDlg.cpp (file_manager_dlg_proc): Support for the Print MD
3073 command.
3074
3075 2003-05-08 Timo Schulz <[email protected]>
3076
3077 * wptMainProc.cpp (winpt_main_proc): Symmetric encryption for the current
3078 window mode.
3079 (currwnd_gpg_dlg): Likewise.
3080 * wptCurrWnd.cpp (wnd_msg_em_set_pos): Fix an off-by-one bug.
3081 * WinPT.cpp (WinMain): If the default key was not found, show the string
3082 in the error message to make it easier for the user to fix the problem.
3083 * wptImportStatusDlg.cpp (import_status_dlg_proc): Take care of secret
3084 keys.
3085 * wptfileManager.cpp (fm_get_file_type): Fix packet type detection error.
3086 This makes the priority of the rc2 update more urgent.
3087
3088 2003-05-07 Timo Schulz <[email protected]>
3089
3090 * Clean up the outer GPGME interface. Internal functions should be
3091 invisible in gpgme.h.
3092 Merge the photo-id, formerly attribute id stuff with gpgme_key_get_xxx_attr.
3093 * wptKeyserver.cpp: Some cleanups.
3094 (finger_recvkey): Skip URL postfix if there.
3095
3096 2003-05-06 Timo Schulz <[email protected]>
3097
3098 * wptKeySigDlg.cpp (keysig_dlg_proc): Disable the button when all keys
3099 are available. Removed old [unused] code.
3100 Make sure we really have the key in the cache.
3101
3102 2003-05-04 Timo Schulz <[email protected]>
3103
3104 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): If invalid recipients
3105 were found, output a more precise error message. Now the GPGME code
3106 first tests for special cases and if no one hit the nail on the head,
3107 a general error is used.
3108
3109 2003-05-03 Timo Schulz <[email protected]>
3110
3111 * wptParser.cpp: Renamed to...
3112 * wptGPGParser.cpp: this.
3113 (release_option): Renamed to...
3114 (release_gpg_options): this.
3115 (commit_option): Renamed to...
3116 (commit_gpg_options): this.
3117 (parse_option): Renamed to...
3118 (parse_gpg_options): this.
3119 * wptGPG.cpp: Use new parser function names.
3120 (set_gnupg_default_key): Free memory.
3121 * wptKeylist.cpp (keylist_add_groups): New group code.
3122 * wptGroups.{c,h}: Removed. Now we use the GPG group command.
3123 * wptKeySigListDlg.cpp (keysig_dlg_proc): Change column from
3124 2 to 4.
3125 (recv_missing_keys): Likewise. Now it is possible to retrieve
3126 missing keys. Thanks to Klaus.
3127 * wptKeyserverDlg.cpp (hkp_recv_key): Use a dymanic buffer rather
3128 than a static buffer to avoid garbled keys. There are some very
3129 large keys and these cause some trouble with a 16k buffer.
3130 (keyserver_dlg_proc): Localized some strings.
3131 * wptKeyserverSearchDlg.cpp (hkpsearch_dlg_proc): Use new column
3132 names which are equal to the names we use in the Key Manager.
3133 * wptKeySignDlg.cpp (keysign_dlg_proc): Fix a silly '=' but
3134 should be "==" bug.
3135 * wptKeygenDlg.cpp (mbox): Removed. Too much overhead.
3136 * Add --expert option for the GPG procedure call if needed.
3137
3138 2003-05-02 Timo Schulz <[email protected]>
3139
3140 * wptW32API.cpp (set_foreground_wnd): Removed. Changed all callers.
3141
3142 2003-04-30 Timo Schulz <[email protected]>
3143
3144 * wptKeyManagerdlg.cpp (keymanager_dlg_proc): Support for the
3145 next context menu ("Add"). Make sure the entries are disabled
3146 when the key has no secret key.
3147 * wptKeyEditAddPhotoDlg.cpp (keyedit_addphoto_dlg_proc): New.
3148 * wptFileManager.cpp (fm_decrypt): Set sig to NULL so it won't
3149 cause a segfault when the pointer free tries to deallocate the
3150 pointer.
3151
3152 2003-04-27 Timo Schulz <[email protected]>
3153
3154 * wptKeysigDlg.cpp (keysig_dlg_proc): A double click now allows
3155 to show the properties of the signers keys.
3156 * wptKeyEditAddRevokerDlg.cpp (keyedit_addrevocer_dlg_proc): New.
3157
3158 2003-04-26 Timo Schulz <[email protected]>
3159
3160 * wptParser.cpp: A lot of structural changes. Always add items
3161 at the end of the list so we don't need to make a copy of the list
3162 to restore the original order. Fix the group problem.
3163 * wptKeylist.cpp (keylist_build): Use OR to get the flags and
3164 not ==.
3165 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): The export command
3166 (file) does not use the keyid as the file name when more than one
3167 keys were selected.
3168 Allow allow to set default keys which are not revoked or expired.
3169 * wptFileEncryptDlg.cpp (file_encrypt_dlg_proc): Allow to sort
3170 the columns.
3171 Set the force trust flag in GPGME if there are some recipients
3172 with no validity.
3173
3174 2003-04-25 Timo Schulz <[email protected]>
3175
3176 * wptVerList.cpp (verlist_build): Change the name of some columns.
3177 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Instead of just the
3178 notation (if present!) present the user a general message box
3179 with extended signature information. This means the notation
3180 data and a possible policy URL.
3181
3182
3183 2003-04-24 Timo Schulz <[email protected]>
3184
3185 * wptKeyEditAddSubKeyDlg.cpp (keyedit_addsubkey_dlg_proc): Init
3186 default values to make it easier for newbies.
3187 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Use a better error
3188 when no secret key was found. Also mention the public key algo.
3189 * wptFileManager.cpp (fm_decrypt): Likewise.
3190
3191 2003-04-23 Timo Schulz <[email protected]>
3192
3193 * wptKeyPropsDlg.cpp (ownertrust_to_string): Moved the function
3194 from GPGME#gpgme_ownertrust_to_string into WinPT.
3195
3196 2003-04-20 Timo Schulz <[email protected]>
3197
3198 * wptClipboard.cpp: Removed. All these functions and constants
3199 are now available in MyGPGME/clip.c and thus part of GPGME.
3200 * wptKeylist.cpp (keylist_add_to_recipients): Renamed to...
3201 (keylist_get_recipients): this. Return the context instead of
3202 an argument.
3203 (get_key_size): Add key index.
3204 (get_key_algo): Likewise.
3205 (keylist_build): Use a special mode when signing is used.
3206 (keylist_enum_recipients): Return a malloced pointer to the
3207 recipients.
3208 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Add primary fingerprint
3209 when we have a signature result and we do not trust the key.
3210
3211 2003-04-20 Timo Schulz <[email protected]>
3212
3213 * wptFindWnd.h: Removed. We don't use it any longer.
3214 * wptGPG.h: Merged GPGERR_xxx constants with WPTERR_xxx.
3215 (gpg_strerror): Removed. Now it is handled in winpt_strerror.
3216 * wptFileManager.cpp (fm_get_file_name): move this to
3217 * wptVerifyList.cpp (get_file_name): ..this place and declare
3218 it as static because no other file need this function.
3219
3220 2003-04-15 Timo Schulz <[email protected]>
3221
3222 * wptClipImportDlg.cpp (data_cb_dlg_proc): New.
3223 (data_cb_thread): New.
3224 (data_cb_dlg_create): New.
3225 (data_cb_dlg_destroy): New.
3226 (data_cb_new): New.
3227 (clip_import_dlg_proc): Use a callback dialog to
3228 show the user the data decoding procedure is in
3229 progress. This dialog is destroyed in the key
3230 import statistics dialog.
3231
3232
3233 2003-04-13 Timo Schulz <[email protected]>
3234
3235 * wptSubkeyDlgProc.cpp (key_subkey_dlg_proc): Use a callback
3236 context.
3237 * wptUidDlgProc.cpp (keyuid_dlg_proc): Likewise.
3238 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Set the protect
3239 flag inside the KEY contect if needed.
3240 * wptKeySubkeyDlg.cpp (key_subkey_dlg_proc): Only ask for a
3241 passphrase if the protect flag is set.
3242 Display the callback dialog to show the progress.
3243 Implemented the "revkey" feature.
3244 * wptKeyUidDlg.cpp (key_uid_dlg_proc): Likewise.
3245 (do_add_new_userid): New. Add an entry to the list box
3246 after the GPG process finished.
3247 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Initialize sig
3248 to zero to avoid segfaults.
3249
3250 2003-04-12 Timo Schulz <[email protected]>
3251
3252 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Use the new
3253 GPGME code.
3254 * wptVerifyList.cpp (verlist_add_sig_log): Likewise.
3255 * wptClipDecryptDlg.cpp (clip_decrypt_dlg_proc): Likewise.
3256 * wptFileManager.cpp (fm_decrypt): Likewise.
3257 * WinPT.cpp (check_default_key): Check if the keys in gpg.conf
3258 are valid and in the keyring.
3259 * wptKeySignDlg.cpp (do_check_protection): Disable the passphrase
3260 item if the key is not protected.
3261
3262
3263 2003-04-09 Timo Schulz <[email protected]>
3264
3265 * wptFirstRunDlg.cpp (first_run_dlg_proc): Mark selection as
3266 invalid for cancel.
3267
3268 2003-03-20 Timo Schulz <[email protected]>
3269
3270 * wptFindWnd.cpp: Removed.
3271 * wptW32API.c (dialog_box_param): Use FindWindowEx() instead of
3272 find_window.
3273 * Whenever it's possible, use case insentensive searches to avoid
3274 problems.
3275
3276 2003-03-19 Timo Schulz <[email protected]>
3277
3278 * wptMainProc.cpp (winpt_main_proc): Put the init_dtp code here.
3279 * wptPassphraseCB.cpp (hide_typing): Removed. Use short code directly
3280 in the code.
3281 * wptPasswdDlg.cpp: Likewise.
3282 (passphrase_cb_init): Declare as static.
3283 (passphrase_cb_gpgme): Modified to use the static function and rename
3284 it to...
3285 (passphrase_gpgme_set_cb): ..this. New.
3286 * wptSecListDlg.cpp: Complete new appraoch. Now we use CB_SETITEMDATA
3287 and friends to assign data to each item.
3288 Move dialog code to...
3289 * wptClipSignEncDlg.cpp: ..here.
3290 * MyGPGME/keycache.c: We first look for directly key signatures and
3291 then we skip all other signatures if we've already seen the key. This
3292 is needed to gather the designated revoker keys.
3293
3294 2003-03-18 Timo Schulz <[email protected]>
3295
3296 * wptKeyImportStatDlg.cpp (import_status_dlg_proc): Fix index
3297 of revocation from 9 to 8.
3298 Set the text that no key was updated only if no new sig, subkey,
3299 userid and no public were added.
3300 Add more information: new {subkeys, signatures, userid}.
3301 * wptKeyManager.cpp (km_delete_keys): Fixme lame, '=' instead of '==' bug.
3302 * wptDlgs.cpp: Removed.
3303 * wptDlgs.h: (dlg_fatal_error): New. Macro.
3304
3305 2002-03-16 Timo Schulz <[email protected]>
3306
3307 * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Encode the
3308 optional text in UTF-8 to avoid charset problems.
3309 * wptKeyManager.cpp (km_quote_uid): Use dynamic memory instead
3310 of a static buffer. Changed all callers.
3311 * wptKeylist.cpp (keylist_cmp_cb): Implemented sort functions
3312 for the rest of the columns.
3313 (keylist_handle_column_click): New.
3314 * wptKeyEditOwnertrustdlg.cpp (keyedit_ownertrust_dlg_proc):
3315 Removed the 'Advanced' button because it only confuses users
3316 and it is not often used.
3317 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Support to ex-
3318 and import the trustdb values (ownertrust).
3319 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Ability to
3320 sort columns.
3321
3322 2002-03-09 Timo Schulz <[email protected]>
3323
3324 * 64-bit support for wipe operations.
3325
3326 2002-03-08 Timo Schulz <[email protected]>
3327
3328 * wptFileManager.cpp (fm_parse_command_line): Ignore lines with '--'
3329 because they are options rather than files.
3330 * WinPT.cpp (WinMain): Allow to start the key manager directly
3331 via --keymanager.
3332 * wptFileManagerDlg.cpp (file_secdel_confirm_dlg_proc): New.
3333 (wipe_cb): New. Wipe callback function.
3334 (fill_drive_combobox): New. Fill in all logical drives into
3335 the given combo box.
3336 (wipe_thread): New. Worker thread.
3337 (update_disc_stats): New. Set the disc statistics for the
3338 given drive entry.
3339 (space_wipefrees_dlg_proc): New.
3340
3341 2002-03-01 Timo Schulz <[email protected]>
3342
3343 * wptFileManager.cpp (fm_check_file_type): Fix bug in the detection
3344 logic. Now we can decrypt symmetrically encrypted files again.
3345 Be stricter on memory alloaction checks.
3346 (fm_get_file_type): Be more strict with the return code of
3347 parse_packet. This avoids bogus file types for MS-Word files and
3348 other non-PGP data.
3349 (fm_wipe): Use the wipe mode from the registry and not a fixed value.
3350 * WptRegistry.cpp (set_reg_winpt_prefs): Support wipe mode.
3351 (get_reg_winpt_prefs): Likewise.
3352 * wptFilePrefsDlg.cpp: Removed. We don't use it any longer.
3353 * wptDlgs.h: Corrected all dialog protypes to BOOL.
3354 LRESULT was not correct.
3355
3356 2002-02-08 Timo Schulz <[email protected]>
3357
3358 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Only export
3359 the secret key when a file was chosen.
3360
3361 2002-02-01 Timo Schulz <[email protected]>
3362
3363 * wptKeyserver.cpp (kserver_search): Fix <KEYID bug.
3364
3365 2002-01-25 Timo Schulz <[email protected]>
3366
3367 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Support to copy the key id
3368 and the fingerprint to the clipboard. Closes #674455.
3369 Automatically reload the keycache when a command is chosen and the cache
3370 state is set to 'reload requested'. Closes #671218.
3371 * wptKeySignDlg.cpp (do_fill_seckeylist): Make sure the public key parts
3372 are not invalid.
3373 * WinPT.cpp (check_permissions): Make sure we have the permission to
3374 write the keyring. Stop if not because it's expected at many other places.
3375 * wptSigList.cpp (siglist_add_key): Indent signatures under the root entry.
3376 (siglist_build): Use a placeholder sig to avoid the position chaos.
3377 * wptKeyUidDlg.cpp: Unified text for 'user-ID'.
3378 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): If a key is not found,
3379 display more information and use a GPG like output.
3380 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Force trust if there is
3381 an invalid key in the list of recipients. Closes #674965.
3382
3383
3384 2002-01-21 Timo Schulz <[email protected]>
3385
3386 * wptSymEnc.cpp (gpgme_encrypt_symmetric): Ask the passphrase twice to
3387 avoid typing mistakes.
3388
3389 2003-01-19 Timo Schulz <[email protected]>
3390
3391 * winpt.cpp (WinMain): Fixed spelling mistake. Closes #669321.
3392 * wptKeyManagerDlg.cpp (do_resize_window): New.
3393 (do_create_minpopup): New. Closes #669730.
3394 * wptVerifyList.cpp (get_sig_date): Renamed to...
3395 (longdate_to_strdate): New. Changed all callers.
3396 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): If the ciphertext contains
3397 a signature, also display the time of it. Closes #669780.
3398 * wptKeyImportStatusDlg.cpp (import_status_dlg_proc): Localize 2 strings.
3399 * wptEditKeyOwnertrust.cpp (keyedit_ownertrust_dlg_proc): Fixed a typo.
3400 * wptKeySignDlg.cpp (do_add_local_user): New. Now the dialog has the ability
3401 to choose the signer.
3402 (keysign_dlg_proc): Implemented a feature request. See above.
3403
3404 2003-01-08 Timo Schulz <[email protected]>
3405
3406 * wptKeyEditAddUidDlg.cpp (keyedit_adduid_dlg_proc): Output a warning
3407 if the user tries to add the email address in the name field.
3408 * wptKeyserver.cpp: Add support for protocols.
3409 (finger_readline): New.
3410 (finger_recvkey): New.
3411 * wptKeyUidDlg.cpp (keyuid_dlg_proc): Add a warning icon to the revoke
3412 message box to show it's a serious decision.
3413 * wptPasswdDlg.cpp (passwd_dlg_proc): Center dialog window.
3414 * wptRegistry.cpp (regist_single_filetype): Now internal and we use
3415 an easier way to get the location of the binary.
3416 (regist_inst_winpt): Implemented the 'with_ext' part and add a registry
3417 entry to avoid double file registering.
3418
3419 2003-01-07 Timo Schulz <[email protected]>
3420
3421 * wptKeyManagerDlg.cpp (do_center_window): New. Try to set the window
3422 pos from the coordinates from the registry.
3423 (keymanager_dlg_proc): Store the window pos in the registry.
3424 * wptKeyRevokeDlg.cpp (key_revoke_dlg): Check box for PGP compatible certs.
3425 * wptKeyImportStatusDlg.cpp (import_status_dlg_proc): Print out a hint when
3426 a revcert was found.
3427 * wptKeyserverDlg.cpp (hkp_recv_key): Print an error if the LDAP import does
3428 not succeed.
3429 (keyserver_dlg_proc): Corrected some listview index values.
3430 * wptKeylist.cpp (keylist_add_key): Use primary user-id when possible.
3431
3432 2002-12-23 Timo Schulz <[email protected]>
3433
3434 * wptRegistry.cpp (regist_inst_winpt): Try to create \Keyserver
3435 directory if does not exist.
3436 * wptKeyserver.cpp: Simpliefied config file.
3437 (kserver_change_proxy): Write config to the registry. Remove
3438 code for the config file.
3439 * wptProxySettingsDlg.cpp (read_proxy): More robust code.
3440 * wptKeyserverDlg.cpp (keyserver_dlg_proc): Removed the feature
3441 to send keys. The Key Manager is better for this.
3442
3443
3444 2002-12-21 Timo Schulz <[email protected]>
3445
3446 * Fixed some language mistakes.
3447 * wptMainproc.cpp: Use the desktop window as the parent window
3448 for the main dialogs so they are visible in the taskbar.
3449 * wptKeyManagerDlg.cpp: Enable minimize.
3450 * wptFileManager.cpp (fm_parse_command_line): Support for detached
3451 signatures.
3452 (fm_encrypt_directory): New.
3453 * wptKeylist.cpp (keylist_add_key): Check the current key if it
3454 is not expired, not the primary (idx=0).
3455
3456 2002-12-18 Timo Schulz <[email protected]>
3457
3458 * wptGPG.cpp (get_gnupg_optfile): Support for gpg.conf instead
3459 of the old name "options".
3460 * WinPT.cpp (WinMain): Try to repair broken home directories
3461 in the registry. Thanks to Gustavo who reminded me of it.
3462 * wptKeyserver.cpp (check_hkp_response): Only copy the text
3463 between <p> and </p> when possible.
3464 * wptAgent.cpp: Re-activated the old code. Now the passphrase
3465 timer can be used.
3466
3467 2002-12-14 Timo Schulz <[email protected]>
3468
3469 * wptKeyManager.cpp (km_check_for_seckey): Ultimate doesn't mean
3470 any longer there is also a secret key.
3471 (km_check_photo): New.
3472 (km_complete_status_bar): New.
3473 * wptFileManager.cpp (fm_verify): Support for bad signatures.
3474 Set the sigmode if not set.
3475 * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Output a warning when
3476 the ownertrust of a non-valid (not signed) key is changed.
3477 * wptRegistry.cpp (expand_path): New. Use this code because it's
3478 much shorter.
3479
3480 2002-10-14 Timo Schulz <[email protected]>
3481
3482 * wptKeyserver.c: Replaced all strdup's with m_strdup and free
3483 with free_if_alloc.
3484 (ldap_recvkey): Fill with life. We use the GPG plugin to avoid
3485 all the LDAP overhead.
3486
3487 2002-10-13 Timo Schulz <[email protected]>
3488
3489 * wptKeyManager.cpp (km_file_import): Alloc buffer, it's not static
3490 any longer.
3491
3492 2002-10-31 Timo Schulz <[email protected]>
3493
3494 * wptKeyManager.cpp (km_update_default_key_str): Fixed '0x' handling.
3495 Thanks to Gustavo.
3496 * wptKeylist.cpp (add_key): Now we only use find_secret_key to detect
3497 whether it's a key pair or not.
3498 * Callback struct into KEY so we can modify the values in the background.
3499 * wptKeyPropsDlg.cpp (change_ownertrust): New.
3500
3501 2002-10-30 Timo Schulz <[email protected]>
3502
3503 * wptLDAP.cpp, wptLDAP.h: Removed. The plan is to use the gpgkey_xxx.exe
3504 LDAP plugin for this purpose.
3505 * wptMainproc.cpp (winpt_main_proc): Removed all LDAP stubs.
3506 * wldap32.lib is now not longer needed.
3507 * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Copy userid to clipboard.
3508 * Updated the resource file.
3509 * wptFileManager.cpp (fm_parse_command_line): Implemented the stuff
3510 for 'Decrypt', 'Verify', 'Import'.
3511
3512 2002-10-15 Timo Schulz <[email protected]>
3513
3514 * Changed all s(n)printf -> msg_box constructs to log_box.
3515
3516 2002-10-13 Timo Schulz <[email protected]>
3517
3518 * wptKeylist.cpp (get_key_expire_date): New.
3519 * wptKeyPropsDlg.cpp (key_props_dlg_proc): Use it here.
3520
3521 * Removed global keycache from GPGME. It's a bad style to mix
3522 general and specific interfaces.
3523
3524 * wptGPGME.cpp (get_pubkey): New. Used to hide keycache implementation
3525 details. Useful to replace it later.
3526 (get_seckey): Ditto.
3527 (keycache_reload): Moved from the GPGME library.
3528 (keycache_release): New.
3529 (keycache_init): New.
3530 (keycache_set_reload): New.
3531 (keycache_get_reload): New.
3532 (keycache_get_ctx): New.
3533
3534 * wptSigList.cpp (siglist_add_key): Use the new code.
3535 (siglist_build): Ditto.
3536
3537
3538 2002-10-10 Timo Schulz <[email protected]>
3539
3540 * wptW32API.cpp (get_filename_dlg): Added default filename parameter.
3541 Changed all callers.
3542 * wptKeyManagerDlg.cpp (keymisc_dlg_proc): Adjusted the code for the
3543 new get_filename_dlg.
3544 * wptFileManager.cpp (fm_export): Likewise.
3545 * wptClipDecryptDlg (clip_decrypt_dlg): Modified the verify message box.
3546 * wptKeySignDlg.cpp (keysign_dlg_proc): Changed the code for edit-key.
3547 Use signature class dialog.
3548 * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): Use the new code and the
3549 keyid instead of the userid to avoid charset problems.
3550 (err_message): New.
3551
3552 * Moved all wipe specific code (random, rmd160) to the DLL so we can
3553 save some memory for the tray section.
3554
3555 * wptKeyRevokersDlg.cpp (revokelist_build): New.
3556 (revokelist_init): New.
3557 (key_revokers_dlg_proc): New.
3558
3559 * wptKeyPropsDlg.cpp (key_props_dlg_proc): Use the designated revoker
3560 code here when available.
3561
3562 2002-09-25 Timo Schulz <[email protected]>
3563
3564 * wptClipboard.cpp (clip_parse_pgp_id): Add a flag when the text
3565 is dash escaped. This is useful for keys to avoid errors.
3566 * wptKeyManager.cpp (extract_dash_escaped_key): New. Extract an
3567 OpenPGP key from the clipboard which is dash escaped.
3568 (km_clip_import): Use the new code here.
3569
3570 2002-09-23 Timo Schulz <[email protected]>
3571
3572 * wptParser.cpp (add_multi_option): Support for values with more ' 's
3573 and skip the ' ' after the name.
3574 (modify_entry): New.
3575 * wptGPG.cpp (gnupg_save_options): Removed.
3576 (gnupg_load_options): Removed.
3577 (gnupg_release_options): Removed.
3578 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Use the new code.
3579
3580 2002-09-17 Timo Schulz <[email protected]>
3581
3582 * winpt.cpp (WinMain): Use make_filename and no static buffer.
3583 Modified for the new gnupg interface.
3584 * wptFile.cpp (make_filename): New.
3585 * wptGpgCmds.h: New from GPG 1.1.92
3586 * wptGPG.cpp (gnupg_import_keyrings): Use dynamic buffers
3587 and make_filename.
3588 * wptKeygenDlg.cpp (ask_for_backup): Use new gpg code and
3589 make_filename instead of static buffers.
3590 * wptKeyCacheDlg.cpp (keycache_dlg_proc): Likewise.
3591 * wptParser.cpp: Changed to new allocation instead of malloc.
3592 * wptGPGOptSkel.h: Updated from GPG 1.1.92
3593 * wptRegistry.cpp (get_reg_entry): Expand %s like registry strings.
3594
3595 2002-09-13 Timo Schulz <[email protected]>
3596
3597 * wptKeyManager.cpp (km_show_photo): Use a const buffer for the
3598 image and do NOT free it.
3599 * wptKeyUidDlg.cpp (keyuid_dlg_proc): Implement "revoke" function.
3600 (find_user_id): Use keyid to find the key. Changed all callers.
3601
3602 * Removed global gpg_version variable. Now we also support GPG 1.1.9x
3603 so we don't need to check this after the start again.
3604
3605 2002-09-12 Timo Schulz <[email protected]>
3606
3607 * wptPasswdDlg.cpp (passwd_dlg_proc): Implement the "Hide Typing" fature.
3608 * wptKeyManagerDlg.cpp (keymisc_dlg_proc): Off by one bug for secret
3609 key export.
3610 * wptKeyManager.cpp (fm_encrypt): Use the new GPG status messages to
3611 check if the encryption failed.
3612 (km_show_photo): Fixed offset calculation.
3613 Use keyid as filename and delete the tempfile after use.
3614 * wptFile.cpp (init_file_lock): Use dynamic buffer.
3615 (release_file_lock): Free this buffer.
3616 * wptFileManager.cpp (quote_filename): Removed.
3617 (quote_file): New. Use dynamic buffers.
3618 (fm_import, fm_decrypt, fm_encrypt, fm_sym_encrypt, fm_export):
3619 Use it here.
3620 * wptFileStatDlg.cpp (do_list_packets): Do not cache FD.
3621 Initalize packet at the begin and during the loop.
3622 * wptFileManager.cpp: Replaced all static memory handling with
3623 dynamic routines.
3624 * wptKeyCacheDlg.cpp (key_cache_dlg): Remove obsolete ownertrust
3625 functions.
3626 * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Ditto.
3627
3628 2002-09-10 Timo Schulz <[email protected]>
3629
3630 * wptFileManager.cpp (fm_get_file_type): Disable FD cache.
3631 (fm_decrypt): Only cut off the extension if it belong to GPG.
3632 Added user ID to the box if the file was signed.
3633 Ask for the filename if the name has no valid GPG extension.
3634
3635 2002-09-09 Timo Schulz <[email protected]>
3636
3637 * wptKeyManagerDlg.cpp (keymisc_dlg_proc): Improved code for
3638 the privat key (export).
3639
3640 2002-09-08 Timo Schulz <[email protected]>
3641
3642 * wptKeygenDlg.cpp (ask_for_backup): Check if the copy process
3643 really succeeded.
3644 (mbox): Alias for msg_box with fixed title to avoid long lines.
3645 * wptKeyEditAddSubkeyDlg.cpp (keyedit_addsubkey_dlg_proc): Allow
3646 to generate keys with a length til 4096 bits.
3647 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Check for
3648 invalid recipients and print out the reasons.
3649 * wptKeylist.cpp (keylist_add_to_recipients): Improved error message
3650 and corrected the validity checking.
3651
3652 2002-09-07 Timo Schulz <[email protected]>
3653
3654 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc):
3655 Print notation data when available.
3656 Show if the signature is expired or not.
3657
3658 * wptKeyManagerDlg.cpp (keymisc_dlg_proc): Added the show photo
3659 command to the context menu.
3660
3661 * wptKeygenDlg.cpp (keygen_dlg_proc): New default keysize is 1792.
3662 This is 256 bits more than the old size. Hopefully it's enough
3663 security to protect against the most enemies ;-).
3664
3665 2002-09-04 Timo Schulz <[email protected]>
3666
3667 * wptKeyManager.cpp (km_check_key_status): Parse new fields.
3668
3669 2002-09-03 Timo Schulz <[email protected]>
3670
3671 Removed all OpenCDK code from PTD. The code is not tested very
3672 well and it might contain some errors. Now we used a stripped down
3673 version of GnuPG code. This has two advantages. First the code is
3674 stable and second we can easier port other parts to native GPG code.
3675
3676 * wptFileManager.cpp (fm_get_file_type): Use native GPG code.
3677 * wptKeyCacheDlg.cpp (keycache_dlg_proc): Add photos from the
3678 keyring when present to the keycache.
3679 * wptKeyManager.cpp (km_show_photo): Fixes to work again with the
3680 modified code.
3681 (km_check_for_seckey): Check substrings of the value because we
3682 don't use '**' values any longer.
3683 * wptFileStat.cpp (do_list_packets): New. Adapted from the old code.
3684 (file_stat_dlg_proc): Uses the new code.
3685
3686 2002-09-02 Timo Schulz <[email protected]>
3687
3688 * wptKeyManager.cpp (km_privkey_export): Check return codes and
3689 some types has been changed.
3690 (km_file_export): Likewise.
3691
3692 2002-09-01 Timo Schulz <[email protected]>
3693
3694 * wptFirstRunDlg.cpp (get_setup_choice): New. Returns the choice
3695 of the dialog.
3696 * WinPT.cpp (WinMain): Use it here. Reworded the error message.
3697 * wptGPG.cpp (gpg_import_keyrings): New.
3698 Let the user chose the keyrings and then they are copied to the
3699 homedir. After the procedure, the key cache will be reloaded.
3700 * wptKeyManager.cpp (km_delete_keys): New delete confirmation messages.
3701 * wptSigClassDlg.cpp (sig_class_dlg_proc): New.
3702 (get_sig_class_choice): New.
3703 * wptKeySignDlg.cpp (get_printable_fpr): New. More human readable
3704 fingerprint.
3705 (keysign_dlg_proc): Added new value for the GPG callback to handle
3706 the signature class.
3707 * wptKeyUIDDlg.cpp (find_user_id): New. Find the index of the
3708 userID by calling edit-key with colons.
3709 (keyuid_dlg_proc): Use it here.
3710
3711 2002-08-31 Timo Schulz <[email protected]>
3712
3713 * wptGPG.cpp (gpg_check_homedir): Some fixes for the return codes.
3714 (check_homedir): Ask the user whether to create the directory.
3715 * wptKeysigDlg.cpp (keysig_dlg_proc): Fixed keyid. Now it works
3716 to retrieve missing keys from a HKP server.
3717 (recv_missing_keys): Likewise.
3718 * wptPassphraseCB.cpp (passphrase_callback_proc):
3719 Implemented the "Hide Typing" feature.
3720 (hide_typing): New.
3721 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Improved error messages.
3722 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Improved MDC handling.
3723 Due to some attacks a MDC error is treated as a fatal error and a
3724 possible security risk.
3725 * wptClipImportDlg.cpp (print_import_status): Use a dialog instead
3726 of a silly message box. Furthermore the user gets more information
3727 about the import procedure.
3728 * wptKeyImportStatusDlg.cpp (import_status_dlg_proc): New.
3729 * wptFileManager.cpp (fm_import): Report invalid user ID's.
3730 (fm_verify): Try to guess the data name for detached signatures
3731 before we bother the user. When it's found, use it.
3732 * wptKeyManager.cpp (km_file_import): Ditto.
3733
3734 2002-08-28 Timo Schulz <[email protected]>
3735
3736 * wptClipboard.cpp (clip_parse_pgp_id): Support for PGP 2.6.x types.
3737 * wptFileMananger.cpp (fm_check_armor_type): Ditto.
3738
3739
3740 2002-08-26 Timo Schulz <[email protected]>
3741
3742 * wptTypes.h (free_if_alloc, CHECK_BOUND): New.
3743 * wptClipEditDlg.cpp (gpgopt_dlg_proc): Use free_if_alloc to make sure
3744 the memory is really released. Some strict checks for return values.
3745 Ident file.
3746
3747 * wptAboutDlg.cpp: Ditto. (ident)
3748 * wptGPGAboutDlg.cpp: Ditto.
3749 * wptClipDecryptDlg.cpp: Ditto.
3750 (clip_decrypt_dlg): Stricter return value checkings.
3751 Avoid one indent level.
3752
3753 * wptImportList.cpp (implist_add_key): More strict return value
3754 checking.
3755 * wptKeylist.cpp (keylist_cmp_cb): Fixed a typo.
3756 (add_key): New key status system.
3757 (keylist_get_keyflags): New.
3758 (keylist_enum_recipients): Simplified and use the new key flags.
3759
3760 * wptSiglist.cpp (siglist_add_key): Fix possible overflows.
3761 (verlist_add_sig_log): More stricter checks.
3762
3763 * wptRegistry.cpp (get_reg_winpt_prefs): Fixed possible bug.
3764
3765 2002-06-16 Timo Schulz <[email protected]>
3766
3767 Don't put the questions in the message box title bar.
3768
3769 * wptGPGPrefsDlg.cpp (gpg_prefs_dlg_proc): Only close FP if it
3770 is really opened. Thanks to Nelson.
3771
3772 * wptKeyProps.cpp (keyprops_dlg_proc): Use a more informative title
3773 for chaning the passphrase. Suggested by Ed.
3774
3775 2002-06-07 Timo Schulz <[email protected]>
3776
3777 * wptMainProc.cpp (winpt_main_proc): Support for sign & encrypt hotkeys.
3778 * wptKeyManagerDlg.cpp: Refresh keys was added in the menu.
3779 * wptListView.cpp (listview_select_all): New.
3780 * wptClipSignDlg.cpp (clip_sign_dlg_proc): Fixed the return code.
3781
3782 2002-05-31 Timo Schulz <[email protected]>
3783
3784 * wptTrayPop.cpp: Revamped some parts of the code.
3785
3786 Changed all status_box functions to show_msg. The advantage
3787 is that we only wait a fixed time and the user doesn't need
3788 to hit the OK key. We should add the time delay in the preferences.
3789
3790 * wptKeyManager.cpp (km_show_photo): New.
3791
3792 2002-05-30 Timo Schulz <[email protected]>
3793
3794 * wptFileManager.cpp (fm_verify): Corrected the handling
3795 for detached RSA signatures.
3796 (fm_add_sig_stat): Added support for short fingerprints.
3797
3798 2002-05-08 Timo Schulz <[email protected]>
3799
3800 * wptKeyserver.cpp (kserver_change_proxy): Check the values.
3801 Thanks to njek for reporting it.
3802
3803 2002-05-07 Timo Schulz <[email protected]>
3804
3805 * wptGPG.cpp (check_gpg_engine): New.
3806
3807 * wptKeyCacheDlg.cpp (keycache_dlg_proc): Add GPG 1.0.6 compatible
3808 routines.
3809
3810 * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Ditto.
3811
3812 * wptKeyEditOwnertrustDlg.cpp (keyedit_owerntrust_dlg_proc): Ditto.
3813
3814 2002-05-06 Timo Schulz <[email protected]>
3815
3816 * wptClipEditDlg.cpp (clip_edit_dlg_proc): Change the wording of
3817 the buttons.
3818
3819 2002-05-05 Timo Schulz <[email protected]>
3820
3821 * Fixed problem with rev certs for imports stats.
3822
3823 * Cosmetical changes for the GPGME libraray.
3824
3825 2002-05-01 Timo Schulz <[email protected]>
3826
3827 * wptKeygenDlg.cpp (fill_keytype_box): New.
3828 (keygen_dlg_proc): Use a combo box for various key types. With GPG 1.0.7
3829 there is full RSA support.
3830
3831 Now we use the new status code by GPG (INV_RECP, NO_RECP) to figure out
3832 what the problem was when no encryption was done.
3833
3834 * wptKeysignDlg.cpp (keysign_dlg_proc): Before we sign a key, we make
3835 sure it was not already signed (ALREADY_SIGNED).
3836
3837 * wptKeyManagerDlg.cpp (keymisc_dlg_proc): Due to the new trust system,
3838 now we also support to sign ultimate trusted keys.
3839
3840 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Try to check if the button
3841 is checked and do not check it.
3842
3843 * wptClipDecryptDlg.cpp (clip_decrypt_dlg_proc): New format for the verify
3844 box and now we also support the date of the signature.
3845
3846 Applied Rich's spelling and grammer mistakes.
3847 Fixed a lot of minor spelling mistakes and capital letters for dialogs.
3848
3849 2002-04-30 Timo Schulz <[email protected]>
3850
3851 Merge ownertrust handling into the keycache. Now GPG outputs the
3852 ownertrust in the key listing which means we can get the ownertrust
3853 value from the keycache.
3854
3855 (keymisc_dlg_proc): Add a button to rebuild the sig database cache.
3856 Please not that this is not the same as the key cache! The key cache
3857 will be updated when a new key was imported or a subkey was added/changed.
3858 The signature cache only affects the validity of the keys.
3859
3860 Removed the MyGPGME trustlist code. Now we can use the field in the key
3861 listing to determine the ownertrust (which makes things a lot of easier).
3862
3863 2002-04-29 Timo Schulz <[email protected]>
3864
3865 Adjustments for GPG 1.0.7
3866
3867 * wptKeyEditDlg.cpp (keyedit_ownertrust_dlg_proc): Support ultimate trust
3868 and ask the user if he knows what he's doing.
3869 * wptKeyManager.cpp
3870 (keylist_subclass_proc): Use double click to open the props.
3871 * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Allow the user even to modify a
3872 ultimate ownertrust value.
3873 * wptKeyEditAddSubkeyDlg.cpp (keyedit_addsubkey_dlg_proc): Support for
3874 new RSA keys.
3875
3876 2002-04-28 Timo Schulz <[email protected]>
3877
3878 * wptRegistry.cpp (get_reg_winpt_prefs): New option for keylist mode.
3879 (set_reg_winpt_prefs): Ditto.
3880 * wptPreferencesDlg.cpp (prefs_dlg_proc): Support for keylist mode option.
3881 (set_keylist_mode): New.
3882
3883 Implement minimal keylist mode. Suggested by Fabian.
3884
3885 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Implement it here.
3886 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Ditto.
3887 * wptKeylist.cpp (keylist_add_key): Ditto.
3888 (keylist_load): Ditto.
3889 (keylist_build): Ditto.
3890
3891 2002-04-27 Timo Schulz <[email protected]>
3892
3893 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Support for the new dialog.
3894 * wptFileSaveDlg.cpp (file_save_dlg_proc): New.
3895 * wptClipboard.cpp (clip_parse_pgp_id): use logical OR to concat the values.
3896 * wptMainProc.cpp (clip_gpg_dlg): Use the new PGP id's.
3897 (currwnd_gpg_dlg): Ditto.
3898
3899 Now it's possible to parse cleartext signatures which contains an
3900 encrypted message inside the body.
3901
3902 * wptTextInputDlg.cpp (load_file_contents): New.
3903 (text_input_dlg_proc): Support for choosing the data file.
3904
3905 * wptFileManager.cpp (fm_verify): Support for detached signatures.
3906 (fm_parse_files): Ditto.
3907
3908
3909 2002-04-26 Timo Schulz <[email protected]>
3910
3911 * wptKeyUidDlg.cpp: Fixed a typo. Kudos to Dugan Chen.
3912 * wptKeyUidDlg.cpp: Ditto.
3913
3914 2002-04-25 Timo Schulz <[email protected]>
3915
3916 * wptImplist.cpp (implist_add_key): Catch possible segfault.
3917 * wptVerifyList.cpp (verlist_add_sig): Ditto.
3918 * wptKeyManager.cpp (km_check_for_seckey): Modified for GPG 1.0.7.
3919 * wptKeylist.cpp (find_secret_key): New.
3920 (add_key): Use it here.
3921 (keylist_add_key): And here.
3922
3923 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Fixed a bug that prevent
3924 to fetch the key.
3925
3926 2002-04-24 Timo Schulz <[email protected]>
3927
3928 * wptKeyManagerDlg.cpp (key_misc_dlg_proc): Support to maximize windows.
3929
3930 Changed the way to modify the "Version:" string.
3931
3932 * wptKeyserver.cpp (add_node): New.
3933 (kserver_change_proxy): New.
3934 (kserver_read_config): New.
3935 (kserver_write_config): New.
3936 (kserver_cfgfile_release): New.
3937 (proxy_release): New.
3938
3939 * wptProxySettingsDlg.cpp (read_proxy): New.
3940 * wptFileStatDlg.cpp (file_stat_dlg_proc): New.
3941 * wptFileManager.cpp (fm_list): New.
3942 (fm_parse_files): Support the new list command.
3943
3944 2002-04-23 Timo Schulz <[email protected]>
3945
3946 * wptRFC2440.cpp: Removed. We now use the OpenCDK package.
3947 * wptFileManager.cpp (fm_get_file_type): Removed the old RFC2440 code.
3948 (fm_encrypt): Modified code to allow sign & encrypt.
3949 (fm_parse_file): Ditto.
3950 (fm_decrypt): Support for checking signatures.
3951 * wptFileManagerDlg.cpp (file_manager_dlg_proc): Ditto.
3952
3953 2002-04-19 Timo Schulz <[email protected]>
3954
3955 * wptImplist.cpp (implist_load): Support for the advanced PGP parser code.
3956
3957 2002-04-05 Timo Schulz <[email protected]>
3958
3959 * wptSigList.cpp (siglist_add_key): Added UTF8 support. Thanks to Scire.
3960 * wptKeyUidDlg.cpp (keyuid_dlg_proc): Ditto.
3961 * wptKeySignDlg.cpp (keysign_dlg_proc): Ditto.
3962 * wptKeyAddUidDlg.cpp (keyedit_adduid_dlg_proc): Ditto.
3963
3964 2002-03-31 Timo Schulz <[email protected]>
3965
3966 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Ask if the user wants to
3967 select the key used for signing.
3968 * wptSeclistDlg.cpp (seclist_dlg_proc): New. Dialog for secret selecting.
3969 * wptFilePrefsDlg.cpp (file_prefs_dlg): Fixes for the combo box ;-).
3970 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Reload the keycache after
3971 fetching keys via HKP and try to update the Gpgmekey inside.
3972 * wptVerifyList.cpp (verlist_add_sig): Check if the key context was
3973 set inside the signature. Fixes some segfaults related to the HKP key
3974 fetching during verification. Thanks to Julian. And force to use UTF8
3975 for user ID's.
3976 * wptClipSignDlg.cpp (one_key_proc): If only one secret exists,
3977 prevent that the dialog is loaded and ask for the passphrase directly.
3978
3979
3980 2002-03-29 Timo Schulz <[email protected]>
3981
3982 * wptGPG.cpp (create_groupdb): Only close the file handling if it
3983 really exists. Thanks to Mark.
3984 (gpg_check_homedir): Applied the patch. Now we're a little stricter
3985 about the homedir checks.
3986 (check_homedir): Fixed a possible memory leak.
3987 * WinPT.cpp (WinMain): Check the homedir functions to exit the program
3988 if we've found some problems.
3989 * wptErrors.cpp (winpt_strerror): New value if a directory could not
3990 created.
3991 * wptMainProc (winpt_main_proc): Use new code for the current window mode.
3992 * wptCurrWnd.cpp (get_curr_wnd): Ditto.
3993 (get_window_contents): Always set focus to the current window.
3994
3995 2002-03-22 Timo Schulz <[email protected]>
3996
3997 * wptMainProc.cpp (currwnd_gpg_dlg): If the viewer is used, doesn't
3998 set window contents for some commands.
3999 (winpt_main_proc): Use the code here.
4000 * wptKeygenDlg.cpp (keygen_dlg_proc): Allow to generate keys > 2048 bits.
4001 * wptProxySettingsDlg.cpp: (keyserver_proxy_dlg_proc): New.
4002 * wptKeyserverDlg.cpp (keyserver_dlg_proc): Use the proxy dialog here.
4003 * wptKeyserver.cpp (kserver_load_conf): Fixed malformed strings.
4004
4005 2002-03-02 Timo Schulz <[email protected]>
4006
4007 * Use capital letters in the main menus and applied Patricks spelling
4008 corrections.
4009
4010 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): keyID is a string
4011 not an integer. Thanks to scrumpy.
4012 * wptWipeFile.cpp (rename_unlink): Use '\' instead of '/'.
4013 (overwrite): Some bugfixes to set the pointer to the begin of the file.
4014 * wptVerlist.cpp (verlist_build): New keyID column.
4015 (verlist_add_sig): Use it here.
4016
4017 2002-03-01 Timo Schulz <[email protected]>
4018
4019 * wptWipeFile: Replaced all low level I/O functions with W32 API
4020 functions. And support for more wiping modes. I don't know to
4021 support all, but those makes sense for me:
4022 1. Simple (2 random passes)
4023 2. DoD (as described in the standard)
4024 3. Peter Gutmanns method (from the paper)
4025
4026
4027 2002-02-28 Timo Schulz <[email protected]>
4028
4029 * wptImplist.cpp (implist_add_key): UTF8 support.
4030 Handle invalid userID's.
4031 * wptPassphraseCB.cpp (parse_gpg_description): UTF8 support.
4032 (passphrase_callback_proc): Ditto.
4033
4034
4035 2002-02-23 Timo Schulz <[email protected]>
4036
4037 * wptListview.cpp (listview_del_items): New.
4038 * wptKeyManager.cpp (km_delete_keys): Use it here.
4039 * wptKeygenDlg.cpp (keygen_dlg_proc): UTF8 support.
4040 * wptKeylist.cpp (add_key): UTF8 support.
4041
4042 2002-02-08 Timo Schulz <[email protected]>
4043
4044 * wptNLS.c: Now it's C-source because GPGME needs gettext too.
4045 (stpcpy): Makes it static.
4046 * errors.c: localize all error strings.
4047 * WinPT.cpp (get_gettext_lang): Move the code in this file because
4048 we can't use it in plain C.
4049
4050 2002-02-05 Timo Schulz <[email protected]>
4051
4052 * wptGPG.cpp (gpg_save_options): Catch the case when the options file
4053 exist but it has a length of zero.
4054 (gpg_display_error): Print out the data from the GPG stderr
4055 (when available).
4056 * w32-util.c (_gpgme_get_gpg_optfile): Check if the file exists and if
4057 not, return NULL.
4058 * wptKeyManagerDlg.cpp (keymisc_dlg_proc): Add support to export secret
4059 keys.
4060
4061 * Fixed a lot of memory allocation all over the place.
4062
4063 2002-02-05 Timo Schulz <[email protected]>
4064
4065 wptGPG.cpp (gpg_save_options): Fixed the code for the case the
4066 values don't exist in the options file. Thanks to Lutz who found this out.
4067 (get_gpg_default): First search for "default-key" then for "encrypt-to".
4068
4069 2002-02-04 Timo Schulz <[email protected]>
4070
4071 * WinPT.rc: Set LVS_SHOWSELALWAYS for all listview elements
4072 which need it. Thanks to Timo who find this out.
4073 * WinPT.cpp (WinMain): We don't quit in the case the user changed
4074 the preferences.
4075 (update_keycache): New. Handy function to update the keycache.
4076
4077 * Use quotation for the options file in any case.
4078
4079 * clipboard.c (gpgme_clipboard_verify): When the NO_PUBKEY status
4080 is set, we don' try to get the sig key.
4081
4082 * wptGPG.cpp (get_gpg_default_key): Revamped.
4083
4084 2002-01-26 Timo Schulz <[email protected]>
4085
4086 * wptKeylist.cpp (keylist_add_key): Use flags for the file manager
4087 to avoid to show all userid's. Thanks to Frank.
4088 * wptDateDlg.cpp (date_dlg_proc): New context to use different
4089 window texts and some other features.
4090 * wptKeygenDlg.cpp (keygen_dlg_proc): Use it here.
4091 * wptKeySubkeyDlg.cpp (subkey_dlg_proc): Ditto.
4092 * wptGPG.cpp (gpg_create_groupdb): Create the groupdb.gpg file if
4093 it doesn't exist.
4094 * WinPT.cpp (WinMain): Use the new code here.
4095
4096 2002-01-23 Timo Schulz <[email protected]>
4097
4098 * wptClipEditDlg.cpp (clip_edit_dlg_proc): Release the buffer for
4099 loading a file.
4100 Add new code to save file with clipboard contents.
4101
4102 2002-01-20 Timo Schulz <[email protected]>
4103
4104 * wptMainProc.cpp (winpt_main_proc): Fix the error, that the user
4105 have to click twice before the menu appears. Richard told me this.
4106
4107
4108 2002-01-18 Timo Schulz <[email protected]>
4109
4110 * wptMainProc.cpp (winpt_main_proc): NLS support for new menu style.
4111 * wptPassphraseCB.cpp (parse_gpg_description): Support when no
4112 description was given. One example is when symmetric was used.
4113
4114 2002-01-13 Timo Schulz <[email protected]>
4115
4116 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Fixed some boolesche
4117 settings.
4118 * wptGPG.cpp (gpg_backup_options): New.
4119 (gpg_load_options): Ignore comment lines.
4120 (gpg_save_options): Rewritten.
4121
4122 2002-01-06 Timo Schulz <[email protected]>
4123
4124 * wptPreferencesDlg.cpp (prefs_dlg_proc): Support for the sign+encrypt
4125 hotkey.
4126 * wptRegistry.cpp: Ditto.
4127 * wptRegistry.h: Ditto.
4128 * wptHotkey.h: Ditto.
4129 * wptGPG.cpp (gpg_load_options): New.
4130 (gpg_save_options): New.
4131
4132 2002-01-01 Timo Schulz <[email protected]>
4133
4134 * wptFileManager.cpp (fm_verify): Support for the case there is
4135 no public key to verify the signature.
4136
4137 2001-12-30 Timo Schulz <[email protected]>
4138
4139 * wptFileManager.cpp (fm_sign): Always use callbacks for the
4140 passphrase.
4141 (fm_decrypt): Ditto.
4142 (fm_parse_files): Cache the passphrase for the session and check
4143 if the file still exists.
4144 * wptRFC2240.cpp (parse_ske_sesskey): Removed. We no longer use
4145 low level stuff here.
4146 * wptFile.cpp (get_keyid_from_file): Ditto.
4147
4148 2001-12-21 Timo Schulz <[email protected]>
4149
4150 * wptTextInputDlg.cpp (text_input_dlg_proc): New.
4151 * wptMainProc (clip_gpg_dlg): Support for deached signatures.
4152 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Ditto.
4153
4154 2001-12-19 Timo Schulz <[email protected]>
4155
4156 * Completed work on the temporary file support for GPG.
4157 * wptRegistry.cpp (set_reg_winpt_prefs): Add mode for the
4158 plaintext viewer option. Suggested by Markus Winkler.
4159 (get_reg_winpt_prefs): Ditto.
4160 * wptPreferencesDlg.cpp (prefs_dlg_proc): Ditto.
4161 * wptMainProc.cpp (winpt_main_proc): Ditto.
4162
4163 2001-12-15 Timo Schulz <[email protected]>
4164
4165 * wptKeyManagerDlg.cpp (keymisc_dlg_proc): New menu items for
4166 copy and paste.
4167
4168 2001-12-02 Timo Schulz <[email protected]>
4169
4170 * wptGroups.c: Revamped from the base. Arggg.
4171
4172 2001-11-29 Timo Schulz <[email protected]>
4173
4174 * wptKeyManager.cpp (km_groupdb_expand_recipients): New.
4175 * wptMainProc.cpp (clip_gpg_dlg): New.
4176 Modify the whole event loop so we don't need all the same code
4177 for each command. And we use the new foreground code.
4178 * wptW32API.cpp (check_date): Fixed.
4179
4180 2001-11-27 Timo Schulz <[email protected]>
4181
4182 * wptKeyserver.cpp (base64_encode): New. Marco provided HTTP
4183 proxy authentifcation support for each command.
4184 (kserver_update_proxyuser): New. Ditto.
4185 (kserver_send_request): Ditto.
4186 (kserver_recv_request): Ditto.
4187 (kserver_search_init): Ditto.
4188
4189 2001-11-24 Timo Schulz <[email protected]>
4190
4191 * wptKeyManager.cpp (km_groups_new): New.
4192 (km_groups_release): New.
4193 (km_groups_load): Rewritten.
4194 (km_groups_add): New.
4195 (km_groups_del): New.
4196 (km_groupdb_open): New.
4197 * wptKeyManagerDlg.cpp (keymisc_dlg_proc): Added group support.
4198 * wptGroups.c (groupdb_enum_read): Store the record before increment it.
4199
4200 2001-11-23 Timo Schulz <[email protected]>
4201
4202 * wptW32API.cpp (set_active_window): New.
4203 (reset_active_window): New.
4204 (window_reminder): New. This is a delayed thread procedure to
4205 force the focus (foreground) to the dialogs for the current
4206 window mode.
4207 * wptMainProc.cpp (winpt_main_proc): Use it here.
4208 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Ditto.
4209 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Ditto.
4210 * wptClipSignDlg.cpp (clip_sign_dlg_proc): Ditto.
4211 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Ditto.
4212
4213 2001-11-22 Timo Schulz <[email protected]>
4214
4215 * wptW32API.cpp (set_foreground_wnd): New.
4216
4217 Fixed the return value of all EndDialogs.
4218
4219 * wptMainProc.cpp: Remove all code parts which did the same for the
4220 current window support. Now the code uses a dialog switch which is
4221 much smaller.
4222
4223 2001-11-18 Timo Schulz <[email protected]>
4224
4225 * wptKeyManager.cpp: New. Contains all handy functions from the
4226 wptKeyManagerDlg.cpp. This should help to cleanup the dialog code.
4227 (km_quote_uid): New.
4228 (km_check_for_seckey): New.
4229 (km_check_key_status): New.
4230 (km_clip_export): New.
4231 (km_clip_import): New.
4232 (km_file_export): New.
4233 (km_file_import): New.
4234 (km_delete_keys): New.
4235 (km_send_to_keyserver): New.
4236 (km_refersh_from_keyserver): New.
4237 (km_update_default_key_str): New.
4238 * wptKeygenDlg.cpp (ask_for_backup): New.
4239 (keygen_dlg_proc): Use new function to give the chance to the
4240 user for a complete backup.
4241
4242 2001-11-13 Timo Schulz <[email protected]>
4243
4244 * wptGPG.cpp (get_gpg_optfile): Check for the case the OptFile entry
4245 is set but to "". Then use default gpg directory.
4246 * wptKeyManagerDlg.cpp (send_to): New. Context entry for sending keys.
4247 (refresh_from_keyserver): New. Context entry for update keys.
4248 (keymisc_dlg_proc): Modify the way the popup is shown.
4249
4250 2001-11-07 Timo Schulz <[email protected]>
4251
4252 * wptGPG.cpp (set_gpg_default_key): Rewrote the part of changing
4253 the key id.
4254 * wptKeyManagerDlg.cpp (file_import): Use force trust to allow secret
4255 key imports.
4256 * wptGPGOptDlg.cpp (gpgopt_dlg_proc): If the options file exists and
4257 the user doesn't set the field, try to do this automatically.
4258
4259 2001-11-03 Timo Schulz <[email protected]>
4260
4261 (fm_remove_crit_file_attrs): First check if the file exists.
4262 Thanks to Peter.
4263
4264 2001-11-02 Timo Schulz <[email protected]>
4265
4266 * WinPT.cpp (WinMain): Add the chance to start the preferences dialog
4267 in the case a GPG error was detected.
4268 * wptKeyManagerDlg.cpp (delete_keys): Interface to delete all selected
4269 keys.
4270
4271 2001-10-30 Timo Schulz <[email protected]>
4272
4273 * wptHotkey.h: Fixed typo. Thanks to Timo.
4274 * wptGPG.cpp: (gpg_check_homedir): Fixed memory leak. By Timo.
4275 (get_gpg_default_key): Skip comment lines immediately.
4276 * wptRegisty.cpp (get_reg_winpt_prefs): Ditto.
4277 * wptKeyManagerDlg.cpp (keylist_subclass_proc): New. Procedure
4278 for subclassing.
4279
4280 Remove all unsafe WM_NOTIFY stuff because this was propably the
4281 reason for the crashes. And add as a sanity check if the control
4282 sent the message.
4283
4284 2001-10-28 Timo Schulz <[email protected]>
4285
4286 * wptKeyMiscDlg.cpp (key_misc_dlg_proc): New virtual key support
4287 for ENTER/SPACE and DELETE. Suggested by Graham.
4288 * wptKeyList.cpp (add_key): New code to figure out how trustworthy
4289 a expired/revoked secret key is.
4290 (keylist_enum_recipients): Show the key ID of the key when it's
4291 revoked.
4292 * wptFileManager.cpp (fm_decrypt): Parse all PKE packets and not
4293 only the first to figure out if a secret is available. Thanks to
4294 Graham.
4295 * wptFile.cpp (get_keyid_from_file): Ditto.
4296
4297 2001-10-27 Timo Schulz <[email protected]>
4298
4299 * wptKeylist.cpp (keylist_enum_recipients): Add a type to make
4300 the code more flexible.
4301 * wptKeyMiscDlg.cpp (file_import): New.
4302 (file_export): New.
4303 * wptKeySigDlg.cpp (recv_missing_keys): Fixed a typo.
4304
4305 Removed all OE code snippets.
4306
4307 2001-10-26 Timo Schulz <[email protected]>
4308
4309 * wptExtensions.cpp: Removed.
4310 * wptLDAPExt.cpp: Removed.
4311 * wptLDAP.cpp: New. This code now contains a direct interface to
4312 the WLDAP library so we don't need extra DLL's to handle LDAP keyservers.
4313 (wldap_init): New.
4314 (wldap_end): New.
4315 (ldap_set_verbose): New.
4316 (ldap_get_key_info): New.
4317 (ldap_recvkey): New.
4318 (init_ldap): New. Internal use only.
4319 (get_key): New. Ditto.
4320 (send_key): New. Ditto.
4321 * wptMainProc.cpp (wpt_main_proc): Init and de-init the LDAP dll.
4322
4323 2001-10-25 Timo Schulz <[email protected]>
4324
4325 * wptGPG.cpp (get_gpg_default_key): Support for the users options file.
4326 (check_gpg_path): Ditto.
4327 (get_gpg_options): Ditto.
4328 (set_gpg_default_key): Ditto.
4329 (set_gpg_options): Ditto.
4330 (gpg_check_keyring): Ditto.
4331 (set_gpg_default_keyid): Fix a typo.
4332 * wptGPGME.cpp (get_default_keyid): Rewrote most of the code.
4333
4334 2001-10-23 Timo Schulz <[email protected]>
4335
4336 * wptClipSignDlg.cpp (clip_sign_dlg_proc): Replace for with while
4337 because it's shorter.
4338 * wptFileSignDlg.cpp (file_sign_dlg_proc): Use keylist instead of
4339 the default keyid.
4340 * wptFileManager.cpp (fm_sign): Remove the default key ID code. Now
4341 we use the signer from the keylist.
4342 * wptGPGME.cpp (get_default_keyid): Revamp most of the code and fix
4343 some silly bugs.
4344 * WinPT.cpp (WinMain): if there is no valid keyring after the new
4345 preferences, start the key generation dialog.
4346
4347 2001-10-22 Timo Schulz <[email protected]>
4348
4349 Remove all MyGPGME code from the main project. Now we use the
4350 libmygpgme.dll to provide all cryptographic functions and interfaces.
4351
4352 * wptKeylist.cpp (key_array_new): New.
4353 (key_array_release): New.
4354 (key_array_search): New.
4355 * wptKeylist.cpp (keylist_add_to_recipients): Check if an untrusted key was
4356 already checked and don't bother the user if all userid's were selected.
4357 * wptPassphraseCB.cpp (passphrase_cb_init): Now void.
4358 (passphrase_cb_gpgme): Ditto.
4359 (passphrase_callback_proc): Support for a list of recipients.
4360 * wptImportList.cpp (implist_add_key): Support for secret keys.
4361
4362 2001-10-19 Timo Schulz <[email protected]>
4363
4364 * wptGPGPrefsDlg.cpp (gpg_prefs_dlg_proc): Support for various
4365 option files.
4366 * wptMainProc.cpp (wpt_main_proc): Remove the preferences menu and
4367 use a popup menu.
4368 * wptExtensions.cpp (gpgoe_load_plugin): New. Try to load the GPGOE
4369 plug-in.
4370 (gpgoe_unload_plugin): New.
4371
4372 2001-10-17 Timo Schulz <[email protected]>
4373
4374 * wptCurrWnd.cpp (get_window_contents): Only minimize the window
4375 when the clipboard contains text.
4376 * wptKeylist.cpp (keylist_add_key): Check only for invalid keys
4377 in the mainloop. The other flags are checked in the various cases.
4378 (add_key): Use the ** foo ** notation for invalid flags instead of
4379 skipping the key.
4380 * wptKeyMiscDlg.cpp (clip_export): Check for revoked keys and print
4381 out a warning.
4382 Change all error messages to one header.
4383 (check_key_status): Check if the key is valid in the sense of
4384 revocation and expire dates. If not, print out a warning.
4385 (keymisc_dlg_proc): Use the new code.
4386
4387 2001-10-16 Timo Schulz <[email protected]>
4388
4389 * wptW32API.cpp (check_date): New.
4390 (get_open_filename): New.
4391 * wptDlgs.cpp (init_dtp): New. Initialize a special common control.
4392 * wptKeygenDlg.cpp (keygen_dlg_proc): Add support for exipre dates.
4393
4394 2001-10-15 Timo Schulz <[email protected]>
4395
4396 * wptFileManager.cpp (fm_wipe): New.
4397 (fm_set_status): Add temporary wipe status and handle default values.
4398 (fm_parse_files): Use fm_wipe instead of sunlink. Delete all wiped
4399 files with a successful opeation.
4400 * wptKeygenCbDlg.cpp (keygen_cb_dlg_proc): New. Static dialog procedure.
4401 (keygen_cb_thread): New. Static dialog thread.
4402 (keygen_cb_dlg_create): New. Interface.
4403 (keygen_cb_dlg_destroy): New. Destroy the dialog.
4404 (keygen_cb): GPGME interface.
4405
4406 2001-10-13 Timo Schulz <[email protected]>
4407
4408 Set all ListviewControls to 'NULL' in all dialogs to be more crash
4409 resistent.
4410
4411 * wptFileEncryptDlg.cpp (file_encrypt_dlg_proc): Rebuild interface.
4412 * wptFileExportDlg.cpp (file_export_dlg_proc): Ditto.
4413 * wptFileImportDlg.cpp (file_import_dlg_proc): Ditto.
4414 * wptFileSignDlg.cpp (file_sign_dlg_proc): Ditto.
4415 * wptFileVerifyDlg.cpp (file_verify_dlg_proc): Ditto.
4416 * wptStringUtil.cpp: Removed.
4417 * wptFileManager.cpp: Rewrote the complete interface code for
4418 the file manager.
4419 * wptFileManagerDlg.cpp: Rewrote the whole file manager dialog.
4420
4421 2001-10-10 Timo Schulz <[email protected]>
4422
4423 * wptGPG.cpp (set_gpg_default_key): Use spaces if the entry in the
4424 file is longer then the keyid.
4425 (get_gpg_default_key): Replaced get_gpg_default_keyid. Check if the
4426 entry is an userid.
4427 * wptFileManager.cpp (fm_check_for_entry): New. Avoid to add a file
4428 more then one time.
4429 (fm_add_dropped_files): Use it here.
4430 * wptFileManagerDlg.cpp (file_manager_dlg_proc): Support for common
4431 keys.
4432
4433 2001-10-09 Timo Schulz <[email protected]>
4434
4435 * wptFileManagerDlg.cpp (file_manager_dlg_proc): Check the return
4436 code of sunlink.
4437 * wptGPG.cpp (get_keyring_from_optfile): New.
4438 Renamed gpg_errstr to gpg_strerror.
4439 (set_default_key): New.
4440 * wptKeyMiscDlg.cpp (keymisc_dlg_proc): Support for default key setting.
4441
4442 2001-10-08 Timo Schulz <[email protected]>
4443
4444 * wptKeyserver (kserver_connect): If the proxy settings are valid,
4445 use the proxy port instead of the HKP port.
4446 (kserver_recvkey): Proxy support.
4447 (kserver_search_init): Ditto.
4448
4449 2001-10-06 Timo Schulz <[email protected]>
4450
4451 * wptPassphraseCB.cpp (parse_gpg_description): Fixed a memory leak.
4452
4453 2001-10-05 Timo Schulz <[email protected]>
4454
4455 * wptKeylist.cpp: (addkey): Check if the used userID is not revoked.
4456 In the case it is, use the first userID.
4457 * wptKeySubkeyDlg.cpp (key_subkey_dlg_proc): Change the listbox.
4458 Remove the Pos column and add a status column instead.
4459 Add expire stuff for subkeys.
4460 (init_dtp): Initialize the common control.
4461 * wptClipEditDlg.cpp (clip_edit_dlg_proc): New code to load a file
4462 into the clipboard.
4463 * wptKeyPropsDlg.cpp (ot_id_to_string): New. Returns a long description
4464 of the ownertrust value.
4465 (keyprops_dlg_proc): Fixed ownertrust handling.
4466
4467 2001-10-04 Timo Schulz <[email protected]>
4468
4469 * wptPassphraseCB.cpp (parse_gpg_describtion): Free buffer.
4470 * wptKeyserver.cpp (kserver_search_init): Set buffer to NULL.
4471 Both were pointed out my Timo (not me ;-)).
4472 * wptKeylist.cpp (add_key): Fix a typo and now the code is more
4473 strict with returned attributes.
4474 * wptKeysignDlg.cpp (keysign_dlg_proc): Modify GPGME interface
4475 for local signatures.
4476
4477 2001-09-28 Timo Schulz <[email protected]>
4478
4479 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): WM_NOTIFY to handle
4480 the double click messages.
4481 * wptClipSignDlg.cpp (clip_sign_dlg_proc): Ditto.
4482 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Ditto.
4483 * wptFileManager.cpp (overwrite_file): Check if the file exists and
4484 then let the user decide.
4485 (fm_encrypt): Use the code here.
4486 (fm_sign): And here.
4487 (fm_sym_encrypt): And here. Now we use the passphrase dialog.
4488 (fm_decrypt): And here.
4489 * wptFile.cpp (unlink_file): Removed. We can use sunlink if we need
4490 a secure wipe.
4491
4492 Make the memory checking more strict.
4493
4494 2001-09-27 Timo Schulz <[email protected]>
4495
4496 * wptMainProc.cpp (wpt_main_proc): Fixed typo. Thanks to Andy who
4497 discovered this.
4498 * wptPasswdDlg.cpp (passwd_dlg_proc): New. Handy dialog to get the
4499 passphrase.
4500 * wptEditKeyDlg.cpp: Removed. The edit-key code is now moved to
4501 the various other dialogs to make the use more easier.
4502 * wptKeyUIDDlg.cpp: (keyuid_dlg_proc): ADDUID code, use it here.
4503 * wptSubkeyDlg.cpp: (subkey_dlg_proc): ADDKEY code. Ditto.
4504
4505
4506 2001-09-26 Timo Schulz <[email protected]>
4507
4508 * wptW32API.cpp (listbox_add_string): New. Shortcut to avoid long casts.
4509 (listbox_get_cursel): Ditto.
4510
4511
4512 2001-09-23 Timo Schulz <[email protected]>
4513
4514 * wptSubkeyDlg.cpp (key_subkey_dlg_proc): New. Lists the subkeys.
4515 The same as the userid dialog.
4516 * wptWndSwitchDlg.cpp: Removed.
4517 * wptWipeExt.cpp: Removed. Code is now included.
4518 * wptGPGME.cpp (get_default_keyid): If the keyid from the options
4519 file is in the keycache.
4520 * wptKeylist.cpp (keylist_reload): New. Reload a keylist.
4521
4522 2001-09-17 Timo Schulz <[email protected]>
4523
4524 * wptClipboard.cpp (clip_isalready_secured): Fixed two silly bugs
4525 who prevent the correct return value in the case of an clipboard error.
4526 (clip_parse_pgp_id): New. Returns the PGP message type.
4527 * wptHotkey.cpp (hotkeys_strerror): Fixed bug in the indexes.
4528 (hotkey_single_register): Return correct error value.
4529 (hotkey_single_unregister): Ditto.
4530 * wptW32API.cpp (get_thread_id): Removed.
4531 (attach_thread_input): Ditto.
4532 (detach_thread_input): Ditto.
4533 * wptCurrWnd.cpp (get_window_contents): Store main and focused window
4534 for later use.
4535 (set_window_contents): Use the new code.
4536
4537 2001-09-16 Timo Schulz <[email protected]>
4538
4539 * wptExtensions.h: New. This file is now used for the extenion
4540 declarations.
4541 * wptExtensions.new: (register_extensions): New. Enumerate and
4542 load all possible extensions.
4543 (unregister_extentions): New. Release all loaded extensions.
4544 * wptKeyserver.cpp (kserver_load_conf): Added support for different
4545 keyservers. Currently only HTTP/LDAP.
4546 * wptKeyserverDlg.cpp (keyserver_dlg_proc): Added LDAP support.
4547 (hkp_recv_key): Ditto.
4548 * wptMailPlugin.cpp (oe_set_focus): Fixed silly bug that prevents
4549 to set the focus.
4550 * (oe_check_recipient): New. Checks if the key is able to encrypt
4551 and valid in the sense of revocation.
4552
4553 2001-09-14 Timo Schulz <[email protected]>
4554
4555 * wptWAB.cpp: (wab_read): New. Interface to read all address book
4556 entries.
4557 (wab_open): New. Internal function to load the WAB.
4558 (wab_release): New. Release the WAB contexts.
4559 (wab_load): New. Load the contents of the WAB into a linked list.
4560 (addr_list_new): New. Linked address list.
4561 (addr_list_add): New.
4562 (addr_list_release): New.
4563
4564 2001-09-13 Timo Schulz <[email protected]>
4565
4566 * Revamped the whole plugin code for OE5.
4567 * wptMailPlugin.cpp (oe_plugin_new): New. Allocates new structure.
4568 (oe_plugin_releae): New.
4569 (oe_plugin_init): New. Searches for the OE main window and select
4570 all the recipients from the fields.
4571 (oe_get_msg): This code now uses the menu command id's to
4572 execute the commands.
4573 (oe_set_msg): Ditto.
4574 (oe_encrypt): Changed for the new code.
4575 * wptMainProc.cpp (wpt_main_proc): Re-activate the code.
4576 * wptHotkeys.cpp: Ditto.
4577 * Removed the hook project.
4578
4579 2001-09-12 Timo Schulz <[email protected]>
4580
4581 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Fixed a format error.
4582 Thanks to Rich who pointed this out.
4583
4584 2001-09-07 Timo Schulz <[email protected]>
4585
4586 * wptFileManagerDlg.cpp (file_manager_dlg_proc): Fix memory leaks.
4587
4588 2001-09-05 Timo Schulz <[email protected]>
4589
4590 * wptKeyMiscDlg.cpp (clip_export): New. Handy function to export keys.
4591 (clip_import): New. Handy function to import keys.
4592 * wptKeygenDlg.cpp (keygen_dlg_proc): Added a warning when the passphrase
4593 is too short.
4594
4595 2001-09-04 Timo Schulz <[email protected]>
4596
4597 * Rewrote most parts of the keymanager.
4598 * Ditto for the filemanager.
4599
4600 2001-09-01 Timo Schulz <[email protected]>
4601
4602 * wptMainProc.cpp (wpt_main_proc): Remove the im- and export operations.
4603 These code is now part of the key manager.
4604 * wptKeyPropsDlg.cpp (key_props_dlg): Removed the get_key_xxx functions.
4605 * wptKeylist.cpp (get_key_algo): New.
4606 (get_key_created): New.
4607 (get_key_type): New.
4608 (get_key_size): New.
4609 (get_key_fpr): New.
4610 * wptClipExportDlg.cpp (clip_export_dlg_proc): Removed. This is now
4611 a part of the keymanager.
4612
4613 2001-08-31 Timo Schulz <[email protected]>
4614
4615 * wptFileManager.cpp (fm_add_opened_files): New. Use a standard
4616 file open dialog instead of drag & drop.
4617 * wptHotkeys.cpp (hotkey_strerror): More detailed information which
4618 hotkey couldn't set up.
4619 (hotkey_register_single): Ditto.
4620
4621 2001-08-30 Timo Schulz <[email protected]>
4622
4623 * wptFilemanager.cpp (fm_encrypt): Add minor changes.
4624 (fm_decrypt): Ditto.
4625 (fm_sign): Ditto.
4626 (fm_verify): Make the code more modular.
4627 (fm_add_sig_stat): New. For new fm_verify code.
4628
4629 2001-08-28 Timo Schulz <[email protected]>
4630
4631 * wptKeylist.cpp (strlist_add_recipients): Fixed the listview handling.
4632 * wptKeyserver.cpp (kserver_load_conf): Proxy support
4633 (kserver_connect): Ditto.
4634
4635 2001-08-26 Timo Schulz <[email protected]>
4636
4637 * wptFileManager.cpp (fm_entry_new): New.
4638 (fm_entry_release): New.
4639 (fm_state_new): New.
4640 (fm_state_release). New.
4641 (fm_get_current_file): New.
4642 * wptKeylist.cpp (strlist_add_recipients): New.
4643
4644 2001-08-25 Timo Schulz <[email protected]>
4645
4646 * wptStringUtil.cpp (strlist_new): New. Linked list to hold strings.
4647 (strlist_release): New. Release the linked list.
4648 (strlist_add): New.
4649
4650 2001-08-21 Timo Schulz <[email protected]>
4651
4652 * wptGPG.cpp (get_gpg_default_keyid): Modify the code and now it
4653 also supports "encrypt-to" entries as default keys.
4654 * wptWipeExt.cpp (wipe_init_ext): New. Load the DLL to provide
4655 secure wiping.
4656 (wipe_deinit_ext): New. Unload the DLL and free all pointer.
4657 (wipe_loaded_ext): New. Checks wether the DLL was loaded.
4658 * wptW32API.cpp (set_menu_state): New.
4659
4660 2001-08-20 Timo Schulz <[email protected]>
4661
4662 * wptGPG.cpp (create_gpg_options): Fixed nul byte bug. Thanks to Thomas.
4663 * wptPreferencesDlg.cpp (prefs_dlg_proc): Fixed the code to disable
4664 the hotkeys. Automatically enable or disable the hotkey field depend
4665 on the switch.
4666
4667 2001-08-17 Timo Schulz <[email protected]>
4668
4669 * wptClipSignDlg.cpp (clip_sign_dlg_proc): Choose key if there is only
4670 one by default.
4671 * wptKeyList.cpp (keylist_add_to_recipients): Ditto.
4672 * wptGPG.cpp (gpg_check_homedir): Creates the GPGME specific gpgProgram
4673 entry in the registry in the case it's missing (whenever it's possible!).
4674 (check_gpg_path): Rewrite parts of the code.
4675
4676 2001-08-11 Timo Schulz <[email protected]>
4677
4678 * wptKeyPropsDlg.cpp (keyprops_dlg_proc): Beautify the dialog and
4679 separate the fingerprint from the othr information.
4680 * wptGPG.cpp (check_opt_keyring): New. Do a sanity check if the
4681 file, specified in the options line, does exist.
4682
4683 2001-08-08 Timo Schulz <[email protected]>
4684
4685 * wptGPG.cpp (check_gpg_path): Sanity check for size of the options file.
4686 Support for more configurations.
4687 * wptFileSignDlg.cpp (file_sign_dlg_proc): Fixed error in signature mode.
4688 Add all strings to the translation suite.
4689 * Updated all NLS dialog strings.
4690 * wptRFC2440.cpp (get_pkttype): Fixed error to check the CTB.
4691 * wptFileManager.cpp (fm_decrypt): Support to decrypt armored file,
4692 with a dynamic callback for the passphrase.
4693
4694 2001-08-06 Timo Schulz <[email protected]>
4695
4696 * wptFilemanager.cpp (fm_sign): Set the keyid length to 16.
4697
4698 2001-08-05 Timo Schulz <[email protected]>
4699
4700 * wptKeylist.cpp (keylist_add_key): Change the schematics to support
4701 all keyids.
4702 * wptSigList.cpp (siglist_build): New. Interface code to load the
4703 signature list.
4704 * wptKeysigDlg.cpp (keysig_dlg_proc): Uses siglist_build.
4705
4706 2001-08-03 Timo Schulz <[email protected]>
4707
4708 * wptMainProc.cpp (wpt_main_proc): The GPG menu was removed, now
4709 we support this code in the key manager.
4710 * wptKeyMisc.cpp (key_misc_dlg_proc): Supports new GPG commands.
4711 * wptKeyserver.cpp (kserver_index_request), (kserver_recv_request):
4712 Removed. The code moved into the main functions.
4713 (kserver_send), (kserver_recv): Ditto.
4714 (sock_write): Improved code.
4715 (sock_read): Ditto and some additional timeout.
4716 (sock_select): New. Figure out the socket state.
4717 (kserver_search_init): New. Make connection to the server.
4718 * wptHKPSearchDlg.cpp (hkp_search_dlg_proc): Now it uses the new
4719 keyserver code.
4720 * wptFile.cpp (get_keyid_from_file): Add support for the PGP marker
4721 packet. Thanks to Alan.
4722 (check_for_symenc_data): Ditto.
4723 * wptFileManager.cpp (fm_get_file_type): Ditto.
4724 (fm_decrypt): Move the keycache in the if loop and fix the keycache
4725 type.
4726
4727 2001-08-02 Timo Schulz <[email protected]>
4728
4729 * wptGPG.cpp (check_gpg_path): Check the size of both keyrings too.
4730 Useful in the case the file was generated but it's empty.
4731 * wptKeyEditDlg.cpp (key_edit_dlg_proc): Fixed some typos.
4732
4733
4734 2001-08-01 Timo Schulz <[email protected]>
4735
4736 * wptKeyserver.cpp (kserver_urlencode): Create a HTTP compatible
4737 request for uploading a key.
4738 (kserver_send_request): Use the urlencode to send the key.
4739 (sock_read): New. Improved read function to replace recv.
4740 (sock_write): New. Improved write function to replace send.
4741 * wptFileManager.cpp (fm_get_file_type): If the data is armored,
4742 call fm_check_armor_type().
4743 (fm_check_armor_type): New. Figure out the armor type of the data.
4744 * wptKeyMisc.cpp (key_misc_dlg_proc): Use a menu instead of the
4745 buttons. Optimized the code.
4746
4747 2001-07-30 Timo Schulz <[email protected]>
4748
4749 * wptClipSignDlg.cpp (clip_sign_dlg_proc): Added the interface code
4750 for the agent.
4751 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Ditto.
4752
4753 2001-07-29 Timo Schulz <[email protected]>
4754
4755 * wptKeyRevokeDlg.cpp (key_revoke_dlg_proc): New. Dialog for creating
4756 a key revocation certificate. Add a hint to show how sentensive this
4757 data is.
4758 * wptKeyMiscDlg.cpp (keymisc_dlg_proc): Added the code to handle the
4759 revocation.
4760 * wptAgent.cpp: Source for the server interface removed.
4761 (agent_is_avail): New. Checks if the agent is available.
4762 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): Added the interface code
4763 for the agent.
4764
4765 2001-07-26 Timo Schulz <[email protected]>
4766
4767 * wptGPG.cpp (check_gpg_keyring): New. Check if a gpg keyring
4768 exists. Useful if the keyring was moved during some commands.
4769 * wptMainProc.cpp (wpt_main_proc): Use the new code. Thanks to
4770 Rich to discover this.
4771
4772 2001-07-25 Timo Schulz <[email protected]>
4773
4774 * WinPT.cpp (WinMain): Add a sanity check for the keycache to detect
4775 serious GPG errors.
4776 * wptFileManager.cpp (fm_sym_encrypt): New. Symmetric encryption.
4777 Suggested by Graham.
4778 (fm_decrypt): Change code to support symmetric decryption.
4779 (fm_get_file_type): Fixed some typos.
4780
4781 2001-07-24 Timo Schulz <[email protected]>
4782
4783 * wptKeyMiscDlg.cpp (keymisc_dlg_proc): Get new cache context after
4784 reloading the keycache. Fixed the memory leaks. Thanks to Andreas.
4785 * wptKeyEditDlg.cpp (keyedit_dlg_proc): Better GPGME callback to inform
4786 the user about errors.
4787 * wptKeyTrustPathDlg.cpp (copy_trust_item): New. Copy the GPGME structure
4788 in our own context.
4789 (treeview_insert_item): New. Handy function to insert an entry.
4790 (treeview_create_child_item): New. Insert a trustlist node.
4791 (treeview_add_trustpath): New. Add recursively the whole trust path
4792 int the tree view.
4793 * wptKeysigDlg.cpp (check_for_missing_keys): New. Checks if the
4794 signature list contains entries with a NOKEY status.
4795 (recv_missing_keys): New. Receive all keys with a NOKEY as the signature
4796 status.
4797 * wptImportList.cpp (implist_load): New. Initialize the listview item
4798 with an import overview.
4799 * wptClipImportDlg.cpp (clip_import_dlg_proc): Use implist_load instead
4800 of the code.
4801 (print_import_status): Summarize the results. We need this because file
4802 import needs the same function.
4803 * wptFileImportDlg.cpp (file_import_dlg_proc): New. Interface for the
4804 file manager.
4805 * wptFileManagerDlg.cpp (file_manager_dlg_proc): New code for the key
4806 import from file.
4807 * wptFileManager.cpp (fm_import): New. Ditto.
4808 * wptKeyserver.cpp (kserver_connect): Take care for some return values
4809 and set the socket to non blocking mode.
4810 Moved the Winsock2 init code to wptMainProc.cpp
4811 * wptMainProc.cpp (wpt_main_proc): Wsock2 code.
4812 * wptHKPSearchDlg.cpp (hkpsearch_dlg_prog): Remove Wsock2 init code.
4813
4814 2001-07-22 Timo Schulz <[email protected]>
4815
4816 * wptKeyPrefsDlg.cpp (keyprefs_dlg_proc): New.
4817 (get_key_created): New. Transform ulong timestamp to ascii.
4818 (get_key_algo): New. Returns a formatted algorithm (depend on subkeys).
4819 (get_key_size): New. Returns a formatted size depend (depend on subkeys).
4820 * wptSigList.cpp (siglist_add_key): Fix the timestamp.
4821 * wptKeyMiscDlg.cpp (keymisc_dlg_proc): Removed "list sigs" and replace
4822 this with list trust path.
4823 * wptKeySigDlg.cpp (keysig_dlg_proc): Remove the set_check_mode function
4824 because we always check the signatures.
4825 * wptKeyTrustPathDlg.cpp (keytrust_dlg_proc): New.
4826
4827 2001-07-21 Timo Schulz <[email protected]>
4828
4829 * wptFileEncryptDlg.cpp (file_encrypt_dlg_proc): Set cancel mode in
4830 the case of IDCANCEL.
4831 * wptFileSignDlg.cpp (file_sign_dlg_proc): Ditto.
4832 * wptKeyEditDlg.cpp (keyedit_dlg_proc): Check if the key is a key pair
4833 pair and only if activate the passphrase dlg items.
4834 Do sanity checks for all buttons that require key pairs.
4835 * wptKeyMiscDlg.cpp (keymisc_dlg_proc): Support the new code.
4836
4837 2001-07-20 Timo Schulz <[email protected]>
4838
4839 * wptKeyserver.cpp: (kserver_send_request): Correct the octect length
4840 of the request.
4841 (check_hkp_response): If an error ocurred, copy the error message into
4842 the static buffer.
4843 (kserver_strerror): Interface for the static error buffer.
4844 * wptKeyserverDlg.cpp (hkp_err_box): Generates a HKP specific message
4845 box.
4846 (hkp_send_key): Add more verbose messages at the end.
4847 (hkp_recv_key): Ditto.
4848 (check_pattern): Rewrote the entire code to be more bug proof.
4849 * wptKeylist.cpp (keylist_add_to_recipients): Add a flag to indicate
4850 that the recipient list contains untrusted entries.
4851 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Use the new flag to
4852 force GPG to add the need options.
4853 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Ditto.
4854
4855 2001-07-19 Timo Schulz <[email protected]>
4856
4857 * wptClipDecryptDlg.cpp (clip_decrypt_dlg_proc): Support for more
4858 detailed error messages in the case for a missing key or an included
4859 signature.
4860
4861 2001-07-17 Timo Schulz <[email protected]>
4862
4863 * wptKeylist.cpp (keylist_build_small): Support for a minimal keybox
4864 and increment the 'cols' variable inside the structure for further use.
4865 (add_key): Watch for the 'cols' variable to figure out how much columns
4866 are used.
4867 * wptListView.cpp (listview_set_ext_style): Set an extended style for
4868 the given listview.
4869 * wptKeyserverDlg.cpp (keyserver_dlg_proc): Use WM_NOTIFY to save the
4870 selected server.
4871 * wptClipSignDlg.cpp (clip_sign_dlg_proc): Ditto.
4872 * wptKeyserver.cpp (kserver_connect): IP address support. This is faster
4873 and no DNS lookup is needed.
4874
4875 2001-07-14 Timo Schulz <[email protected]>
4876
4877 * wptKeylist.cpp (keylist_add_key): Check for secret keys before adding
4878 it to the signing keylist.
4879 * wptClipSignDlg.cpp (clip_sign_dlg_proc): Add newline if the passphrase
4880 is empty.
4881 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Ditto.
4882
4883
4884 2001-07-13 Timo Schulz <[email protected]>
4885
4886 * wptKeyserver.cpp (kserver_send_request): Add the "keytext" string to
4887 the request. Arggg!
4888 (check_hkp_response): Add flag to differ between 'send' and 'recv' mode.
4889
4890
4891 2001-07-12 Timo Schulz <[email protected]>
4892
4893 * wptClipDecryptDlg.cpp (clip_decrypt_dlg): If the dialog was canceled,
4894 just quit without any messages. Suggested by Rich.
4895
4896
4897 2001-07-11 Timo Schulz <[email protected]>
4898
4899 * wptKeyserver.cpp (wsock_strerror): If it's an unknown error, add
4900 the integer.
4901 (keyserver_create_conf): Create a config file instead of the error.
4902 * wptGPG.cpp (create_gpg_options): If the file doesn't exist create
4903 a default file. This prevents confusing error messages.
4904 (get_gpg_options): Use new code.
4905 * wptErrors.cpp (winpt_debug_msg): Improved debug message that tells
4906 the user how to find the files.
4907
4908 2001-07-05 Timo Schulz <[email protected]>
4909
4910 * wptHotkey.cpp (mod_hotkeys): Fix a small typo.
4911
4912 2001-07-04 Timo Schulz <[email protected]>
4913
4914 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Auto retrieve key
4915 if the user agree.
4916 * wptKeylist.cpp (keyload_load): Use the mode from the param, not
4917 the hardcoded.
4918 * wptGPGOptDlg.cpp (gpgopt_dlg_proc): Load options file on startup.
4919 Rename 'load' to 'reload' to make sense with the new code.
4920 * wptHotkeys.cpp (mod_hotkeys): Rewrite the entire code for the
4921 registry stuff.
4922 * wptRegistry.cpp (set_reg_winpt_prefs): Ditto.
4923 (get_reg_winpt_prefs): Ditto.
4924 (regist_inst_winpt): Remove the old code.
4925 (register_single_filetype): Replacement for the old code.
4926
4927 2001-07-01 Timo Schulz <[email protected]>
4928
4929 * wptFileManager.cpp (fm_verify): New.
4930 (fm_decrypt): New.
4931 * wptFileEncryptDlg.cpp (file_encrypt_dlg_proc): New.
4932
4933
4934 2001-06-30 Timo Schulz <[email protected]>
4935
4936 * wptFilemanagerDlg.cpp (file_manager_dlg_proc): Uses the new passphrase
4937 code.
4938 * wptClipSignDlg.cpp (clip_sign_dlg_proc): Ditto.
4939 * wptClipSignEncDlg.cpp (clip_sign_dlg_proc): Ditto.
4940 * wptFileManager.cpp: New. (fm_build): New. Initialize the filemanager.
4941 (fm_delete): New.
4942 (fm_encrypt): New.
4943 (fm_get_current_pos): New.
4944 (fm_get_file_type): New.
4945 (fm_add_dropped_files): New.
4946
4947 2001-06-29 Timo Schulz <[email protected]>
4948
4949 * wptClipEditDlg.cpp (clip_edit_dlg_proc): Fix a small bug that prevent
4950 to send data to the clipboard.
4951 * wptMainProc.cpp (wpt_main_proc): Change the SetForegroundWindow to
4952 destroy the window immediately.
4953 * wptKeyserver.cpp (kserver_getip): Removed.
4954 (kserver_get_langname): Removed.
4955 (kserver_load_conf): New. Load the keyserver.conf file and set the
4956 included keyserver addresses into the global context.
4957 * WinPT.cpp (WinMain): Add the kserver_load_conf to intialize the
4958 keyserver context.
4959 * wptImplist.cpp (get_key_date): New. Transform integer timestamp
4960 to ISO date.
4961 (implist_add_key): Now it uses the context instead of all single
4962 variables.
4963
4964 2001-06-28 Timo Schulz <[email protected]>
4965
4966 * wptRFC2440.cpp (get_pkttype): Renamed from get_pkt_type and all new
4967 flag variables to support RFC1991.
4968 (get_rfc2440_pktlen): Renamed from get_pkt_len to support RFC1991.
4969 (get_rfc1991_pktlen): Ditto.
4970
4971 2001-06-27 Timo Schulz <[email protected]>
4972
4973 * wptRFC2440.cpp (get_pkt_type): New. Extract the OpenPGP packet type.
4974 (get_pkt_len): New. Extract the OpenPGP packet length.
4975 (parse_pke_sesskey): Read a public key encrypted session key
4976 but without data.
4977 * wptFilemanagerDlg.cpp (quote_filename): Do some quotings if the
4978 filename contains spaces. Just to make GPG happy.
4979 (file_manager_dlg_proc): Check if the file exist after encryption.
4980 * wptFile.cpp (get_keyid_from_file): Checks the file for an valid
4981 packet and then extract the keyid.
4982
4983 2001-06-25 Timo Schulz <[email protected]>
4984
4985 * wptKeylist.cpp (keylist_load): New. Initialize a keylist item with
4986 the contents from the given cache context.
4987 (keylist_add_to_recipients): New. Add the selected keys to the
4988 recipient set.
4989 * wptClipEncryptDlg.cpp (clip_encrypt_dlg_proc): Use the new keylist
4990 function to load the listview.
4991 * wptClipExportDlg.cpp (clip_export_dlg_proc): Ditto.
4992 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Ditto.
4993 * wptClipDecryptDlg.cpp (parse_gpg_describtion): Beautify the userid
4994 and the keyid hint.
4995
4996 2001-06-24 Timo Schulz <[email protected]>
4997
4998 * wptGPG.cpp (get_gpg_path): Add null termination to the string.
4999 Thanks to Jonathan who pointed this out.
5000 (get_gpg_prog): Ditto.
5001 (gpg_check_file_ext): Check the file extension for the given GPG
5002 type.
5003 (get_gpg_default_keyid): Return null if there isn't an entry in the
5004 options file.
5005 * wptKeylist.cpp (add_key): Fixed the wrong return codes of listview_xxx
5006 style functions.
5007 * wptImpList.cpp (implist_add_key): Ditto.
5008 * wptSigList.cpp (siglist_add_key): Ditto.
5009 * wptVerifyList.cpp (verlist_add_key): Ditto.
5010
5011 2001-06-23 Timo Schulz <[email protected]>
5012
5013 * wptGPG.cpp (get_gpg_default_keyid): Determine the keyid with the
5014 options file.
5015
5016 2001-06-22 Timo Schulz <[email protected]>
5017
5018 * wptHKPSearchDlg.cpp (hkpsearch_dlg_proc): New. Dialog to perform
5019 keyserver seraching. As an additional feature it's also posible to
5020 import the keys directly.
5021
5022 2001-06-18 Timo Schulz <[email protected]>
5023
5024 * wptKeyserver.cpp (check_hkp_response): More detailed error check
5025 of the http response.
5026 (kserver_send_request): Debug mode now uses logfile.
5027 (kserver_recv_request): Ditto.
5028 (kserver_index_request): New. Create a request for a key index.
5029 (kserver_send): Now uses check_hkp_response.
5030 (kserver_recv): Ditto.
5031 (kserver_search): New. Start the key index loop.
5032 * wptKeyserverDlg.cpp (recv_key): Check if the key was really
5033 imported and received.
5034
5035 2001-06-17 Timo Schulz <[email protected]>
5036
5037 * wptClipSignEncDlg.cpp (clip_signenc_dlg_proc): Force to use the
5038 default key for signing.
5039
5040 2001-06-16 Timo Schulz <[email protected]>
5041
5042 * wptKeyEditDlg.cpp (keyedit_dlg_proc): Added missing return.
5043 Corrected return values.
5044 * wptErrors.cpp (winpt_strerror): Removed all unused error strings.
5045 * wptGPG.cpp (get_gpg_path): Change to default path and prevent
5046 buffer overflows.
5047 (get_gpg_prog): Ditto.
5048
5049
5050 2001-06-15 Timo Schulz <[email protected]>
5051
5052 * wptKeylist.cpp (keylist_add_key): Change encrypt param to mode.
5053 Differ between the new keylist styles.
5054 * wptGPGME.cpp (keycache_xxx): Move the caching interface to this
5055 file. For an easier handling between dialogs and code.
5056 (keycache_rewind): New. Rewind a global keycache context.
5057 (keycache_next_key): New. Retrieve the next key from the keycache.
5058 (get_default_key): New. Return the default key, this is the secret
5059 key with the index 0.
5060 * wptClipSignDlg.cpp (clip_sign_dlg_proc): Modify the default key
5061 handling. Now the signer is set in any case. Prevent hanging GPG
5062 processes.
5063 * wptSecmem.cpp (vm_safe_init): New. Initialize the safe memory.
5064 (vm_safe_init_noswap): New. Initialize safe memory with tail data.
5065 See source for more information.
5066 (vm_safe_free): New. Free all used pointer and burn all buffers.
5067 (vm_safe_get): New. Get the begin of the alloced buffer.
5068 (vm_safe_set_swapfile): New. Set global swapfile name.
5069 (vm_safe_create_swapfile): New. Creats a swapfile and set its
5070 contents to zero.
5071
5072 2001-06-12 Timo Schulz <[email protected]>
5073
5074 * wptPreferencesDlg.cpp (check_hotkey): Check if the hotkey key is
5075 a big letter, otherwise convert.
5076 (preferences_dlg_proc): Check hotkeys.
5077 * wptKeylist.cpp (add_keys): Static functions to add a single key.
5078 (keylist_add_key): Now it adds all subkeys to the dialog.
5079 (keylist_alloc): Remove because it's not needed any longer.
5080 * wptImportList.cpp (implist_alloc): Ditto.
5081 * wptSigList.cpp (siglist_alloc): Ditto.
5082 * wptVerifyList.cpp (verlist_alloc): Ditto.
5083
5084 2001-06-10 Timo Schulz <[email protected]>
5085
5086 * wptHotkey.cpp (enable_hotkey): New. Set enable flag for a single
5087 hotkey.
5088 (mod_hotkeys): Take care of the enable flags.
5089 (register_hotkeys): Ditto.
5090 (unregister_hotkeys): Ditto.
5091 * WinPT.cpp (WinMain): If the registry entry of WinPT doesn't exist,
5092 don't try to modify hotkeys.
5093 * WptMainProc.cpp (wpt_main_proc): All message boxes are forced to
5094 the foreground.
5095
5096 2001-06-08 Timo Schulz <[email protected]>
5097
5098 * wptHotkey.cpp (mod_hotkeys): Change code to support the new
5099 registry style.
5100 * wptRegistry.cpp (get_reg_winpt_prefs): Support to disable
5101 single hotkeys. Suggested by Jonathan.
5102 * wptPreferencesDlg.cpp (preferences_dlg_proc): Support to disable
5103 single hotkeys.
5104 * wptKeyserver.cpp (kserver_connect): Reset winsock error var.
5105 (keyserver_recv): Ditto.
5106 (keyserver_send): Ditto.
5107 (wsock_strerror): Returns a description of the winsock problem.
5108 * wptClipboard.cpp (clip_get_pgp_type): Check if the returned buffer
5109 is valid.
5110
5111 2001-06-07 Timo Schulz <[email protected]>
5112
5113 * wptOwnertrustDlg.cpp (ownertrust_dlg_proc): Set to foreground,
5114 add windows title.
5115
5116 2001-06-05 Timo Schulz <[email protected]>
5117
5118 * wptAboutGPGDlg.cpp (about_gpg_dlg_proc): Check if the returned
5119 buffer is valid. Remove the fixme, because it's possible that there
5120 were new cipher modules loaded.
5121 * wptClipDecryptDlg.cpp (passphrase_callback_proc): Check if the
5122 context is valid.
5123 * wptClipEditDlg.cpp (clip_edit_dlg_proc): Check if the context is valid.
5124 * wptW32API.cpp (status_box): New. Message box that is always forced
5125 to the foreground.
5126
5127 2001-06-04 Timo Schulz <[email protected]>
5128
5129 * wptClipImportDlg.cpp (clip_import_dlg_proc): Added the code for
5130 the improved import status.
5131
5132
5133 2001-06-01 Timo Schulz <[email protected]>
5134
5135 * wptKeyEditDlg.cpp (keyedit_dlg_proc): IDC_KEYEDIT_OWNERTRUST:
5136 Release context in the case of an error.
5137 * wptMainProc.cpp (wpt_main_proc): Fix typo.
5138 * wptGPG.cpp: (init_gpg_table): Remove the case code. Now we use
5139 a static gpg object array that contains all filenames.
5140
5141
5142 2001-05-27 Timo Schulz <[email protected]>
5143
5144 * wptRegistry.cpp (set_reg_winpt_prefs): Add word wrapping.
5145 (get_reg_winpt_prefs): Ditto.
5146 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Set focus after the
5147 gpg process finished.
5148 * wptSigList.cpp (siglist_add_key): Parse the numeric timestamp to
5149 a humand readable date.
5150
5151
5152 2001-05-25 Timo Schulz <[email protected]>
5153
5154 * wptKeyUidDlg.cpp (keyuid_dlg_proc): Add button to delete a choosen
5155 user id. End the dialog if there was an error during the Gpgme operations.
5156 * wptClipboard.cpp (clip_istext_avail): First check if the pointer is
5157 valid and then look at the length. Avoid crashes for some texts.
5158
5159 2001-05-21 Timo Schulz <[email protected]>
5160
5161 * wptKeyMiscDlg.cpp (keymisc_dlg_proc): Add new button for userid
5162 management.
5163 * wptKeyUidDlg.cpp (keyuid_dlg_proc): Finished code to show all userids
5164 from a special key.
5165
5166 2001-05-20 Timo Schulz <[email protected]>
5167
5168 * wptGPG.cpp (check_gpg_optfile): Count each of the keyring entries
5169 to figure out if both parts are available.
5170
5171 2001-05-19 Timo Schulz <[email protected]>
5172
5173 * wptPreferencesDlg.cpp (preferences_dlg_proc): If the disable hotkey
5174 flag is set, also disable all input items.
5175 (disable_dlg_item): New. Disable dialog items (windows).
5176 * wptMainProc.cpp (wpt_main_proc): Only set hotkeys if the no_hotkeys
5177 flag isn't set.
5178 * wptKeyserverDlg.cpp (send_key): Forget to set the armor flag, as
5179 a result the code only sended parts of the key.
5180 * wptConfig.cpp: Removed. Not used any longer.
5181
5182 2001-05-18 Timo Schulz <[email protected]>
5183
5184 * wptKeyEditDlg.cpp (keyedit_dlg_proc): Check the state of the various
5185 edit key commands. In the case the dialog was canceled, return without
5186 modifying anything.
5187 * wptClipVerifyDlg.cpp (clip_verify_dlg_proc): Check the state of the
5188 signature. If it doesn't contain a valid key, do nothing.
5189 * wptMainProc: (wpt_main_proc): If the hotkey setup doesn't work, don't
5190 quit the program. In some cases the hotkeys are possible locked.
5191 * WinPT.cpp (WinMain): If there is an error with the gpg program/path,
5192 give the user the chance to start the GPG preference dialog.
5193 * wptPreferencesDlg.cpp (preferences_dlg_proc): Added the CWS hotkey
5194 support. Flag to disable all hotkeys. Reload new hotkeys (in the case
5195 they changed). Load the registry entry on startup.
5196 * wptHotkey.cpp (mod_hotkeys): Overwrite the default hotkeys with the
5197 stored registry entries.
5198
5199 2001-05-13 Timo Schulz <[email protected]>
5200
5201 * wptRegistry.cpp (set_reg_key): Open a subkey, if it doesn't exist
5202 the function create it.
5203 (set_reg_winpt_prefs): Use the new function to set the subkey values.
5204 All functions now return WPTERR_REGISTRY instead of 1.
5205 Add some error handling to prevent errors in the registry.
5206 * wptPreferencesDlg.cpp (preferences_dlg): Add the code for the Clipboard
5207 hotkeys and the caching time.
5208
5209
5210 2001-05-12 Timo Schulz <[email protected]>
5211
5212 * wptMainProc.cpp (wpt_main_proc): Start the agent before the decryption
5213 call.
5214
5215 2001-05-11 Timo Schulz <[email protected]>
5216
5217 * wptMainProc (wpt_main_proc): Change all related menu entries from
5218 Encrypt & sign to Sign & Encrypt. Added the command to the current
5219 window menu and the handling of the window messages.
5220 * wptSignEncDlg.cpp (clip_signenc_dlg_proc): Changed the window text.
5221 * wptRegistry.cpp (set_reg_winpt_prefs): New. Stores all WinPT
5222 preferences in the registry.
5223 (get_reg_winpt_prefs): Read all preferences from the registry into
5224 the options context.
5225 * WinPT.cpp (WinMain): Read in the registry preferences at the begin
5226 and store it.
5227 * wptAgent.cpp (agent_init): Check if the environment variable
5228 GPG_AGENT_INFO is set, otherwise set it.
5229 (agent_is_running): Check wether the agent is running.
5230 (agent_start): Automated function that read all needed information
5231 from global variables.
5232
5233 2001-05-10 Timo Schulz <[email protected]>
5234
5235 * wptFindWnd.cpp (find_window_hwnd): New. Function to retrieve
5236 the handle of the specified window.
5237 * wptAgent.cpp (agent_timer_proc): Changed the agent interface
5238 to window messages instead of socket connections.
5239 * wptMainProc.cpp (wpt_main_proc): Added the new preference dialog
5240 and menu entry.
5241 * wptPreferencesDlg.cpp: New.
5242
5243 2001-05-09 Timo Schulz <[email protected]>
5244
5245 * wptAgent.cpp (gpga_writen): Write 'n' bytes into a socket.
5246 (gpga_readn): Read 'n' bytes from a socket.
5247 (gpga_open): Open the interface to the GPG-Agent.
5248 (gpga_close): Close the GPG-Agent socket.
5249 (gpga_clear_passphrase): Clear a passphrase from the GPG-Agent.
5250 (agent_add_fpr): Add a fingerprint to the cache. If WinPT quits,
5251 this keys will be remove from the GPG-Agent cache.
5252 (agent_delete_fpr): Remove a fingerprint from the cache.
5253 (agent_init): Clear the cache.
5254 (agent_timer_proc): Remove all stored passphrases which were
5255 requested through the chache.
5256
5257 2001-05-08 Timo Schulz <[email protected]>
5258
5259 * wptKeyserver.cpp (wsock_init): Replace the kserver init
5260 code which initialized the Wsock2 interface.
5261 (wsock_end): Ditto.
5262 * wptAgent.cpp: Remove the passphrase caching code and add
5263 the GPG agent code.
5264
5265 2001-05-05 Timo Schulz <[email protected]>
5266
5267 * wptCurrWnd.cpp (get_curr_wnd): Alternative code to retrieve
5268 the current window handle. This code doesn't use the hook DLL.
5269 Thanks to Oliver Nittka for his patch.
5270 * wptErrors.cpp (winpt_strerror): Fixed a small typo.
5271 * wptGPG.cpp (check_last_gpg_access): Remove debug code.
5272 * wptKeyMiscDlg.cpp (keymisc_dlg_proc): Change the keycache reloading
5273 scheme to prevent reloading the cache twice.
5274
5275 2001-05-04 Timo Schulz <[email protected]>
5276
5277 * wptKeyTrustDlg.cpp: Renamed to wptKeyEditOwnertrustDlg.cpp.
5278 * wptKeyEditOwnertrustDlg.cpp (keyedit_ownertrust_dlg):
5279 Move all the GPGME specific code to the main dialog. Now only
5280 the context values are set.
5281 * wptKeyEditDlg.cpp (keyedit_dlg_proc): Include the changed ownertrust
5282 code.
5283
5284 2001-05-02 Timo Schulz <[email protected]>
5285
5286 * wptKeyEditAddSubkeyDlg.cpp: New. Dialog to create additional
5287 subkeys for the mainkeys.
5288 * wptKeyEditAddUidDlg.cpp: (keyedit_adduid_dlg_proc): Set foreground
5289 window flag.
5290 * wptKeyEditDlg.cpp: (keyedit_dlg_proc): Added the code for the
5291 addkey feature.
5292
5293 2001-05-01 Timo Schulz <[email protected]>
5294
5295 * wptCurrWnd.cpp (wnd_msg_markall): New. Send the CTRL+a key sequence
5296 to a window.
5297 (wnd_msg_copy): New. Send the CTRL+c key sequence to a window.
5298 (wnd_msg_paste): New. Send the CTRL+v key sequence to a window.
5299 (wnd_msg_em_set_pos): Manipulate an edit multiline control text pos.
5300 * wptMainProc.cpp (wpt_main_proc): Fix some message string for
5301 the hotkey handling. Quit the program if a registration procedure
5302 failed.
5303 * wptErrors.cpp (log_box): Improved log handling to dump states
5304 of variables during regression tests.
5305
5306 2001-04-30 Timo Schulz <[email protected]>
5307
5308 * wptClipEditDlg.cpp: Now the dialog uses the Courier font to
5309 enhance the format of keys and other GPG data.
5310 * wptKeyserverDlg.cpp (keyserver_dlg_proc): Set the cache realod
5311 flag after receiving a key.
5312 * wptKeyTrustDlg.cpp (keytrust_dlg_proc): Add error message when
5313 no listbox entry was choosen.
5314 * wptKeySignDlg.cpp (keysign_dlg_proc): Add Check button text to
5315 the NLS suite.
5316 * wptKeygenDlg.cpp (keygen_dlg_proc): Set the cache reload flag
5317 instead of refresh the keycache.
5318
5319 2001-04-29 Timo Schulz <[email protected]>
5320
5321 * wptKeyEditDlg.cpp (clear_dlg_fields): Clear all passphrase items.
5322 (keyedit_dlg_proc): Free gpgme context. Add the passphrase for the
5323 adduid command.
5324 * wptKeyEditAddUidDlg.cpp (keyedit_adduid_dlg_proc): Initialize
5325 the dialog with a KEY structure that holds the keyid and the userid.
5326 * wptWndHook.cpp: Remove the global context and use instead of it
5327 static variables. Put all static variables into the SHARED data
5328 segment in the DLL.
5329
5330 2001-04-28 Timo Schulz <[email protected]>
5331
5332 * wptGPGME.cpp: New. Move some additional GPGME code into WinPT.
5333 So it's easier to update GPGME and we can use NLS to translate
5334 error strings.
5335 * wptVerifyList.cpp (get_sig_date): New. Removed from the GPGME code
5336 because we only use it here.
5337 * wptKeyEditDlg.cpp (keyedit_dlg_proc): Add the 'change passphrase'
5338 feature to the edit-key interface.
5339
5340 2001-04-27 Timo Schulz <[email protected]>
5341
5342 * wptCurrWnd.cpp (get_window_contents): Change the code for the last
5343 window concept. Thanks to Oliver.
5344 (set_window_contents): Add some stuff to set the position if the
5345 current window is an edit control.
5346 * wptKeyEditDlg.cpp (keyedit_dlg_proc): Add code for the 'adduid'
5347 stuff.
5348 * wptKeyEditAddUidDlg.cpp: New. (keyedit_adduid_dlg_proc): Code to
5349 create a new user id for a GPG key.
5350
5351 2001-04-26 Timo Schulz <[email protected]>
5352
5353 * wptKeyEditDlg.cpp (keyedit_dlg_proc): New. Dialog for the various
5354 edit-key commands.
5355 * wptKeyMiscDlg.cpp (keymisc_dlg_proc): Add the button for the edit
5356 key code.
5357
5358 2001-04-25 Timo Schulz <[email protected]>
5359
5360 * wptKeySignDlg.cpp (keysign_dlg_proc): Now we use a new GPGME
5361 callback system to pass the keyedit information to GPG.
5362 * wptKeyTrustDlg.cpp (keytrust_dlg_proc): Ditto.
5363
5364 2001-04-24 Timo Schulz <[email protected]>
5365
5366 * wptEncryptDlg.cpp (encrypt_dlg_proc): Release the static listview
5367 item and set it to zero.
5368 * wptSignDlg.cpp (sign_dlg_proc): Ditto.
5369 * wptSignEncDlg.cpp (sign_encrypt_dlg_proc): Ditto.
5370 * wptVerifyDlg.cpp (verify_dlg_proc): Ditto.
5371 * wptKeyMiscDlg.cpp (keymisc_dlg_proc): Ditto.
5372 (keymisc_dlg_proc): Provide the functionality to delete key pairs
5373 secret+public.
5374 * wptWndHook.cpp (is_winpt_wnd): Remove this function and put
5375 all code into (check_wnd).
5376 (check_wnd): Check if the window doesn't is a application related
5377 window.
5378
5379 2001-04-23 Timo Schulz <[email protected]>
5380
5381 * wptFindWnd.cpp (find_child_wnd_proc): Removed. This functionality
5382 is not needed because all dialog windows are top level windows.
5383
5384 2001-04-22 Timo Schulz <[email protected]>
5385
5386 * wptGPG.cpp (check_last_gpg_access): Reset switch before testing
5387 the condition.
5388 * wptFindWnd.cpp (find_child_wnd_proc): New. Callback to enumerate
5389 all children windows.
5390 (find_parent_wnd_proc): New. Callback to enumerate all parent windows.
5391 (find_window): New. Return if the specified windows as found.
5392 * wptW32API.cpp: (dialog_box_param): New. Alias with the additional
5393 feature to check if the dialog already exist (and then preventing
5394 the creation).
5395 * wptMainProc.cpp (wpt_main_proc): Replace all DialogBoxParam with
5396 then new dialog_box_param function. Thanks to Martin who told me
5397 about this dialog problem.
5398 * wptGPGPrefsDlg.cpp (gpgprefs_dlg_proc): Ditto.
5399 * wptKeyMiscDlg.cpp (keymisc_dlg_proc): Ditto. Add translation for the
5400 new signature buttons.
5401
5402 2001-04-21 Timo Schulz <[email protected]>
5403
5404 * wptWndHook.cpp (install_cbt_hook): Remove the thread because the
5405 system already is into a DLL.
5406 * wptKeyMiscDlg.cpp (keymisc_dlg_proc): Remove checkbutton and use
5407 instead of it a button to check the key signatures.
5408 * wptGPG.cpp (get_last_gpg_access): New. Retrieve the file timestamp
5409 from the given gpg object.
5410 (check_last_gpg_access): New. Compare the last file timestamp with the
5411 new timestamp.
5412 (init_gpg_table): New. Initialize the table with gpg objects who shall
5413 be watched.
5414 (keyring_check_last_access): Use the new code.
5415 * wptCurrWnd.cpp (set_window_contents): Restore the window if it is
5416 now iconic.
5417 * wptMainProc.cpp (wpt_main_proc): Add decrypt/verify for the
5418 current window stuff.
5419
5420 2001-04-17 Timo Schulz <[email protected]>
5421
5422 * wptWndHook.cpp (is_taskbar_wnd): New. Alias to check if the window
5423 belongs to the taskbar area.
5424 (is_winpt_wnd): New. Alias to check if the window belongs to WinPT.
5425 (cbt_proc): Change code to include both functions.
5426 * wptCurrWnd.cpp (get_window_contents): Add switch if we use the
5427 foreground or the CBT window.
5428 * wptMainProc.cpp (wpt_main_proc): All hotkey operations for the
5429 current window mode set the no_cbt variable.
5430 * wptGPG.cpp (keyring_check_last_access): New. Check if the keyring
5431 was modified by an external program.
5432 * wptKeyMiscDlg.cpp: (keymisc_dlg_proc): Now check for external
5433 keyring changes.
5434
5435 2001-04-16 Timo Schulz <[email protected]>
5436
5437 * wptWndHook,cpp (cbt_proc): Compare process ids to differ between
5438 WinPT and normal windows.
5439 (install_cbt_hook): Add pid to the context.
5440
5441 2001-04-14 Timo Schulz <[email protected]>
5442
5443 * wptCurrWnd.cpp: (get_window_contents): Add an event to switch
5444 the windows. This is needed by the current code.
5445 (set_window_contents): Ditto.
5446 * wptWndSwitchDlg.cpp: (wndswitch_dlg_proc): Create a hidden dialog
5447 and force it to the foreground. This is the event needed by the code
5448 above.
5449 (create_wndswitch_event): Execute the dialog.
5450 * wptMainProc.cpp: (wpt_main_proc): Add new links in the hotkey
5451 section. Add message entries for the code.
5452 * wptW32API.cpp: (copy_window_to_clip): Moved to the into the OE
5453 mailer code.
5454 (insert_window_from_clip): Ditto.
5455 * wptMailPlugin.cpp: (oe_set_message): Insert the new code and add
5456 the event to switch the windows.
5457 (oe_get_message): Ditto.
5458
5459 2001-04-13 Timo Schulz <[email protected]>
5460
5461 * wptMailPlugin.cpp: (oe_set_message): Change the id's for
5462 the attach_thread_input.
5463 (oe_get_message): Ditto.
5464 * wptCurrWnd.cpp: (get_window_contents): Ditto.
5465 (set_window_contents): Ditto.
5466
5467 2001-04-12 Timo Schulz <[email protected]>
5468
5469 * wptHotkeys.cpp: (register_single_hotkey): Add code for the current
5470 window stuff.
5471 * wptMainProc.cpp: (wpt_main_proc): WM_HOTKEY. Add the current window
5472 hotkeys.
5473 * wptW32API.cpp: (attach_thread_input): Split up the functions into
5474 two parts. The attach flags is always set.
5475 (detach_thread_input): See above. The attach flags is never set.
5476 * wptCurrWnd.cpp: New. Code for the current window stuff.
5477 (get_window_contents): Extract the text from the given window to
5478 the clipboard.
5479 (set_window_contents): Insert clipboard into the given window.
5480
5481 2001-04-09 Timo Schulz <[email protected]>
5482
5483 * wptGPG.cpp: (check_line): Ignore empty lines.
5484 (check_gpg_options): Ditto.
5485
5486 2001-04-09 Timo Schulz <[email protected]>
5487
5488 * wptClipboard.cpp: (clip_get_pgp_type): New. Return the PGP packet
5489 type. Kludge for decrypt/verify.
5490 * wptMainProc.cpp: (wpt_main_proc): Remove verify and put the
5491 code into the decrypt routine.
5492 * wptClipImportDlg.cpp: (clip_import_dlg_proc): New button to start
5493 the key management after import.
5494
5495 2001-04-07 Timo Schulz <[email protected]>
5496
5497 * wptAgent.cpp: (agent_new): Rename to agent_init and modify source.
5498 (agent_destroy): Ditto.
5499 (agent_passphrase_cache): Ditto.
5500 (agent_passphrase_remove): Ditto.
5501 (agent_passphrase_get): Ditto.
5502
5503 2001-04-06 Timo Schulz <[email protected]>
5504
5505 * wptGPG.cpp: (check_gpg_path): Fix a small error.
5506 * WinPT.cpp: (WinMain): Add a dialog for the possibity that it's the
5507 first time a user started WinPT.
5508 * wptClipboard.cpp: (clip_isalready_secured): Check the begin and
5509 end PGP header.
5510
5511 2001-04-06 Timo Schulz <[email protected]>
5512
5513 * wptOwnertrustDlg.cpp: New. (ownertrust_dlg_proc): New.
5514 * wptKeyTrustDlg.cpp: (key_trust_dlg_proc): Add new button for the
5515 ownertrust dialog.
5516
5517 2001-04-04 Timo Schulz <[email protected]>
5518
5519 * wptClipDecryptDlg.cpp (passphrase_callback_proc): Remove the static
5520 passphrase. Now a callback context is used.
5521 (passphrase_cb): Ditto.
5522 (clip_decrypt_dlg): Ditto.
5523 * wptWndHook.cpp (cbt_thread): New. Thread to enable CBT hook.
5524 (install_cbt_hook): Modify for the new thread model.
5525 (remove_cbt_hook): Ditto.
5526 * wptW32API.cpp: (init_crtical_section): New. Make the code MT safe.
5527 (delete_critical_section): Ditto.
5528 (lock): Ditto.
5529 (unlock): Ditto.
5530
5531 2001-04-02 Timo Schulz <[email protected]>
5532
5533 * WinPT.cpp: (set_gpgme_debug_env): New: Set the environment variable.
5534 * wptClipSignDlg.cpp: (clip_sign_dlg_proc): Now the keylist widget only
5535 contains valid keys.
5536 * wptClipEncryptDlg.cpp: (clip_encrypt_dlg_proc): Ditto.
5537
5538 2001-03-31 Timo Schulz <[email protected]>
5539
5540 * wptClipSignDlg.cpp: (clip_sign_dlg_proc): If no key was choosen,
5541 the GPG default key will be used.
5542
5543 2001-03-30 Timo Schulz <[email protected]>
5544
5545 * wptW32API.cpp: (new_strdup): Remove.
5546 * wptW32API.h: Ditto.
5547 * wptWndHook.cpp: (get_cbt_curr_wnd): Return the current window.
5548 * wptKeygenDlg.cpp: (clear_dlg_fields): New: Clear all text fields.
5549
5550 2001-03-28 Timo Schulz <[email protected]>
5551
5552 * wptClipEncryptDlg.cpp: (clip_encrypt_dlg_proc):
5553 Added the keyid to the "no trust" message.
5554 * wptKeyserverDlg.cpp: (check_pattern): New:
5555 Do some sanity checks of the search pattern.
5556 * wptMainProc.cpp: (wpt_main_proc): Add agent support.
5557 * wptHotkey.cpp: Add agent support.
5558
5559 2001-03-21 Timo Schulz <[email protected]>
5560
5561 * WinPT.cpp: (WinMain): Re-activate the enable debug switch.
5562 * wptKeylist.cpp: (keylist_add_key): Ignore invalid keys.
5563
5564 2001-03-20 Timo Schulz <[email protected]>
5565
5566 * wptClipDecryptDlg.cpp: Rewrote
5567
5568 2001-03-19 Timo Schulz <[email protected]>
5569
5570 * wptVerifyList.cpp: New control for the verify dialog.
5571 * wptClipVerifyDlg.cpp: Rewrote
5572
5573 2001-03-18 Timo Schulz <[email protected]>
5574
5575 * wptClipVerifyDlg.cpp: New: stub for further verify dialogs.
5576 * wptAgent.cpp: New: Experimental passphrase caching.
5577
5578 2001-03-16 Timo Schulz <[email protected]>
5579
5580 * wptDlgs.h: Add new dialog callback function.
5581 * wptKeysigDlg.cpp: New. Key signature listing dialog.
5582
5583 2001-03-15 Timo Schulz <[email protected]>
5584
5585 * wptClipEncryptDlg.cpp: Fix translation.
5586 * wptKeygenDlg.cpp: Fix the names of the button (avoid confused users).
5587 * wptKeymiscDlg.cpp: Fix the key deleting stuff.
5588
5589 2001-02-27 Timo Schulz <[email protected]>
5590
5591 * wptKeylistWidget.cpp: New. Implementation of a W32 keylist control.
5592 * wptClipKeytrustDlg.cpp: Index was counted from 0 (should be from 1):
5593 Fixed.
5594
5595 2001-02-25 Timo Schulz <[email protected]>
5596
5597 * wptGPGPrefsDlg.cpp: Add some new translation strings.
5598 * wptKeyGenDlg.cpp: Add all dialog text to the NLS suite.
5599 * wptMainProc.cpp, wptClipDecryptDlg.cpp: Change to new packet parser.
5600 * wptClipImportDlg.cpp: Finished basic interface.
5601
5602 2001-02-24 Timo Schulz <[email protected]>
5603
5604 * wptGPG.cpp: (check_gpg_path): Fix a bug.
5605 (check_gpg_options): Fix some bugs.
5606
5607 2001-02-22 Timo Schulz <[email protected]>
5608
5609 * wptGPG.cpp: (check_line): New. Check if the line contains a valid
5610 gpg argument.
5611 (check_gpg_options): New. Parses each buffer line to check_line().
5612
5613 2001-02-21 Timo Schulz <[email protected]>
5614
5615 * wptGPG.cpp: Fix the check_gpg_optfile() code.
5616 (gpg_errstr): Define some error constants to be more verbose.
5617 (set_gpg_options): New. Manipulate the options file.
5618 (get_gpg_options): New. Read in the options file.
5619 * wptFile.cpp: (get_file_size): New.
5620 * wptGPGOptDlg.cpp: New. Dialog for editing the options file
5621
5622 2001-02-20 Timo Schulz <[email protected]>
5623
5624 * wptGPGPrefsDlg.cpp: Add some sanity checks for the value.
5625 * wptClipImportDlg.cpp: Add some new code.
5626
5627 2001-02-19 Timo Schulz <[email protected]>
5628
5629 * wptRegistry.cpp: (is_installed): Remove.
5630 (regist_inst_winpt): Add selfcheck.
5631 (regist_inst_gpg): New. Add gpg releated registry entries.
5632 (regist_inst_mo): New. Add nls related path.
5633 (get_reg_entry), set_reg_entry(): Modify to be more flexible.
5634 (set_reg_entry_gpg): Handy functions for get_reg_entry.
5635 (set_reg_entry_mo): Ditto.
5636 (get_reg_entry_gpg): Ditto.
5637 (get_reg_entry_mo(): Ditto.
5638 * wptGPGPrefsDlg.cpp, wptNLS.cpp: Add support for the locale environment.
5639 * wptGPG.cpp: (check_gpg_optfile): Figure out if the option file.
5640 include keyring entries (2x)
5641 (check_gpg_path): Include the check_gpg_optfile() check.
5642
5643 2001-02-17 Timo Schulz <[email protected]>
5644
5645 * wptRegistry.cpp: (get_reg_entry): Return the GnuPG homedir from
5646 the registry.
5647 (set_reg_entry): Set a gnupg registry key.
5648 * wptGPG.cpp: Modify all function for the use with get_reg_entry().
5649 * WinPT.cpp: Change the way for the gpg searching mechanism.
5650 * wptGPGPrefsDlg.cpp: New dialog for dynamic GPG configuration.
5651 * wptClipImportDlg.cpp: (key import dialog): New.
5652 * wptKeylistElement.cpp:
5653 (wpt_lv_implist_build): Build up the key import list.
5654 (wpt_lv_implist_add_key): Insert a key into the import list.
5655 (wpt_lv_implist_dummy): Dummy to build up a box with a fixed size.
5656
5657 2001-02-10 Timo Schulz <[email protected]>
5658
5659 * wptMainProc.cpp: Move ctb_proc and hotkey inits to this file.
5660 * wptKeylistElement.cpp: New.
5661 * wptListElement.cpp: Remove.
5662 * wptW32API.cpp: Insert all lv_*** functions.
5663 * wptKeylistElement.cpp: (wpt_lv_keylist_release_key): New.
5664 (wpt_lv_keylist_release_keys): Ditto.
5665 * wptW32API.cpp: (w32_get_thread_id): New.
5666 (w32_attach_thread_input): New.
5667 * wptMailPlugin.cpp: (oe_get_message): Add thread attach mechanism.
5668 (oe_get_message): Add thread attach mechanism.
5669 (oe_encrypt): Modify for the attach treach mechanism.
5670 Add sanity check for recipients.
5671
5672 2001-02-07 Timo Schulz <[email protected]>
5673
5674 * wptClipEditDlg.cpp: (clip_edit_dlg_proc): Add some sanity checks.
5675 * wptExportDlg.cpp: (clip_export_dlg_proc): Ditto.
5676
5677 2001-02-04 Timo Schulz <[email protected]>
5678
5679 * wptSignDlg.cpp: (wpt_sign_proc): Add secret key listing.
5680 * wptMainProc.cpp: (wpt_main_proc):
5681 Remove ciphertext checks for signing and encrypting.
5682 (allow double encryption).
5683
5684 2001-02-03 Timo Schulz <[email protected]>
5685
5686 * wptMailPlugin.cpp: (oe_find_msg_window): Fix window handles.
5687 (oe_find_addr_window): Ditto.
5688 (oe_find_main_window): Ditto.
5689
5690 2001-02-02 Timo Schulz <[email protected]>
5691
5692 * wptW32API.cpp: (w32_hit_key): New.
5693 (w32_rel_key): New.
5694 (w32_copy_to_clip): New.
5695 (w32_insert_from_clip): New.
5696 (w32_get_clip_text): New.
5697 (w32_set_clip_text: New.
5698 (w32_show_if_icon): New.
5699
5700 2001-02-01 Timo Schulz <[email protected]>
5701
5702 * wptW32API.cpp: (w32_get_edit_text): New.
5703 (w32_set_menu_text): New.
5704 (w32_strdup): New.
5705 * wptMailPlugin.cpp: (oe_***): New. Basic OE interface.
5706 * Create all dialogs windows in the foreground.
5707
5708 2001-01-31 Timo Schulz <[email protected]>
5709
5710 * wptKeygenDlg.cpp: (wpt_keygen_proc): Passphrase sanity check.
5711 * wptW32API.cpp: New.
5712 * WinPT.cpp: (WinMain): Change the keyring checking code.
5713
5714 2001-01-29 Timo Schulz <[email protected]>
5715
5716 * wptClipboard.cpp: (clip_is_already_secure):
5717 Modify the pgp data detection.
5718
5719 2001-01-28 Timo Schulz <[email protected]>
5720
5721 * wptHotkey.cpp: (register_hotkey): Hotkey registration.
5722 (unregister_hotkey): Hotkey removing.
5723 * wptHokey.h: New.
5724 * wptWndHook.cpp:
5725 (wpt_cpt_proc): Window hook to save the current windows.
5726 * wptWndHoo.h: New.
5727 * wptMainProc.cpp: (wpt_main_proc): Add hotkey messages.
5728 * WinPT.cpp: (WinMain): Add hotkey registration.
5729
5730 2001-01-21 Timo Schulz <[email protected]>
5731
5732 * wptNLS.cpp: ported to C++.
5733 (gettext): Remove CP850 to ISO88591 conversation.
5734

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26