From: Karl-Heinz Zimmer Date: Wed, 19 Jun 2002 12:56:43 +0000 (+0000) Subject: Bugfix #949: (a) call gpgme_check_version(NULL) during initialization and (b) provide... X-Git-Tag: gpgme-0-3-8~18 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=c445a85ff255ca85912c2731e731e1e13dc3d58d;p=gpgme.git 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. --- diff --git a/gpgmeplug/cryptplug.h b/gpgmeplug/cryptplug.h index c07f4cf..03b1715 100644 --- a/gpgmeplug/cryptplug.h +++ b/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/gpgmeplug/gpgmeplug.c b/gpgmeplug/gpgmeplug.c index 217cca1..6d4c700 100644 --- a/gpgmeplug/gpgmeplug.c +++ b/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; }