Compare commits

..

3 commits

Author SHA1 Message Date
bf41726613 Merge branch 'fix/json-library-compatibility' 2025-09-05 17:44:42 +02:00
0592381e5d chore: merkwerk auto-update 2025-09-05 17:44:42 +02:00
78e8dedf8e fix(json): add multi-platform JSON library compatibility
- Add flexible JSON detection (cjson preferred, dkjson fallback)
- Update main.lua and mail.lua with found_cjson detection
- Update start.sh to check both JSON libraries
- Enables furt to run on Arch Linux without manual patches
- Maintains API compatibility with existing cjson usage

Fixes #108
2025-09-05 17:44:42 +02:00
4 changed files with 14 additions and 5 deletions

View file

@ -17,3 +17,4 @@
25a29c32,38a1108,main,2025-09-03T20:13:08Z,michael,git,lua-api
25a29c32,442b465,fix/systemd-type-forking,2025-09-05T15:02:31Z,michael,git,lua-api
25a29c32,c15b01a,fix/config-path-consistency,2025-09-05T15:21:25Z,michael,git,lua-api
795f8867,78e8ded,fix/json-library-compatibility,2025-09-05T15:44:42Z,michael,git,lua-api

View file

@ -59,10 +59,12 @@ $LUA_COMMAND -e "require('socket')" 2>/dev/null || {
exit 1
}
$LUA_COMMAND -e "require('cjson')" 2>/dev/null || {
echo -e "${RED}Error: lua-cjson not found${NC}"
# JSON library check (cjson preferred, dkjson fallback)
if ! ($LUA_COMMAND -e "require('cjson')" 2>/dev/null || $LUA_COMMAND -e "require('dkjson')" 2>/dev/null); then
echo -e "${RED}Error: No JSON library found${NC}"
echo "Install lua-cjson or lua-dkjson"
exit 1
}
fi
cd "$PROJECT_DIR"

View file

@ -3,7 +3,10 @@
-- Dragons@Work Digital Sovereignty Project
local socket = require("socket")
local cjson = require("cjson")
local found_cjson, cjson = pcall(require, 'cjson')
if not found_cjson then
cjson = require('dkjson')
end
-- Load modules
local Auth = require("src.auth")

View file

@ -3,7 +3,10 @@
-- API-Key determines mail configuration and recipient
-- Dragons@Work Digital Sovereignty Project
local cjson = require("cjson")
local found_cjson, cjson = pcall(require, 'cjson')
if not found_cjson then
cjson = require('dkjson')
end
local MailRoute = {}