]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
plugins: rename SCPLuginFileType to SCEveFileType
authorJason Ish <jason.ish@oisf.net>
Wed, 26 May 2021 18:26:38 +0000 (12:26 -0600)
committerVictor Julien <victor@inliniac.net>
Mon, 20 Sep 2021 15:31:15 +0000 (17:31 +0200)
With internal code using the plugin API to register an Eve
filetype, the name plugin no longer makes sense. This is
part of my idea that internal plugins aren't plugins at all,
and the plugin interface should be an abstraction over
internal APIs.

Along that idea, this is the start of a refactor of the plugin
file types to be internal, where the plugin API is just an external
interface to that internal API.

src/output-eve-syslog.c
src/output-json.c
src/output-json.h
src/suricata-plugin.h
src/util-logopenfile.h
src/util-plugin.c
src/util-plugin.h

index 5fb50c13ff84e6d7f7bdc247a17a8f444b1aae68..b8f9a1820909b8294ccc0dcddc6781a86593e4c3 100644 (file)
@@ -98,7 +98,7 @@ static void SyslogDeInit(void *init_data)
 
 void SyslogInitialize(void)
 {
-    SCPluginFileType *plugin_data = SCCalloc(1, sizeof(SCPluginFileType));
+    SCEveFileType *plugin_data = SCCalloc(1, sizeof(SCEveFileType));
 
     if (plugin_data == NULL) {
         FatalError(SC_ERR_MEM_ALLOC, "Unable to allocate memory for eve output %s", OUTPUT_NAME);
index d3571f0afe9d0b22bb6e1f07c5a66ac08a8a1612..f9f8a6b49528f62c094563a3d04418389113911b 100644 (file)
@@ -1133,7 +1133,7 @@ OutputInitResult OutputJsonInitCtx(ConfNode *conf)
         enum LogFileType log_filetype = FileTypeFromConf(output_s);
         if (log_filetype == LOGFILE_TYPE_NOTSET) {
 #ifdef HAVE_PLUGINS
-            SCPluginFileType *plugin = SCPluginFindFileType(output_s);
+            SCEveFileType *plugin = SCPluginFindFileType(output_s);
             if (plugin != NULL) {
                 log_filetype = LOGFILE_TYPE_PLUGIN;
                 json_ctx->plugin = plugin;
index c621f366928b505d5a94687740168091ce4d274f..671ec607b80440c94493e2e96ba71f464b649321 100644 (file)
@@ -83,7 +83,7 @@ typedef struct OutputJsonCtx_ {
     enum LogFileType json_out;
     OutputJsonCommonSettings cfg;
     HttpXFFCfg *xff_cfg;
-    SCPluginFileType *plugin;
+    SCEveFileType *plugin;
 } OutputJsonCtx;
 
 typedef struct OutputJsonThreadCtx_ {
index 23dbbd95d09f15b99468c19b147994b7f3f7f982..1f4dad717e74b49300c90e91c206dbde76a3a780 100644 (file)
@@ -43,14 +43,11 @@ typedef struct SCPlugin_ {
 typedef SCPlugin *(*SCPluginRegisterFunc)(void);
 
 /**
- * Structure used to define a file type plugin.
- *
- * Currently only used by the Eve output type.
- *
- * name -- The plugin name. This name is used to identify the plugin: eve-log.filetype and in the
- * plugins: section
+ * Structure used to define an Eve output file type plugin.
  */
-typedef struct SCPluginFileType_ {
+typedef struct SCEveFileType_ {
+    /* The name of the output, used to specify the output in the filetype section
+     * of the eve-log configuration. */
     const char *name;
     bool internal;
     /* Init Called on first access */
@@ -63,11 +60,11 @@ typedef struct SCPluginFileType_ {
     int (*ThreadInit)(void *init_data, int thread_id, void **thread_data);
     /* ThreadDeinit - Called for each thread using file object */
     int (*ThreadDeinit)(void *init_data, void *thread_data);
-    TAILQ_ENTRY(SCPluginFileType_) entries;
-} SCPluginFileType;
+    TAILQ_ENTRY(SCEveFileType_) entries;
+} SCEveFileType;
 
-bool SCPluginRegisterEveFileType(SCPluginFileType *);
-bool SCRegisterEveFileType(SCPluginFileType *);
+bool SCPluginRegisterEveFileType(SCEveFileType *);
+bool SCRegisterEveFileType(SCEveFileType *);
 
 typedef struct SCCapturePlugin_ {
     char *name;
index 4cc2a28921f7a37fbde624503c1defc539aad81e..b3b89c69e1b8304ac0110f067d59e1ba485fc301 100644 (file)
@@ -55,7 +55,7 @@ typedef struct LogThreadedFileCtx_ {
 } LogThreadedFileCtx;
 
 typedef struct LogFilePluginCtx_ {
-    SCPluginFileType *plugin;
+    SCEveFileType *plugin;
     void *init_data;
     void *thread_data;
 } LogFilePluginCtx;
index c58310dd43532656244d1554d82dce33a979e569..deb5333cbfb2afda3bf0a1c0dc426bc2ff3ae1bb 100644 (file)
@@ -38,8 +38,7 @@ typedef struct PluginListNode_ {
  */
 static TAILQ_HEAD(, PluginListNode_) plugins = TAILQ_HEAD_INITIALIZER(plugins);
 
-static TAILQ_HEAD(, SCPluginFileType_) output_types =
-    TAILQ_HEAD_INITIALIZER(output_types);
+static TAILQ_HEAD(, SCEveFileType_) output_types = TAILQ_HEAD_INITIALIZER(output_types);
 
 static TAILQ_HEAD(, SCCapturePlugin_) capture_plugins = TAILQ_HEAD_INITIALIZER(capture_plugins);
 
@@ -142,9 +141,9 @@ void SCPluginsLoad(const char *capture_plugin_name, const char *capture_plugin_a
     }
 }
 
-bool SCRegisterEveFileType(SCPluginFileType *plugin)
+bool SCRegisterEveFileType(SCEveFileType *plugin)
 {
-    SCPluginFileType *existing = NULL;
+    SCEveFileType *existing = NULL;
     TAILQ_FOREACH (existing, &output_types, entries) {
         if (strcmp(existing->name, plugin->name) == 0) {
             SCLogNotice("EVE file type plugin name conflicts with previously "
@@ -167,7 +166,7 @@ bool SCRegisterEveFileType(SCPluginFileType *plugin)
  *      plugin file type.
  *
  */
-bool SCPluginRegisterEveFileType(SCPluginFileType *plugin)
+bool SCPluginRegisterEveFileType(SCEveFileType *plugin)
 {
     const char *builtin[] = {
         "regular",
@@ -191,9 +190,9 @@ bool SCPluginRegisterEveFileType(SCPluginFileType *plugin)
     return SCRegisterEveFileType(plugin);
 }
 
-SCPluginFileType *SCPluginFindFileType(const char *name)
+SCEveFileType *SCPluginFindFileType(const char *name)
 {
-    SCPluginFileType *plugin = NULL;
+    SCEveFileType *plugin = NULL;
     TAILQ_FOREACH(plugin, &output_types, entries) {
         if (strcmp(name, plugin->name) == 0) {
             return plugin;
index 8d87da760ee58b81cf6314dc9c4165d1713dab12..21654d86e6ef08c83876f2112fa6840d75428a53 100644 (file)
@@ -23,7 +23,7 @@
 
 void SCInternalLoad(void);
 void SCPluginsLoad(const char *capture_plugin_name, const char *capture_plugin_args);
-SCPluginFileType *SCPluginFindFileType(const char *name);
+SCEveFileType *SCPluginFindFileType(const char *name);
 SCCapturePlugin *SCPluginFindCaptureByName(const char *name);
 
 bool RegisterPlugin(SCPlugin *, void *);