lunatik: add lunatik addon

lunatik has LuaXDP that supports scripting XDP
for TLS SNI parsing and many other scripting
featuers for kernel.

see lunatik build workaround in detail

https://github.com/luainkernel/lunatik/issues/189
https://github.com/vincentmli/BPFire/issues/40

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
This commit is contained in:
Vincent Li
2024-09-14 15:33:34 +00:00
parent 74cf8a3943
commit c690c0c447
3 changed files with 129 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
lib/modules/6.6.15-ipfire/lunatik
lib/modules/6.6.15-ipfire/lunatik/luacompletion.ko
lib/modules/6.6.15-ipfire/lunatik/luadata.ko
lib/modules/6.6.15-ipfire/lunatik/luadevice.ko
lib/modules/6.6.15-ipfire/lunatik/luafib.ko
lib/modules/6.6.15-ipfire/lunatik/luafifo.ko
lib/modules/6.6.15-ipfire/lunatik/lualinux.ko
lib/modules/6.6.15-ipfire/lunatik/luanetfilter.ko
lib/modules/6.6.15-ipfire/lunatik/luanotifier.ko
lib/modules/6.6.15-ipfire/lunatik/luaprobe.ko
lib/modules/6.6.15-ipfire/lunatik/luarcu.ko
lib/modules/6.6.15-ipfire/lunatik/luasocket.ko
lib/modules/6.6.15-ipfire/lunatik/luasyscall.ko
lib/modules/6.6.15-ipfire/lunatik/luathread.ko
lib/modules/6.6.15-ipfire/lunatik/luaxdp.ko
lib/modules/6.6.15-ipfire/lunatik/luaxtable.ko
lib/modules/6.6.15-ipfire/lunatik/lunatik.ko
lib/modules/6.6.15-ipfire/lunatik/lunatik_run.ko
lib/modules/lua
lib/modules/lua/driver.lua
lib/modules/lua/examples
lib/modules/lua/examples/dnsblock
lib/modules/lua/examples/dnsblock/common.lua
lib/modules/lua/examples/dnsblock/dnsblock.lua
lib/modules/lua/examples/dnsblock/nf_dnsblock.lua
lib/modules/lua/examples/dnsdoctor
lib/modules/lua/examples/dnsdoctor/common.lua
lib/modules/lua/examples/dnsdoctor/dnsdoctor.lua
lib/modules/lua/examples/dnsdoctor/libxt_dnsdoctor.lua
lib/modules/lua/examples/dnsdoctor/nf_dnsdoctor.lua
lib/modules/lua/examples/echod
lib/modules/lua/examples/echod/daemon.lua
lib/modules/lua/examples/echod/worker.lua
lib/modules/lua/examples/filter
lib/modules/lua/examples/filter/sni.lua
lib/modules/lua/examples/keylocker.lua
lib/modules/lua/examples/shared.lua
lib/modules/lua/examples/spyglass.lua
lib/modules/lua/examples/systrack.lua
lib/modules/lua/examples/tap.lua
lib/modules/lua/mailbox.lua
lib/modules/lua/socket
lib/modules/lua/socket/inet.lua
lib/modules/lua/syscall
lib/modules/lua/syscall/table.lua
usr/sbin/lunatik

82
lfs/lunatik Normal file
View File

@@ -0,0 +1,82 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> #
# Copyright (C) 2024 BPFire
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# 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 #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 5.3.2
THISAPP = lunatik-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = ea116236c073b038bedc1c1c3a61b1eff7e4dc9fed105fdf469190002ff54b45216fc84a4a7257bf12e8adb5207c7c93aab32e017d64ab522c91cca131ac86d6
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
b2 : $(subst %,%_BLAKE2,$(objects))
###############################################################################
# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_BLAKE2,$(objects)) :
@$(B2SUM)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && make btf_install
cd $(DIR_APP) && make
cd $(DIR_APP) && make install
cd $(DIR_APP) && make examples_install
cd $(DIR_APP)/examples/filter && make
@rm -rf $(DIR_APP)
@$(POSTBUILD)

View File

@@ -1721,6 +1721,7 @@ buildipfire() {
lfsmake2 loxilb-tc
lfsmake2 loxicmd
lfsmake2 loxilb
lfsmake2 lunatik
# Kernelbuild ... current we have no platform that need