lua: use rust crate to vendor (bundle) lua

Remove lua-dev(el) from all CI tests.
pull/11165/head
Jason Ish 3 years ago
parent afb705d278
commit bc011f2205

@ -212,7 +212,6 @@ jobs:
git \
jansson-devel \
jq \
lua-devel \
libtool \
libyaml-devel \
libnfnetlink-devel \
@ -365,7 +364,6 @@ jobs:
git \
jansson-devel \
jq \
lua-devel \
libtool \
libyaml-devel \
libnfnetlink-devel \
@ -513,7 +511,7 @@ jobs:
- name: Configuring
run: |
./autogen.sh
CFLAGS="${DEFAULT_CFLAGS}" ./configure --disable-lua
CFLAGS="${DEFAULT_CFLAGS}" ./configure
- run: make -j ${{ env.CPUS }} check
- name: Checking includes
run: |
@ -563,7 +561,6 @@ jobs:
git \
jansson-devel \
jq \
lua-devel \
libtool \
libyaml-devel \
libnfnetlink-devel \
@ -679,7 +676,7 @@ jobs:
name: dist
- run: tar zxvf suricata-*.tar.gz --strip-components=1
- name: ./configure
run: CFLAGS="${DEFAULT_CFLAGS}" ./configure --disable-lua
run: CFLAGS="${DEFAULT_CFLAGS}" ./configure
- run: make -j ${{ env.CPUS }}
- run: make install
- run: make install-conf
@ -742,7 +739,6 @@ jobs:
hiredis-devel \
jansson-devel \
jq \
lua-devel \
libasan \
libtool \
libyaml-devel \
@ -839,7 +835,6 @@ jobs:
hiredis-devel \
jansson-devel \
jq \
lua-devel \
libasan \
libtool \
libyaml-devel \
@ -937,7 +932,6 @@ jobs:
hiredis-devel \
jansson-devel \
jq \
lua-devel \
libasan \
libtool \
libyaml-devel \
@ -1035,7 +1029,6 @@ jobs:
hiredis-devel \
jansson-devel \
jq \
lua-devel \
libasan \
libtool \
libyaml-devel \
@ -1066,7 +1059,7 @@ jobs:
- run: tar xf prep/libhtp.tar.gz
- run: tar xf prep/suricata-update.tar.gz
- run: ./autogen.sh
- run: CC="clang" CFLAGS="$DEFAULT_CFLAGS -Wshadow -fsanitize=address -fno-omit-frame-pointer" ./configure --enable-debug --enable-unittests --disable-shared --enable-rust-strict --enable-hiredis --enable-nfqueue --enable-lua
- run: CC="clang" CFLAGS="$DEFAULT_CFLAGS -Wshadow -fsanitize=address -fno-omit-frame-pointer" ./configure --enable-debug --enable-unittests --disable-shared --enable-rust-strict --enable-hiredis --enable-nfqueue
env:
LDFLAGS: "-fsanitize=address"
ac_cv_func_realloc_0_nonnull: "yes"
@ -1128,7 +1121,6 @@ jobs:
hiredis-devel \
jansson-devel \
jq \
lua-devel \
libasan \
libtool \
libyaml-devel \
@ -1213,7 +1205,6 @@ jobs:
hiredis-devel \
jansson-devel \
jq \
lua-devel \
libasan \
libtool \
libyaml-devel \
@ -1307,7 +1298,6 @@ jobs:
gcc \
gcc-c++ \
git \
lua-devel \
libasan \
libtool \
libyaml-devel \
@ -1378,7 +1368,6 @@ jobs:
libhiredis-dev \
libhyperscan-dev \
libjansson-dev \
liblua5.4-dev \
libmagic-dev \
libnet1-dev \
libnetfilter-queue-dev \
@ -1459,7 +1448,6 @@ jobs:
libnuma-dev \
libhiredis-dev \
libhyperscan-dev \
liblua5.4-dev \
libjansson-dev \
libevent-dev \
libevent-pthreads-2.1-7 \
@ -1587,7 +1575,6 @@ jobs:
libnfnetlink0 \
libnuma-dev \
libhiredis-dev \
liblua5.1-dev \
libjansson-dev \
libevent-dev \
libevent-pthreads-2.1-7 \
@ -1702,7 +1689,6 @@ jobs:
libnfnetlink0 \
libnuma-dev \
libhiredis-dev \
liblua5.1-dev \
libjansson-dev \
libevent-dev \
libevent-pthreads-2.1-7 \
@ -1850,7 +1836,6 @@ jobs:
libnfnetlink0 \
libnuma-dev \
libhiredis-dev \
liblua5.1-dev \
libjansson-dev \
libevent-dev \
libevent-pthreads-2.1-7 \
@ -1939,7 +1924,6 @@ jobs:
libnfnetlink0 \
libnuma-dev \
libhiredis-dev \
liblua5.1-dev \
libjansson-dev \
libevent-dev \
libevent-pthreads-2.1-7 \
@ -2040,7 +2024,6 @@ jobs:
libnfnetlink0 \
libnuma-dev \
libhiredis-dev \
liblua5.4-dev \
libjansson-dev \
libevent-dev \
libevent-pthreads-2.1-7 \
@ -2180,7 +2163,7 @@ jobs:
chmod 755 $HOME/.cargo/bin/cbindgen
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- run: ./autogen.sh
- run: CFLAGS="$DEFAULT_CFLAGS -DNDEBUG" ./configure --enable-warnings --enable-unittests --disable-lua
- run: CFLAGS="$DEFAULT_CFLAGS -DNDEBUG" ./configure --enable-warnings --enable-unittests
- run: make -j ${{ env.CPUS }}
- run: make check
- run: make dist
@ -2310,7 +2293,6 @@ jobs:
libjansson-dev \
libevent-dev \
libevent-pthreads-2.1-7 \
liblua5.4-dev \
libpython2.7 \
make \
parallel \
@ -2401,7 +2383,6 @@ jobs:
libnfnetlink0 \
libhiredis-dev \
libjansson-dev \
liblua5.4-dev \
libpython2.7 \
make \
rustc \
@ -2472,7 +2453,6 @@ jobs:
libjansson-dev \
libevent-dev \
libevent-pthreads-2.1-7 \
liblua5.4-dev \
libpython2.7 \
make \
parallel \
@ -2564,7 +2544,6 @@ jobs:
libyaml-dev \
libcap-ng-dev \
libcap-ng0 \
liblua5.4-dev \
libmagic-dev \
libnetfilter-queue-dev \
libnetfilter-queue1 \
@ -2683,7 +2662,6 @@ jobs:
libmaxminddb-dev \
libjansson-dev \
libjansson4 \
liblua5.4-dev \
libnuma-dev \
liblz4-dev \
libssl-dev \
@ -2771,7 +2749,6 @@ jobs:
libmagic-dev \
libjansson-dev \
libjansson4 \
liblua5.4-dev \
liblz4-dev \
libssl-dev \
liblzma-dev \
@ -2853,7 +2830,6 @@ jobs:
libmaxminddb-dev \
libjansson-dev \
libjansson4 \
liblua5.4-dev \
libnuma-dev \
liblz4-dev \
libssl-dev \
@ -2941,7 +2917,6 @@ jobs:
libmagic-dev \
libjansson-dev \
libgeoip-dev \
liblua5.4-dev \
libhiredis-dev \
libevent-dev \
libtool \
@ -3057,7 +3032,7 @@ jobs:
cp prep/cbindgen $HOME/.cargo/bin
chmod 755 $HOME/.cargo/bin/cbindgen
- run: ./autogen.sh
- run: CFLAGS="${DEFAULT_CFLAGS}" ./configure --enable-warnings --enable-unittests --enable-fuzztargets --disable-lua
- run: CFLAGS="${DEFAULT_CFLAGS}" ./configure --enable-warnings --enable-unittests --enable-fuzztargets
- run: make -j ${{ env.CPUS }}
- run: make check
- run: tar xf prep/suricata-verify.tar.gz
@ -3091,7 +3066,6 @@ jobs:
libtool \
libyaml \
pyyaml \
lua \
pcre2 \
pkg-config \
python \
@ -3138,7 +3112,7 @@ jobs:
with:
msystem: MINGW64
update: true
install: git mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool libyaml-devel pcre2-devel jansson-devel make mingw-w64-x86_64-libyaml mingw-w64-x86_64-pcre2 mingw-w64-x86_64-rust mingw-w64-x86_64-jansson unzip p7zip python-setuptools mingw-w64-x86_64-python-yaml mingw-w64-x86_64-jq mingw-w64-x86_64-libxml2 mingw-w64-x86_64-lua
install: git mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool libyaml-devel pcre2-devel jansson-devel make mingw-w64-x86_64-libyaml mingw-w64-x86_64-pcre2 mingw-w64-x86_64-rust mingw-w64-x86_64-jansson unzip p7zip python-setuptools mingw-w64-x86_64-python-yaml mingw-w64-x86_64-jq mingw-w64-x86_64-libxml2
# hack: install our own cbindgen system wide as we can't get the
# preinstalled one to be picked up by configure
- name: cbindgen
@ -3194,7 +3168,7 @@ jobs:
with:
msystem: MINGW64
update: true
install: git mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool libyaml-devel pcre2-devel jansson-devel make mingw-w64-x86_64-libyaml mingw-w64-x86_64-pcre2 mingw-w64-x86_64-rust mingw-w64-x86_64-jansson unzip p7zip python-setuptools mingw-w64-x86_64-python-yaml mingw-w64-x86_64-jq mingw-w64-x86_64-libxml2 libpcap-devel mingw-w64-x86_64-libpcap mingw-w64-x86_64-lua
install: git mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool libyaml-devel pcre2-devel jansson-devel make mingw-w64-x86_64-libyaml mingw-w64-x86_64-pcre2 mingw-w64-x86_64-rust mingw-w64-x86_64-jansson unzip p7zip python-setuptools mingw-w64-x86_64-python-yaml mingw-w64-x86_64-jq mingw-w64-x86_64-libxml2 libpcap-devel mingw-w64-x86_64-libpcap
# hack: install our own cbindgen system wide as we can't get the
# preinstalled one to be picked up by configure
- name: cbindgen
@ -3238,7 +3212,7 @@ jobs:
with:
msystem: MINGW64
update: true
install: git mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool libyaml-devel pcre2-devel jansson-devel make mingw-w64-x86_64-libyaml mingw-w64-x86_64-pcre2 mingw-w64-x86_64-rust mingw-w64-x86_64-jansson unzip p7zip python-setuptools mingw-w64-x86_64-python-yaml mingw-w64-x86_64-jq mingw-w64-x86_64-libxml2 libpcap-devel mingw-w64-x86_64-libpcap mingw-w64-x86_64-lua
install: git mingw-w64-x86_64-toolchain automake1.16 automake-wrapper autoconf libtool libyaml-devel pcre2-devel jansson-devel make mingw-w64-x86_64-libyaml mingw-w64-x86_64-pcre2 mingw-w64-x86_64-rust mingw-w64-x86_64-jansson unzip p7zip python-setuptools mingw-w64-x86_64-python-yaml mingw-w64-x86_64-jq mingw-w64-x86_64-libxml2 libpcap-devel mingw-w64-x86_64-libpcap
# hack: install our own cbindgen system wide as we can't get the
# preinstalled one to be picked up by configure
- name: cbindgen

@ -52,7 +52,6 @@ jobs:
sudo apt-get install libssl-dev
sudo apt-get install libpcre2-dev
sudo apt-get install libjansson-dev
sudo apt-get install liblua5.4-dev
sudo apt-get install libpcap-dev
sudo apt-get install libnuma-dev
git clone --depth 1 https://github.com/OISF/libhtp.git

@ -56,7 +56,6 @@ jobs:
git \
jansson-devel \
jq \
lua-devel \
libtool \
libyaml-devel \
libnfnetlink-devel \
@ -141,7 +140,6 @@ jobs:
git \
jansson-devel \
jq \
lua-devel \
libtool \
libyaml-devel \
libnfnetlink-devel \

@ -44,7 +44,6 @@ jobs:
git \
jansson-devel \
jq \
lua-devel \
libtool \
libyaml-devel \
libnfnetlink-devel \

@ -56,7 +56,6 @@ jobs:
libnuma-dev \
libhiredis-dev \
libhyperscan-dev \
liblua5.4-dev \
libjansson-dev \
libevent-dev \
libevent-pthreads-2.1-7 \

@ -243,9 +243,6 @@
#check for os
AC_MSG_CHECKING([host os])
# Default lua libname if not detected otherwise.
LUA_LIB_NAME="lua5.4"
# If no host os was detected, try with uname
if test -z "$host" ; then
host="`uname`"
@ -259,7 +256,6 @@
e_magic_file_comment="#"
case "$host" in
*-*-*freebsd*)
LUA_LIB_NAME="lua-5.4"
CFLAGS="${CFLAGS} -DOS_FREEBSD"
CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/usr/local/include/libnet11"
LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/usr/local/lib/libnet11"
@ -272,7 +268,6 @@
RUST_LDADD="-lm -lc++ -lc++abi"
;;
*darwin*|*Darwin*)
LUA_LIB_NAME="lua-5.4"
CFLAGS="${CFLAGS} -DOS_DARWIN"
CPPFLAGS="${CPPFLAGS} -I/opt/local/include"
LDFLAGS="${LDFLAGS} -L/opt/local/lib -framework Security"
@ -293,7 +288,6 @@
TRY_WPCAP="yes"
;;
*-*-cygwin)
LUA_LIB_NAME="lua"
WINDOWS_PATH="yes"
TRY_WPCAP="yes"
;;
@ -1877,120 +1871,11 @@
fi
fi
# liblua
AC_ARG_ENABLE(lua,
AS_HELP_STRING([--disable-lua],[Disable Lua support]),
[ enable_lua="$enableval"],
[ enable_lua="yes"])
AC_ARG_WITH(liblua_includes,
[ --with-liblua-includes=DIR liblua include directory],
[with_liblua_includes="$withval"],[with_liblua_includes="no"])
AC_ARG_WITH(liblua_libraries,
[ --with-liblua-libraries=DIR liblua library directory],
[with_liblua_libraries="$withval"],[with_liblua_libraries="no"])
if test "$enable_lua" = "yes"; then
if test "$with_liblua_includes" != "no"; then
CPPFLAGS="${CPPFLAGS} -I${with_liblua_includes}"
else
# lua lua54 lua5.4 lua-5.4
PKG_CHECK_MODULES([LUA], [lua], [LUA="yes"], [
PKG_CHECK_MODULES([LUA], [lua5.4], [LUA="yes"], [
PKG_CHECK_MODULES([LUA], [lua-5.4], [LUA="yes"], [
PKG_CHECK_MODULES([LUA], [lua54], [LUA="yes"], [
LUA="no"
])
])
])
])
CPPFLAGS="${CPPFLAGS} ${LUA_CFLAGS}"
fi
AC_CHECK_HEADER(lualib.h,LUA="yes",LUA="no")
if test "$LUA" = "yes"; then
if test "$with_liblua_libraries" != "no"; then
LDFLAGS="${LDFLAGS} -L${with_liblua_libraries}"
AC_CHECK_LIB(${LUA_LIB_NAME}, luaL_openlibs,, LUA="no")
if test "$LUA" = "no"; then
echo
echo " ERROR! liblua library not found, go get it"
echo " from http://lua.org/index.html or your distribution:"
echo
echo " Ubuntu: apt-get install liblua5.4-dev"
echo " Fedora: dnf install lua-devel"
echo " CentOS/RHEL: yum install lua-devel"
echo
echo " If you installed software in a non-standard prefix"
echo " consider adjusting the PKG_CONFIG_PATH environment variable"
echo " or use --with-liblua-libraries configure option."
echo
exit 1
fi
else
# lua lua54 lua5.4 lua-5.4
PKG_CHECK_MODULES([LUA], [lua], [LUA="yes"], [
PKG_CHECK_MODULES([LUA], [lua5.4], [LUA="yes"], [
PKG_CHECK_MODULES([LUA], [lua-5.4], [LUA="yes"], [
PKG_CHECK_MODULES([LUA], [lua54], [LUA="yes"], [
LUA="no"
])
])
])
])
LIBS="${LIBS} ${LUA_LIBS}"
fi
if test "$LUA" = "no"; then
AC_CHECK_LIB(lua, luaL_openlibs,, LUA="no")
fi
if test "$LUA" = "yes"; then
AC_DEFINE([HAVE_LUA],[1],[liblua available])
enable_lua="yes"
fi
else
echo
echo " ERROR! liblua headers not found, go get them"
echo " from http://lua.org/index.html or your distribution:"
echo
echo " Ubuntu: apt-get install liblua5.4-dev"
echo " Fedora: dnf install lua-devel"
echo " CentOS/RHEL: yum install lua-devel"
echo
echo " If you installed software in a non-standard prefix"
echo " consider adjusting the PKG_CONFIG_PATH environment variable"
echo " or use --with-liblua-includes and --with-liblua-libraries"
echo " configure option."
echo
exit 1
fi
fi
AM_CONDITIONAL([HAVE_LUA], [test "x$enable_lua" != "xno"])
# If Lua is enabled, test the integer size.
if test "x$enable_lua" = "xyes" -a "$cross_compiling" != "yes"; then
TMPLIBS="$LIBS"
LIBS=""
AC_MSG_CHECKING([size of lua integer])
AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <lua.h>]],
[[
if (sizeof(lua_Integer) == 8) {
return 1;
}
return 0;
]])],
[
AC_MSG_RESULT([4])
],
[
AC_MSG_RESULT([8])
AC_SUBST([LUA_INT8], ["lua_int8"])
])
LIBS="$TMPLIBS"
fi
# Lua support, always enabled
# TODO: Update the code to not require this.
AC_DEFINE([HAVE_LUA], [1], [lua support available])
AM_CONDITIONAL([HAVE_LUA], [true])
AC_SUBST([LUA_INT8], ["lua_int8"])
# libmaxminddb
AC_ARG_ENABLE(geoip,
@ -2284,7 +2169,7 @@ fi
fi
RUST_SURICATA_LIB="${RUST_SURICATA_LIBDIR}/${RUST_SURICATA_LIBNAME}"
CFLAGS="${CFLAGS} -I\${srcdir}/../rust/gen -I\${srcdir}/../rust/dist"
CFLAGS="${CFLAGS} -I\${srcdir}/../rust/gen -I\${srcdir}/../rust/dist -I../rust/gen"
AC_SUBST(RUST_SURICATA_LIB)
AC_SUBST(RUST_LDADD)
if test "x$CARGO_HOME" = "x"; then

@ -109,10 +109,9 @@ Recommended::
sudo apt-get install autoconf automake build-essential ccache clang curl git \
gosu jq libbpf-dev libcap-ng0 libcap-ng-dev libelf-dev \
libevent-dev libgeoip-dev libhiredis-dev libjansson-dev \
liblua5.4-dev libmagic-dev libnet1-dev libpcap-dev \
libpcre2-dev libtool libyaml-0-2 libyaml-dev m4 make \
pkg-config python3 python3-dev python3-yaml sudo zlib1g \
zlib1g-dev
libmagic-dev libnet1-dev libpcap-dev libpcre2-dev libtool \
libyaml-0-2 libyaml-dev m4 make pkg-config python3 \
python3-dev python3-yaml sudo zlib1g zlib1g-dev
cargo install --force cbindgen
Extra for iptables/nftables IPS integration::

@ -77,7 +77,7 @@ dependencies = [
"asn1-rs-impl",
"displaydoc",
"nom",
"num-traits 0.2.17",
"num-traits 0.2.18",
"rusticata-macros",
"thiserror",
"time",
@ -89,9 +89,9 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7378575ff571966e99a744addeff0bff98b8ada0dedf1956d59e634db95eaac1"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 2.0.39",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 2.0.59",
"synstructure 0.13.1",
]
@ -101,16 +101,16 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 2.0.39",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 2.0.59",
]
[[package]]
name = "autocfg"
version = "1.1.0"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
[[package]]
name = "base64"
@ -192,9 +192,9 @@ dependencies = [
[[package]]
name = "cpufeatures"
version = "0.2.11"
version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
dependencies = [
"libc",
]
@ -210,9 +210,9 @@ dependencies = [
[[package]]
name = "crc32fast"
version = "1.3.2"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
dependencies = [
"cfg-if",
]
@ -238,9 +238,9 @@ dependencies = [
[[package]]
name = "data-encoding"
version = "2.4.0"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
[[package]]
name = "der-parser"
@ -252,7 +252,7 @@ dependencies = [
"displaydoc",
"nom",
"num-bigint 0.4.4",
"num-traits 0.2.17",
"num-traits 0.2.18",
"rusticata-macros",
]
@ -273,9 +273,9 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 2.0.39",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 2.0.59",
]
[[package]]
@ -302,8 +302,8 @@ version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 1.0.109",
"synstructure 0.12.6",
]
@ -318,6 +318,12 @@ dependencies = [
"miniz_oxide",
]
[[package]]
name = "fs_extra"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
[[package]]
name = "generic-array"
version = "0.14.7"
@ -330,9 +336,9 @@ dependencies = [
[[package]]
name = "getrandom"
version = "0.2.11"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
dependencies = [
"cfg-if",
"libc",
@ -357,9 +363,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hkdf"
version = "0.12.3"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
dependencies = [
"hmac",
]
@ -385,9 +391,9 @@ dependencies = [
[[package]]
name = "itoa"
version = "1.0.9"
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]]
name = "kerberos-parser"
@ -408,9 +414,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.150"
version = "0.2.153"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
[[package]]
name = "lzma-rs"
@ -446,9 +452,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "miniz_oxide"
version = "0.7.1"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
dependencies = [
"adler",
]
@ -480,8 +486,8 @@ version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd0b9a93a84b0d3ec3e70e02d332dc33ac6dfac9cde63e17fcb77172dededa62"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 1.0.109",
]
@ -506,7 +512,7 @@ dependencies = [
"num-integer",
"num-iter",
"num-rational",
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -517,7 +523,7 @@ checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304"
dependencies = [
"autocfg",
"num-integer",
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -528,7 +534,7 @@ checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
dependencies = [
"autocfg",
"num-integer",
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -538,7 +544,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95"
dependencies = [
"autocfg",
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -554,23 +560,22 @@ dependencies = [
[[package]]
name = "num-integer"
version = "0.1.45"
version = "0.1.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
dependencies = [
"autocfg",
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
name = "num-iter"
version = "0.1.43"
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9"
dependencies = [
"autocfg",
"num-integer",
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -582,7 +587,7 @@ dependencies = [
"autocfg",
"num-bigint 0.2.6",
"num-integer",
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
@ -591,14 +596,14 @@ version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
dependencies = [
"num-traits 0.2.17",
"num-traits 0.2.18",
]
[[package]]
name = "num-traits"
version = "0.2.17"
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
dependencies = [
"autocfg",
]
@ -619,8 +624,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
dependencies = [
"proc-macro-crate",
"proc-macro2 1.0.69",
"quote 1.0.33",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 1.0.109",
]
@ -635,9 +640,9 @@ dependencies = [
[[package]]
name = "opaque-debug"
version = "0.3.0"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "phf"
@ -716,9 +721,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
version = "1.0.69"
version = "1.0.80"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
checksum = "a56dea16b0a29e94408b9aa5e2940a4eedbd128a1ba20e8f7ae60fd3d465af0e"
dependencies = [
"unicode-ident",
]
@ -734,11 +739,11 @@ dependencies = [
[[package]]
name = "quote"
version = "1.0.33"
version = "1.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
dependencies = [
"proc-macro2 1.0.69",
"proc-macro2 1.0.80",
]
[[package]]
@ -799,9 +804,9 @@ dependencies = [
[[package]]
name = "rustversion"
version = "1.0.14"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
[[package]]
name = "sawp"
@ -828,8 +833,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49a585d3c22887d23bb06dd602b8ce96c2a716e1fa89beec8bfb49e466f2d643"
dependencies = [
"proc-macro-crate",
"proc-macro2 1.0.69",
"quote 1.0.33",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 1.0.109",
]
@ -847,22 +852,22 @@ dependencies = [
[[package]]
name = "serde"
version = "1.0.192"
version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.192"
version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 2.0.39",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 2.0.59",
]
[[package]]
@ -940,7 +945,7 @@ dependencies = [
"ntp-parser",
"num",
"num-derive",
"num-traits 0.2.17",
"num-traits 0.2.18",
"regex",
"sawp",
"sawp-modbus",
@ -948,6 +953,7 @@ dependencies = [
"sha2",
"snmp-parser",
"suricata-derive",
"suricata-lua-sys",
"test-case",
"time",
"tls-parser",
@ -961,11 +967,19 @@ name = "suricata-derive"
version = "8.0.0-dev"
dependencies = [
"proc-macro-crate",
"proc-macro2 1.0.69",
"quote 1.0.33",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 1.0.109",
]
[[package]]
name = "suricata-lua-sys"
version = "0.1.0-alpha.1"
source = "git+https://github.com/jasonish/suricata-lua-sys#cb449d352da17e5ef120f0b6b031dbe63ae64f06"
dependencies = [
"fs_extra",
]
[[package]]
name = "syn"
version = "0.15.44"
@ -983,19 +997,19 @@ version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"proc-macro2 1.0.80",
"quote 1.0.36",
"unicode-ident",
]
[[package]]
name = "syn"
version = "2.0.39"
version = "2.0.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"proc-macro2 1.0.80",
"quote 1.0.36",
"unicode-ident",
]
@ -1005,8 +1019,8 @@ version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 1.0.109",
"unicode-xid 0.2.4",
]
@ -1017,9 +1031,9 @@ version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 2.0.39",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 2.0.59",
]
[[package]]
@ -1038,9 +1052,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f"
dependencies = [
"cfg-if",
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 2.0.39",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 2.0.59",
]
[[package]]
@ -1049,30 +1063,30 @@ version = "3.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 2.0.39",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 2.0.59",
"test-case-core",
]
[[package]]
name = "thiserror"
version = "1.0.50"
version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.50"
version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
dependencies = [
"proc-macro2 1.0.69",
"quote 1.0.33",
"syn 2.0.39",
"proc-macro2 1.0.80",
"quote 1.0.36",
"syn 2.0.59",
]
[[package]]

@ -69,6 +69,8 @@ time = "=0.3.20"
suricata-derive = { path = "./derive", version = "@PACKAGE_VERSION@" }
suricata-lua-sys = { git = "https://github.com/jasonish/suricata-lua-sys", version = "0.1.0-alpha.1" }
[dev-dependencies]
test-case = "~3.3.1"
hex = "~0.4.3"

@ -61,6 +61,9 @@ endif
$(RUST_SURICATA_LIBDIR)/${RUST_SURICATA_LIBNAME}; \
fi
$(MAKE) gen/rust-bindings.h
mkdir -p $(abs_top_builddir)/rust/gen
cp -a $(RUST_SURICATA_LIBDIR)/build/suricata-lua-sys-*/out/lua/*.h \
$(abs_top_builddir)/rust/gen/
install-library:
$(MKDIR_P) "$(DESTDIR)$(libdir)"
@ -92,7 +95,8 @@ vendor:
if HAVE_CBINDGEN
gen/rust-bindings.h: $(RUST_SURICATA_LIB)
cbindgen --config $(abs_top_srcdir)/rust/cbindgen.toml \
cd $(abs_top_srcdir)/rust && \
cbindgen --config $(abs_top_srcdir)/rust/cbindgen.toml \
--quiet --verify --output $(abs_top_builddir)/rust/gen/rust-bindings.h || true
else
gen/rust-bindings.h:

@ -124,3 +124,6 @@ pub mod util;
pub mod ffi;
pub mod feature;
pub mod sdp;
#[allow(unused_imports)]
pub use suricata_lua_sys;

@ -494,19 +494,9 @@ typedef enum {
LOGGER_JSON_ARP,
} LoggerId;
#ifndef HAVE_LUA
/* If we don't have Lua, create a typedef for lua_State so the
* exported Lua functions don't fail the build. */
typedef void lua_State;
#else
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
#endif
typedef struct lua_State lua_State;
#include "tm-threads-common.h"
#include "util-optimize.h"

@ -31,6 +31,11 @@
typedef void lua_State;
#else
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
#include "threadvars.h"
#include "detect.h"

Loading…
Cancel
Save