Page MenuHome GnuPG

ChangeLog-2011
No OneTemporary

ChangeLog-2011

2010-07-21 Werner Koch <wk@g10code.com>
Release 1.1.2.
2010-07-21 Marco A.G.Pinto <marcoagpinto@mail.telepac.pt> (wk)
* po/pt.po: New.
* po/LINGUAS: Add pt.
2010-07-21 Werner Koch <wk@g10code.com>
* configure.ac: Require libgpg-error 1.9 due to gpg_err_deinit.
* src/main.c (DllMain): Init and deinit libgpg-error which is now
required due to our use of a static libgpg-error.
2010-04-21 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (NEED_LIBASSUAN_API, NEED_LIBASSUAN_VERSION): Bump
to 2/2.0.0.
(_ASSUAN_ONLY_GPG_ERRORS): Remove.
* src/engine-assuan.c (connect_uiserver): Update to new libassuan
interface.
2010-01-13 Werner Koch <wk@g10code.com>
Release 1.1.1.
* src/README.icons: Change instructions to better cope with alpha
channels.
2010-01-12 Werner Koch <wk@g10code.com>
* src/decrypt-verify-16.bmp, decrypt-verify-16m.bmp: Update.
* src/decrypt-verify-32.bmp, decrypt-verify-32m.bmp: Update.
* src/verify-16.bmp, verify-16m.bmp: Update.
* src/verify-32m.bmp, verify-32.bmp: Update.
* po/POTFILES.in (explorers.cpp, inspectors.cpp, mailitem.cpp): New.
2010-01-08 Werner Koch <wk@g10code.com>
* forms/encr-s.ico, forms/sign-s.ico: Fix them.
* src/README.icons: Fix instructions for forms icons.
2010-01-05 Werner Koch <wk@g10code.com>
Release 1.1.0.
2009-12-22 Werner Koch <wk@g10code.com>
* forms/encr-l.ico, forms/encr-s.ico: Update.
* forms/sign-l.ico, forms/encr-l.ico: Update.
* src/key-manager-16.bmp, key-manager-16m.bmp: Update.
* src/key-manager-32.bmp, key-manager-32m.bmp: Update.
* src/key-manager-64.bmp, key-manager-64m.bmp: New.
* src/verify-16.bmp, verify-16m.bmp: Update.
* src/verify-32.bmp, verify-32m.bmp: New.
* src/sign-16.bmp, sign-16m.bmp: Update.
* src/sign-32.bmp, sign-32m.bmp: New.
* src/encrypt-16.bmp, encrypt-16m.bmp: Update.
* src/encrypt-32.bmp, encrypt-32m.bmp: New.
* src/decrypt-16.bmp, decrypt-16m.bmp: Update.
* src/decrypt-32.bmp, decrypt-32m.bmp: New.
* src/decrypt-verify-16.bmp, decrypt-verify-16m.bmp: Update.
* src/decrypt-verify-32.bmp, decrypt-verify-32m.bmp: New.
* src/Makefile.am (EXTRA_DIST): Add new bitmaps.
* src/dialogs.rc: Add new bitmaps.
2009-12-01 Werner Koch <wk@g10code.com>
* src/README.icons: New.
2009-12-08 Marcus Brinkmann <marcus@g10code.de>
* src/engine-assuan.c (getinfo_pid_cb, prep_foo_status_cb): Change
return type to gpg_error_t.
2009-11-30 Werner Koch <wk@g10code.com>
* src/message-events.cpp (OnReadComplete): Use GetInspector if
none was found.
* src/display.cpp (update_display): Print the window hierarchy in case
of an error.
* src/ext-commands.cpp (get_inspector): Add arg HWND. First try
get_inspector_from_hwnd.
(get_crypto_flags, set_crypto_flags): Add arg HWND.
(InstallCommands, DoCommand): Pass HWND to crypt_flags functions.
2009-11-27 Werner Koch <wk@g10code.com>
* src/message-events.cpp (get_crypto_flags): Replace EECB arg by HWND.
(OnRead): Pass HWND to get_crypto_flags. Change all callers.
(get_inspector): Remove.
(get_crypto_flags, OnReadComplete): Use get_inspector_from_hwnd.
* src/oomhelp.h (IID_IOleWindow): Define.
* src/inspectors.cpp (find_ole_window): New.
(struct inspector_info_s): Add field HWND.
(register_inspector): Store it..
(get_inspector_from_hwnd): New.
* src/common.h (DBG_OOM_EXTRA): New.
* src/main.c (read_options): Read new debug flag.
* src/eventsink.h (debug_oom_extra): Use it.
2009-11-03 Werner Koch <wk@g10code.com>
* src/inspectors.cpp (deregister_inspector): Delete the buttons.
(set_one_button): New.
(set_inspector_composer_flags): Also set toolbar buttons.
(toggle_button): Use set_one_button.
(get_button_by_instid_and_tag): Remove.
* src/oomhelp.cpp (del_oom_button): New.
2009-11-02 Werner Koch <wk@g10code.com>
* forms/Makefile.am (cfg_english): New.
* src/mailitem.cpp, mailitem.h: New.
* src/inspectors.cpp (get_message_from_button): New.
(get_inspector_from_instid): New.
(proc_inspector_button_click): Implement missing commands.
* src/message.cpp (message_display_handler): Change to take an
LPMESSAGE argument.
* src/display.cpp (update_display): Replace the eecb arg by an
inspector object.
* src/message-events.cpp (OnReadComplete): Adjust for changes.
* src/oomhelp.cpp (get_oom_iunknown): New.
* src/revert.cpp (gpgol_folder_revert): Change to work without an eecb.
2009-10-30 Werner Koch <wk@g10code.com>
* forms/Makefile.am (icons): Udpate all icons.
* src/oomhelp.cpp (get_oom_control_bytag): Fix silly bug.
* src/inspectors.cpp (get_inspector_composer_flags): New.
(set_inspector_composer_flags): New.
* src/oomhelp.cpp (get_eecb_object): New.
* src/message-events.cpp (get_inspector): New.
(get_crypto_flags): New.
(OnWrite, OnWriteComplete): Use new functions instead of the class
members. Use the new oom property functions.
* src/ext-commands.cpp (get_inspector, get_crypto_flags): New.
(DoCommand): Use new function.
(set_crypto_flags): New.
(InstallCommands): Use set_crypto_flags.
(add_menu, check_menu, add_toolbar, struct toolbar_info_s): Remove.
(QueryButtonInfo): Remove all code.
(InstallCommands): Make use of get_eecb_object and put_oom_string.
(DoCommand): Use get_eecb_object.
* src/olflange.h (IExchExt): Remove m_protoSelection, m_gpgSign,
m_gpgEncrypt and all related code.
* src/olflange.cpp (Install): Use get_oom_string.
* src/display.cpp (update_display): Ditto.
* src/ol-ext-callback.h, ol-ext-callback.cpp: Remove.
2009-10-29 Werner Koch <wk@g10code.com>
* src/ext-commands.cpp: Remove m_nCmdDebugN, m_nCmdRevertFolder,
m_nCmdSign, m_nCmdEncrypt and all related code. Now handled in
inspectors.cpp.
2009-10-28 Werner Koch <wk@g10code.com>
* src/ext-commands.cpp: Remove m_nCmdCryptoState and all related code;
now handled in inspectors.cpp. Remove m_nCmdKeyManager and all
related code; now handled in cmdbarcontrols.cpp.
* src/oomhelp.cpp, oomhelp.h, eventsink.h: New.
* src/myexchext.h: Move generic COM+ stuff to oomhelp.h.
* src/explorers.cpp, explorers.h: New.
* src/inspectors.cpp, inspectors.h: New.
* src/cmdbarcontrols.cpp cmdbarcontrols.h: New.
* src/olflange.cpp (install_sinks): New.
(Install): Call install_sinks.
* src/main.c (DllMain): Call initialize_inspectors.
* src/common.c (fatal_error): New.
2009-10-20 Werner Koch <wk@g10code.com>
* src/myexchext.h (IID_IConnectionPoint)
(IID_IConnectionPointContainer): Define. There are missing in
current wine From ReactOS.
2009-10-19 Werner Koch <wk@g10code.com>
* src/message-events.cpp (show_event_object): Move to ..
* src/ol-ext-callback.cpp (show_event_object): .. here.
(show_preview_pane): Revert dispparms order to make it work.
* src/common.c (mem2str): New.
2009-10-08 Werner Koch <wk@g10code.com>
* configure.ac (CFLAGS): Add -fno-strict-aliasing.
2009-10-07 Werner Koch <wk@g10code.com>
* src/ext-commands.cpp (InstallCommands): Comment out the protocol
selection.
(DoCommand, Help, QueryHelpText, QueryButtonInfo): Ditto.
(update_protocol_menu): Comment out.
* src/main.c (write_options): Do not write the default protocol.
(read_options): Always set it to auto.
* src/dialogs.rc: Remove openpgp-by-default and smime-by-default check
boxes.
* src/olflange-dlgs.cpp (set_labels): Likewise.
(GPGOptionsDlgProc): Likewise.
2009-09-28 Werner Koch <wk@g10code.com>
Release 1.0.1.
2009-09-25 Werner Koch <wk@g10code.com>
* src/main.c (read_options): Enable Smime by default.
2009-08-28 Werner Koch <wk@g10code.com>
* configure.ac [GCC]: Test for -Wno-pointer-sign.
* src/mimemaker.c (do_mime_sign): Comment cleanup.
2009-08-27 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (mapi_get_sender): Add hack for Kleopatra.
2009-08-21 Werner Koch <wk@g10code.com>
* src/engine-assuan.c (async_worker_thread): Disable the use of
MsgWaitForMultipleObjects.
* src/common.h (struct compat): Add USE_MWFMO.
* src/main.c (read_options): Read that flag.
2009-08-19 Werner Koch <wk@g10code.com>
* src/message.cpp (ul_release): Add arg LNR. Change all callers.
* src/ol-ext-callback.cpp (ul_release): Add args FUNC and LNR. Change
all callers.
* src/item-events.cpp (ul_release): ditto.
* src/session-events.cpp (ul_release): Ditto.
2009-07-21 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (create_gpgol_tag, get_internetcharsetbody_tag)
(mapi_set_header): Release data returned from GetIDsFromNames.
* src/engine.h (ENGINE_FLAG_SIGN_FOLLOWS): New macro.
* src/engine.c (engine_encrypt_prepare): Add arg flags. Change
callers.
* src/engine-assuan.c (op_assuan_encrypt): Ditto. send PREP_ENCRYPT
if the sign-follows flag is used.
* src/mimemaker.c (mime_sign_encrypt): Pass new flag.
2009-06-18 Werner Koch <wk@g10code.com>
Release 1.0.0.
2009-06-18 Werner Koch <wk@g10code.com>
* src/common.h (struct opt): Add ANNOUNCE_NUMBER.
* src/main.c (write_options, read_options): Store and load that number.
2009-02-27 Werner Koch <wk@g10code.com>
Release 0.10.19.
2009-02-26 Werner Koch <wk@g10code.com>
* src/mimeparser.c (start_attachment): Try to figure out a good file
name suffix for the FILENAME property.
* src/ext-commands.cpp (InstallCommands): Disable decrypt button for
non GpgOl messages.
* src/engine.c (engine_encrypt_prepare): Add arg SENDER.
* src/engine-assuan.c (op_assuan_encrypt): Ditto.
* src/mimemaker.c (do_mime_sign): Free sender string.
(mime_encrypt): Pass the sender address to the engine.
(mime_sign_encrypt): Ditto.
2009-02-25 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (get_gpgoldraftinfo_tag): New.
(mapi_get_gpgol_draft_info, mapi_set_gpgol_draft_info): New.
* src/ext-commands.cpp (DoCommand): Save encryption selection.
(InstallCommands): Get encryption selection from the draft info.
* src/mimemaker.c (finalize_message): Delete the property.
2009-01-28 Werner Koch <wk@g10code.com>
Release 0.10.18.
* po/de.po: s/Unterschrift/Signatur/.
* src/mimeparser.c (t2body): Take care of x-pkcs7-mime as used by
native OL signed messages.
(mime_decrypt): Ditto.
2009-01-16 Werner Koch <wk@g10code.com>
* src/engine-assuan.c (attach_thread_input_wndw_proc)
(attach_thread_input): Enable code.
(async_worker_thread): Replace WFMO by MsgWaitForMultipleObjects
and add message dispatcher loops.
2008-11-27 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (mapi_get_sender): Extract the CN name if available.
2008-11-26 Werner Koch <wk@g10code.com>
* src/ext-commands.cpp (InstallCommands): Don't show status icon for
non-gpgol messages.
* src/config-dialog.c (start_key_manager): Remove.
* src/ext-commands.cpp (DoCommand): Do not use start_key_manager as a
fallback.
* src/olflange.cpp (GpgolExt): Show new version warning only once.
* src/dialogs.rc: Do not display the logo. Move version info around.
* src/dialogs.h (IDC_G10CODE_STRING): New.
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Active product page by a
click on IDC_G10CODE_STRING.
(set_labels): Remove the build date from the Version field.
2008-11-14 Werner Koch <wk@g10code.com>
* src/dialogs.rc: Remove preview-decrypt check button.
* src/olflange-dlgs.cpp (set_labels): Ditto.
2008-11-13 Werner Koch <wk@g10code.com>
* src/engine.c (FILTER_BUFFER_SIZE): Increase from 4k to 128k.
(switch_threads, clear_switch_threads): Remove.
(engine_filter): Pulse event only if anything happened. Break
loop if input data has been put completely into the buffer. Add a
short delay for an idle loop.
* src/engine-assuan.c (work_item_s): Increase buffer from 1k to 8k.
(switch_threads, clear_switch_threads): Remove.
2008-11-10 Werner Koch <wk@g10code.com>
* src/engine.c (engine_init): Allow the user to try again if the
server did not come up.
* src/engine-assuan.c (connect_uiserver, op_assuan_init): Add a hack
to reset the retry counter.
2008-11-03 Werner Koch <wk@g10code.com>
* src/mimemaker.c (do_mime_sign): Add arg SESSION_NUMBER and pass it
to the sign operation. Set session title.
(mime_sign): Create a new session number.
(mime_sign_encrypt): Pass a session number and title to the engine.
(mime_encrypt): Ditto.
* src/engine-assuan.c (op_assuan_encrypt, op_assuan_sign): Send
session info.
2008-10-29 Werner Koch <wk@g10code.com>
* src/engine.c (engine_filter): Collect more data in the in buffer.
* src/mimemaker.c (write_b64): Buffer up to 2k of output.
2008-10-27 Werner Koch <wk@g10code.com>
* src/mimemaker.c (mime_encrypt): Check for an empty message before
creating the filter. Return a suitable error code.
(do_mime_sign): Ditto.
(mime_sign_encrypt): Ditto.
(mime_sign): Return an error code.
* src/message.cpp (sign_encrypt): Show an error message for empty
messages.
(message_sign): Ditto.
* src/olflange.cpp (install_forms): Add gpgol-cs.
* src/mapihelp.cpp (get_internetcharsetbody_tag): New.
(mapi_get_body_as_stream): Try the new tag first.
(get_msgcls_from_pgp_lines): Ditto. Remove the simple access
method.
2008-10-24 Werner Koch <wk@g10code.com>
* src/mimeparser.c (struct mime_context): Add flag
MAY_BE_OPAQUE_SIGNED.
(t2body): Set that flag.
(is_cms_signed_data): New.
(mime_decrypt): Try to verify if the content is opaque signed
without proper MIME headers.
2008-10-23 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (mapi_delete_gpgol_body_attachment): New.
* src/message-events.cpp (OnWriteComplete): Remove a body attachment.
* src/message.cpp (message_display_handler): Do not display PGP
clearsigned messages.
(message_display_handler): Do not update GpgOLStatus; it is not
used anyway.
(pgp_mime_from_clearsigned): Fix bogus trailing white space
removal code. Insert an empty line.
* src/mimeparser.c (mime_verify): Add arg MIMEHACK.
(message_verify): Use it.
2008-10-17 Werner Koch <wk@g10code.com>
* src/recipient-dialog.c (load_rsetbox): Remove superfluous check on
negativness for an unsigned variable.
* src/mimeparser.c (mime_verify_opaque): Remove extra semicolon which
shortcuted most of the code. Why didn't gcc notice that? Bug
was introduced on 2008-06-12.
* src/engine-assuan.c (create_io_pipe, send_options)
(op_assuan_encrypt, op_assuan_sign, op_assuan_decrypt)
(op_assuan_verify): Replace use of long in snprint by int to
workaround a bug in mingw32. Doesn't matter on w32 anyway.
2008-10-16 Werner Koch <wk@g10code.com>
* src/mimeparser.c (start_attachment): Take care not to set the file
name "smime.p7m".
* src/mapihelp.cpp (is_really_cms_encrypted): Extend to detect unknown
message types.
(mapi_change_message_class): Adjust for this change.
(mapi_change_message_class): Factor code out to ...
(change_message_class_ipm_note)
(change_message_class_ipm_note_smime)
(change_message_class_ipm_note_smime_multipartsigned)
(change_message_class_ipm_note_secure_cex): New.
(get_first_attach_mime_tag): New.
(change_message_class_ipm_note_secure_cex): Use it here for CexSig.
(has_smime_filename): Also look at the long filename.
2008-10-15 Werner Koch <wk@g10code.com>
* src/engine-assuan.c (op_assuan_sign): Send the new --protocol option
to the server.
2008-09-30 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (mapi_change_message_class): Special handling for
MultipartSigned if S/MIME support is disabled.
2008-08-06 Werner Koch <wk@g10code.com>
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Disable S/MIME notice.
2008-08-05 Werner Koch <wk@g10code.com>
* src/ext-commands.cpp (InstallCommands): Display protocolicons only
for OL2007.
* src/olflange.cpp (get_ol_main_version): New.
* src/message.cpp (message_decrypt): Save a signature verification
result.
* src/mimeparser.c (mime_decrypt): Implement verification of included
signatures. This feature got lost during the removal of nested
crypto operations.
2008-08-04 Werner Koch <wk@g10code.com>
* src/olflange.cpp (install_forms): New.
(GpgolExt): Install forms if needed.
* src/common.c (get_data_dir): New.
* src/common.h (struct): Add field FORMS_REVISION.
* src/main.c (read_options, write_options): Read and write that
option.
2008-07-31 Werner Koch <wk@g10code.com>
* src/ext-commands.h (class GpgolExtCommands): Add m_nCmdRevertFolder.
* src/ext-commands.cpp (GpgolExtCommands, InstallCommands): Ditto.
(DoCommand): Implement RevertFolder command.
* src/common.h (struct): Add variable DISABLE_GPGOL.
* src/session-events.cpp (OnDelivery): Make use of that variable.
* src/message.cpp (message_incoming_handler): Ditto.
* src/user-events.cpp (OnSelectionChange): Ditto
* src/message-events.cpp (OnRead, OnReadComplete, OnWrite)
(OnWriteComplete): Ditto
* src/mapihelp.cpp (mapi_get_int_prop): New.
* src/olflange.cpp (Install): Improve version check.
* src/revert.cpp, revert.h: New.
* src/mapihelp.cpp (mapi_attachment_to_body): New.
(mapi_get_old_message_class): New.
(mapi_change_message_class): Do not release newvalue when saving
the old class.
* src/olflange.cpp (parse_version_number, parse_version_string)
(compare_versions, gpgol_check_version): New.
* src/ext-commands.cpp (DoCommand): Support a "revert message class"
debug command.
2008-06-27 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (get_gpgololdmsgclass_tag): New.
(mapi_change_message_class): Save old message class.
2008-06-19 Werner Koch <wk@g10code.com>
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Change S/MIME enabled
message icon.
* src/olflange.cpp (GpgolExt): Ditto for the new version installed
notice.
2008-06-12 Werner Koch <wk@g10code.com>
* src/dialogs.rc: Add button for calling the engine's configuration.
* src/dialogs.h (IDC_GPG_CONF): New.
* src/engine.c (engine_start_confdialog): New.
* src/engine-assuan.c (op_assuan_start_confdialog): New.
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Act upon the button.
* src/mapihelp.cpp (mapi_get_from_address): New.
* src/engine.c (engine_decrypt_start, engine_verify_start): Add new
arg FROM_ADDRESS.
* src/engine-assuan.c (op_assuan_verify, op_assuan_decrypt): Ditto.
* src/mimeparser.c (mime_verify, mime_verify_opaque, mime_decrypt):
Pass FROM_ADDRESS to the backend.
* src/olflange.cpp (DllUnregisterServer): Delete CLSIDs.
2008-06-05 Werner Koch <wk@g10code.com>
* src/mimeparser.c (mime_decrypt): Set session number and title.
(mime_verify_opaque, mime_verify): Ditto.
* src/mapihelp.cpp (mapi_get_subject): New.
* src/engine.c (engine_set_session_number, engine_set_session_title)
(engine_set_sender_address): New.
(struct engine_filter_s): Add fields session_number, session_title
and sender_address.
(engine_private_get_session_number): New.
(engine_private_get_session_title): New.
(release_filter): Release them.
(engine_new_session_number): New.
* src/engine-assuan.c (send_session_info): New
(op_assuan_decrypt, op_assuan_verify): Call it.
(op_assuan_sign): Use the end-of-option option for the SENDER command.
2008-05-28 Werner Koch <wk@g10code.com>
* src/dialogs.h (IDC_BODY_AS_ATTACHMENT): New.
* src/dialogs.rc: Add body-as-attachemnt checkbox to the otpion
dialog.
* src/olflange-dlgs.cpp (set_labels, GPGOptionsDlgProc): Add it.
* src/main.c (write_options, read_options): Handle bodyAsAttachment
registry key.
* src/mimeparser.c (start_attachment): Do not set the hidden flag if
the new option is used.
* src/mapihelp.cpp (mapi_test_attach_hidden): New.
(mapi_get_gpgol_body_attachment): Make use of that flag.
2008-05-23 Werner Koch <wk@g10code.com>
* src/mimemaker.c (struct sink_s): Add field ENC_COUNTER.
(write_buffer_for_cb): Update that.
(mime_encrypt): Bail out if no data has been encrypted.
(mime_sign_encrypt): Ditto.
2008-05-07 Werner Koch <wk@g10code.com>
* src/mimeparser.c (t2body): Fix last change.
2008-05-02 Werner Koch <wk@g10code.com>
* src/mimeparser.c (t2body): Detect non-inline text parts.
* src/rfc822parse.c (rfc822parse_query_parameter): Add special mode
for an ATTR of NULL.
2008-04-16 Werner Koch <wk@g10code.com>
* src/message-events.h (class GpgolMessageEvents): Add M_GOTINSPECTOR.
* src/message.cpp (message_incoming_handler): Change return type.
* src/ext-commands.cpp (check_toolbar, check_menu_toolbar): New.
(update_protocol_menu): Explicitly update the toolbar.
2008-04-15 Werner Koch <wk@g10code.com>
* src/Outlook.gpl: New.
2008-04-14 Werner Koch <wk@g10code.com>
* src/display.cpp (is_inspector_display): New.
(find_message_window): Rewrote.
* src/message-events.cpp (OnRead): Use it.
* src/message.cpp (message_incoming_handler): Add arg FORCE.
* src/message-events.cpp (OnRead): Pass false for FORCE.
* src/item-events.cpp (OnOpen): Ditto.
* src/ext-commands.cpp (DoCommand): Let CmdCryptoState process and
display the current message again.
(GpgolExtCommands): Remove m_nCmdCheckSig and m_nCmdDecrypt.
2008-04-10 Werner Koch <wk@g10code.com>
* src/ol-ext-callback.cpp (is_preview_pane_visible)
(show_preview_pane): New.
* src/display.cpp (update_display): Add arg IS_SENSITIVE and do not
use the OOM method if this is set.
* src/mapihelp.h (mapi_save_changes): New. Use if everywhere.
(mapi_delete_body_props): Use it to delete body parts.
* src/mapihelp.cpp (mapi_do_save_changes): New.
* src/mimemaker.c (finalize_message): Do no delete body parts because
mapi_save_changes does this now.
* src/mimeparser.c (finish_message): Remove the body property in
protect mode.
2008-04-04 Werner Koch <wk@g10code.com>
* src/engine-assuan.c (worker_start_read, worker_check_read): Factor
common code out to ..
(write_to_callback): .. new.
(async_worker_thread): Better comments and minor changes.
(enqueue_callback): Add arg INACTIVE.
(set_items_active): New.
(start_command): Set items active.
(op_assuan_encrypt): Create input and output items as inactive.
(async_worker_thread): Handle the inactive flag.
* src/common.c (gpgol_spawn_detached): Do not inherit handles.
2008-04-02 Werner Koch <wk@g10code.com>
* src/engine-assuan.c (destroy_command): Add arg FORCE.
(op_assuan_encrypt_bottom): Call destroy_command.
* src/mimeparser.c (struct mime_context): Use parser_error to return
gpg error codes.
* src/main.c (read_options): Allow names for debug flags.
* src/common.c (trim_spaces): New.
2008-03-31 Werner Koch <wk@g10code.com>
* src/engine-assuan.c (struct work_item_s): Add SWITCH_COUNTER.
(switch_threads, clear_switch_threads): New.
(worker_start_write): Use it.
* src/engine.c (struct engine_filter_s): Add SWITCH_COUNTER.
(switch_threads, clear_switch_threads): New.
(filter_gpgme_read_cb): Use it.
* src/ext-commands.h (class GpgolExtCommands): Add m_nCmdCryptoState.
* src/ext-commands.cpp (InstallCommands): Add a toolbar crypto state
button.
(DoCommand): Show a message when trying to select the disabled
S/MIME protocol.
* src/message.cpp (message_sign, message_verify, message_decrypt)
(sign_encrypt): Display message boxes only in debug mode.
* src/olflange-dlgs.cpp: Remove G-Data 2001 copyright because all that
old code has gone.
* src/dialogs.rc (IDD_EXT_OPTIONS): Remove option to select the key
manager.
(IDD_GPG_OPTIONS): Remove caching time, reorder options, add group
boxes.
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Clean up accordingly.
* src/config-dialog.c (config_dlg_proc): Ditto.
(get_open_file_name, does_file_exist, error_box): Remove.
* src/ext-commands.cpp: Rename nCmdShowInfo to nCmdDebug0 and enable
it only in debug mode.
2008-03-26 Werner Koch <wk@g10code.com>
* src/engine-gpgme.c (cleanup): Implement.
(op_gpgme_init): Save thread handle.
(waiter_thread): Check shutdown flags.
* src/engine-assuan.c (get_uiserver_name): Fallback to GPA.
2008-03-19 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (mapi_change_message_class): Look into
multipart/mixed for PGP messages.
* src/mapihelp.cpp (mapi_get_attach): Add arg UNPROTECT and changed
all callers.
* src/common.h (DBG_MIME_PARSER, DBG_MIME_DATA): New.
* src/mimeparser.c (debug_mime_parser, debug_mime_data): New to
replace DEBUG_PARSER.
(struct mime_context): Add field is_opaque_signed.
(t2body): Set it.
(mime_decrypt): Handle an embedded opaque signed S/MIME part.
(mime_verify_opaque): Add arg INBUFER, INBUFFERLEN and
START_PART_COUNTER.
2008-03-18 Werner Koch <wk@g10code.com>
* src/mimeparser.c (message_cb): Clear all mimestruct fields. Fixes
segv introduced 2008-03-07.
* src/engine-assuan.c (async_worker_thread): Handle broken pipe.
2008-03-13 Werner Koch <wk@g10code.com>
* src/mimeparser.c (message_cb): Skip the OPEN event in non-MIME mode.
* src/rfc822parse.c (rfc822parse_open): Reset ERRNO.
2008-03-11 Werner Koch <wk@g10code.com>
* src/engine-assuan.c (op_assuan_encrypt): Factor some code out to ..
(op_assuan_encrypt_bottom): .. new.
(engine_assuan_encstate_s): New.
* src/engine.c (engine_encrypt_start): Split some code into ..
(engine_encrypt_prepare): .. new.
(engine_cancel): Cancel prepared encryption.
* src/mimemaker.c (mime_encrypt): Use engine_encrypt_prepare and
_start.
(mime_sign_encrypt): Likewise, but do the _start only after
completing the signing.
2008-03-10 Werner Koch <wk@g10code.com>
* src/engine.c (FILTER_BUFFER_SIZE): Increase to 4k.
(engine_filter, engine_wait, engine_wait): Replace Sleep by
SwitchToThread.
* src/engine-assuan.c (struct work_item_s): Increase buffer to 1k.
(worker_start_write, async_worker_thread): Replace Sleep by
SwitchToThread.
2008-03-07 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (mapi_get_sender): New.
* src/mymapitags.h (PR_PRIMARY_SEND_ACCT): New.
* src/mimemaker.c (do_mime_sign): Pass the sender to the engine.
* src/common.h (opt): Add field SVN_REVISION.
* src/main.c (read_options, write_options): Set it.
* src/olflange.cpp (GpgolExt): Print a warning on program update.
* src/engine.c (struct engine_filter_s): Add field ADD_EXTRA_LF.
(engine_request_exra_lf): New.
(engine_wait): Implement that.
* src/mimeparser.c (mime_decrypt): Add arg SIMPLE_PGP and call
engine_request_exra_lf.
(struct mime_context): Add field NO_MAIL_HEADER.
(message_cb): Implement it.
* src/message.cpp (message_decrypt): Set that flag for old style PGP.
* src/common.h (DBG_COMMANDS, debug_commands): New.
* src/ext-commands.cpp: Use it.
2008-03-06 Werner Koch <wk@g10code.com>
* src/mimemaker.c (do_mime_sign): Figure out the protocol to use.
* src/engine.c (engine_sign_start): Add new args SENDER and R_PROTOCOL.
* src/engine-assuan.c (op_assuan_sign): Ditto. Send SENDER command.
2008-03-05 Werner Koch <wk@g10code.com>
* src/main.c (read_options): Insert the debug registry key.
(write_options): More debug output.
2008-02-28 Werner Koch <wk@g10code.com>
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Fix initial setting of
openpgp and smime state. I wish C would haved used := for
assignments.
2008-02-26 Werner Koch <wk@g10code.com>
* src/common.c (qp_decode): Add arg S_LBRK.
* src/mimeparser.c (plaintext_handler, ciphertext_handler): Handle
soft line breaks.
* src/mapihelp.cpp (mapi_change_message_class): Handle opaque S/MIME
messages without an smime-type parameter.
2008-02-25 Werner Koch <wk@g10code.com>
* src/message.cpp (message_verify): Show message boxes for non-signed
messages.
(message_decrypt): Likewise.
2008-02-19 Marcus Brinkmann <marcus@g10code.de>
* src/engine-assuan.c (get_uiserver_name): Change default uiserver
path and remove work-around.
2008-02-18 Werner Koch <wk@g10code.com>
* src/message.cpp (pgp_body_to_attachment): New.
(message_decrypt): Use it.
(message_wipe_body_cruft): Also wipe already processed PGP
encrypted messages. Factor common code out to ...
(do_wipe_body): .. new.
* src/mapihelp.h (ATTACHTYPE_PGPBODY): New.
2008-02-15 Werner Koch <wk@g10code.com>
* src/olflange-dlgs.cpp: Remove code for IDC_ENCRYPT_WITH_STANDARD_KEY
and IDC_ENCRYPT_TO.
* src/dialogs.rc: Ditto.
2008-02-13 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (get_gpgolcharset_tag, mapi_get_gpgol_charset)
(mapi_set_gpgol_charset): New.
(mapi_get_gpgol_body_attachment): Transcode from Latin-1.
* src/mimeparser.c (start_attachment): Set the charset property.
(struct mime_context): Remove is_utf8 field.
2008-02-11 Werner Koch <wk@g10code.com>
* src/common.h (tlvinfo_t): New.
* src/common.c (parse_tlv): New. Based on code from libksba.
* src/mapihelp.cpp (has_smime_filename): New.
(is_really_cms_encrypted): New.
(mapi_change_message_class): Use this here to work around a
CryptoEx bug.
2008-02-08 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (mapi_change_message_class): Improve detecion of
CryptoEx messages.
2008-02-07 Werner Koch <wk@g10code.com>
* src/engine.c (engine_verify_start): Enable opaque signature for the
assuan backend.
* src/engine-assuan.c (op_assuan_verify): New arg OUTDATA. Add
support for opaque signatures.
* src/mimeparser.c (mime_verify_opaque): New.
* src/message.cpp (message_verify): Handle opaque signed S/MIME.
* src/message.cpp (message_wipe_body_cruft): Delete only encrypted
messages.
2008-02-06 Werner Koch <wk@g10code.com>
* src/mimeparser.c (mime_decrypt): New arg IS_RFC822.
* src/message.cpp (message_decrypt): Add code to see whether to use
the new arg.
2008-02-01 Werner Koch <wk@g10code.com>
* src/mimeparser.c (ciphertext_handler, ciphermessage_cb)
(ciphermessage_t2body): New.
(mime_decrypt): Use an rfc822 parser to pass the message to the
engine.
* src/mapihelp.cpp (mapi_get_attach_as_stream): Add arg R_ATTACH.
(mapi_set_attach_hidden): New.
2008-01-31 Werner Koch <wk@g10code.com>
* src/message.cpp (message_verify): Check that the body attachment is
available before shortcutting the verification.
* src/user-events.cpp (OnSelectionChange): Change SMIME message
class.
* src/mapihelp.cpp (mapi_change_message_class): Add arg
SYNC_OVERRIDE. Changed all callers to pass false.
(mapi_test_sig_status): Take care of sent messages.
(mapi_get_gpgol_body_attachment): Change args to allow use as
testing fucntion too. Adjusted caller.
2008-01-29 Werner Koch <wk@g10code.com>
* src/mimemaker.c (do_mime_sign): Set CTE for SMIME.
(delete_all_attachments): Remove extra semicolon accidently
inserted with revision 916.
2008-01-18 Marcus Brinkmann <marcus@g10code.de>
* src/mimeparser.c (mime_verify): New variable sig_len, and pass it on
to engine_verify_start.
* src/engine.h (engine_verify_start): Add new argument sig_len.
* src/engine.c (engine_verify_start): Add new argument sig_len and
pass it on to op_assuan_verify and op_gpgme_verify.
* src/engine-assuan.h (op_asssuan_verify): Add new argument sig_len.
* src/engine-gpgme.c (op_gpgme_verify): New argument sig_len and use
it instead of string length of signature.
* src/engine-assuan.c (op_assuan_verify): Likewise.
2008-01-11 Werner Koch <wk@g10code.com>
* src/mimemaker.c (finalize_message): Add args PROTOCOL and ENCRYPT
and use them to set the override message class.
(mime_sign, mime_encrypt, mime_sign_encrypt): Pass this info via
the new args.
(do_mime_sign): Set micalg to sha1 for CMS.
* src/message.cpp (message_decrypt): Add hack fro seldgenerated
messages.
2008-01-10 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (get_gpgolmsgclass_tag, mapi_set_gpgol_msg_class):
New.
(mapi_change_message_class, mapi_get_message_type): Try override
first.
* src/message.cpp (message_incoming_handler): Remove arg MSGTYE and
let the function retrieve it. Changed all callers. Retry after a
sucessful message class change.
* src/olflange.cpp (getMsgtype): Remove. The caching might lead to
problems and makes it all more complex. Changed all callers to
use mapi_get_message_type.
* src/mimemaker.c (create_top_encryption_header) <SMIME>: Write empty
line after header.
2008-01-09 Werner Koch <wk@g10code.com>
* src/mimeparser.c (finish_saved_body): New.
(finish_attachment): Keep the body attachment open.
(mime_decrypt, mime_verify): Close the saved body data.
(t2body): Continue body attachments.
* src/message.cpp (message_verify): Save changes.
* src/mapihelp.cpp (mapi_change_message_class): Handle case of
PGP/MIME signed with IPM.Note. Save only of really needed, use
FORCE_SAVE and keep it open for read and write.
2008-01-07 Marcus Brinkmann <marcus@g10code.de>
* src/engine-assuan.c (replace_dollar_s): Remove obsolete function.
(get_quoted_socket_name): Remove obsolete function.
(get_uiserver_name): Invoke GUI server with --daemon. Fix buglet
in assignment.
(destroy_command): Change return type to void to suppress compiler
warning.
2008-01-04 Werner Koch <wk@g10code.com>
* src/engine-assuan.c (send_options): Call AllowSetForegroundWindow.
* src/main.c (read_options): Allo other values than 1 for enableDebug.
* src/common.h (DBG_IOWORKER, DBG_IOWORKER_EXTRA, DBG_FILTER)
(DBG_FILTER): New.
* src/engine.c (debug_filter): Turn it into a macro.
(debug_filter_extra): New macro, used instead of checking the
value of debug_filter.
* src/engine-assuan.c (debug_ioworker, debug_ioworker_extra): new.
Use them all over the file to enable debugging.
* src/engine.c (engine_encrypt_start): Add arg HWND.
(engine_sign_start, engine_decrypt_start, engine_verify_start)
(engine_start_keymanager): Ditto.
* src/mimemaker.c (mime_encrypt, mime_sign_encrypt, mime_sign)
(do_mime_sign): Add arg HWND and pass it to the engine.
* src/mimeparser.c (mime_verify, mime_decrypt): Pass HWND.
* src/message.cpp (message_sign, sign_encrypt): Pass HWND.
(message_incoming_handler, message_verify, message_decrypt): Add
arg HWND and pass it on.
* src/message-events.cpp (OnRead): Pass HWND to message function.
* src/ext-commands.cpp (DoCommand): Ditto.
2008-01-03 Werner Koch <wk@g10code.com>
* src/mimemaker.c (mime_sign_encrypt): Fix result test of do_mime_sign.
(write_tempsign_attachment): Remove.
(do_mime_sign): Change last ark to a sink_t.
(mime_sign_encrypt): Rework to use a temporary stream instead of a
temporary attachment.
(create_mapi_attachment): Remove arg TEMPSIGN.
2007-12-18 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (get_msgcls_from_pgp_lines): Limit check to the
first 1 k and stop testing after the first PGP armor line.
(mapi_get_message_type): Return MSGTYPE_SMIME.
(mapi_change_message_class): Take care of CryptoEx signatures.
* src/mapihelp.h (MSGTYPE_SMIME): New.
* src/message.cpp (message_incoming_handler): Check message class for
unknown and unchecked messages. Take care MSGTYPE_SMIME.
* src/ext-commands.cpp (DoCommand): Add debug command change
message class.
2007-12-07 Werner Koch <wk@g10code.com>
* src/ext-commands.cpp (InstallCommands): Removed toolbar button fro
decrypt as this is not anymore needed. Fixes bug#860.
(QueryHelpText): Ditto.
2007-11-12 Werner Koch <wk@g10code.com>
* src/olflange.h (class GpgolExt): Rename m_gpgSelectSmime to
m_protoSelection.
* src/message-events.cpp (OnWriteComplete): Use it accordingly.
* src/main.c (write_options, read_options): Load and save it.
* src/dialogs.rc: Add new check box for OpenPGP default protocol.
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Adjust for above chnages.
2007-11-09 Werner Koch <wk@g10code.com>
* src/main.c (read_options): New option ENABLE_DEBUG to be enabled
only using the Registry.
(read_options): Show warning for certain option combinations.
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Hide the Advanced options
button unless in debug mode.
* src/mapihelp.cpp (get_gpgollastdecrypted_tag): New.
(mapi_test_last_decrypted): New.
(mapi_has_last_decrypted): new.
* src/mimeparser.c (finish_message): Update the Last Decrypted property.
* src/message.cpp (message_decrypt): Use it here.
(message_wipe_body_cruft): New.
* src/main.c (do_log_window_hierarchy): Factor some code out to ..
(do_log_window_info): .. this.
(log_window_hierarchy): Log parent window info.
(get_64bit_session_marker): New.
(initialize_session_key): Init session marker.
* src/Makefile.am (gpgol_SOURCES): Remove item-events.cpp
* src/olflange.cpp (GpgolExt): Disable the GpgOLItemEvents as they can
only be used with the undocumented ECF file.
2007-10-29 Werner Koch <wk@g10code.com>
* src/mimemaker.c (create_top_signing_header): Add arg FIRST.
(mime_sign): Factor allmost all code out to ..
(do_mime_sign): .. new function.
(create_mapi_attachment): Add arg TEMPSIGN.
(delete_all_attachments): Adjust for that.
(mime_encrypt): Factor some code out to ..
(create_top_encryption_header): .. new.
(write_tempsign_attachment): New.
(mime_sign_encrypt): Implement.
2007-10-22 Werner Koch <wk@g10code.com>
* src/engine-assuan.c (connect_uiserver): Try to start the server.
(get_uiserver_name, replace_dollar_s, get_quoted_socket_name): New.
* src/main.c (REGKEY): Remove.
* src/common.h (GNUPG_REGKEY): New.
* src/common.c (default_homedir): Use it in place of a hard coded one.
(get_locale_dir): Ditto.
(gpgol_spawn_detached): New.
2007-10-18 Werner Koch <wk@g10code.com>
* src/common.c (get_system_check_bitmap): New.
* src/decrypt.bmp, encrypt.bmp, sign.bmp, key_mana.bmp: Change
background color to pink and voila Outlook presents them
transparent.
* src/logo.bmp: Cleaned up to use just one color.
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Do not use LoadImage.
2007-10-16 Werner Koch <wk@g10code.com>
* src/myexchext.h (EECMDID_): Add a few more of these constants.
* src/ext-commands.cpp (check_menu): New.
(toolbar_add_menu): Rename to ..
(add_menu): .. this.
(toolbar_from_tbe): Remove.
(add_toolbar): New.
(InstallCommands): Use new toolbar helper.
(QueryButtonInfo): Changed to use new toolbar helper.
(~GpgolExtCommands): New.
* src/engine.c (engine_encrypt_start): Add arg R_PROTOCOL.
* src/engine-assuan.c (op_assuan_encrypt): Add arg R_USED_PROTOCOL and
ask the server for it.
* src/mimemaker.c (sink_encryption_write_b64): New.
(mime_encrypt): Add S/MIME support.
2007-10-15 Werner Koch <wk@g10code.com>
* src/engine-assuan.c (op_assuan_start_keymanager): New.
* src/engine.c (engine_start_keymanager): New.
* src/ext-commands.cpp (DoCommand): Call it.
2007-10-12 Werner Koch <wk@g10code.com>
* src/gpgol-rsrcs.rc: Remove.
* src/dialogs.rc: Renamed from olflange-rsrcs.rc.
* src/dialogs.h: Rename for olflange-ids.h. Changed all includers.
* src/Makefile.am: Adjust accordingly.
* src/verify-dialog.c (verify_dialog_box): Do not distinguish
languages.
(verify_dlg_set_labels): New.
(verify_dlg_proc): Call it.
* src/passphrase-dialog.c (passphrase_callback_box): Do not
distinguish languages.
(decrypt_key_dlg_set_labels): New.
(decrypt_key_dlg_proc): Call it.
(decrypt_key_ext_dlg_set_labels): New.
(decrypt_key_ext_dlg_proc): Call it.
* src/recipient-dialog.c (recipient_dialog_box): Do not distinguish
languages.
(recipient_dialog_box2): Ditto.
(recipient_dlg_set_labels): New.
(recipient_dlg_proc): Call it.
2007-10-11 Werner Koch <wk@g10code.com>
* src/ext-commands.cpp (toolbar_add_menu): USe "@" to indicate a
separator and "" to ski the entry. Changed callers.
* src/common.h (struct): Remove AUTO_SIGN_ATTACH. Add ENABLE_SMIME.
* src/main.c (read_options, write_options): Save the new option.
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Implement new option and
print warning.
* src/mapihelp.cpp (mapi_change_message_class): Take care of
enable_smime.
* src/olflange-ids.h: Renumbered.
* src/olflange-rsrcs.rc: Keep only the english dialog and changed all
text to dummy texts.
* src/olflange-dlgs.cpp (set_labels): New.
(GPGOptionsDlgProc): Call it.
* src/property-sheets.cpp (GetPages): Do not distinguish languages.
* src/config-dialog.c (config_dialog_box): Ditto.
(config_dlg_set_labels): New.
* src/gpgol-rsrcs.rc (IDD_OPT): Move to olflange-rsrcs.rc and rename
to IDD_EXT_OPTIONS.
(IDD_OPT_DE): Remove.
2007-10-10 Werner Koch <wk@g10code.com>
* src/main.c (read_options): Remove saveDecryptedAttachment. Add
smimeDefault.
2007-10-08 Werner Koch <wk@g10code.com>
* src/main.c (do_log): Remove trailing LF from w32 error message and
also print the numeric error code.
2007-09-25 Werner Koch <wk@g10code.com>
* src/Makefile.am (gpgol_LDADD): Link against libassuan.
* src/util.h (DIM, DIMof): New.
* src/engine.c (filter_gpgme_read_cb): Implement nonblock feature.
(filter_gpgme_write_cb): Ditto.
2007-09-24 Werner Koch <wk@g10code.com>
* src/common.c (standard_homedir, default_homedir): New.
(w32_shgetfolderpath): Make static.
2007-09-21 Werner Koch <wk@g10code.com>
* src/mimeparser.c (build_mimeinfo): New.
(finish_message): Store the mime structure.
* src/mapihelp.cpp (mapi_get_message_class): New.
(mapi_get_sig_status): New.
(get_gpgolprotectiv_tag, get_gpgolsigstatus_tag)
(get_gpgolattachtype_tag): Factored code out to ...
(create_gpgol_tag): .. New.
(get_gpgolmimeinfo_tag): New.
(mapi_get_mime_info): New.
2007-09-20 Werner Koch <wk@g10code.com>
* src/user-events.cpp, user-events.h: New.
* src/olflange.h (class GpgolExt): Add member for it.
* src/olflange.cpp (QueryInterface): Hook it in.
2007-09-19 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (mapi_has_sig_status): Return true if any sig
status is present.
(mapi_test_sig_status): New. Take semantics of the former
mapi_has_sig_status. Changed all callers.
(mapi_change_message_class): Set sign status to n/a for other
message classed.
* src/mimemaker.c (finalize_message): Mark created messages.
(write_buffer_for_cb): Rename from write_buffer_voidarg and return
number of bytes written.
(collect_signature): Return number of bytes written.
* src/mapihelp.h (struct mapi_attach_item_s): New member
PRIVATE_MAPITABLE.
* src/mapihelp.cpp (mapi_create_attach_table)
(mapi_release_attach_table): Keep the mapi table oben and put
PR_ATATCH_NUM into the MAPIPOS member.
(mapi_get_gpgol_body_attachment): Use PR_ATATCH_NUM.
* src/mimeparser.c (finish_message): New.
(mime_decrypt, mime_verify): Call it.
2007-09-17 Werner Koch <wk@g10code.com>
* src/olflange.cpp: Print gpgme version.
2007-09-14 Werner Koch <wk@g10code.com>
* src/engine-gpgme.c: Rewrote most of it.
2007-09-13 Werner Koch <wk@g10code.com>
* src/common.c (xrealloc): New.
2007-09-11 Werner Koch <wk@g10code.com>
* src/engine-gpgme.c (op_encrypt_data): New.
2007-09-08 Werner Koch <wk@g10code.com>
* src/engine.c: New.
* src/engine.h: Rewrite. Factor existing stuff out to ..
* src/engine-gpgme.h: .. new.
* src/engine-assuan.h, engine-assuan.c: New.
2007-09-07 Werner Koch <wk@g10code.com>
* src/common.c (qp_decode): Handle softe line breaks.
2007-09-06 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (mapi_get_body): New.
* src/mimeparser.c (protocol_t): Move to .. common.h.
2007-09-05 Werner Koch <wk@g10code.com>
* src/mimemaker.c, mimemaker.h: New.
2007-08-31 Werner Koch <wk@g10code.com>
* src/mapihelp.cpp (mapi_set_header): New.
* src/message.cpp (pgp_mime_from_clearsigned): New.
(message_verify): Use it.
* src/main.c: Call srand ().
* src/util.h (trailing_ws_p): New.
* src/common.c (generate_boundary): New.
2007-08-30 Werner Koch <wk@g10code.com>
* src/message-events.h (class GpgolMessageEvents): Rename M_IS_SMIME
to M_PROCESSED.
* src/message-events.cpp (OnRead, OnReadComplete): Ditto.
(OnReadComplete): Remove preview decryption stuff.
(OnWriteComplete): Remove GpgMsg based code.
* src/ext-commands.cpp (DoCommand): Ditto
(InstallCommands): Do not init the watcher.
* src/olflange.cpp (GpgolExt): Do not init the watcher.
(GpgolExt): Do not clanup the watcher.
* src/main.c (DllMain): Ditto.
* src/gpgmsg.cpp, gpgmsg.hh: Remove.
* src/watcher.cpp: Remove
* src/pgpmime.c, pgpmime.h: Remove.
* src/mapihelp.h (MSGTYPE_GPGOL_CLEAR_SIGNED)
(MSGTYPE_GPGOL_PGP_MESSAGE): New.
* src/mapihelp.cpp (mapi_get_message_type): Map them.
(get_msgcls_from_pgp_lines): New.
(mapi_change_message_class): Detect old old style PGP messages.
(mapi_get_body_as_stream): New.
* src/message.cpp (message_verify, message_decrypt): Handle them.
* src/message-events.cpp (OnRead): Ditto.
2007-08-29 Werner Koch <wk@g10code.com>
* src/ext-commands.h (class GpgolExtCommands): Add members
M_NCMDKEYMANAGER and M_NCMDDECRYPT.
* src/ext-commands.cpp (GpgolExtCommands): Initialize it.
(InstallCommands): Use them here instead of reusing another variable.
(DoCommand, Help, QueryHelpText, QueryButtonInfo): Restructured
for better readibility.
2007-08-21 Werner Koch <wk@g10code.com>
* src/w32-gettext.c (SUBLANG_BENGALI_BANGLADESH): Fix to 2 as per MSDN.
(SUBLANG_PUNJABI_PAKISTAN): Remove as it is not in MSDN.
(SUBLANG_ROMANIAN_MOLDOVA): Remove as it is not in MSDN.
(SUBLANG_ROMANIAN_ROMANIA): Change to value 1 as per MSDN.
2007-08-13 Marcus Brinkmann <marcus@g10code.de>
* src/Makefile.am (gpgol_SOURCES): Add common.h.
2007-08-06 Werner Koch <wk@g10code.com>
Lots of changes to support S/MIME and to revamp most of the old
code. More changes to follow. The list of changes below is not
complete as it does not identfy all newly written code.
* src/mimeparser.c: New. Based on pgpmime.c
* src/display.cpp (update_display): Removed unused arg MSG.
(update_display): Set the body to an empty string even if it is
not HTML.
* src/olflange.cpp (Install): Print OL version only once.
* src/verify-dialog.c (verify_dialog_box): Add arg PROTOCOL.
(load_sigbox): Ditto.
(verify_dlg_proc): Changed title acccording to used protocol.
* src/Makefile.am (gpgol_LDADD): Add libadvapi due to our use of
CryptGenRandom.
* src/main.c (get_crypt_random, initialize_session_key): New.
(DllMain): Initialize the session key.
(get_128bit_session_key, create_initialization_vector): New.
* src/serpent.c: New. Taken from libgcrypt 1.3.0 and stripped down to
fit our needs. Add CFB encryption API.
* src/serpent.h: New.
* src/mapihelp.cpp (mapi_mark_moss_attach): New.
* src/mymapitags.h (PR_ATTACHMENT_HIDDEN): New.
* src/display.cpp (open_inspector): New.
* src/mapihelp.cpp (mapi_get_binary_prop): New.
* src/engine-gpgme.c (op_verify_detached_sig_gpgme): Add arg
PROTOCOL. Changed all callers to pass the OPENPGP protocol.
* src/common.c (b64_decode): Renamed from base64_decode and use new
type for the context.
(b64_init): New.
* src/pgpmime.c (qp_decode, base64_decode): Move to common.c and make
public.
* src/common.h (STRICT): Remove.
* src/intern.h: Rename to common.h.
2007-07-20 Werner Koch <wk@g10code.com>
* src/myexchext.h (IOutlookExtItemEvents.): New.
* src/item-events.h, item-events.cpp: New.
* src/olflange.cpp (GpgolExt, QueryInterface): Hook it in.
2007-07-19 Werner Koch <wk@g10code.com>
* src/attached-file-events.cpp: Renamed from attach.c.
* src/attached-file-events.h: Renamed from attach.h. Removed some
inlines to the impl file.
* src/Makefile.am (gpgol_LDADD): Add libole32.
2007-07-18 Werner Koch <wk@g10code.com>
* src/mapihelp.c (log_mapi_property): Support STRIGN8 and UNICODE.
* src/myexchext.h (IExchExtUserEvents, IExchExtSessionEvents): New
declarations.
* src/session-events.cpp, session-events.h: New.
* src/olflange.cpp (GpgolExt, QueryInterface): Hook session-events in.
* src/olflange.cpp (DllRegisterServer): Register only for interfaces
we really use.
(ext_context_name): New. Factored out from several places.
(Install): Initialize for Session context.
Renamed all CGPGExchExt* src/classes to Gpgol*.
* src/olflange.h, olflange.cpp: Factor most code out to ..
* src/ext-commands.cpp, ext-commands.h, message-events.cpp
* src/message-events.h, property-sheets.cpp, property-sheets.h
* src/ol-ext-callback.cpp, ol-ext-callback.h: .. New.
2007-07-17 Werner Koch <wk@g10code.com>
* src/Makefile.am (gpgol_LDADD): Add ws2_32.
* src/main.c (log_window_hierarchy, do_log_window_hierarchy): New.
* src/olflange.cpp (show_window_hierarchy): Replace by
log_window_hierarchy.
(g_initdll): Make static.
(InstallCommands): Factor some code out to ..
(toolbar_from_tbe, toolbar_add_menu): .. new.
* src/mapihelp.c, mapihelp.h: New.
* src/olflange.cpp (show_mapi_property): Factor out to mapihelp.c
and rename to log_mapi_property.
2007-04-10 Werner Koch <wk@g10code.com>
* src/display.cpp (find_message_window): Add arg LEVEL for debugging.
Ignore MsoCommand* src/Windows. Fixes bug 735.
2006-10-14 Timo Schulz <ts@g10code.de>
* src/recipient-dialog.c (lv_get_item_param): New.
(copy_item): Use it here to copy the opaque param.
(recipient_dlg_proc): And here to avoid the hidden column.
(initialize_rsetbox): Localize column names.
* src/olflange.cpp (get_outlook_property): Free returned BSTR.
(InstallCommands): Likewise.
2009-09-06 Timo Schulz <ts@g10code.de>
* src/recipient-dialog.c (recipient_dialog2): Do not free
key array here.
2008-11-14 Werner Koch <wk@g10code.com>
Release 0.10.17.
2008-11-11 Werner Koch <wk@g10code.com>
Release 0.10.16.
2008-10-27 Werner Koch <wk@g10code.com>
* forms/gpgol-cs_de.cfg: New.
2008-08-21 Timo Schulz <ts@g10code.de>
* src/engine-gpgme.c (op_lookup_keys): Only add useable keys
and add all invalid keys to unknown.
* src/recipient-dialog.c (copy_item): Rewritten.
(initialize_keybox): Add comment to clarify use of fnd_keys.
(recipient_dialog_box): Simplified.
(find_item): Support partial search.
2008-08-06 Werner Koch <wk@g10code.com>
Release 0.10.15.
* forms/sign-l.ico, forms/sign-s.ico: New.
* forms/encr-l.ico, forms/encr-s.ico: New
2008-08-04 Werner Koch <wk@g10code.com>
* Makefile.am (SUBDIRS): Add forms.
* forms/Makefile.am: New.
* forms/gpgol_de.cfg, forms/gpgol-ms_de.cfg: New.
2008-06-04 Werner Koch <wk@g10code.com>
* doc/gpgol.texi (Assuan Protocol): Remove protocol specs. They
are now part of the GPGME manual.
2008-05-28 Werner Koch <wk@g10code.com>
* Release 0.10.14.
2008-05-06 Werner Koch <wk@g10code.com>
* Release 0.10.13.
2008-04-16 Werner Koch <wk@g10code.com>
* Release 0.10.12.
2008-04-04 Werner Koch <wk@g10code.com>
* Release 0.10.11.
2008-04-02 Werner Koch <wk@g10code.com>
* Release 0.10.10.
2008-04-01 Werner Koch <wk@g10code.com>
* configure.ac (AC_INIT): Fix quoting.
2008-03-19 Werner Koch <wk@g10code.com>
* Release 0.10.9.
2008-03-18 Werner Koch <wk@g10code.com>
* Release 0.10.8.
2008-03-11 Werner Koch <wk@g10code.com>
* Release 0.10.7.
2008-03-10 Werner Koch <wk@g10code.com>
* Release 0.10.6.
2008-03-07 Werner Koch <wk@g10code.com>
* configure.ac (SVN_REVISION): New AC_DEFINE.
2008-03-06 Werner Koch <wk@g10code.com>
* doc/gpgol.texi (SIGN): Extend the SIGNER command to allow
suggestion of a protocol.
2008-02-18 Werner Koch <wk@g10code.com>
Release 0.10.5 development version.
2008-02-15 Werner Koch <wk@g10code.com>
* po/de.po: Describe more explicit on how to start the UI-server.
2008-02-06 Werner Koch <wk@g10code.com>
Released 0.10.4 development version.
2006-12-13 Werner Koch <wk@g10code.com>
* po/LINGUAS: Added sv.
2007-12-10 Werner Koch <wk@g10code.com>
Released 0.10.3 development version.
2007-11-12 Werner Koch <wk@g10code.com>
Released 0.10.2 development version.
2007-10-22 Werner Koch <wk@g10code.com>
Released 0.10.1 development version.
2007-10-12 Werner Koch <wk@g10code.com>
* po/POTFILES.in: Add more files.
2007-10-11 Werner Koch <wk@g10code.com>
Released 0.10.0 development version.
2007-10-05 Werner Koch <wk@g10code.com>
* doc/: New.
* doc/Makefile.am: New.
* doc/gpgol.texi: New.
* doc/gpl.texi: New.
2007-09-25 Werner Koch <wk@g10code.com>
* configure.ac: Check for libassuan.
2007-09-17 Werner Koch <wk@g10code.com>
* autogen.sh (FORCE): Add --force option.
2007-08-13 Marcus Brinkmann <marcus@g10code.de>
* configure.ac (svn_revision): Update to latest version from gnupg.
2006-12-13 Daniel Nylander <po@danielnylander.se> (wk)
* po/sv.po: New.
2006-10-13 Werner Koch <wk@g10code.com>
Released 0.9.91.
2006-08-28 Werner Koch <wk@g10code.com>
Released 0.9.90.
2006-08-19 Timo Schulz <ts@g10code.de>
* src/olflange-rsrcs.rc: Correct some dialog sizes.
* src/passphrase-dialog.c (decrypt_key_dlg_proc): Automatically
select the secret key if only one is available.
* src/config-dialog.c (GPGOptionsDlgProc): Passphrase cache
time is now requested in minutes but still internally
stored as seconds.
2006-08-15 Timo Schulz <ts@g10code.de>
* src/decrypt.bmp, encrypt.bmp: Restore format.
* src/olflange.cpp (OnWriteComplete): Correct exit code handling.
* src/recipient-dialog.c (initialize_rsetbox): Correct column width.
(recipient_dlg_proc): Do not show the cancel error any longer.
* src/passphrase-dialog.c (decrypt_key_dlg_proc): Likewise.
(decrypt_key_ext_dlg_proc): Ditto.
* src/olgpgcore.def: Deleted unused file.
2006-06-14 Timo Schulz <ts@g10code.com>
* src/gpgol-rscs.rc (IDD_OPT): The English version of the dialog
has no log file item. Add it.
2006-05-22 Timo Schulz <ts@g10code.com>
* src/verify-dialog.c (load_sigbox): A sigsum of 0 also indicates
a valid (good) signature.
2006-04-25 Werner Koch <wk@g10code.com>
Released 0.9.10.
* src/xmalloc.h: New. Moved prototypes from util.h
* src/w32-gettext.h: Include it.
* src/common.c (utf8_to_wincp): Removed and replaced all callers by
utf8_to_native.
* src/common.c (wchar_to_utf8, utf8_to_wchar): Moved to ..
* src/w32-gettext.c: .. here.
(utf8_to_native): Make sure that we always return
a string and never NULL.
(native_to_utf8): New.
(native_to_wchar): New.
* src/gpgmsg.cpp (decrypt): Use native_to_utf8 for i18n strings
expected to be utf-8.
* src/pgpmime.c (pgpmime_decrypt, pgpmime_verify): Ditto.
2006-04-24 Werner Koch <wk@g10code.com>
Released 0.9.9.
* configure.ac: Use M4 macros to get the actual SVN revision.
* src/gpgmsg.cpp (decrypt): New arg INFO_ONLY.
* src/olflange.cpp (OnReadComplete): Add code to call decrypt but with
INFO_ONLY if preview decryption has not been requested.
* src/main.c (read_options): New compatibility option no_preview_info.
* src/gpgmsg.cpp (getRecipients): Don't add the default key here.
(encrypt_and_sign): But do it here.
* src/engine-gpgme.c (op_get_one_key): New.
2006-04-22 Timo Schulz <ts@g10code.com>
* src/common.c (utf8_to_wincp): Corrected utf8 decoding.
* src/passphrase-dialog.c (load_recipbox): Likewise.
* src/olflange-dlg.cpp (GPGOptionsDlgProc): Activate the
'confirm' button when the dialog state has been changed.
* src/olflange-rsrcs.rc (IDD_GPG_OPTIONS_DE): Change description.
2006-03-28 Werner Koch <wk@g10code.com>
* src/olflange-rsrcs.rc (IDD_GPG_OPTIONS_DE): Add new control box.
(IDD_GPG_OPTIONS): Updated to match German version.
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Ditto.
* src/gpgmsg.cpp (decrypt): Implemented PREFER_HTML option.
(get_long_attach_data): New.
2006-03-27 Werner Koch <wk@g10code.com>
* src/engine-gpgme.c (op_verify_detached_sig_gpgme): New.
* src/pgpmime.c (pgpmime_verify): New. First take on a PGP/MIME
signature verification.
* src/gpgmsg.cpp (is_pgpmime): Renamed to is_pgpmime_enc.
(class GpgMsgImpl): Niew members media_type. media_subtype and
ct_protocol.
(get_msg_content_type): New.
(decrypt): Show a warning for PGP/MIME signed messages.
2006-03-26 Werner Koch <wk@g10code.com>
* src/intern.h: New option PREFER_HTML.
* src/main.c (write_options, read_options): Ditto.
2006-03-21 Werner Koch <wk@g10code.com>
Released 0.9.7.
2006-03-20 Werner Koch <wk@g10code.com>
* src/olflange.cpp (Install): Also check major part of build version.
2006-03-17 Timo Schulz <ts@g10code.com>
* src/w32-gettext.c (utf8_to_native): Make it global.
* src/config-dialog.c (get_open_file_name): Make sure the selected
file really exists.
* src/passphrase-dialog.c (decrypt_dlg_proc): UTF8 conversion.
(passphrase_callback_box): Likewise.
* src/recipient-dialog.c (recipient_dlg_proc): Likewise.
* src/verify-dialog.c (load_akalist): Likewise.
(load_sigbox): Likewise.
* src/common.c (utf8_to_wincp): New.
2006-03-15 Werner Koch <wk@g10code.com>
* src/olflange.cpp (Install): Print gpgol version for debugging.
2006-03-14 Timo Schulz <ts@g10code.com>
* src/passphrase-dialog.c (decrypt_dlg_proc): When used
as a signing key selection dialog, use a different title.
* src/gpgol-rsrcs.rc: Use German titles for German dialog versions.
2006-02-23 Werner Koch <wk@g10code.com>
* src/main.c (read_options): Set default caching time to 10 minutes.
2006-01-26 Werner Koch <wk@g10code.com>
Released 0.9.6.
2006-01-16 Werner Koch <wk@g10code.com>
* src/verify-dialog.c (load_sigbox): Give a hint in case of a bad
signature.
* src/gpgol-rsrcs.rc (IDD_ENC_DE): Add an informational header.
2005-12-07 Werner Koch <wk@g10code.com>
Released 0.9.5.
2005-12-07 Werner Koch <wk@g10code.com>
* src/olflange.cpp (Install): Check the version and print a warning.
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Simplified the default
key code.
* src/config-dialog.c (store_config_value): Create key if it does not
exists.
(load_config_value_ext): Removed.
2005-12-06 Werner Koch <wk@g10code.com>
Released 0.9.4.
2005-12-06 Werner Koch <wk@g10code.com>
* src/config-dialog.c (start_key_manager): Don't pass the options to
access.
2005-12-06 Werner Koch <wk@g10code.com>
* src/gpgmsg.cpp (getRecipients): Add the default key to the list of
recipients.
* src/recipient-dialog.c (recipient_dlg_proc): Add the already found
keys to the selected ones.
* src/olflange.cpp (OnWriteComplete): Need to disable the deleting of
HTML bodys.
2005-12-05 Werner Koch <wk@g10code.com>
* src/Makefile.am (gpgol_LDADD): Add -loleaut32.
* src/engine-gpgme.c (op_verify_detached_sig_mem): New.
* src/olflange.cpp (OnWriteComplete): Pass HTML flag to sign call.
(put_outlook_property): Need to use a BSTR for the sake of putting
HTMLBody.
* src/gpgmsg.cpp (sign): Add arg WANT_HTML.
(free_attach_info): New. Use it in the destructor.
(createHtmlAttachment): New.
(encrypt_and_sign, sign): Use it here.
(writeAttestation): Don't write an empty attestation.
2005-12-02 Werner Koch <wk@g10code.com>
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New.
* src/verify-dialog.c (verify_dialog_box): Actually allow for German
dialog.
* src/recipient-dialog.c (recipient_dialog_box)
(recipient_dialog_box2): Ditto.
* src/passphrase-dialog.c (signer_dialog_box)
(passphrase_callback_box): Ditto.
* src/intern.h (struct): New field PREVIEW_DECRYPT. Use it instead os
the old compatibility flags.
* src/main.c (write_options, read_options): Store/load preview decrypt.
* src/config-dialog.c (config_dlg_proc): Removed homedir and gpgbinary
options as they are deprecated. Put logfile entry here.
* src/olflange-dlgs.cpp (GPGOptionsDlgProc): Remove logfile entry. Add
preview-decrypt checkbox.
* src/olflange.cpp (InstallCommands): Remove experimental preview
command.
* src/w32-gettext.c (gettext_localename): New.
* src/config-dialog.c (config_dialog_box): Use it here to match the
gettext behaviour.
(GetPages): Ditto.
2005-12-01 Werner Koch <wk@g10code.com>
* src/engine-gpgme.c (op_decrypt_stream_to_gpgme, decrypt_stream)
(op_decrypt): Add arg PREVIEW_MODE.
* src/pgpmime.c (pgpmime_decrypt): New arg PREVIEW_MODE.
(struct pgpmime_context): New field PREVIEW.
(message_cb, plaintext_handler): Handle preview mode.
* src/gpgmsg.cpp (class GpgMsgImpl): Renamed SILENT to PREVIEW.
(setSilent): Renamed to ..
(setPreview): .. this.
(decrypt): Handle preview mode. Display a string while decrypting
PGP/MIME messages.
* src/display.cpp (update_display): New arg TEXT.
* src/gpgmsg.cpp (class GpgMsgImpl): Removed BODY_PLAIN and BODY.
(getDisplayText): Removed.
(loadBody): Changes to return the allocated body.
(getOrigText): Removed.
(getMessageType): Rewritten to take the body text as argument.
(decrypt): Pass plaintext directly to update_display. Free
plaintext.
(sign, encrypt_and_sign): Likewise.
* src/olflange.cpp (OnWriteComplete): Always delete PR_BODY on error.
2005-11-30 Werner Koch <wk@g10code.com>
* po/de.po: New.
* po/: New; created by autopoint.
* po/Makevars: New.
* m4/Makefile.am: Add new m4 files.
* autogen.sh: Detect gettext.
* configure.ac: Check for gettext.
* src/gpgmsg.cpp: Made more strings translatable.
* src/olflange.cpp: Replaced all LoadStrings by gettext calls.
* src/olflange-ids.h: Removed the IDS_ constants.
* src/olflange-rsrcs.rc: Removed the stringtables.
* src/common.c (get_root_key, read_w32_registry_string): New. Taken
for libgpg-error.
* src/main.c (i18n_init): New.
(DllMain): Call it.
(get_locale_dir, drop_locale_dir): New.
* src/w32-gettext.c, w32-gettext.h: New. Taken form libgpg-error.
Slightly modified due to the fact that gpgol is W32-only.
* src/util.h (_, N_): Define standard i18n macros.
* src/display.cpp (set_message_body): Do not delete a RTF property.
* src/util.h (SRCNAME): New. Changed all __FILE__ to this.
* src/main.c (log_srcname): New.
2005-11-20 Werner Koch <wk@g10code.com>
* src/gpgmsg.cpp (loadBody): For HTML try to read the HTMLBody from
the OOM as a last resort.
* src/olflange.cpp (get_outlook_property): New.
(put_outlook_property_int): New.
2005-11-15 Werner Koch <wk@g10code.com>
* configure.ac (BUILD_TIMESTAMP): Include SVN revision.
(AM_INIT_AUTOMAKE): Fixed invocation.
* src/Makefile.am (gpgol_LDADD): Remove -lintl for now.
* src/olflange.cpp (OnWriteComplete): Make sure that we don't sent out
unencrypted stuff on error.
* src/display.cpp (set_message_body): Add arg IS_HTML.
(update_display): Ditto.
* src/gpgmsg.cpp (loadBody): New arg WANT_HTML.
(getOrigText): Ditto.
* src/olflange.h (class CGPGExchExtMessageEvents): Add M_WANT_HTML.
* src/olflange.cpp (OnWrite): Set it.
(OnWriteComplete): Pass its value to the encrypt functions.
2005-11-10 Werner Koch <wk@g10code.com>
* configure.ac: Use MS style bitfields.
* src/config-dialog.c (start_key_manager): Changed invocation of
default keymanager.
2005-10-21 Marcus Brinkmann <marcus@g10code.de>
* m4/gpg-error.m4: New file.
* configure.ac: Also check for gpg-error.
* src/Makefile.am (libgpgme.a, libgpgme.a): New targets.
(gpgol_DEPENDENCIES): Add libgpgme.a and libgpg-error.a.
(clean-local): Likewise.
(gpgol_LDADD): Link to these local versions statically.
2005-10-20 Marcus Brinkmann <marcus@g10code.de>
* src/mapi32.def: New file.
* src/Makefile.am (gpgol_DEPENDENCIES): New variable.
(libmapi32.a): New target.
(gpgol_LDADD): Replace mapi32.dll with "-L . -lmapi32".
(clean-local): New target.
2005-10-19 Werner Koch <wk@g10code.com>
* src/gpgmsg.cpp (sign, encrypt_and_sign): Don't set the body first to
empty. If this is really required we should do this in
set_message_body.
(sign): Save changes. Set content type to text/plain.
(encrypt_and_sign): Save changes also for empty bodies.
2005-10-06 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Change AC_CONFIG_SRCDIR argument to src/gpgol.def.
2005-10-06 Werner Koch <wk@g10code.com>
* src/gpgmsg.cpp (writeAttestation): Use gpgme_free for BUFFER.
* src/engine-gpgme.c (data_to_file): Ditto.
2005-10-06 Marcus Brinkmann <marcus@g10code.de>
* src/Makefile.am (gpgol_DEPENDENCIES): New variable.
(libmapi32.a): New target.
(gpgol_LDADD): Replace mapi32.dll with "-L . -lmapi32".
* src/Makefile.am (gpgol_LDADD): Prefix gpgol.def and mapi32.dll with
$(srcdir).
* src/Makefile.am (.rc.o): Invoke windres with "-I .".
* src/Makefile.am (.rc.o): Invoke windres with -I $(srcdir).
* src/Makefile.am (gpgol_SOURCES): Add util.h.
2005-09-29 Werner Koch <wk@g10code.com>
Released 0.9.3.
2005-09-29 Werner Koch <wk@g10code.com>
* src/gpgmsg.cpp (encrypt_and_sign): Pass signing key to encryption
function.
* src/passphrase-dialog.c (signer_dialog_box): New arg encrypting.
* src/gpgmsg.cpp (encrypt_and_sign): Set content type.
* src/engine-gpgme.c (op_lookup_keys): Fixed multiple key detection.
2005-09-28 Werner Koch <wk@g10code.com>
* src/olflange.cpp (DoCommand): Catch close command and resend to
avoid the "save changes?".
* src/display.cpp (update_display): Take care of utf-8 issues.
* src/common.c (latin1_to_utf8): New.
* src/pgpmime.c (latin1_data_write): New.
(plaintext_handler): Use it here.
(message_cb): Detect utf-8 encoding.
* src/main.c (read_options): Make sure that compat flags are always
properly initialized.
* src/display.cpp (find_message_window): First try to find the window
by class name.
* src/common.c (wchar_to_utf8_2): New.
2005-09-27 Werner Koch <wk@g10code.com>
* src/pgpmime.c (pgpmime_decrypt): Pass a pseduo filename to the
decryption function.
* src/verify-dialog.c (load_sigbox): Get key direct from gpgme.
* src/passphrase-dialog.c (load_secbox, load_recipbox): Reworked.
(decrypt_key_dlg_proc, decrypt_key_ext_dlg_proc): Reworked.
(count_keys, release_keyarray): New.
(signer_dialog_box, passphrase_callback_box): Adjusted to above
changes.
* src/engine-gpgme.c (op_deinit): Remove keycache cleanup.
* src/Makefile.am (gpgol_SOURCES): Removed keycache.c, keycache.h.
* src/keycache.c, keycache.h: Removed.
* src/recipient-dialog.c (recipient_dialog_box)
(recipient_dialog_box2): Rewritten and changed interface.
(load_rsetbox): Removed keycache stuff and rewrote to make use of
the keyarray.
(copy_item, initialize_keybox, recipient_dlg_proc): Ditto.
(keycache_to_key_array): Removed.
* src/engine-gpgme.c (op_lookup_keys): Rewritten, changed interface.
* src/gpgmsg.cpp (count_recipients): Renamed to ..
(count_strings): .. this.
(count_keys): New.
(free_recipient_array): Renamed to ..
(free_string_array): .. this.
(encrypt_and_sign): Adjusted for changes in op_lookup_keys and
recipient_dialog_box2.
2005-09-26 Werner Koch <wk@g10code.com>
* src/passphrase-dialog.c (get_pubkey_algo_str): Add DSA and old
Elgamal.
* src/gpgmsg.cpp (gatherAttachmentInfo): Ignore attachments we can't
open.
* src/main.c (write_options): Print message on error. Rearranged to
make use of a table for all options.
2005-09-23 Werner Koch <wk@g10code.com>
* src/recipient-dialog.c (recipient_dlg_proc): Removed
IDC_ENC_OPTARMOR stuff; it was not used.
(load_rsetbox): Fixed detection of encryption capability.
* src/gpgol-ids.h, gpgol-rsrcs.rc: Ditto.
2005-09-22 Werner Koch <wk@g10code.com>
Released 0.9.2.
2005-09-22 Werner Koch <wk@g10code.com>
* src/engine-gpgme.c (decrypt_stream): Use gpgme_op_decrypt_verify.
* src/gpgmsg.cpp (gatherAttachmentInfo): Ignore attestations when
checking for pgp/mime.
* src/pgpmime.c (pgpmime_decrypt): Added arg HWND.
(message_cb, plaintext_handler): Write attachments.
* src/pgpmime.c (base64_decode): New.
* src/rfc822parse.c (parse_field): Treat Content-Disposition special.
* src/gpgmsg.cpp (get_save_filename): Moved to ..
* src/common.c (get_save_filename): .. here.
2005-09-20 Timo Schulz <ts@g10code.com>
* src/attach.c: New.
* src/attach.h: New.
* src/olflange.cpp (CGPGExchExt): Allocate class for
attached file events.
(QueryInterface): Return interface pointer for
attached file events.
* src/passphrase-dialog.c (load_secbox): Use new GPGME
interface.
(get_pubkey_algo_str): New.
* src/verify-dialog.c (load_sigbox): Likewise.
* src/recipient-dialog.c (load_recipbox): Likewise.
2005-09-19 Werner Koch <wk@g10code.com>
Released 0.9.1.
2005-09-19 Werner Koch <wk@g10code.com>
* src/msgcache.c (flush_if_needed): New.
(msgcache_put): use it.
* src/intern.h (opt): New compatibility flags AUTO_DECRYPT and
NO_ATTESTATION.
* src/olflange.cpp (InstallCommands): Use watcher stuff only when this
option has been enabled.
* src/gpgmsg.cpp (decrypt): Take care of NO_ATTESTATION.
* src/main.c (DllMain): Removed debug output; this should not be
used before initialization!
* src/watcher.cpp: Include config.h. Removed weird line endings.
* src/gpgmsg.cpp (encrypt_and_sign): Call SaveChanges.
2005-09-15 Timo Schulz <ts@g10code.com>
* src/util.h: Provider watcher prototypes.
* src/watcher.cpp (watcher_init_hook): New.
(watcher_free_hook): New.
(watcher_set_callback_ctx): New.
(cbt_proc): New.
* src/display.cpp (find_message_window): Removed GpgMsg param.
Changed all callers.
2005-09-15 Werner Koch <wk@g10code.com>
* src/olflange.cpp (OnWriteComplete): Take care of EEME_FAILED.
(OnWrite): Check that we are encrypting only plain text messages.
* src/myexchext.h: Add flags used by OnReadComplete.
2005-09-14 Werner Koch <wk@g10code.com>
* src/gpgmsg.cpp (writeAttestation): Add a content type.
(gatherAttachmentInfo): Detect whether we already have an attestation.
(decrypt): Don't create duplicate attestations.
(writeAttestation): Translate LF to CRLF.
2005-09-13 Werner Koch <wk@g10code.com>
* src/pgpmime.c (pgpmime_decrypt): New arg ATTESTATION.
* src/engine-gpgme.c (add_verify_attestation): New.
(op_decrypt, op_verify_detached_sig, op_verify_detached_sig)
(op_verify_detached_sig): Add new arg ATTESTATION. Changed all
callers.
(at_sig_summary, at_sig_validity, add_verify_attestation): New.
The code has been taken and modified from Mutt's crypt-gpgme.c and
entirely been writen by g10 Code.
(at_fingerprint): Ditto.
* src/gpgmsg.cpp (class GpgMsgImpl): New member ATTESTATION. Use it
in all calls to the functions above.
* src/gpgmsg.cpp (decryptAttachment, decrypt): Save plaintext back
into the MAPI if desired.
2004-09-08 Timo Schulz <ts@g10code.com>
* src/passphrase-dialog.c (lod_recipbox): Use gpgme directly
to resolve the keyids to userids.
* src/usermap.c, usermap.h: Removed.
* src/HashTable.cpp, HashTable.h: Removed.
2005-09-07 Timo Schulz <ts@g10code.com>
* src/common.c: Removed unused code.
* src/intern.h: Likewise.
2005-09-07 Timo Schulz <ts@g10code.com>
* src/olflange.cpp (ul_release): New. Wrapper with error checking
around UlRelease.
(InstallCommands): Separate test for type and if string is empty.
2005-09-06 Werner Koch <wk@g10code.com>
* src/engine-gpgme.c (op_decrypt_stream): Factored most code out to ..
(decrypt_stream): .. new.
(op_decrypt_stream_to_buffer): Simplified accordingly. Fixed
possible buffer overflow when trying to make it a string.
(op_decrypt_stream_to_gpgme): New.
* src/pgpmime.c, pgpmime.h: New.
* src/rfc822parse.h, rfc822parse.c: New. Taken from GnuPG 1.9.
2005-09-06 Timo Schulz <ts@g10code.com>
* src/config-dialog.c (get_open_file_name): Correctly terminated filter.
New parameter for the title. Changed all callers.
(get_folder): Likewise.
2005-09-04 Werner Koch <wk@g10code.com>
Released 0.9.0.
2005-09-01 Werner Koch <wk@g10code.com>
* src/gpgmsg.cpp (get_pgp_armor_type): New.
(gatherAttachmentInfo): Enhanced to detect text/plain pgp.
(verify): Removed.
(decrypt): Do clearsig verification here.
* src/gpgmsg.cpp (decrypt): Kludge to workaround OL not updating a
window.
* src/msgcache.c (msgcache_get_from_mapi): New.
* src/display.cpp (find_message_window): Don't use the GpgMsg function
to to the string compare.
* src/gpgmsg.cpp (matchesString): Removed.
* src/msgcache.c (msgcache_set_active): Removed.
(msgcache_get): Rewritten.
(msgcache_put): Now uses PR_CONVERSATION_INDEX as key. Update
existing entries.
* src/olflange.cpp (OnRead): Removed msgcache_set_active.
(InstallCommands): Now uses the ConversationIndex to match the
reply with the message.
2005-08-31 Werner Koch <wk@g10code.com>
* src/olflange.cpp (DllRegisterServer): Define a CLSID and set the
ThreadingModel.
2005-08-30 Werner Koch <wk@g10code.com>
Renamed project from "outlgpg" to "gpgol".
More or less finished this major rewrite.
2005-08-26 Werner Koch <wk@g10code.com>
* src/MapiGPGME.cpp, MapiGPGME.h: Removed.
* src/display.cpp, display.h: New.
2005-08-23 Werner Koch <wk@g10code.com>
* src/msgcache.c, msgcache.h: New.
2005-08-22 Werner Koch <wk@g10code.com>
* src/olflange.cpp: Major cleanups and partly rewrites.
2005-08-18 Werner Koch <wk@g10code.com>
* src/gpgmsg.cpp, gpgmsg.hh: New.
2005-08-17 Werner Koch <wk@g10code.com>
* src/MapiGPGME.cpp (setMessageAccess): Removed as it was only used at
one place.
(setRTFBody): Use the above code here directly..
(setWindow, setMessage): Removed. We can't use that because there
is only one instance of this class.
(decrypt): Add args HWND and MSG. Changed caller.
(getBody): Changed to ..
(get_body): .. plain function and add new arg MSG. Changed all
callers.
(isHtmlMessage): Likewise changed to ..
(is_html_message): .. plain function and add new arg MSG.
(doCmd): Removed.
* src/common.c (utf8_to_wchar): New.
* src/MapiGPGME.cpp (passphraseCallback): Removed.
(getPassphrase, clearPassphrase, storePassphrase): Removed.
(add_html_line_endings): Rewritten.
* src/engine-gpgme.c (op_sign_encrypt_start): Removed because it is
not used anywhere.
(op_sign): Renamed to ..
(do_sign): .. this and made local.
2005-08-16 Werner Koch <wk@g10code.com>
* src/MapiGPGME.cpp (signAttachment): Simplified.
* src/engine-gpgme.c (op_sign_file): Add arg TTL.
(op_sign_file_ext): Removed.
(op_sign_file_next): Renamed to ..
(do_sign_file): .. this and made local.
(do_sign_file): Updated to use new passphrase callback
semantics.
(op_decrypt_file): Ditto.
(free_recipients): Need to use gpgme_key_release and not just
free.
* src/engine-gpgme.c (do_decrypt): Factored some code out to ..
(update_passphrase_cache): .. new.
(op_sign_encrypt_file): Updated to use new passphrase callback
semantics.
* src/MapiGPGME.cpp (getBody): Properly distinguish property types.
(delete_buf): Removed macro. We now use malloc for the body
string. Changed other places to use delete directly for clarity.
(fail_if_null): Removed. Replaced by direct tests and a call to
out_of_core.
(setDefaultKey): Now use malloc/free instead of new/delete.
Changed at other places too.
(getDefaultKey): Changed to return a const char *.
* src/common.c (wchar_to_utf8): New.
(out_of_core): Made global and call abort after displaying the
message box.
2005-08-14 Werner Koch <wk@g10code.com>
* configure.ac: Build src/versioninfo.rc.
2005-08-14 Werner Koch <wk@g10code.com>
* src/MapiGPGME.cpp (log_debug_w32): New.
(do_log): New arg W32ERR. Make sure to print a trailing LF.
* src/passphrase-dialog.c (passphrase_callback_box): Revamped.
(free_decrypt_key): Wipe out a passphrase. Remove superfluous
variable clearing.
* src/util.h (wipememory2, wipememory): New.
(wipestring): New.
* src/engine-gpgme.c (op_decrypt): Renamed to ..
(do_decrypt): .. this and made local.
(clear_error_if_cancel): Removed as we inlined the code.
(do_decrypt): Cleaned up.
* src/main.c (DllMain): Initialize passcaching subsystem.
* src/passcache.c, passcache.h: New.
* src/intern.h: Include it here.
* src/util.h: New.
* src/olflange.cpp (DllRegisterServer): Remove key for the old
versions of this plugin.
Merged olgpgmain.dll and olgpgcore.dll into outlgpg.dll.
* src/Makefile.am: Renamed target to outlgpg. Added required files.
* src/olflange.cpp, olflange.h: Renamed from GPGExch.cpp and
GPGExch.h. Removed all the MFC cruft as it is not required - it
was only used to get hands on the hInstance of the DLL; chnaged
that to use the glob_hinst which gets set by DllMain.
* src/outlgpg.def: New.
* src/olflange-def.h: New.
* src/olflange-dlgs.cpp: Renamed from GPGOptionsDlgs.cpp.
* src/olflange-ids.h: Renamed from ../olflange/resource.h
* src/olflange-rsrcs.rc: Renamed from ..olflange/olgpgmaindlgs.rc and
stripped off unneedded stuff.
* src/olgpgcoredlgs.rc: Renamed to ..
* src/outlgpg-rsrcs.rc: .. this and stripped of cruft.
* src/olgpgcoredlgs.h: Renamed to ..
* src/outlgpg-ids.h: .. this.
* src/versioninfo.rc.in: New.
2005-08-12 Timo Schulz <ts@g10code.com>
* src/config-dialog.c (sotre_extension_value, load_extension_value):
Adjust registry key.
2005-08-12 Werner Koch <wk@g10code.com>
* src/intern.h: Moved keycache prototypes to keycache.h.
* src/MapiGPGME.cpp (lock_log, unlock_log): New.
* src/engine-gpgme.c (op_init): Check GPGME version.
* src/main.c (outlook_gpg_get_version): Removed as it is now derived
from config.h.
(DllMain): Initializes gpgme and mapigpgme.
* src/MapiGPGME.cpp (initialize_mapi_gpgme): New.
* src/config-dialog.c (store_extension_value, load_extension_value):
Changed key to "OutlGPG".
* src/MapiGPGME.h (class MapiGPGME): New methods versionString and
showVersion. Breaks ABI but it doesn't matter as we are also
going to change the name of the project.
* src/Makefile.am: Renamed target to olgpgcore.
* src/resource.h: Renamed to ...
* src/olgpgcoredlgs.h: .. and removed cruft from generator.
* src/gpgmedlgs.rc: Renamed to ..
* src/olgpgcoredlgs.rc: ... and removed cruft.
* src/libgpgmedlgs.def: Renamed to ..
* src/olgpgcore.def: .. this.
2005-08-11 Werner Koch <wk@g10code.com>
* src/MapiGPGME.cpp (log_debug): New. Rewrote the whole log stuff.
It is not anymore per instance.
(logDebug): New version with va_list arg.
* src/MapiGPGME.cpp (passphraseCallback): Use gpgme_error_t becuase
C++ enforces enum types.
* src/engine-gpgme.c (op_lookup_keys): s/id/names/. id is a reved
word Obj-C and it is good style not to use it in plain C code.
(op_sign_file_next): Use gpgme_passphrase_cb_t in declaration.
(op_decrypt_next): Ditto.
* src/MapiGPGME.cpp (count_recipients): Renamed from countRecipients
method, made local and changed both callers.
(log_key_info): Changed output format. New arg PREFIX. Changed
callers.
(add_html_line_endings): Renamed from addHtmlLineEndings method
and made local.
(logDebug): Open in text mode. Removed all superfluous "\r" from
callers.
2005-08-10 Werner Koch <wk@g10code.com>
* configure.ac: Check for and define DLLTOOL.
2005-08-09 Timo Schulz <ts@g10code.com>
* src/main.c (outlook_gpg_get_version): New.
Use same version as the Outlook GPG plugin.
* src/MapiGPGME.cpp [!__MINGW32__]: Changed sequence of include files.
2005-08-09 Werner Koch <wk@g10code.com>
* src/MapiGPGME.cpp (userid_from_key, keyid_from_key): New. Changed
all calls to the deprecated gpgme_key_get_string_attr function by
these.
* src/MapiGPGME.h, MapiGPGME.cpp: Splitted into interace and
implementation.
* src/HashTable.h (class HashTable): No need to dll export anything.
2005-08-08 Werner Koch <wk@g10code.com>
* src/common.c (w32_shgetfolderpath): Added.
* src/config-dialog.c (load_config_value_ext): use it here.
2005-07-21 Timo Schulz <twoaday@g10code.com>
* src/MapiGPGME.cpp (decrypt): Only return if no valid PGP
data was found and the message has no attachments.
* src/engine-gpgme.c (op_encrypt): Use --textmode to fix
problems when the recipient OS has different line endings.
For example Win32->Linux.
2005-07-20 Timo Schulz <twoaday@g10code.com>
* src/MapiGPGME.cpp (addHtmlLineEndings): New.
(encrypt):Use it here.
(signEncrypt): Likewise. Free memory in case of errors.
(decrypt): Free memory in case of the verify procedure.
Issue a warning when the text of the mail could not be
updated.
(isMessageEncrypted): New.
(countAttachments): Check for null pointers.
(clearPassphrase): Likewise.
* src/config-dialog.c (store_config_value): Support '%val%' input.
* src/verify-dialog.c (load_akalist): Return the number of user-ids
which were added.
* src/passphrase-dialog.c (load_secbox): Make sure we really start
to add the item data at the begin.
* src/intern.h: Fixed GCC compiler problem.
2005-07-19 Timo Schulz <twoaday@g10code.com>
* src/MapiGPGME.cpp (encrypt): Handle cancel.
(encryptAttachments): If no attachments exist, close the table.
(decryptAttachments): Likewise.
(signAttachments): Likewise.
(isHtmlBody): New.
(isHtmlMessage): New.
(setBody): Html support.
(encrypt): Figure out if message is html and encode the right body.
(signEncrypt): Likewise.
(verify): Always use the non-html body for GPG input.
(decrypt): Likewise.
* src/engine-gpgme.c (recipient_dialog_box2): Set cancel flag.
(op_sign_start): Handle cancel.
(recipient_dlg_proc): Make sure there is at least one selected
key. Disable armor checkbox.
2005-07-19 Timo Schulz <twoaday@g10code.com>
* src/MapiGPGME.cpp (~MapiGPGME): After releasing the
memory, set all pointers to NULL. It seems that NT5
bases operating systems are more pedantic with such
issues than 9X based systems.
(freeUnknownKeys): Likewise.
(freeRecipients): Likewise.
(encrypt): Outlook 2003 returns a body string which
is not NULL but \0 with a length of 0. Handle it.
(sign): Likewise.
(signEncrypt): Likewise.
* src/engine-gpgme.c (free_recipients): New.
(op_encrypt_start): Handle cancel and free memory.
2005-07-18 Timo Schulz <ts@g10code.com>
* src/gpgmedlgs.rc: Native language support for German.
2005-07-14 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp: Add some missing MAPI constants.
(passphrase_callback_box): Repair cancel button.
(decrypt): If the user cancels the operation, do not
alter the message text.
* src/config-dialog.c (expand_path): New. From WinPT.
(load_config_value): Support for REG_EXPAND_SZ.
Suggested by Sebastian.
2005-07-13 Timo Schulz <ts@g10code.de>
* src/MapiGPGME.cpp (sign): Ignore empty bodies.
(signEncrypt): Likewise. Free recipient memory.
(encrypt): Modify code so it really works.
(attachPublicKey): New.
* src/engine-gpgme.c (op_export_keys): New.
2005-07-12 Timo Schulz <ts@g10code.de>
* src/MapiGPGME.cpp (displayError): New.
(writeOptions): Use it here. Simplify the code.
(signAttachments): New.
(sign): Sign attachments. Noted by Ralf.
(processAttachment): Support for sign-only.
2005-07-08 Timo Schulz <ts@g10code.de>
* src/MapiGPGME.cpp (setEnableLogging): New.
(getEnableLogging): New.
(logDebug): Move all logging code to this function.
(readOptions): Automatically enable logging if the
'LogFile' registry entry is valid.
(prepareLogging): New.
(readOptions): Properly handle ""-strings.
* src/config-dialog.c (does_file_exist): Allow to have
parameters like '--keymanager' and cut them off before
checking the existence.
(start_key_manager): Free memory.
(config_dlg_proc): Initialize pointer to 'NULL'.
(SHFree): New. Special function to handle shell memory.
(get_folder): Free memory.
(does_folder_exist): New.
2005-07-06 Timo Schulz <ts@g10code.de>
* src/MapiGPGME.cpp: s/ATTR_/ATT_.
(saveDecryptedAttachment): Cut off the prefix.
(clearConfig): New.
(clearObject): New.
(MapiGPGME): Use it here.
Use ATT_PREFIX instead of a hardcoded string.
* src/engine-gpgme.c
(op_sign_file_next): New.
(op_sign_file): Call op_sign_file2.
(op_sign_file_ext): New.
2005-07-05 Timo Schulz <ts@g10code.de>
* src/MapiGPGME.cpp (readOptions, writeOptions):
Support for the new 'auto sign attachment' flag.
(signAttachment): New.
(setSignAttachments): New.
(getSignAttachments): New.
* src/engine-gpgme.c (op_sign_file): Enable armor.
2005-07-03 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (processAttachment): Implement
the decryption part and only use it if the 'save
decrypted attachment' flag is set.
(saveDecryptedAttachment): New.
(writeOptions): Save 'decrypt attachment' flag.
(readOptions): Load it here.
(cleanupTempFiles): Check handle.
(encrypt): If the message has no body skip the
procedure.
(op_decrypt_file): Set recipient callback.
(decryptAttachments): We do not alter the attachment
so there is no need to release it again.
Replace all 'free' with 'xfree'.
2005-07-01 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (processAttachment): Check that
the file has a valid PGP extension before we try
to decrypt the attachment.
(checkAttachmentExtension): Check if the file
extension is a vliad PGP extension.
2005-06-30 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (processAttachment): Use a unique
temp name to make a cleanup at the end easier.
(cleanupTempFiles): Delete possible left over
temp files.
(~MapiGPGME): Use it here.
2005-06-22 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (processAttachment): Close attachment
before we delete it.
(streamOnFile): Directly use the attachment.
(streamFromFile): Likewise.
(closeAttachment): Renamed to..
(releaseAttachment): ..this.
2005-06-21 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (getMessageType): Support all types.
(streamOnFile): More straight forward now.
(encryptAttachments): Get the attachment table first.
(getAttachPathname): New.
(processAttachment): Add new parameter for the position
of the attachment.
(streamFromFile): New.
(generateTempname): New.
* src/engine-gpgme.c (op_sign_encrypt_file): New.
2005-06-17 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (MapiGPGME): Initialize all attachment
components to zero. Thanks to Sebstian for pointing this out.
2005-06-16 Timo Schulz <ts@g10code.com>
* src/engine-gpgme.c (check_encrypt_result): New. Check if
the encrypt procedure returned some invalid recipients.
(op_encrypt): Use it here.
(op_encrypt_file): Likewise.
(op_sign_encrypt): Likewise.
* src/missing.h: Removed unused constants.
* src/verify-dialog.c (load_sigbox): Handle v3 RSA keys.
* src/passphrase-dialog.c (load_secbox): Make sure the index
from the first loop matche the second. Which means skip
all invalid keys also.
2005-06-13 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (writeOptions): New Option 'defaultKey'.
(readOptions): Likewise. Force overwrite 'addDefaultKey'.
2005-06-07 Timo Schulz <ts@g10code.com>
* src/passphrase-dialog.c (decrypt_key_dlg_proc): Add a
reference to the key object so it will be still valid
after the dialog is destroyed.
* src/MapiGPGME.cpp (freeUnknownKeys): Do not try to free
the context if no keys are available. Fixed a segv.
(signEncrypt): The new code now gets a persistent pointer
to the key.
* src/engine-gpgme.c (op_sign_encrypt): Load the right
dialog to request the passphrase.
2005-06-05 Timo Schulz <ts@g10code.com>
* src/passphrase-dialog.c (load_recipbox): Check ctx if null.
(passphrase_callback_box): Different dialogs for sign
and decrypt.
(signer_dialog_box): Do not zero the context too early.
* src/keycache.c (enum_gpg_seckeys): Also reload if ctx
is NULL.
* src/MapiGPGME.cpp (signEncrypt): Return if the user
cancelled the signer selection dialog.
* src/recipient-dialog.c (recipient_dlg_proc): Check 'Text Mode'
button.
* src/keycache.c (enum_gpg_keys, enum_gpg_seckeys): Fully
reset the keycache initializing it again. Thanks to Ralf.
2005-06-04 Timo Schulz <ts@g10code.com>
* src/verify-dialog.c (load_sigbox): Only issue a warning
if the key exists but is not valid.
Get pkalgo from the signature.
Fixed format string problem s/%d/%s.
* src/config-dialog.c (load_config_value): Close reg handle.
(config_dlg_proc): Show error if the values could not
be written to the registry.
2005-06-03 Timo Schulz <ts@g10code.com>
* src/mapuser.c (new_usermap): New.
(free_usermap): New.
* src/engine-gpgme.c (op_decrypt): Return 'No_Seckey' if
appropriate and not just 'Decrypt_Failed'.
Set the gpgme_ctx_t object in the callback to allow
to list the 'encrypt_to' entries.
* src/passphrase-dialog.c (decrypt_key_dlg_proc): Make sure
we only warn when there is a valid callback context.
(load_secbox): New parameter 'ctlid'. Changed all callers.
(load_recipbox): New. Use usermap to lookup user-id's.
(decrypt_key_ext_dlg_proc): New dialog procedure for
the callback mode.
* src/HashTable.cpp (HashTable_new): New. C-interface.
(HashTable_free): Likewise.
(HashTable_get): Likewise.
(HashTable_put): Likewise.
(HashTable_get_i): Likewise.
(HashTable_size): Likewise.
2005-05-29 Timo Schulz <ts@g10code.com>
* src/passphrase-dialog.c (decrypt_key_dlg_proc): Warning
if the user cancels the signing process.
Make the passphrase field invisible if the key is used
in selection mode.
(recipient_dlg_proc): Likewise.
(signer_dialog_box): Return -1 if the user cancelled the
dialog.
* src/engine-gpgme.c (op_sign): Set flags to '1' to indicate
signing process.
* src/config-dialog.c (does_file_exist): Use appropriate
length for xmalloc. Noted by Sebastian.
2005-05-24 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (setXHeader): New.
(getXHeader): New.
* src/engine-gpgme.c (op_sign_file): Implemented.
2005-05-22 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (createAttachment): New.
(deleteAttachment): New.
(encryptAttachments): New.
(encrypt): Also encrypt the attachments if possible.
(signEncrypt): Likewise.
(setEncodingFormat): New.
(getEncodingFormat): New.
(readOptions, writeOptions): Store encoding format.
(MapiGPGME): The default encoding is 'CLASSIC'.
2005-05-21 Timo Schulz <ts@g10code.com>
* src/HashTable.h: Export functions.
* src/MapiGPGME.cpp (freeAttachments): New.
(getAttachments): New.
(openAttachment): New.
(closeAttachment): New.
(processAttachment): New.
(hasAttachments): New.
(countAttachments): New.
(doCmdFile): New. Can handle files.
(doCmdAttach): New. Can handle attachment action types.
(signEncrypt): Release locusr key.
* src/engine-gpgme.c (op_sign_file): New. Dummy.
(op_sign_encrypt_file): New. Dummy.
2005-05-11 Timo Schulz <ts@g10code.com>
* src/common.c (cache_item_new): New.
(cache_item_free): New.
* src/engine-gpgme.c (op_decrypt_start_ext): Return an cache item and
not just the passphrase. Changed all caller.
* src/MapiGPGME.cpp (passphraseCallback): Support caching.
(decrypt): Likewise.
(storePassphrase): Likewise.
(getPassphrase): Likewise.
* src/HashTable.cpp: New.
2005-05-10 Timo Schulz <ts@g10code.com>
* src/passphrase-dialog.c (decrypt_key_dlg_proc): Reset 'hide state'.
Show some text when the user entered a wrong passphrase.
* src/MapiGPGME.cpp (findMessageWindow): New.
(setRTFBody): New.
(decrypt): Just change the window text, not the MAPI object.
Call verify() if this is a clearsigned message.
(getMessageType): New.
(getAttachmentExtension): New.
(verify): Extract text and set it.
* src/engine-gpgme.c (op_decrypt): Spawn verify dialog if the text
was also signed.
(op_decrypt_file): New.
* src/verify-dialog.c (load_sigbox): Avoid key cache and give more
information.
* src/passphrase-dialog.c (decrypt_key_dlg_proc): Handle 'x' clicks.
* src/logging.c (log_debug): Disable it for release versions.
2005-05-08 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (readOptions): Handle logfile.
(writeOptions): Likewise.
(storePassphrase): New.
(clearPassphrase): New.
(passphraseCallback): New. Needs to be static...
(decrypt): Store passphrase if requested.
(~MapiGPGME): Free memory.
(streamOnFile): New.
(getAttachMethod): New.
(getAttachFilename): New.
(setAttachMethod): New.
(getAttachFilename): New.
(getMessageHasAttachments): New.
(getMessageFlags): New.
* src/engine-gpgme.c (op_decrypt): New. Factoured out
code from...
(op_decrypt_start): ..here. Now call op_decrypt
with standard parameters.
(op_decrypt_next): Allow to use a pre-defined
passphrase callback. Needed for caching.
2005-05-02 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (fail_if_null, delete_buf): New
(doCmd): New.
(setBody): If the body to set is empty, do nothing.
(freeKeyArray): New.
(readOptions): New.
(writeOptions): New.
Implement all getters and setters for the config code.
* src/keycache.c: Now that we use a DLL, we create a
shared data segment for static data.
(load_keycache_objects): New.
2005-05-01 Timo Schulz <ts@g10code.com>
* src/MapiGPGME.cpp (rtfSync): New.
* src/logging.c (log_debug): New.
* src/common.c (xfree): New.
* src/engine-gpgme.c (op_lookup_keys): Corrected offsets.
2005-04-29 Timo Schulz <ts@g10code.com>
* src/engine-gpgme.c (op_encrypt_file): New.
2005-04-27 Timo Schulz <ts@g10code.com>
* src/config-dialog.c (config_dialog_box): Add dialog
item to select a GUI key manager.
Check that the entered files really exist.
(config_dlg_proc): Likewise.
(does_file_exist): New.
2005-04-24 Timo Schulz <ts@g10code.com>
* src/main.c (DllMain): New. With a static library it was not
possible to have a separate resource file. Thus we use a
DLL now which contains all needed dialogs.
* src/common.c (set_global_hinstance): New.
* src/libgpgmedlgs.def: New.
2005-04-18 Timo Schulz <ts@g10code.com>
* src/recipient-dialog.c (recipient_dialog_box2): New
way to show pre-selected keys.
(copy_item): New paramenter for the pos.
(find_item): Do not select the item.
* src/gpgmedlgs.rc (IDD_ENC): New label to describe
the listbox.
2005-04-15 Timo Schulz <ts@g10code.com>
* src/common.c (xmalloc, xcalloc, xstrdup): New.
(out_of_core): New.
* src/recipient-dialog.c (initialize_keybox): New.
(find_item): New.
* src/MapiGPGME.cpp (freeUnknownKeys): New.
(signEncrypt): Show dialog to select a key if no
default key was set.
* src/Replace all std-c alloc functions with x equivalents.
2005-04-13 Timo Schulz <ts@g10code.com>
* src/engine-gpgme.c (do_init): Alloc keycache objects.
(do_deinit): Cleanup the mess.
(op_lookup_keys): New. Allow to find keys via the email.
* src/GPGME.cpp (MapiGPGME): New. MAPI interface.
2005-04-07 Timo Schulz <ts@g10code.com>
* src/verify-dialog.c (load_akalist): New.
(load_sigbox): Handle bad signatures.
* src/keycache.c (enum_gpg_keys): Allow to reset the
enum context.
* src/config-dialog.c (get_open_file_name): Use MAX_PATH.
(get_folder): Likewise.
* src/recipient-dialog.c (load_rsetbox): Modify code to
add the last keycache item.
* src/passphrase-dialog.c (load_secbox): Likewise.
Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011 g10 Code GmbH
This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.
This file is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 14, 10:10 AM (1 d, 21 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
22/ac/0b48287539a8ebcf0a251edbbccd

Event Timeline