Builtin plugins

Aleksander Morgado aleksandermj at chromium.org
Sat Dec 17 21:34:31 UTC 2022


Hey hey,

A lot of you out there build your own ModemManager, usually to be used
with specific cellular modules. If that is the case then you could
benefit from this merge request that tries to include the plugins that
have been enabled during the build in the ModemManager binary itself:

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/937

This has several advantages:
* Much quicker startup, as it doesn't need to poke filesystem for anything.
* Less clutter as you can forget about needing to install the plugin .so files.
* Removal of duplicated symbols, as some plugins were including in the
plugin itself symbols that already existed in the daemon.
* We remove the need for the dlopen() calls, which may be a weak point
under certain circumstances security-wise.
* Allows clean builds of the project with a linker that has namespaces
isolation feature, as in the Android builds.

The builtin symbols can be enabled with -Dbuiltin_plugins=true.

The merge request will be integrated in main sometime this week, so
tests (with or without builtin enabled) are highly appreciated. Please
test and report issues!

P.S. As part of this change the plugins/ directory was moved to
src/plugins/. Sorry if that messes up anything. It's a git move so if
you have personal branches for changes in the plugin, try to do a
clean git rebase.

-- 
Aleksander


More information about the ModemManager-devel mailing list