| #
151bd351
|
| 04-Oct-2025 |
Kyle Evans <kevans@FreeBSD.org> |
flua: support our flua modules in the bootstrap flua
This version builds every module into the flua binary itself, since all of the bootstrap tools are built -DNO_SHARED. As a result, we also canno
flua: support our flua modules in the bootstrap flua
This version builds every module into the flua binary itself, since all of the bootstrap tools are built -DNO_SHARED. As a result, we also cannot dlsym(), so we can't really discover the names of our newly builtin modules. Instead, just build out a linker set with all of our luaopen_*() functions to register everything up-front.
Building in all of the modules isn't strictly necessary, but it means that we have an example of how to add a bootstrap module everywhere you go and one doesn't need to consider whether bootstrap flua can use a module when writing scripts. On my build machine, the consequence on our binary size is an increase from around 1.6M -> 1.9M, which isn't really that bad.
.lua modules can install into their usual path below $WORLDTMP/legacy and we'll pick them up automagically by way of the ctor that sets up LUA_PATH early on.
This re-lands bootstrap module support with a more sensible subset, and after having verified that it cross-builds fine on macOS and Linux -- we cannot do libfreebsd on !FreeBSD because it's more system header dependant. We also need to bootstrap libmd to bring in libhash, and libucl + libyaml.
Reviewed by: bapt, emaste (both previous version) Differential Revision: https://reviews.freebsd.org/D51890
show more ...
|
| #
bbef1c72
|
| 04-Oct-2025 |
Kyle Evans <kevans@FreeBSD.org> |
Revert "flua: support our flua modules in the bootstrap flua"
This reverts commit 1953a12ee2cde1afacb3e3f7612d89695c96e04f, because it cannot work at all on macOS without more work, at a minimum. W
Revert "flua: support our flua modules in the bootstrap flua"
This reverts commit 1953a12ee2cde1afacb3e3f7612d89695c96e04f, because it cannot work at all on macOS without more work, at a minimum. We use linker sets for module discovery, but we don't have a version of this that works for mach-o at the moment.
show more ...
|
| #
1953a12e
|
| 03-Oct-2025 |
Kyle Evans <kevans@FreeBSD.org> |
flua: support our flua modules in the bootstrap flua
This version builds every module into the flua binary itself, since all of the bootstrap tools are built -DNO_SHARED. As a result, we also canno
flua: support our flua modules in the bootstrap flua
This version builds every module into the flua binary itself, since all of the bootstrap tools are built -DNO_SHARED. As a result, we also cannot dlsym(), so we can't really discover the names of our newly builtin modules. Instead, just build out a linker set with all of our luaopen_*() functions to register everything up-front.
Building in all of the modules isn't strictly necessary, but it means that we have an example of how to add a bootstrap module everywhere you go and one doesn't need to consider whether bootstrap flua can use a module when writing scripts. On my build machine, the consequence on our binary size is an increase from around 1.6M -> 1.9M, which isn't really that bad.
.lua modules can install into their usual path below $WORLDTMP/legacy and we'll pick them up automagically by way of the ctor that sets up LUA_PATH early on.
Reviewed by: bapt, emaste Differential Revision: https://reviews.freebsd.org/D51890
show more ...
|
| #
30e6e008
|
| 31-Mar-2025 |
Igor Ostapenko <igoro@FreeBSD.org> |
jail: Add meta and env parameters
Each one is an arbitrary string associated with a jail. It can be set upon jail creation or added/modified later:
> jail -cm ... meta="tag1=value1 tag2=value2"
jail: Add meta and env parameters
Each one is an arbitrary string associated with a jail. It can be set upon jail creation or added/modified later:
> jail -cm ... meta="tag1=value1 tag2=value2" env="configuration"
The values are not inherited from the parent jail.
A parent jail can read both metadata parameters, while a child jail can read only env via security.jail.env sysctl.
The maximum size of meta or env per jail is controlled by the global security.jail.meta_maxbufsize sysctl. Decreasing it does not alter the existing meta information.
Each metadata buffer can be handled as a set of key=value\n strings:
> jail -cm ... meta="$(echo k1=v1; echo k2=v2)" env.1=one > jls meta.k2 env.1 meta.k1
While meta.k1= resets the value to an empty string, the meta.k1 without the equal sign removes the given key.
Relnotes: yes Reviewed by: jamie Tested by: dch Sponsored by: SkunkWerks GmbH Differential Revision: https://reviews.freebsd.org/D47668
show more ...
|
| #
7899f917
|
| 09-Sep-2024 |
Baptiste Daroussin <bapt@FreeBSD.org> |
flua: move modules source into the main source directory
Follow the path of what is done with bsnmp, build the modules along with the main binary, this allows to build the modules at a moment where
flua: move modules source into the main source directory
Follow the path of what is done with bsnmp, build the modules along with the main binary, this allows to build the modules at a moment where all needed libraries are already built and available in the linker path instead of having to declare all the libraries which a flua module will be linked to in _prebuild_libs.
Discused with: markj Reviewed by: markj, jrtc27, kevans, imp Accepted by: kevans, imp Differential Revision: https://reviews.freebsd.org/D46610
show more ...
|
| #
a2f733ab
|
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
lib: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
lib: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
| #
1d386b48
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
| #
b3e76948
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
| #
f2411b92
|
| 15-Sep-2022 |
Gordon Bergling <gbe@FreeBSD.org> |
flua: Fix a typo in a source code comment
- s/paramter/parameter/
MFC after: 3 days
|
| #
a6499c56
|
| 23-Oct-2020 |
Kyle Evans <kevans@FreeBSD.org> |
jail(3lua): add jail.attach()/jail.remove() methods
These aren't a part of or use libjail(3), but rather are direct syscalls. Still, they seem like good additions, allowing us to attach to already-
jail(3lua): add jail.attach()/jail.remove() methods
These aren't a part of or use libjail(3), but rather are direct syscalls. Still, they seem like good additions, allowing us to attach to already-running jails.
Reviewed by: freqlabs Differential Revision: https://reviews.freebsd.org/D26927
show more ...
|
| #
6a7647ec
|
| 13-Oct-2020 |
Kyle Evans <kevans@FreeBSD.org> |
jail(3lua): add a jail.list() method
This is implemented as an iterator, reusing parts of the earlier logic to populate jailparams from a passed in table.
The user may request any number of paramet
jail(3lua): add a jail.list() method
This is implemented as an iterator, reusing parts of the earlier logic to populate jailparams from a passed in table.
The user may request any number of parameters to pull in while we're searching, but we'll force jid and name to appear at a minimum.
Reviewed by: freqlabs Differential Revision: https://reviews.freebsd.org/D26756
show more ...
|
| #
e175b519
|
| 25-Feb-2021 |
Ryan Moeller <freqlabs@FreeBSD.org> |
lib/flua/libjail: Allow empty params table
The name or jid always gets added to the params, and that's enough to avoid allocating a 0 length params array.
Reported by: kevans Reviewed by: kevans MF
lib/flua/libjail: Allow empty params table
The name or jid always gets added to the params, and that's enough to avoid allocating a 0 length params array.
Reported by: kevans Reviewed by: kevans MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D28778
show more ...
|
| #
73577bf0
|
| 24-Oct-2020 |
Ryan Moeller <freqlabs@FreeBSD.org> |
flua: Add a libjail module
libjail is pretty small, so it makes for a good proof of concept demonstrating how a system library can be wrapped to create a loadable Lua module for flua.
* Introduce 3
flua: Add a libjail module
libjail is pretty small, so it makes for a good proof of concept demonstrating how a system library can be wrapped to create a loadable Lua module for flua.
* Introduce 3lua section for man pages * Add libjail module
Reviewed by: kevans, manpages Relnotes: yes Differential Revision: https://reviews.freebsd.org/D26080
show more ...
|