ScriptFu: extract PDB proc script-fu-server from plugin script-fu

Create new plugin file script-fu-server-plugin.c
with code extracted from script-fu.c, which is an omnibus plugin
implementing PDB proc extension-script-fu and other PDB procs.

Why:

1. extension-script-fu is smaller and doesn't doesn't link to socket libraries.
   (GIMP always starts extension-script-fu and it stays running.)

2. packagers/admins can omit script-fu-server executable from an installation,
   if they think letting users serve net ports is not secure.

3. crashing script-fu-server does not crash extension-script-fu,
   which requires restart of GIMP

The changes are mostly a simple refactor, extracting code.
No functional change apparent to users.
Low risk of introduced bugs.
Extremely few users use script-fu-server anyway.
Added some logging.
While at it, use G_DECLARE_FINAL_TYPE
This commit is contained in:
lloyd konneker
2022-06-13 16:13:36 -04:00
committed by Lloyd Konneker
parent 4e3edb5121
commit 07ceb5a086
16 changed files with 434 additions and 129 deletions

View File

@ -171,6 +171,8 @@ tinyscheme_init (GList *path,
{
GList *list;
g_debug ("Loading init and compat scripts.");
for (list = path; list; list = g_list_next (list))
{
gchar *dir = g_file_get_path (list->data);
@ -198,6 +200,8 @@ tinyscheme_init (GList *path,
if (list == NULL)
g_warning ("Unable to read initialization file script-fu.init\n");
}
else
g_warning ("Not loading initialization or compatibility scripts.");
}
/* Create an SF-RUN-MODE constant for use in scripts.