aboutsummaryrefslogtreecommitdiffstats
path: root/wsutil/plugins.c
diff options
context:
space:
mode:
authorJoão Valverde <joao.valverde@tecnico.ulisboa.pt>2017-09-12 10:51:46 +0100
committerJoão Valverde <j@v6e.pt>2017-09-17 16:54:52 +0000
commit978f6b4e1a94c831fa90421b6127e14f6ec9de17 (patch)
treeaba671099f01aebd99c85131e6b32c52da1a1931 /wsutil/plugins.c
parente8e8b0d0b46941f79535c020f5464c372d0138a7 (diff)
plugins: Fix paths to match WSUG
The Wireshark User Guide seems to say: Global lua plugins are in $pkglibdir/plugins Personal lua plugins are in XDG_CONFIG_HOME/plugins Global binary plugins are in $pkglibdir/plugins/$version Personal binary plugins are in XDG_CONFIG_HOME/plugins/$version Fix code to match that. This is a backward-incompatible change for global lua plugins and personal binary plugins. Adds a version subfolder to the personal plugin folder for binary plugins. This allows for safe upgrades and side-by-side installations with different prefixes (they no longer use the same personal dir). Change-Id: Ie0f039113628a257625a9a9fb2cb30e532f5dd47 Reviewed-on: https://code.wireshark.org/review/23516 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'wsutil/plugins.c')
-rw-r--r--wsutil/plugins.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/wsutil/plugins.c b/wsutil/plugins.c
index 047a6cb721..f251966e31 100644
--- a/wsutil/plugins.c
+++ b/wsutil/plugins.c
@@ -340,7 +340,11 @@ scan_plugins(plugin_load_failure_mode mode)
}
}
else
- plugins_scan_dir(plugin_dir, mode);
+ {
+ plugin_dir_path = g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", get_plugin_dir(), VERSION);
+ plugins_scan_dir(plugin_dir_path, mode);
+ g_free(plugin_dir_path);
+ }
/*
* If the program wasn't started with special privileges,
@@ -352,7 +356,9 @@ scan_plugins(plugin_load_failure_mode mode)
*/
if (!started_with_special_privs())
{
- plugins_scan_dir(get_plugins_pers_dir(), mode);
+ plugin_dir_path = g_strdup_printf("%s" G_DIR_SEPARATOR_S "%s", get_plugins_pers_dir(), VERSION);
+ plugins_scan_dir(plugin_dir_path, mode);
+ g_free(plugin_dir_path);
}
}
}