FairCom's V12 Release introduces a brand new ability to extend their functionality with advanced modular capabilities. Using a new plug‑in architecture advanced features can be quickly dropped in and independently configured plug-ins are provided as a shared object and companion configuration file. Each plug-in is usually self-contained in its own unique folder for organization. All plug-in configurations are collected under a single configuration folder.
Several plug‑ins are provided by default. Provided plug-ins include:
Provided plug-ins are not enabled by default to maximize security. FairCom-provided Plug‑ins are securely implemented; however, they can increase the attack surface by possibly opening additional network ports and listening across alternative communication protocols.
Plug-ins are enabled as needed in your standard FairCom configuration file, ctsrvr.cfg. Each Plug-in is individually enabled with a configuration line that includes its configured name and shared object location.
Example
; Plugins
PLUGIN cthttpd;./web/cthttpd.dll
PLUGIN ctagent;./agent/ctagent.dll
The ctsrvr.cfg configuration file is now located in <faircom>\server\config (this location is optional and existing locations are supported for full backward compatibility).
More information on the Plug-In architecture is available in these locations:
To dynamically load a plug‑in on demand after c-tree Server has started up, use the ctadmn utility or use the same PLUGIN configuration option syntax that you would use in ctsrvr.cfg in a call to ctSETCFG().
Example 1 ‑ ctadmn utility:
10. Change Server Settings
Enter the configuration option and its value:
>> PLUGIN cthttpd;./web/cthttpd.dll
Successfully changed the configuration option.
Example 2 ‑ API function call:
ctSETCFG(setcfgCONFIG_OPTION, "PLUGIN cthttpd;./web/cthttpd.dll");