User Details
- User Since
- Mar 2 2023, 11:30 AM (90 w, 3 d)
Tue, Nov 5
Apr 1 2024
Jail related error messages are corrected after FreeBSD based code separation. The GitHub PR has been updated respectively: https://github.com/freebsd/kyua/pull/224.
Mar 23 2024
I've updated the GitHub PR respectively: https://github.com/freebsd/kyua/pull/224.
Make mandoc -T lint and igor report nothing for kyuafile.5 and kyua.conf.5.
Mar 22 2024
The respective documentation update is added. Two man pages are patched: kyua.conf.5 and kyuafile.5.
Feb 27 2024
Updated summary of this Differential to align it with the current implementation.
Feb 26 2024
Documentation update and extra tests of Kyua itself are still postponed until the code freeze.
This is a re-worked version of the patch after the recent discussion on freebsd-hackers@ list:
Feb 23 2024
Align the patch with the main.
Align the patch with the main.
Feb 3 2024
Please, find the PR here: https://github.com/freebsd/kyua/pull/224.
Feb 1 2024
Resolve the recent comments.
Jan 29 2024
Jan 27 2024
@markj @ngie , the current state of the patch seems to cover most of the comments and agreements. I guess we could land it and think of further priorities like FreeBSD specifics separation, jail naming improvements (if it's a must today), probably tests of the kyua itself, man updates, etc. So, the subsequent changes could be separate reviews to ease the cognitive load.
Migrate from hard-coded JAIL_MAX to dynamic security.jail.children.max sysctl. The latter was recently added to the main: https://reviews.freebsd.org/D43565.
Jan 26 2024
@jamie, thanks for the commit.
May I ask for the help? To land the commit itself.
Jan 25 2024
I think we can abandon this proposal in favor of the dynamic security.jail.children.max sysctl. Landing this patch has a non-zero chance to break something, it looks better to keep the things as they are.
A little test improvement with additional comment about the magic numbers.
Jan 24 2024
Jan 23 2024
The purpose reasoning and initial discussion was in https://reviews.freebsd.org/D43476.
Jan 22 2024
This update gets wait_any() back to the working state after the recent manipulations with the if-else branching there.
I've quickly checked different vectors of how children.max could be retrieved by an app for its current prison:
- Jail library. I see no way to do it, it requires jail name or jid, which are unknown for an app. And even if it's known, the current (parent) jail is "invisible". No surprise here -- all according to the jail design.
- Jail syscalls. As long as the libjail is merely a wrapper around the syscalls it leaves an app with the same dilemma.
- sysctl security.jail.param.*. I see that the CTLTYPE_INT leafs are not implemented, they are always 0. As the code comments state it's simply a "menu" of existing params.
Jan 21 2024
I hope this update covers most of the @ngie points raised.
Jan 18 2024
Thank you all for your time and the review.
Jan 17 2024
There is a follow-up idea.
Jan 16 2024
Jan 15 2024
Most of the agreed changes should be covered by this version of the patch.
Open topics left:
- jail naming
- required_klds
Jan 12 2024
Jan 9 2024
Thanks for your time and consideration.
So my vote is to keep the existing behaviour the default, and let networking tests opt in to the new feature.
Thank you and @melifaro. This is exactly what I was looking for -- to get it concluded and confirmed by veterans what is the best way for the project.
Dec 14 2023
Thanks for your attention. Agree, the details matter. It's expected to receive more opinions and real use case claims when the kyua jail support patch gets detailed consideration and discussion. And the change of existing test suite configuration (this patch) may go another direction after that.
Dec 12 2023
Yes, we have to break the Demeter here for the sake of the bug fix. Some refactoring could take place here, but I guess it’s a separate project.
A concise version of the reasoning:
Nov 28 2023
- The assertions have been added.
- This update also proposes to apply the same assertion for the main two anchors (existing code).
Nov 24 2023
Nov 20 2023
Fair enough. Thank you. It was an expected outcome, it confirms my doubts. And I personally do not have production needs or something else to continue work on this and discuss possible alternatives or workarounds like exec.foo.
Nov 19 2023
Nov 16 2023
Sure, it makes sense. Please, consider the second version of the patch.
Nov 15 2023
Oct 31 2023
This update provides no functional change:
- It aligns with existing Kyua architecture by moving some parts out from utils::process::jail to engine::execenv::jail. The philosophy of utils::* is to have no relation to the outside entities like test program or test case name.
This update only renames the temporary script used from cd_exec.sh to kyua_cd_exec.sh.
Oct 27 2023
I've done the next step and now reached the level of the whole FreeBSD test suite. And my testings yielded the 3rd version of the kyua patch:
- it polishes test skip logic due to introduction of execenv cleanup phase
- and makes is_exclusive metadata be omitted if execenv="jail", which sounds practical comparing to if it would not do so
Oct 25 2023
My thoughts regarding the FreeBSD test suite itself. For now I see two options. I will use /usr/src/tests/sys/netpfil/ipfw as a real example I tested the options against, assuming it has divert tests which are ready to be run in a jail and existing fwd test which is not ready to be run in a jail and in parallel with other tests, and we should keep it as is for now.
Oct 24 2023
Yes, good point. Actually, the comment is not accurate, the issue is not only with jail name clashing, at least the routing table is in play as well.
Oct 20 2023
Oct 18 2023
Short summary of the changes:
- resolved conflict between ipfw and pf if both are used and pf wants to do divert(4)
- pf tests are split onto two sets: with ipfw enabled and disabled
Oct 13 2023
Oct 12 2023
Added the first draft of the respective tests over the agreed fix.
Oct 10 2023
Yes, ipfw is more flexible and allows to re-enter at the next rule number, e.g. this is how ipfw nat was done years ago, before the kernel nat. Prehistoric times...
Oct 9 2023
May 25 2023
@imp , considering your experience that GitHub fork's main can be left out-of-date (it's obvious project specifics, GitHub is not the origin for committers), if you see that comparing to project mainstream main branch would give better results in more cases, then we could do it. This commit can be used as an example: https://github.com/ihoro/freebsd-src/commit/0d273e225a3ea6e66d4f80e9e1f76c9ddca1454c.
@imp , I've created a PR to trigger the test. It's https://github.com/freebsd/freebsd-src/pull/751. The test passed. It can be simply closed without merge.
@imp , regarding your question whether it's possible not to hard-code main. Well, with every iteration my thoughts go deeper and complicate the things :) Nevertheless, I've dumped all my current research results and thoughts about this. Please, find it within the SVG attached (this is draw.io). Excuse me for such, probably, unusual format. I decided to leave the long read as is with the sketches, maybe it will be found helpful to explain the details for others and bring additional ideas.
Mar 2 2023
If I can be of any assistance, I could do the following. I'm trying to guess here that probably it will ease the process for you.