+
+ return (LC_CBRET_OKAY);
+}
+
+/*
+ * `cf_callback_mode_loadmodule':
+ * Load a plugin.
+ *
+ * <Mode xxx>
+ * LoadPlugin `value'
+ * </Mode>
+ */
+static int cf_callback_mode_loadmodule (const char *shortvar, const char *var,
+ const char *arguments, const char *value, lc_flags_t flags,
+ void *extra)
+{
+ DBG ("shortvar = %s, var = %s, arguments = %s, value = %s, ...",
+ shortvar, var, arguments, value);
+
+ if (plugin_load (value))
+ syslog (LOG_ERR, "plugin_load (%s): failed to load plugin", value);
+
+ /* Return `okay' even if there was an error, because it's not a syntax
+ * problem.. */
+ return (LC_CBRET_OKAY);
+}
+
+static int cf_callback_socket (const char *shortvar, const char *var,
+ const char *arguments, const char *value, lc_flags_t flags,
+ void *extra)
+{
+ char *buffer;
+
+ char *fields[3];
+ int numfields;
+
+ char *node;
+ char *service = NET_DEFAULT_PORT;
+
+ DBG ("shortvar = %s, var = %s, arguments = %s, value = %s, ...",
+ shortvar, var, arguments, value);
+
+ buffer = strdup (value);
+ if (buffer == NULL)
+ return (LC_CBRET_ERROR);
+
+ numfields = strsplit (buffer, fields, 3);
+
+ if ((numfields != 1) && (numfields != 2))