Aug 26 2025
Aug 12 2025
Jul 22 2025
Document new -x flag in jail(8).
Jul 17 2025
I had considered that the -l (exec clean) flag should be considered, but decided it really only makes sense for keeping the jail environment clean.
Jul 12 2025
Put the executable jail.conf(5) behind the -x option (as chicken bit).
Feb 27 2025
I vastly under appreciated that folks rely upon the ng_eiface not moving with the struct ifnet. Probably because I've been using them in jails for over a decade and only recently noticed myself.
I think I'll just accept my understanding is flawed now to save time and withdraw this. Thank you.
I do not like the plan. The picture drawn shows that a netgraph node in one vnet is connected to a node in a different vnet. This is basically a violation of the idea of vnet. Virtualized stacks should communicate with each other via network protocols, not kernel pointers. The only legal exclusion is epair(4). You may create a new netgraph node for your purpose - a node that is present in two vnets, that would be a second legal exclusion to the virtualization rule.
By design, moving an eiface ifnet from one vnet to another always implied that its netgraph node will remain attached in the parent vnet. This is not an omission or a mistake, but a well established mode of operation on which certain applications heavily depend on, and which this patch proposes to change, for reasons not clearly stated.
Nov 19 2024
Nov 18 2024
Not really part of this specific problem, but jail(8) should auto-recognize list parameters because their SYSCTL_JAIL specification has a type with ",a" appended. Ideally, it would build a list of such parameters it sees like that. For non-kernel parameters like vnet.interface and zfs.dataset, putting them in the array is probably as good as its going to get.
Looks good to me.
The tests looks good. I need some time to read the code carefully ...
Manpage LGTM
Oct 29 2024
Oct 16 2024
It would make sense for the exec.clean parameter to apply to the config execution. Bit of a chicken and egg problem there, but there's still the "-l" flag.
Aug 14 2024
Address style feedback.
Aug 13 2024
Using this /etc/jail.conf:
.include "/usr/local/etc/jail[.]conf"; .include "/etc/jail.d/*.conf"; .include "/usr/local/etc/jail.d/*.conf";
I'm a little torn on the idea itself, but here's some review
Jun 24 2024
Jun 21 2024
Jun 20 2024
I guess the change for sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c go to upstream first. Will it ?
I would subtly change the title :-)
Otherwise, looks good to me.
Jun 19 2024
May 22 2024
May 20 2024
Jan 11 2024
OK for the man page change. Make sure to bump the .Dd when you commit it for this content change.
Thanks for working on this, it's appreciated!
- make some scripts compatible with svcj (convert parts of the precmd into another way of settings variables), precmd is not run inside the same shell/jail = make it work with svcj
- add some support for nfs in svcj, not yet finished (precmd is not comaptible)
- exclude some scripts from svcj due to an incompatible precmd (not run in same shell/jail)
Make jls quiet.
Nov 28 2023
Nov 24 2023
Only rc.d/opensm is missing.
Nov 16 2023
Add support for nfs. Sort the options.
Add config for some more services.
Nov 10 2023
Change what was noticed in comments. Add a feature to enable the execution of extra commands inside the service jail.
Oct 16 2023
Oh and we also have to close it, because it did land! ugh Phabricator is very Project-Management-y :)
Oct 5 2023
Two fixes for the man page.
