Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | plugin-loader: Optionally use RTLD_NOW with dlopen() | Tobias Brunner | 2015-11-09 | 1 | -6/+11 |
| | | | | | | | | | This can be useful when writing custom plugins as typos or missing linker flags that result in unresolved symbols in the shared object could otherwise cause late crashes. In particular, if such a symbol is used in a code path that is rarely executed. During development and testing using RTLD_NOW instead of RTLD_LAZY will prevent the plugin from getting loaded and makes the error visible immediately. | ||||
* | plugin-loader: Increase log level for warning about plugin features that ↵ | Tobias Brunner | 2015-03-09 | 1 | -3/+3 |
| | | | | | | | | | failed to load Since we can't get rid of all unmet dependencies (at least not in every possible plugin configuration) the message is more confusing than helpful. In particular because a detailed warning about plugin features that failed to load due to unmet dependencies is only logged on level 2. | ||||
* | plugin-loader: Do not unload libraries during dlclose(), if supported | Martin Willi | 2015-02-24 | 1 | -1/+9 |
| | | | | | | | Unloading libraries calls any library constructor/destructor functions. Some libraries can't handle that in our excessive unit test use. GnuTLS leaks a /dev/urandom file descriptor, letting unit tests fail with arbitrary out-of-resources errors. | ||||
* | plugin-loader: Support a reload() callback for static features | Martin Willi | 2014-09-22 | 1 | -3/+28 |
| | |||||
* | windows: Provide wrappers for dlopen() function family | Martin Willi | 2014-06-03 | 1 | -0/+2 |
| | |||||
* | plugin-loader: Properly initialize modular plugin list if no plugins are enabled | Tobias Brunner | 2014-03-18 | 1 | -0/+1 |
| | |||||
* | plugin-loader: Optionally use load option in each plugin section to load plugins | Tobias Brunner | 2014-02-12 | 1 | -3/+136 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This now works because all plugins use the same config namespace. If <ns>.load_modular is true, the list of plugins to load is determined via the value of the <ns>.plugins.<name>.load options. Using includes the following is possible: charon { load_modular = yes plugins { include strongswan.d/charon/*.conf } } charon-cmd { load_modular = yes plugins { include strongswan.d/charon-cmd/*.conf } } Where each .conf file would contain something like: <name> { load = yes <option> = <value> } To increase the priority of individual plugins load = <priority> can be used (the default is 1). For instance, to use openssl instead of the built-in crypto plugins set in strongswan.d/charon/openssl.conf: openssl { load = 10 } If two plugins have the same priority their order in the default plugin list is preserved. Plugins not found in that list are ordered alphabetically before other plugins with the same priority. | ||||
* | plugin-loader: Convenience function added to add plugin dirs in build tree | Tobias Brunner | 2013-11-06 | 1 | -0/+19 |
| | |||||
* | plugin-loader: Removed unused path argument of load() method | Tobias Brunner | 2013-06-28 | 1 | -6/+3 |
| | | | | | Multiple additional search paths can be added with the add_path() method. | ||||
* | plugin-loader: Method added to provide additional search paths for plugins | Tobias Brunner | 2013-06-27 | 1 | -10/+49 |
| | |||||
* | plugin-loader: Move logging of failed features to status() | Tobias Brunner | 2013-06-21 | 1 | -7/+11 |
| | | | | | | | | | Still log an error message if critical features fail, as loaded plugins/features are not logged in that case. This way loaded plugins are printed before failed features and the relation is easier to make for users. It also allows programs to log this message on a different level. | ||||
* | plugin-loader: Add method to print loaded plugins on a given log level | Tobias Brunner | 2013-06-21 | 1 | -0/+10 |
| | |||||
* | plugin-loader: Collect statistics while loading features, print them in case ↵ | Tobias Brunner | 2013-06-21 | 1 | -69/+40 |
| | | | | | | | features failed to load There is no need to explicitly search for failed features in critical plugins as this is now detected while loading the features. | ||||
* | plugin-loader: Use different log level if failed feature is in critical plugin | Tobias Brunner | 2013-06-21 | 1 | -2/+16 |
| | |||||
* | plugin-loader: Log message when failing to load plugin | Tobias Brunner | 2013-06-21 | 1 | -0/+8 |
| | |||||
* | plugin-loader: Reduce verbosity while loading plugins | Tobias Brunner | 2013-06-21 | 1 | -4/+4 |
| | |||||
* | Move test-runners has_feature() function to plugin loader | Martin Willi | 2013-06-21 | 1 | -0/+30 |
| | |||||
* | Refactored plugin-loader with improved dependency resolution | Tobias Brunner | 2013-06-11 | 1 | -234/+475 |
| | | | | | | With the new implementation the plugins don't have to be listed in any special order, dependencies are properly resolved. The order only matters if two plugins provide the same feature. | ||||
* | plugin-feature: Function added to exactly compare plugin features | Tobias Brunner | 2013-06-11 | 1 | -2/+2 |
| | |||||
* | Moved debug.[ch] to utils folder | Tobias Brunner | 2012-10-24 | 1 | -1/+1 |
| | |||||
* | Moved integrity_checker_t to utils folder | Tobias Brunner | 2012-10-24 | 1 | -1/+1 |
| | |||||
* | Moved data structures to new collections subfolder | Tobias Brunner | 2012-10-24 | 1 | -2/+2 |
| | |||||
* | Don't require PLUGINDIR to be defined. | Tobias Brunner | 2012-08-08 | 1 | -6/+15 |
| | | | | If it is not available, we just load monolithically built plugins. | ||||
* | Added a method to plugin_loader_t to add 'static' plugin features | Tobias Brunner | 2012-06-25 | 1 | -0/+91 |
| | | | | | | | | This allows daemons and other components to register plugin features like those provided by plugins (following the same lifecycle). The added features are internally handled like they were added by a plugin. | ||||
* | Make sure that all features of critical plugins are loaded | Tobias Brunner | 2012-06-25 | 1 | -5/+64 |
| | |||||
* | Fixed return values of several functions (e.g. return FALSE for pointer types). | Tobias Brunner | 2012-05-31 | 1 | -1/+1 |
| | |||||
* | Fixed check for loaded plugins with feature types that are not compared exactly. | Tobias Brunner | 2012-05-24 | 1 | -25/+13 |
| | | | | | Previously e.g. RNGs with weaker strength would have overwritten stronger ones. | ||||
* | Use a hashtable to check for already loaded plugin features. | Tobias Brunner | 2012-05-23 | 1 | -20/+37 |
| | |||||
* | If we load new features from a plugin, restart loading from first plugin | Martin Willi | 2012-05-03 | 1 | -0/+4 |
| | |||||
* | Don't depend on a feature that has a dependency to the same feauture during ↵ | Martin Willi | 2012-05-02 | 1 | -1/+2 |
| | | | | unload | ||||
* | Cache list of plugin names to further simplify its usage. | Tobias Brunner | 2012-01-19 | 1 | -19/+46 |
| | | | | Also helpful for ipsec statusall to avoid having to enumerate plugins. | ||||
* | Function added to plugin_loader to get a list of the names of loaded plugins. | Tobias Brunner | 2012-01-19 | 1 | -1/+26 |
| | |||||
* | Be less verbose if plugin dependecy not satisfied | Martin Willi | 2011-12-07 | 1 | -1/+1 |
| | |||||
* | Don't enforce features with soft dependencies before all plugins are loaded | Martin Willi | 2011-10-14 | 1 | -4/+4 |
| | |||||
* | Don't try to load a feature again after failure | Martin Willi | 2011-10-14 | 1 | -4/+28 |
| | |||||
* | Reset registration function for each plugin during feature loading | Martin Willi | 2011-10-14 | 1 | -1/+2 |
| | |||||
* | Fixed memleak in plugin unloading | Martin Willi | 2011-10-14 | 1 | -0/+1 |
| | |||||
* | Load features after each plugin loaded until all plugins have feature support | Martin Willi | 2011-10-14 | 1 | -4/+7 |
| | |||||
* | Implemented feature unloading, moved feature registration plugin_features.c | Martin Willi | 2011-10-14 | 1 | -126/+110 |
| | |||||
* | Don't use union members directly in plugin_feature_t. | Tobias Brunner | 2011-10-14 | 1 | -21/+24 |
| | |||||
* | Unload plugins which we were not able to load any features from. | Tobias Brunner | 2011-10-14 | 1 | -0/+26 |
| | |||||
* | Easier to understand test for soft dependencies in dependencies_satisfied. | Tobias Brunner | 2011-10-14 | 1 | -2/+1 |
| | |||||
* | Add aead plugin features | Martin Willi | 2011-10-14 | 1 | -0/+5 |
| | |||||
* | Added database and fetcher plugin features | Martin Willi | 2011-10-14 | 1 | -0/+9 |
| | |||||
* | Plugin enumerator enumerates over loaded features, too | Martin Willi | 2011-10-14 | 1 | -1/+6 |
| | |||||
* | Added support for plugin features | Martin Willi | 2011-10-14 | 1 | -48/+318 |
| | |||||
* | Finally removed deprecated iterator_t. | Tobias Brunner | 2011-07-06 | 1 | -0/+1 |
| | |||||
* | Added plugin_loader method to reload plugin configurations | Martin Willi | 2011-04-15 | 1 | -0/+47 |
| | |||||
* | Added a get_name() function to plugin_t, create_plugin_enumerator enumerates ↵ | Martin Willi | 2011-04-15 | 1 | -19/+6 |
| | | | | over plugin_t | ||||
* | Migrated remaining plugin_t implementations to INIT/METHOD macros | Martin Willi | 2011-04-15 | 1 | -1/+1 |
| |