diff options
-rw-r--r-- | audio/main.c | 2 | ||||
-rw-r--r-- | input/main.c | 2 | ||||
-rw-r--r-- | network/main.c | 2 | ||||
-rw-r--r-- | plugins/echo.c | 2 | ||||
-rw-r--r-- | plugins/hal.c | 2 | ||||
-rw-r--r-- | plugins/netlink.c | 2 | ||||
-rw-r--r-- | plugins/service.c | 2 | ||||
-rw-r--r-- | plugins/storage.c | 2 | ||||
-rw-r--r-- | serial/main.c | 2 | ||||
-rw-r--r-- | src/main.c | 2 | ||||
-rw-r--r-- | src/plugin.c | 5 | ||||
-rw-r--r-- | src/plugin.h | 5 |
12 files changed, 18 insertions, 12 deletions
diff --git a/audio/main.c b/audio/main.c index 1678b58d3..f5eb7ddee 100644 --- a/audio/main.c +++ b/audio/main.c @@ -171,4 +171,4 @@ static void audio_exit(void) dbus_connection_unref(connection); } -BLUETOOTH_PLUGIN_DEFINE("audio", audio_init, audio_exit) +BLUETOOTH_PLUGIN_DEFINE("audio", VERSION, audio_init, audio_exit) diff --git a/input/main.c b/input/main.c index 31e2ef648..010b7312c 100644 --- a/input/main.c +++ b/input/main.c @@ -82,4 +82,4 @@ static void input_exit(void) dbus_connection_unref(connection); } -BLUETOOTH_PLUGIN_DEFINE("input", input_init, input_exit) +BLUETOOTH_PLUGIN_DEFINE("input", VERSION, input_init, input_exit) diff --git a/network/main.c b/network/main.c index 4744185ab..5f96d4b6a 100644 --- a/network/main.c +++ b/network/main.c @@ -55,4 +55,4 @@ static void network_exit(void) dbus_connection_unref(connection); } -BLUETOOTH_PLUGIN_DEFINE("network", network_init, network_exit) +BLUETOOTH_PLUGIN_DEFINE("network", VERSION, network_init, network_exit) diff --git a/plugins/echo.c b/plugins/echo.c index 3486ef1fb..832bf8b08 100644 --- a/plugins/echo.c +++ b/plugins/echo.c @@ -163,4 +163,4 @@ static void echo_exit(void) btd_unregister_adapter_driver(&echo_server); } -BLUETOOTH_PLUGIN_DEFINE("echo", echo_init, echo_exit) +BLUETOOTH_PLUGIN_DEFINE("echo", VERSION, echo_init, echo_exit) diff --git a/plugins/hal.c b/plugins/hal.c index f066a5abe..219b46ec0 100644 --- a/plugins/hal.c +++ b/plugins/hal.c @@ -158,4 +158,4 @@ static void hal_exit(void) btd_unregister_adapter_driver(&hal_driver); } -BLUETOOTH_PLUGIN_DEFINE("hal", hal_init, hal_exit) +BLUETOOTH_PLUGIN_DEFINE("hal", VERSION, hal_init, hal_exit) diff --git a/plugins/netlink.c b/plugins/netlink.c index 78a18aa13..f777cf9fe 100644 --- a/plugins/netlink.c +++ b/plugins/netlink.c @@ -123,4 +123,4 @@ static void netlink_exit(void) nl_handle_destroy(handle); } -BLUETOOTH_PLUGIN_DEFINE("netlink", netlink_init, netlink_exit) +BLUETOOTH_PLUGIN_DEFINE("netlink", VERSION, netlink_init, netlink_exit) diff --git a/plugins/service.c b/plugins/service.c index 4a872348b..b4d405b72 100644 --- a/plugins/service.c +++ b/plugins/service.c @@ -859,4 +859,4 @@ static void service_exit(void) dbus_connection_unref(connection); } -BLUETOOTH_PLUGIN_DEFINE("service", service_init, service_exit) +BLUETOOTH_PLUGIN_DEFINE("service", VERSION, service_init, service_exit) diff --git a/plugins/storage.c b/plugins/storage.c index 733c4798f..c4dbe1677 100644 --- a/plugins/storage.c +++ b/plugins/storage.c @@ -39,4 +39,4 @@ static void storage_exit(void) { } -BLUETOOTH_PLUGIN_DEFINE("storage", storage_init, storage_exit) +BLUETOOTH_PLUGIN_DEFINE("storage", VERSION, storage_init, storage_exit) diff --git a/serial/main.c b/serial/main.c index bb2a28c44..5db389c69 100644 --- a/serial/main.c +++ b/serial/main.c @@ -55,4 +55,4 @@ static void serial_exit(void) dbus_connection_unref(connection); } -BLUETOOTH_PLUGIN_DEFINE("serial", serial_init, serial_exit) +BLUETOOTH_PLUGIN_DEFINE("serial", VERSION, serial_init, serial_exit) diff --git a/src/main.c b/src/main.c index 3c7d70bbe..530344441 100644 --- a/src/main.c +++ b/src/main.c @@ -695,7 +695,7 @@ int main(int argc, char *argv[]) umask(0077); - start_logging("bluetoothd", "Bluetooth daemon"); + start_logging("bluetoothd", "Bluetooth daemon %s", VERSION); memset(&sa, 0, sizeof(sa)); sa.sa_flags = SA_NOCLDSTOP; diff --git a/src/plugin.c b/src/plugin.c index 4559c77bb..051c33c03 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -53,6 +53,11 @@ static gboolean add_plugin(void *handle, struct bluetooth_plugin_desc *desc) if (desc->init == NULL) return FALSE; + if (g_str_equal(desc->version, VERSION) == FALSE) { + DBG("version mismatch for %s", desc->name); + return FALSE; + } + plugin = g_try_new0(struct bluetooth_plugin, 1); if (plugin == NULL) return FALSE; diff --git a/src/plugin.h b/src/plugin.h index 31bcce877..62d5f7580 100644 --- a/src/plugin.h +++ b/src/plugin.h @@ -23,13 +23,14 @@ struct bluetooth_plugin_desc { const char *name; + const char *version; int (*init) (void); void (*exit) (void); }; -#define BLUETOOTH_PLUGIN_DEFINE(name,init,exit) \ +#define BLUETOOTH_PLUGIN_DEFINE(name,version,init,exit) \ extern struct bluetooth_plugin_desc bluetooth_plugin_desc \ __attribute__ ((visibility("default"))); \ struct bluetooth_plugin_desc bluetooth_plugin_desc = { \ - name, init, exit \ + name, version, init, exit \ }; |