Writing a source definition: ============================ Place a file in /etc/openssh-known-hosts/sources. Its name must follow run-parts' conventions. Basic variables: * PLUGIN: name of the plugin to use * EXIT_IGNORE: space-seperated list of exitcodes which should be ignored, no update is performed for this source then (optional) The rest of the variables is plugin-specific. For examples see /usr/share/doc/openssh-known-hosts/examples/*. Writing a plugin: ================= Place an executeable in /usr/local/share/openssh-known-hosts/plugins. Your plugin gets the variables set in the source definition in its environment. The working directory will be set to the source's cache directory. All your plugin has to do is to create a file named "new". "current" must not be touched but can be used as a hint to skip downloading the same file again. stdout and stderr will be connected to "log", which will be output on error. You needn't create "new" if it would be identical to "current".