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

Contents of /trunk/Src/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 130 - (show annotations)
Fri Dec 30 14:06:39 2005 UTC (19 years, 2 months ago) by twoaday
File size: 187528 byte(s)
2005-12-29  Timo Schulz  <ts@g10code.com>
  
        * wptKeygenDlg.cpp (keygen_dlg_proc): Request passphrase dynamically.
        (gpg_genkey_params): Simplified.
        * wptPreferencesDlg.cpp (prefs_dlg_proc): Fix problem with mutal
        exclusion of the dialog items.
        * wptAboutDlgs.cpp (about_winpt_dlg_proc): Allow to use ESC to
        quit the dialog.
        * wptKeyManagerDlg.cpp (keymanager_dlg_proc): Likewise.
        * wptMDSumDlg.cpp (mdsum_dlg_proc): Handle WM_SYSCOMMAND.
        (id2algo): New.

Prepare 0.11.4 release.


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

Properties

Name Value
svn:eol-style native

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26