diff --git a/NEWS b/NEWS index 5167693..354f5ce 100644 --- a/NEWS +++ b/NEWS @@ -1,965 +1,970 @@ +Noteworthy changes for version 2.5.8 (unreleased) +================================================= + + + Noteworthy changes for version 2.5.7 (2023-05-16) ================================================= * Fix for potential plaintext leaks. (dd3ff839) * Ensure category and flag changes are saved before decrypting a mail. (T4127) * Fix truncation of short mails with a single "protected-header" text/plain part. (T6357) Noteworthy changes for version 2.5.6 (2022-12-19) ================================================= * Fix theoretical integer overwflow in TLV parser. Noteworthy changes for version 2.5.5 (2022-10-13) ================================================= * Fixed IMAP access to encrypted mails. (T6203) Noteworthy changes for version 2.5.4 (2022-09-06) ================================================= * Fixed some encoding problems. * Support sending drafts with modified sender. * If an exclamation mark is added to a config value in HKEY_LOCAL_MACHINE it is now forced and cannot be changed by the user. (T5827) * Fixed an issue that could cause a rare hang when looking at unencrypted mails. (RT #8917) * Delete temporary files on error to avoid problems with existing tmp files. (T5926) Noteworthy changes for version 2.5.3 (2022-04-20) ================================================= * Fixed a double free error which could lead to random crashes. This double free was not exploitable as a security issue. Noteworthy changes for version 2.5.2 (2022-02-09) ================================================= * Fixed re-encryption of drafts after modification if draft encryption is enabled. (T5812) * Added setting "auto" for draftKey registry value to autoselect a draft encryption key. (T5564) Noteworthy changes for version 2.5.1 (2021-12-01) ================================================= * Improved ReadAsPlain detection and plaintext handling. (T5681) Noteworthy changes for version 2.5.0 (2021-06-11) ================================================= * Changed encryption code to work even more on OOM. This avoids temporarily storing unencrypted data to MAPI when asynchronously encrypting. (T5022) * Added support to encrypt / sign Outlook internal data objects as attachments like mails, calendar entries and contacts. (T4184) Noteworthy changes for version 2.4.10 (2021-01-08) ================================================= * Fixed a logic error in GpgOL's recipient selection which caused one recipient to be ignored. Noteworthy changes for version 2.4.9 (2021-01-07) ================================================= * Fixed selection of "No Key" for a recipient. (T5223) * Fix preview of PGP mails when auto-key-retrieve is enabled. (T5164) Noteworthy changes for version 2.4.8 (2020-11-20) ================================================= * Fixed attachment realted isses because of preview. Noteworthy changes for version 2.4.7 (2020-09-04) ================================================= * Fixed an issue that unencrypted drafts were sent to the server even when draft encryption is on. (T5022) Noteworthy changes for version 2.4.6 (2020-07-22) ================================================= * Improved handling of protected headers mails. (T4796) * Experimental code for combined S/MIME and OpenPGP operations and protected headers. Options are: combinedOpsEnabled, encryptSubject, splitBCCMails * Fixed handling of WKS mails. (T4839) * Improved Addressbook integration. (T4874) * Automatically learn keys from smartcards. (T4877) * Fix signing key selection for group accounts. (T4940) * Show a preview when mail verification takes long. (T4944) * Allow changing the printer when printing crypto mails. (T4890) * Fix reply crypt selection when signing is selcted by default. (T4949) * Properly show level 2 validitity for Mails with keys from WKD. * Show a warning when both outlooks internal crypto and GpgOL is active für a mail. (T4953) * Fix cases where GpgOL would detect permanently decrypted mails as still encrypted. (T4718) * Disable automatic when displaying plaintext mails. (T4987) * Use a generic filename for attachments that with characters disallowed by Windows. (T4835) Noteworthy changes for version 2.4.5 (2019-12-20) ================================================= * Fix a crash when closing Outlook. (T4787) Noteworthy changes for version 2.4.4 (2019-12-13) ================================================= * Enable File -> Save As also for mails opened in their own window. Noteworthy changes for version 2.4.3 (2019-12-13) ================================================= * Improved compatibilty with OWA and other Mail clients working with the same S/MIME mails. (T4525) * Added user friendly error handling when attachments cannot be added. (T4731) * Fix a crash that could happen in rare cases when opening broken mails. * Crypto mails are no longer always classified as HTML. (T4639) Noteworthy changes for version 2.4.2 (2019-07-14) ================================================= * Fixed a possible plaintext leak. (T4662 T4661) * Fixed an issue when changing plain text options at runtime. (T4611) Noteworthy changes for version 2.4.1 (2019-05-15) ================================================= * Fixed printing of encrypted mails. * File -> Save As does work for encrypted mails now. Noteworthy changes for version 2.4.0 (2019-06-06) ================================================= * S/MIME Mails now use the same icons as Outlook * Message classes in GpgOL have been changed to improve compatibility with other clients. * Draft encryption was added as an experimental feature. * GpgOL autosecure no longer triggers for users without an S/MIME certificate. * Forwarding of crypto and non crypto mails has been very much improved. * Mails without headers are now handled better. * S/MIME Address book integration was added. Noteworthy changes for version 2.3.3 (2019-03-26) ================================================= * Fixed external API for sent mails. (T4241) * Fixed a crash in debug API. (T4262) * Fixed some cases where S/MIME was not detected correctly. (T4267, T4403) * Fixed tooltip for bad signatures. (T4299) * Fixed forwarding of sent mails. (T4321) * Improved generated attachment names. (T4258) * Added more, less secure automation options. * Added minimalistic protected headers support. * Added an option to decrypt mails permanently. * Improved error handling in case encryption failed. * No longer silently ignores unsupported attachments. (T4184) * Added external API to re-encrypt and decrypt. (T4241) Noteworthy changes for version 2.3.2 (2018-11-12) ================================================= * Reduced leakage of private information without DBG_DATA. (T4193) * Added handling for Junk folders. (T4188) * Added a fallback for encoding problems. (T4156) * Fixed system wide default configuration. * Improved S/MIME handling. * Populate keycache on startup. Noteworthy changes for version 2.3.1 (2018-10-16) ================================================= * Fixed attachement handling for office and pdf attachments. * Improved signature info display. * Added address book integration for OpenPGP. * Added auto import capabilities for S/MIME. * Added generic prefer S/MIME mode. * Various bugfixes and regression fixes. Noteworthy changes for version 2.3.0 (2018-08-31) ================================================= * Massive stability and performance improvements. * New configuration dialog. * New option to automatically encrypt if possible. * Moving mails is now possible. * Improvements to attachment handling with long filenames. * Support for contact Groups has been added. Noteworthy changes for version 2.2.0 (2018-06-15) ================================================= * Removed support for Outlook 2003 and 2007. * Fixed reply handling of PGP/Inline mails. (T3964) * Fixed a seemingly random crash. (T3946) * Added dutch and ukrainian translation. * Fixed encoding for some PGP/Inline mails. (T3986) Noteworthy changes for version 2.1.1 (2018-04-24) ================================================= * Fixed a regression in 3.1.0 that could lead to decryption errors. * Fixed internal keycache in de-vs mode. * Fixed a crash during recipient lookup. * Improved error handling. * Keys from WKD are automatically acceptable for auto encryption. * Added quick print context menu option. Noteworthy changes for version 2.1.0 (2018-04-12) ================================================= * Encryption and Signing has been reworked to, again, work without Kleopatra. * WKS Setup is supported in a basic way. * PGP/Inline is now fully supported. * Many Bugfixes and Parser improvements. Noteworthy changes for version 2.0.6 (2018-01-12) ================================================= * PGP/Inline sending is now compatible with Microsoft Exchange Online. (T3662) * A bug that caused encrypted mails not to be displayed has been fixed. (T3537) * A bug that caused drafted mails not to encrypt the correct content has been fixed. (T3419) * The recipient lookup for Exchange addresses has been slightly improved. * When Outlooks internal S/MIME handling code was activated mails might be sent out unencrypted (T3656) * Fixed signed only PGP Mails with attachments. (T3735) Noteworthy changes for version 2.0.5 (2017-12-08) ================================================= * A crash when receiving crypto mails with attachments without file extension has been fixed. (T3582). * Fixed a cause for potentially undefined behavior when closing. Noteworthy changes for version 2.0.4 (2017-12-05) ================================================= * Some possible "random" crashes in GpgOL have been fixed (T3484) * Fixed Outlook hang when selecting and deleting many mails (T3433) * G Suite Sync plugin accounts are now detected. Only no-mime PGP/Messages (without attachments) and encrypted only is supported. Reading is fully supported. * Basic support for No-MIME inline PGP Encryption (T3514) * Improved error handling for signed, unencrypted mails (T3538) * Performance improvements / Fix running out of resources (T3523) * Improved detection of large PGP/MIME messages and MS-TNEF Messages. (T3419 , T3542) Noteworthy changes for version 2.0.3 (2017-11-20) ================================================= * Additional saveguards have been added to prevent sending out unencrypted bodys when used with Exchange 2007. * Fixed a regression from 2.0.2 regarding message list display in Outlook 2010 and 2013. Noteworthy changes for version 2.0.2 (2017-11-16) ================================================= * A potential crash when pasting recpients was fixed. * A potential random crash in Outlook 2016 has been worked around. * Encoding problems when reading HTML mails have been fixed. * S/MIME Mails are reverted again if S/MIME is disabled. * S/MIME Mails through Exchange and sent mails are now handled correctly. Noteworthy changes for version 2.0.1 (2017-09-12) ================================================= * Support for some kinds of PGP Multipart / Signed mails has been fixed if S/MIME is disabled. Noteworthy changes for version 2.0.0 (2017-09-12) ================================================= * Decryption / verification is done in a second thread so outlook stays responsive while decrypting. * Opening a mail in a reader window no longer causes Outlook to resync the mail. * Inline editors (Reply and Forward in the messagelist) are now supported. * The HTML preferences from Outlook are now respected when viewing an encrypted multipart/alternative mail. * Two crashes that sometimes occured when sending mail have been fixed. * The "Do you want to save the changes" Messageboxes from outlook no longer show up. * Signature details are now shown in the Mail ribbon when reading messages. * Signature and encryption status is now shown in Outlook through categorisation. No more popups when reading encrypted mails. * There is now an Option to use inline-pgp when encrypting mails without attachments. * When opening a mail in a reader window closing it no longer causes the mail in the Messagelist not to be displayed anymore. * Decryption no longer requires an UI-Server (GPA or Kleopatra). * Various bugfixes. Noteworthy changes for version 1.4.0 (2016-03-30) ================================================= * (OL > 2007) An option dialog has been added to enable / disable S/MIME support and the new "simplified interface" * (OL > 2007) An option for a "simplified interface" has been Added. With this option encrypt / sign is now done while sending, including all attachments and using a standard format. (MIME Support) In this mode GpgOL automatically decrypts / verifies messages. And the only interface are the encrypt & sign buttons in the New Mail tab. This option is currently disabled by default but will eventually become the standard. * 64 Bit versions of Outlook are now supported. * (OL > 2007) Settings dialog added. (accessible over the new mail ribbon) * (OL > 2007) S/MIME Support is disabled by default. Enable it in the settings. * (OL > 2007) Reduced amount of syncing done by Outlook while looking at decrypted MIME mails. * (OL > 2007) If S/MIME is disabled GpgOL reverts the changes it made while reading an S/MIME mail so that Outlook can handle them again. * (OL > 2007) If GpgOL can't prevent syncing changes through IMAP or Exchange it tries to restore the original mail so that other clients can also read them. * (OL > 2007) Improved lookup of Exchange Sender address. * (OL > 2007) Fixed crash when Exchange Active Sync (Outlook.com) is used. Noteworthy changes for version 1.3.0 (2015-11-24) ================================================= * Outlook 2010 and later now handle recieved MIME mails. * A class of random crashes in Outlook 2010 and later has been fixed. Bug#1837 * Attachments of mime mails with non ASCII characters are now handled correctly. * Outlook 2016 is now supported. * Added translations for Chinese and French. Noteworthy changes for version 1.2.1 (2014-08-13) ================================================= * Fixed recipient/sender lookup problems when using Exchange or Active Directory. Noteworthy changes for version 1.2.0 (2013-08-19) ================================================= * Basic support for Outlook 2010 and later. Noteworthy changes for version 1.1.3 (2011-12-27) ================================================= * Fix data corruption bug for certain attachments. Bug#1352. * Fix crash on opening attachments with OL2007. Bug #1110. * Use the GIT commit ids instead of SVN revision numbers for version checks and to construct the Windows file version. Noteworthy changes for version 1.1.2 (2010-07-21) ================================================= * Add Portuguese translation * Fixed linking problems with latest libgpg-error. Noteworthy changes for version 1.1.1 (2010-01-13) ================================================= * Cleaned up some icons. Noteworthy changes for version 1.1.0 (2010-01-05) ================================================= * Replaced most ECE code by direct OOM code. This was required to support better icons; i.e. icons not limited to a 16 color palette. * New icons. * Removed protocol selection. The UI-server is now expected to select the protocol (i.e. the auto selection mode is now the only one). Noteworthy changes for version 1.0.1 (2009-09-28) ================================================= * No more event loop peeking to avoid problem with Office programs. * S/MIME support is now enabled by default. Noteworthy changes for version 1.0.0 (2009-06-18) ================================================= * Show a notice about potential problems. * After about 2 years of development, the 1.0 version is now due. Noteworthy changes for version 0.10.19 (2009-02-27) =================================================== * Save the crypto settings in a message draft. * Unnamed attachments are now shown with a suffix matching its MIME type. Noteworthy changes for version 0.10.18 (2009-01-28) =================================================== * Handle OL created S/MIME messages. Noteworthy changes for version 0.10.17 (2008-11-14) =================================================== * Minor cleanups. * All operations are now somewhat faster. Noteworthy changes for version 0.10.16 (2008-11-11) =================================================== * Fixed a regression in the last release with opaque signatures. * Fixed PGP cleartext signature verification. * Encryption of attachments is now much faster. Noteworthy changes for version 0.10.15 (2008-08-06) =================================================== * New option to present the body of a message as an attachment. This is useful to make sure that the body will never show up as plaintext in the message store. * New menu item to remove all GpgOL created flags and attachments from all messages in a folder. * Icons are now installed for messages processed by GpgOL. For now only for the German version of Outlook. Noteworthy changes for version 0.10.14 (2008-05-28) =================================================== * Minor fixes. Noteworthy changes for version 0.10.13 (2008-05-06) =================================================== * Properly handle the disposition of text attachments. Noteworthy changes for version 0.10.12 (2008-04-16) =================================================== * Added icons. * Minor usuability changes. Noteworthy changes for version 0.10.11 (2008-04-04) =================================================== * Fixed a performance problem with signed+encrypted. Noteworthy changes for version 0.10.10 (2008-04-02) =================================================== * Visual cleanups. * Changes to the I/O dispatcher. Noteworthy changes for version 0.10.9 (2008-03-19) ================================================== * Decrypt opaque signed and encrypted S/MIME mails. * Handle old-style PGP message with attachments. Note that the signature verification currently may indicate a bad signature. Noteworthy changes for version 0.10.8 (2008-03-18) ================================================== * Fixed a segv introduced with 0.10.6. Noteworthy changes for version 0.10.7 (2008-03-11) ================================================== * Changed the way sign+encrypt works to help the UI-server. Noteworthy changes for version 0.10.6 (2008-03-10) ================================================== * More tweaks to allow processing of opaque encrypted or signed S/MIME. * Shows an error message when trying to decrypt/verify messages not signed or encrypted. * Soft line breaks in QP encoded messages are now correctly processed. * The sender's address is send to the UI server to allow it to select an appropriate signing key. * Automatic protocol selection works now also with signing. * Processing large messages is faster. Noteworthy changes for version 0.10.5 (2008-02-18) ================================================== * PGP inline encrypted mails are not anymore deleted after the first decryption. Noteworthy changes for version 0.10.4 (2008-02-06) ================================================== * Sign and encrypt works now. * Texts with embedded attachments are now concatenated. * Encrypted message are now viewable in the sent messages folder. Noteworthy changes for version 0.10.3 (2007-12-10) ================================================== * Minor fixes. Noteworthy changes for version 0.10.2 (2007-11-12) ================================================== * New menu items to select the default protocol. * Code cleanups. Noteworthy changes for version 0.10.1 (2007-10-22) ================================================== * Auto start the server. * Code cleanups. * Made all dialogs language neutral. * The manual has some notes about the Registry usage and new MAPI properties. Noteworthy changes for version 0.10.0 (2007-10-11) ================================================== * Basically a complete rewrite. A lot of things are still missing but if might be useful to see the direction the development takes. Noteworthy changes for version 0.9.91 (2006-10-13) ================================================== * Fixed a crash in the recipients dialog. Noteworthy changes for version 0.9.90 (2006-08-28) ================================================== * Fix problem that message would be sent in clear text if the user cancelled the operation. * Cosmetic updates for some dialogs. * Do not show the 'select signer dialog' when only one secret key is available in the keyring. * Fixes for the automatic key selection algorithm used in the recipient key dialog. Noteworthy changes for version 0.9.10 (2006-04-25) ================================================== * Fixes for Umlaut problems. Noteworthy changes for version 0.9.9 (2006-04-24) ================================================= * Some cosmetic changes. * Encryption to the default key works again. Noteworthy changes for version 0.9.8 (2006-03-28) ================================================= * PGP/MIME signature verification may now work in some cases. * New option to prefer displaying of the HTML part. Noteworthy changes for version 0.9.7 (2006-03-21) ================================================= * Minor changes Noteworthy changes for version 0.9.6 (2006-01-26) ================================================= * Cosmetic fixes. Noteworthy changes for version 0.9.5 (2005-12-07) ================================================= * Fixed problems related to use on non-admin accounts. * Print a warning if used with OL prior to OL2003 SP2. Noteworthy changes for version 0.9.4 (2005-12-06) ================================================= * Added translation framework. Provided German translation. * New option to enable automatic decryption in the preview window. * Removed deprecated options to configure gpg path and homedir. * Default key from the option dialog works. * Support for HTML mails. Noteworthy changes for version 0.9.3 (2005-09-29) ================================================= * Fixed bugs introduced with the last release. * PGP/MIME decryption works now correctly with Latin-1 and utf-8. * No more pop-ups to ask whether to save changes after just decrypting a message. * Fixed a couple of bugs possibly leading to crashes. Noteworthy changes for version 0.9.2 (2005-09-22) ================================================= * Saving attachments from PGP/MIME encrypted messages works. Noteworthy changes for version 0.9.1 (2005-09-19) ================================================= * Bug fixes Noteworthy changes for version 0.9.0 (2005-09-04) ================================================= * Major rewrite. Renamed the package to GPGol. Note, that there used to be intermediate versions unter the name OutlGPG * The package as been renamed to GPGol and consist of only one DLL named "gpgol.dll". Installation of gpgme.dll and libgpg-error.dll is required. * It may by now only be build using the Mingw32 toolchain. * GPGol now uses the standard GPGME. Noteworthy changes for version 0.6.1 (unreleased) ================================================= * Fix the problem that the user can just reply with the encrypted text. * Fixes for a lot of minor problems with NT5 based systems and for Outlook version 2003. * Support for handling HTML mails. This includes the encryption of the contents and the proper decryption without losing the special (html) text attributes like colors. * Support for '%ENV%' strings for the log file. Noteworthy changes for version 0.5.5 (2005-07-12) ================================================= * Support to sign all outgoing attachments. * Support for logging. * Fixed some memory leaks. Noteworthy changes for version 0.5.4 (2005-07-03) ================================================= * Support for securing attachments. This means the all attachments will be encrypted if encryption has been selected for the message. * A new option to allow to save decrypted attachments to the disk. * Several bug fixes all over the place. Noteworthy changes for version 0.5.3 (2005-06-16) ================================================= * Allow to set a default key which is used automatically for encryption. * Handle old V3 keys in the signature verification dialog. * Issue and error if the encrypt process returned invalid recipients. Noteworthy changes for version 0.5.2 (2005-06-05) ================================================= * Differ between possible decryption failures. - General errors. - No secret key available. * Add a 'encrypt-to' listbox to the decryption dialog to know the recipients the message was encrypted for. * Add some checks to report problems with permissions related to the Registry. * Fixed a format string problem which was possible for crashes when the signature has been expired. Noteworthy changes for version 0.5.1 (2005-05-29) ================================================= * Issue a warning if the user cancels the sign or encryption procedure. * Support to read and write X- headers for messages. * Fixed a problem which crashes Outlook if the keyManager exe did not exist but was set in the registry. Noteworthy changes for version 0.4.0 (2005-05-10) ================================================= * Verify dialog is automatically shown whenever needed. Plus it contains a hint-label whenever the signature is special. For example the signature has expire or it was issued by a key which is not trustworthy. * Offer a GPG configuration dialog to set the path to GPG, the home directory and an optional field to specify a key manager. * Common dialogs for the following procedures: - verify a clearsign signature - decrypt a message (and verify a signature) - encrypt a message (and sign the plaintext) - clearsign a message * Provide a class to encapsulate MAPI messages and high-level functions for all crypto operations. diff --git a/configure.ac b/configure.ac index 59b07c1..e76c2b3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,320 +1,320 @@ # configure.ac - for GpgOL # Copyright (C) 2005, 2006, 2007, 2008, 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 program 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. # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) min_automake_version="1.14" # To build a release you need to create a tag with the version number # (git tag -s gpgol-k.n.m) and run "./autogen.sh --force". Please # bump the version number immediately *after* the release and do # another commit and push so that the git magic is able to work. -m4_define([mym4_version], [2.5.7]) +m4_define([mym4_version], [2.5.8]) # Below is m4 magic to extract and compute the git revision number, # the decimalized short revision number, a beta version string and a # flag indicating a development version (mym4_isgit). Note that the # m4 processing is done by autoconf and not during the configure run. m4_define([mym4_revision], m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r'])) m4_define([mym4_revision_dec], m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))])) m4_define([mym4_betastring], m4_esyscmd_s([git describe --match 'gpgol-[0-9].[0-9].*[0-9]' \ --long | awk -F- '$3!=0{print"-beta"$3}'])) m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes])) m4_define([mym4_full_version],[mym4_version[]mym4_betastring]) AC_INIT([gpgol],[mym4_full_version], [http://bugs.gnupg.org]) # Bump up this value if you changed any form. GPGOL_FORMS_REVISION=335 NEED_GPG_ERROR_VERSION=1.9 NEED_GPGME_API=1 NEED_GPGME_VERSION=1.13.0 NEED_LIBASSUAN_API=2 NEED_LIBASSUAN_VERSION=2.0.0 GIT_COMMIT=0x[]mym4_revision GIT_COMMIT_DECIMAL=0x[]mym4_revision_dec PACKAGE=$PACKAGE_NAME PACKAGE_GT=${PACKAGE_NAME} VERSION=$PACKAGE_VERSION AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_SRCDIR(src/gpgol.def) AM_CONFIG_HEADER(config.h) AC_CANONICAL_TARGET() AM_INIT_AUTOMAKE AC_GNU_SOURCE have_gpg_error=no have_libassuan=no AC_SUBST(PACKAGE) AC_SUBST(PACKAGE_GT) AC_SUBST(VERSION) AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package]) AC_DEFINE_UNQUOTED(PACKAGE_GT, "$PACKAGE_GT", [Name of this package for gettext]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version of this package]) AC_DEFINE_UNQUOTED(PACKAGE_BUGREPORT, "$PACKAGE_BUGREPORT", [Bug report address]) AC_DEFINE_UNQUOTED(NEED_GPGME_VERSION, "$NEED_GPGME_VERSION", [Required version of GPGME]) AC_DEFINE_UNQUOTED(GIT_COMMIT, ${GIT_COMMIT}, [Current GIT commit]) AC_DEFINE_UNQUOTED(GPGOL_FORMS_REVISION, ${GPGOL_FORMS_REVISION}, [Current Forms revision]) BUILD_TIMESTAMP=`date --iso-8601=minutes` AC_SUBST(BUILD_TIMESTAMP) changequote(,)dnl BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./;s/\./,/g'` changequote([,])dnl BUILD_FILEVERSION="${BUILD_FILEVERSION}${GIT_COMMIT_DECIMAL}" AC_SUBST(BUILD_FILEVERSION) AH_BOTTOM([ /* Some global constants. */ /* Force using of NLS for W32 even if no libintl has been found. This is okay because we have our own gettext implementation for W32. */ #if defined(HAVE_W32_SYSTEM) && !defined(ENABLE_NLS) #define ENABLE_NLS 1 #endif ]) AM_MAINTAINER_MODE # Checks for programs. AC_PROG_MAKE_SET AM_SANITY_CHECK missing_dir=`cd $ac_aux_dir && pwd` AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) AC_PROG_AWK AC_PROG_CC AC_PROG_CPP AC_PROG_CXX AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_RANLIB AC_CHECK_TOOL(AR, ar, :) AC_CHECK_TOOL(DLLTOOL, dlltool, :) AC_CHECK_TOOL(WINDRES, windres, :) have_dosish_system=no have_w32_system=no case "${host}" in *-mingw32*) # special stuff for Windoze NT ac_cv_have_dev_random=no AC_DEFINE(USE_ONLY_8DOT3,1, [set this to limit filenames to the 8.3 format]) AC_DEFINE(HAVE_DRIVE_LETTERS,1, [defined if we must run on a stupid file system]) have_dosish_system=yes have_w32_system=yes ;; *) AC_MSG_NOTICE([[ *** *** This software is only useful for W32 systems. Use *** ./autogen.sh --build-w32 *** to prepare it for such a build. *** *** For your current host only tests will be built! ***]]) ;; esac if test "$have_dosish_system" = yes; then AC_DEFINE(HAVE_DOSISH_SYSTEM,1, [Defined if we run on some of the PCDOS like systems (DOS, Windoze. OS/2) with special properties like no file modes]) fi AM_CONDITIONAL(HAVE_DOSISH_SYSTEM, test "$have_dosish_system" = yes) if test "$have_w32_system" = yes; then AC_DEFINE(HAVE_W32_SYSTEM,1, [Defined if we run on a W32 API based system]) fi AM_CONDITIONAL(HAVE_W32_SYSTEM, test "$have_w32_system" = yes) AM_CONDITIONAL(BUILD_W64, test "$host" = "x86_64-w64-mingw32") # # Checks for libraries. # AM_PATH_GPG_ERROR("$NEED_GPG_ERROR_VERSION", have_gpg_error=yes,have_gpg_error=no) AC_DEFINE(GPG_ERR_SOURCE_DEFAULT, GPG_ERR_SOURCE_USER_2, [The default error source for GpgOL.]) AM_PATH_GPGME("$NEED_GPGME_API:$NEED_GPGME_VERSION", have_gpgme=yes,have_gpgme=no) AM_PATH_LIBASSUAN("$NEED_LIBASSUAN_API:$NEED_LIBASSUAN_VERSION", have_libassuan=yes,have_libassuan=no) if test "$have_gpgme" = yes; then GPGMEPP_CXXFLAGS="-I `$GPGME_CONFIG --prefix`/include/gpgme++" GPGMEPP_CXXFLAGS="${GPGMEPP_CXXFLAGS} -DGPGMEPP_STATIC_DEFINE" have_gpgmepp=yes else have_gpgmepp=no fi AC_SUBST(GPGMEPP_CXXFLAGS) AC_SUBST(GPGMEPP_LIBS) # Note, that autogen.sh greps for the next line. AM_GNU_GETTEXT_VERSION([0.12.1]) AM_GNU_GETTEXT([external]) # We always want NLs, despite what the above macro figures out. USE_NLS=yes # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(string.h unistd.h langinfo.h termio.h locale.h) # Check for functions AC_REPLACE_FUNCS(stpcpy) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_SIZE_T AC_TYPE_SIGNAL AM_CONDITIONAL(CROSS_COMPILING, test x$cross_compiling = xyes) # Add some extra libs here so that previous tests don't fail for # mysterious reasons - the final link step should bail out. if test "$have_w32_system" = yes; then W32LIBS="-lwsock32" fi if test "$GCC" = yes; then CFLAGS="$CFLAGS -Wall -mms-bitfields -fno-strict-aliasing" CXXFLAGS="$CXXFLAGS -Wall -mms-bitfields -fno-strict-aliasing" # Hardening flags # Stack protection # -fstack-protector-all -Wstack-protector --param ssp-buffer-size=4 # causes gpgol not to be loaded by Outlook due to a runtime error. # This needs to be analysed but could be an incompatibility between # gcc's stack protection and COM / Outlook system calls. if test "$have_w32_system" = yes; then HARDENING="-Wl,--dynamicbase -Wl,--nxcompat -fno-exceptions" else HARDENING="-fPIC" fi CFLAGS="$CFLAGS $HARDENING" CXXFLAGS="$CXXFLAGS $HARDENING" if test "$USE_MAINTAINER_MODE" = "yes"; then CFLAGS="$CFLAGS -Werror -Wcast-align -Wshadow -Wstrict-prototypes" CFLAGS="$CFLAGS -Wformat-security" CFLAGS="$CFLAGS -W -Wno-sign-compare" CXXFLAGS="$CXXFLAGS -Werror -Wcast-align -Wshadow" CXXFLAGS="$CXXFLAGS -Wformat-security" CXXFLAGS="$CXXFLAGS -W -Wno-sign-compare -Wno-deprecated-copy" CXXFLAGS="$CXXFLAGS -Wno-address -Wno-stringop-overflow" fi AC_MSG_CHECKING([if gcc supports -Wno-pointer-sign]) _gcc_cflags_save=$CFLAGS CFLAGS="-Wno-pointer-sign" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],_gcc_psign=yes,_gcc_psign=no) AC_MSG_RESULT($_gcc_psign) CFLAGS=$_gcc_cflags_save; if test x"$_gcc_psign" = xyes ; then CFLAGS="$CFLAGS -Wno-pointer-sign" fi fi AC_SUBST(W32LIBS) # # Print errors here so that they are visible all # together and the user can acquire them all together. # die=no if test "$have_gpg_error" = "no"; then die=yes AC_MSG_NOTICE([[ *** *** You need libgpg-error to build this program. ** This library is for example available at *** ftp://ftp.gnupg.org/pub/gcrypt/libgpg-error *** (at least version $NEED_GPG_ERROR_VERSION is required.) ***]]) fi if test "$have_gpgme" = "no"; then die=yes AC_MSG_NOTICE([[ *** *** You need gpgme to build this program. ** This library is for example available at *** ftp://ftp.gnupg.org/gcrypt/gpgme/ *** (at least version $NEED_GPGME_VERSION is required.) ***]]) fi if test "$have_gpgmepp" = "no"; then die=yes AC_MSG_NOTICE([[ *** *** You need the C++ language binding for gpgme to build this program. ** Ensure that GPGME was compiled with --enabled-languages=cpp ***]]) fi if test "$have_libassuan" = "no"; then die=yes AC_MSG_NOTICE([[ *** *** You need libassuan to build this program. *** This library is for example available at *** ftp://ftp.gnupg.org/pub/gcrypt/libassuan/ *** (at least version $NEED_LIBASSUAN_VERSION is required). ***]]) fi if test "$die" = "yes"; then AC_MSG_ERROR([[ *** *** Required libraries not found. Please consult the above messages *** and install them before running configure again. ***]]) fi AC_CONFIG_FILES([ Makefile src/Makefile src/icons/Makefile src/versioninfo.rc forms/Makefile doc/Makefile po/Makefile.in m4/Makefile tests/Makefile ]) AC_OUTPUT