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

Contents of /trunk/Src/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations)
Mon Jan 31 11:02:21 2005 UTC (20 years, 1 month ago) by twoaday
File size: 156817 byte(s)
WinPT initial checkin.


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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26