]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
detect: allow alias registration for rule keywords 893/head
authorVictor Julien <victor@inliniac.net>
Thu, 13 Mar 2014 16:09:28 +0000 (17:09 +0100)
committerVictor Julien <victor@inliniac.net>
Thu, 13 Mar 2014 16:11:32 +0000 (17:11 +0100)
This allows for registering a keyword under another name while keeping
the old name active and supported.

Do this for 'luajit', which can now also be used as just 'lua'.

src/detect-luajit.c
src/detect-parse.c
src/detect.h

index bbd710af08ad666e7d3ab9a0ff86350b190df07e..bae31fcdfa88bebc2cbc53357db3c77c606b8a45 100644 (file)
@@ -71,6 +71,7 @@ static int DetectLuajitSetupNoSupport (DetectEngineCtx *a, Signature *b, char *c
  */
 void DetectLuajitRegister(void) {
     sigmatch_table[DETECT_LUAJIT].name = "luajit";
+    sigmatch_table[DETECT_LUAJIT].alias = "lua";
     sigmatch_table[DETECT_LUAJIT].Setup = DetectLuajitSetupNoSupport;
     sigmatch_table[DETECT_LUAJIT].Free  = NULL;
     sigmatch_table[DETECT_LUAJIT].RegisterTests = NULL;
@@ -95,6 +96,7 @@ static void DetectLuajitFree(void *);
  */
 void DetectLuajitRegister(void) {
     sigmatch_table[DETECT_LUAJIT].name = "luajit";
+    sigmatch_table[DETECT_LUAJIT].alias = "lua";
     sigmatch_table[DETECT_LUAJIT].desc = "match via a luajit script";
     sigmatch_table[DETECT_LUAJIT].url = "https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Lua_scripting";
     sigmatch_table[DETECT_LUAJIT].Match = DetectLuajitMatch;
index 696ea28ab5da67de6339ba6b655211fb008c2d9d..f147d0c798289772ac1efaa74eebb18b8339e158 100644 (file)
@@ -273,6 +273,8 @@ SigTableElmt *SigTableGet(char *name) {
         if (st->name != NULL) {
             if (strcasecmp(name,st->name) == 0)
                 return st;
+            if (st->alias != NULL && strcasecmp(name,st->alias) == 0)
+                return st;
         }
     }
 
index 86469995c433108eab70c30aad7f097e9d44a4c5..4ad199ac26a62b06c0282d2a6d4ba8e7c54af328 100644 (file)
@@ -897,7 +897,8 @@ typedef struct SigTableElmt_ {
     void (*RegisterTests)(void);
 
     uint8_t flags;
-    char *name;
+    char *name;     /**< keyword name alias */
+    char *alias;    /**< name alias */
     char *desc;
     char *url;