aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gpgmeplug/cryptplug.h13
-rw-r--r--gpgmeplug/gpgmeplug.c8
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; }