aboutsummaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
Diffstat (limited to 'libexec')
-rw-r--r--libexec/flua/Makefile7
-rw-r--r--libexec/flua/bootstrap.h6
-rw-r--r--libexec/flua/linit_flua.c5
-rw-r--r--libexec/flua/lposix/Makefile5
-rw-r--r--libexec/flua/lposix/Makefile.inc2
-rw-r--r--libexec/flua/modules/lposix.c (renamed from libexec/flua/lposix/lposix.c)5
-rw-r--r--libexec/flua/modules/lposix.h (renamed from libexec/flua/lposix/lposix.h)0
-rwxr-xr-xlibexec/nuageinit/nuageinit1
-rw-r--r--libexec/rc/rc.conf3
-rwxr-xr-xlibexec/rc/rc.d/netwait10
10 files changed, 21 insertions, 23 deletions
diff --git a/libexec/flua/Makefile b/libexec/flua/Makefile
index 0d1841f8c3bd..23de404710d0 100644
--- a/libexec/flua/Makefile
+++ b/libexec/flua/Makefile
@@ -16,11 +16,11 @@ FLUA_MODULES+= libjail
.endif
FLUA_MODULES+= libucl
FLUA_MODULES+= liblyaml
-FLUA_MODULES+= lposix
.ifdef BOOTSTRAPPING
-FLUA_MODULES+= libfreebsd/sys/linker
-FLUA_MODULES+= libfreebsd/kenv
+# libfreebsd is generally omitted from the bootstrap flua because its
+# functionality largely assumes a FreeBSD kernel/system headers, so it doesn't
+# really offer functionality that we can use in bootstrap.
CFLAGS+= -I${.CURDIR} -DBOOTSTRAPPING
SHAREDIR= ${WORLDTMP}/legacy/usr/share/flua
@@ -54,6 +54,7 @@ SRCS+= lua.c
# FreeBSD Extensions
.PATH: ${.CURDIR}/modules
SRCS+= linit_flua.c
+SRCS+= lposix.c
CFLAGS+= -I${SRCTOP}/lib/liblua -I${.CURDIR}/modules -I${LUASRC}
CFLAGS+= -DLUA_PROGNAME="\"${PROG}\""
diff --git a/libexec/flua/bootstrap.h b/libexec/flua/bootstrap.h
index 74356d8677b3..caf00518c1e0 100644
--- a/libexec/flua/bootstrap.h
+++ b/libexec/flua/bootstrap.h
@@ -12,10 +12,12 @@
#include <lauxlib.h>
-SET_DECLARE(flua_module_set, const luaL_Reg);
+#define FLUA_MODULE_SETNAME flua_modules
+
+SET_DECLARE(FLUA_MODULE_SETNAME, const luaL_Reg);
#define FLUA_MODULE_DEF(ident, modname, openfn) \
static const luaL_Reg ident = { modname, openfn }; \
- DATA_SET(flua_module_set, ident)
+ DATA_SET(FLUA_MODULE_SETNAME, ident)
#define FLUA_MODULE_NAMED(mod, name) \
FLUA_MODULE_DEF(module_ ## mod, name, luaopen_ ## mod)
diff --git a/libexec/flua/linit_flua.c b/libexec/flua/linit_flua.c
index 161f030923d3..65356c938671 100644
--- a/libexec/flua/linit_flua.c
+++ b/libexec/flua/linit_flua.c
@@ -33,6 +33,7 @@
#include "lualib.h"
#include "lauxlib.h"
+#include "lposix.h"
#include "bootstrap.h"
@@ -54,6 +55,8 @@ static const luaL_Reg loadedlibs[] = {
#if defined(LUA_COMPAT_BITLIB)
{LUA_BITLIBNAME, luaopen_bit32},
#endif
+ /* FreeBSD Extensions */
+ {"posix", luaopen_posix},
{NULL, NULL}
};
@@ -72,7 +75,7 @@ static void __attribute__((constructor)) flua_init_env(void) {
static void flua_setup_mods (lua_State *L) {
const luaL_Reg **flib;
- SET_FOREACH(flib, flua_module_set) {
+ SET_FOREACH(flib, FLUA_MODULE_SETNAME) {
luaL_requiref(L, (*flib)->name, (*flib)->func, 1);
lua_pop(L, 1); /* remove lib */
}
diff --git a/libexec/flua/lposix/Makefile b/libexec/flua/lposix/Makefile
deleted file mode 100644
index 92321d51be9a..000000000000
--- a/libexec/flua/lposix/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-SHLIB_NAME= posix.so
-WARNS?= 3
-
-.include "Makefile.inc"
-.include <bsd.lib.mk>
diff --git a/libexec/flua/lposix/Makefile.inc b/libexec/flua/lposix/Makefile.inc
deleted file mode 100644
index 499e6779e84d..000000000000
--- a/libexec/flua/lposix/Makefile.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-.PATH: ${.PARSEDIR}
-SRCS+= lposix.c
diff --git a/libexec/flua/lposix/lposix.c b/libexec/flua/modules/lposix.c
index 430bb6f28baf..75cdd345aeaa 100644
--- a/libexec/flua/lposix/lposix.c
+++ b/libexec/flua/modules/lposix.c
@@ -21,8 +21,6 @@
#include "lauxlib.h"
#include "lposix.h"
-#include "bootstrap.h"
-
static void
enforce_max_args(lua_State *L, int max)
{
@@ -699,6 +697,3 @@ luaopen_posix(lua_State *L)
return (1);
}
-
-/* Only this one needed in our bootstrap set, it will load the others. */
-FLUA_MODULE(posix);
diff --git a/libexec/flua/lposix/lposix.h b/libexec/flua/modules/lposix.h
index 1aa33f042571..1aa33f042571 100644
--- a/libexec/flua/lposix/lposix.h
+++ b/libexec/flua/modules/lposix.h
diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit
index 29340a3d91ea..f29fa8ba1bac 100755
--- a/libexec/nuageinit/nuageinit
+++ b/libexec/nuageinit/nuageinit
@@ -6,6 +6,7 @@
-- Copyright(c) 2025 Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
local nuage = require("nuage")
+local lfs = require("lfs")
local ucl = require("ucl")
local yaml = require("lyaml")
diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf
index 2589e2614c35..c776a815003c 100644
--- a/libexec/rc/rc.conf
+++ b/libexec/rc/rc.conf
@@ -501,7 +501,8 @@ netwait_timeout="60" # Total number of seconds to perform pings.
#netwait_if="" # Wait for active link on each intf in this list.
netwait_if_timeout="30" # Total number of seconds to monitor link state.
netwait_dad="NO" # Wait for DAD to complete
-netwait_dad_timeout="10" # Total number of seconds to wait for DAD.
+netwait_dad_timeout="" # Total number of seconds to wait for DAD, zero
+ # or unset to autodetect
### Miscellaneous network options: ###
icmp_bmcastecho="NO" # respond to broadcast ping packets
diff --git a/libexec/rc/rc.d/netwait b/libexec/rc/rc.d/netwait
index b609440a2e4e..05874552cf1c 100755
--- a/libexec/rc/rc.d/netwait
+++ b/libexec/rc/rc.d/netwait
@@ -36,13 +36,15 @@ netwait_start()
err 1 "Nothing to wait for"
fi
- if ! [ "${netwait_if_timeout}" -ge 1 ]; then
+ if ! [ "${netwait_if_timeout:=0}" -ge 1 ]; then
err 1 "netwait_if_timeout must be >= 1"
fi
- if ! [ "${netwait_dad_timeout}" -ge 1 ]; then
- err 1 "netwait_dad_timeout must be >= 1"
+ if ! check_kern_features inet6; then
+ netwait_dad="NO"
+ elif ! [ "${netwait_dad_timeout:=0}" -ge 1 ]; then
+ netwait_dad_timeout=$(($(sysctl -n net.inet6.ip6.dad_count)+1))
fi
- if ! [ "${netwait_timeout}" -ge 1 ]; then
+ if ! [ "${netwait_timeout:=0}" -ge 1 ]; then
err 1 "netwait_timeout must be >= 1"
fi