From 5f3481268367dbc2c0809bf2b334820c34257c41 Mon Sep 17 00:00:00 2001 From: Karl-Heinz Zimmer Date: Wed, 19 Jun 2002 12:56:43 +0000 Subject: [PATCH] Bugfix #949: (a) call gpgme_check_version(NULL) during initialization and (b) provide additional function libVersion(void) to retrieve the library version used - this function has been added to the CryptPlug API as new *MUST* function for all implementations. --- trunk/gpgmeplug/cryptplug.h | 13 +++++++++++++ trunk/gpgmeplug/gpgmeplug.c | 8 ++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/trunk/gpgmeplug/cryptplug.h b/trunk/gpgmeplug/cryptplug.h index c07f4cf..03b1715 100644 --- a/trunk/gpgmeplug/cryptplug.h +++ b/trunk/gpgmeplug/cryptplug.h @@ -300,6 +300,19 @@ typedef unsigned long SigStatusFlags; +/*! \ingroup groupGeneral + \brief This function returns the version string of this cryptography + plug-in. + + If the plugins initialization fails the calling process might want + to display the library version number to the user for checking if + there is an old version of the library installed... + + \note This function must be implemented by each plug-in using + this API specification. +*/ +const char* libVersion( void ); + /*! \ingroup groupGeneral \brief This function returns a URL to be used for reporting a bug that you found (or suspect, resp.) in this cryptography plug-in. diff --git a/trunk/gpgmeplug/gpgmeplug.c b/trunk/gpgmeplug/gpgmeplug.c index 217cca1..6d4c700 100644 --- a/trunk/gpgmeplug/gpgmeplug.c +++ b/trunk/gpgmeplug/gpgmeplug.c @@ -192,6 +192,7 @@ typedef struct { bool certificateInChainExpiryNearWarning; int certificateInChainExpiryNearWarningInterval; bool receiverEmailAddressNotInCertificateWarning; + const char* libVersion; // a statically allocated string with the GPGME Version used } Config; @@ -243,8 +244,8 @@ bool initialize() config.certificateInChainExpiryNearWarning = true; config.certificateInChainExpiryNearWarningInterval = NEAR_EXPIRY; config.receiverEmailAddressNotInCertificateWarning = true; - - return true; + config.libVersion = gpgme_check_version (NULL); + return (gpgme_engine_check_version (GPGMEPLUG_PROTOCOL) == GPGME_No_Error); }; @@ -286,6 +287,9 @@ bool hasFeature( Feature flag ) } +const char* libVersion(){ return config.libVersion; } + + const char* bugURL(){ return config.bugURL; } -- 2.26.2