From 272a1ae190eca07c33fa4bff432669da5c981b24 Mon Sep 17 00:00:00 2001 From: Guy Lichtman Date: Sat, 20 Dec 2014 20:29:36 +0200 Subject: [PATCH] added special variable named audit_plugin_version__ where '.' is repalced with '_'. This variable can be used to extract the version of the plugin by using a tool such as nm or objdump. issue #96. --- configure.ac | 7 ++++++- src/audit_plugin.cc | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index a2dbf86..5c7475a 100644 --- a/configure.ac +++ b/configure.ac @@ -116,12 +116,17 @@ fi if test -z "$MYSQL_AUDIT_PLUGIN_REVISION" ;then MYSQL_AUDIT_PLUGIN_REVISION=99999 fi +if test -z "$MYSQL_AUDIT_PLUGIN_SYMBOL_VERSION" ;then + MYSQL_AUDIT_PLUGIN_SYMBOL_VERSION=${MYSQL_AUDIT_PLUGIN_VERSION//./_}_$MYSQL_AUDIT_PLUGIN_REVISION +fi + AC_SUBST(MYSQL_AUDIT_PLUGIN_VERSION) AC_SUBST(MYSQL_AUDIT_PLUGIN_REVISION) -echo "Version: $MYSQL_AUDIT_PLUGIN_VERSION-$MYSQL_AUDIT_PLUGIN_REVISION" +echo "Version: $MYSQL_AUDIT_PLUGIN_VERSION-$MYSQL_AUDIT_PLUGIN_REVISION Symbol version: $MYSQL_AUDIT_PLUGIN_SYMBOL_VERSION" CPPFLAGS="$CPPFLAGS -DMYSQL_AUDIT_PLUGIN_VERSION='\"$MYSQL_AUDIT_PLUGIN_VERSION\"'" CPPFLAGS="$CPPFLAGS -DMYSQL_AUDIT_PLUGIN_REVISION='\"$MYSQL_AUDIT_PLUGIN_REVISION\"'" +CPPFLAGS="$CPPFLAGS '-DMYSQL_AUDIT_PLUGIN_SYMBOL_VERSION()=extern const char audit_plugin_version_$MYSQL_AUDIT_PLUGIN_SYMBOL_VERSION'" #subst the relevant variables diff --git a/src/audit_plugin.cc b/src/audit_plugin.cc index 95ae36a..681a766 100644 --- a/src/audit_plugin.cc +++ b/src/audit_plugin.cc @@ -1797,3 +1797,13 @@ extern "C" int __cxa_pure_virtual (void) log_prefix); return 0; } + +/* + * Variable to hold version + */ +MYSQL_AUDIT_PLUGIN_SYMBOL_VERSION() = '\0'; + + + + +