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

Contents of /trunk/Src/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 465 - (show annotations)
Tue Oct 9 09:28:15 2012 UTC (12 years, 4 months ago) by twoaday
File size: 244756 byte(s)


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

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26