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