...
Extensions are dynamic/shared libraries (DLLs) with special exported functions to allow them to be loaded and managed by the Shibboleth runtime (actually by the XMLTooling-C library). Extensions can be loaded in-process or out-of-process (or both) and can tailor their behavior based on their environment.
...