mirror of https://github.com/OISF/suricata
lua: create suricata.config lua lib
Currently only provides "log_path" as a replacement for SCLogPath.pull/13361/head
parent
16fee33368
commit
ce7cdd6f9a
@ -0,0 +1,25 @@
|
||||
Config Library
|
||||
##############
|
||||
|
||||
The config library provides access to Suricata configuration settings.
|
||||
|
||||
To use this library, you must require it::
|
||||
|
||||
local config = require("suricata.config")
|
||||
|
||||
Functions
|
||||
*********
|
||||
|
||||
``log_path()``
|
||||
==============
|
||||
|
||||
Returns the configured log directory path.
|
||||
|
||||
Example::
|
||||
|
||||
local config = require("suricata.config")
|
||||
|
||||
local log_path, err = config.log_path()
|
||||
if log_path == nil then
|
||||
print("failed to get log path " .. err)
|
||||
end
|
@ -0,0 +1,56 @@
|
||||
/* Copyright (C) 2025 Open Information Security Foundation
|
||||
*
|
||||
* You can copy, redistribute or modify this Program under the terms of
|
||||
* the GNU General Public License version 2 as published by the Free
|
||||
* Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* version 2 along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
*
|
||||
* Configuration API for Lua.
|
||||
*
|
||||
* local config = require("suricata.config")
|
||||
*/
|
||||
|
||||
#include "suricata-common.h"
|
||||
#include "util-lua-config.h"
|
||||
#include "conf.h"
|
||||
#include "util-conf.h"
|
||||
#include "app-layer-protos.h"
|
||||
#include "util-lua-common.h"
|
||||
#include "util-lua.h"
|
||||
|
||||
#include "lauxlib.h"
|
||||
|
||||
static int LuaConfigLogPath(lua_State *L)
|
||||
{
|
||||
const char *ld = SCConfigGetLogDirectory();
|
||||
if (ld == NULL)
|
||||
return LuaCallbackError(L, "internal error: no log dir");
|
||||
|
||||
return LuaPushStringBuffer(L, (const uint8_t *)ld, strlen(ld));
|
||||
}
|
||||
|
||||
static const luaL_Reg configlib[] = {
|
||||
// clang-format off
|
||||
{ "log_path", LuaConfigLogPath },
|
||||
{ NULL, NULL },
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
int SCLuaLoadConfigLib(lua_State *L)
|
||||
{
|
||||
luaL_newlib(L, configlib);
|
||||
return 1;
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
/* Copyright (C) 2025 Open Information Security Foundation
|
||||
*
|
||||
* You can copy, redistribute or modify this Program under the terms of
|
||||
* the GNU General Public License version 2 as published by the Free
|
||||
* Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* version 2 along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301, USA.
|
||||
*/
|
||||
|
||||
#ifndef UTIL_LUA_CONFIG_H
|
||||
#define UTIL_LUA_CONFIG_H
|
||||
|
||||
#include "lua.h"
|
||||
|
||||
int SCLuaLoadConfigLib(lua_State *luastate);
|
||||
|
||||
#endif /* UTIL_LUA_CONFIG_H */
|
Loading…
Reference in New Issue