diff options
| author | Karl-Heinz Zimmer <[email protected]> | 2002-06-19 12:56:43 +0000 | 
|---|---|---|
| committer | Karl-Heinz Zimmer <[email protected]> | 2002-06-19 12:56:43 +0000 | 
| commit | c445a85ff255ca85912c2731e731e1e13dc3d58d (patch) | |
| tree | e10881cecb83eb8cc81f8d576633df1806dab424 | |
| parent | Use gpgme_get_sig_ulong_attr(.., GPGME_ATTR_SIG_SUMMARY ) function to return ... (diff) | |
| download | gpgme-c445a85ff255ca85912c2731e731e1e13dc3d58d.tar.gz gpgme-c445a85ff255ca85912c2731e731e1e13dc3d58d.zip  | |
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.
| -rw-r--r-- | gpgmeplug/cryptplug.h | 13 | ||||
| -rw-r--r-- | gpgmeplug/gpgmeplug.c | 8 | 
2 files changed, 19 insertions, 2 deletions
diff --git a/gpgmeplug/cryptplug.h b/gpgmeplug/cryptplug.h index c07f4cf8..03b1715b 100644 --- a/gpgmeplug/cryptplug.h +++ b/gpgmeplug/cryptplug.h @@ -301,6 +301,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 <b>must</b> 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 217cca12..6d4c700c 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; }  | 
