User Details
- User Since
- Mar 2 2023, 11:30 AM (107 w, 5 d)
Mon, Mar 24
Polish and apply the suggestions
Well, it was a quick one hour patch, now it's time for polishing.
Sun, Mar 23
Report test work dir
Sun, Mar 16
Mon, Mar 10
LGTM
Tue, Mar 4
Sun, Mar 2
Communicate back a missing key
Thu, Feb 27
Feb 23 2025
Feb 22 2025
Add key removal mechanism using NULL value as a trigger
Feb 18 2025
Add the respective code comment
Feb 17 2025
I guess it could be helpful for a couple of test cases from tests/sys/netinet/fibs_multibind_test.c and/or tests/sys/netinet/socket_afinet.c.
Feb 13 2025
@ngie , it would be appreciated if you could find time to consider this. It seems that your opinion is necessary to move forward.
Feb 2 2025
Jan 26 2025
Update kyuafile.5 after landing of D48190
Jan 25 2025
Jan 24 2025
Jan 23 2025
Improve the comment regarding the retry mechansim
Jan 22 2025
Jan 6 2025
tests: Use recently added support of is.exclusive coming from ATF side
This is a follow-up to https://reviews.freebsd.org/D48190, where it was discovered that this support is missing. It's obvious that our test suite does not use it, and this patch is for consistency and not to say "not mapped" in the kyuafile.5. Also, I found that Kyua 0.11 release notes state that it should work, so actually this is a fix.
Dec 27 2024
Dec 24 2024
This is a follow-up to https://reviews.freebsd.org/D47671, where we discussed documenting of the mapping.
Dec 22 2024
Now the wording is away from the internals and closer to the end users:
> ./kyua help | grep prepare prepare Prepare env and resolve requirements before testing.
My current favorite is the prepare term proposed by Kristof. So, I've changed it in the latest version of the patch for the sake of further testing and discussion. Everything is open for renaming. The internals still use requirement resolver terminology, I could not quickly find the replacement and probably it's not needed due to "prepare" is kind of higher level, anyway this is the encapsulated part with the only exposure via CLI help output.
Rename "kyua rr" to "kyua prepare"; Drop "kyua test --rr"
Dec 20 2024
Make keyvalue_contention test case more accurate
Tiny code improvements, no functional change
Dec 19 2024
Add keyvalue_contention test case
Dec 18 2024
Fix jm_h_cut_occurrences() logic
libjail: Correctly differentiate no<boolparam> from keyvalue-based ones
Each buffer can be handled as a set of key=value\n strings
Dec 16 2024
By the way, now I'm leaning towards resolve subcommand as you mentioned:
> kyua resolve kmods > kyua test { --resolve | -r } kmods testprog
Dec 15 2024
This is the very first working version of the Project B: https://lists.freebsd.org/archives/freebsd-testing/2024-November/000395.html.
Dec 14 2024
Dec 13 2024
The latest update aggregates the recent discussions:
- Rename metaext/metaint to meta/env. meta is expected to be used for "tagging" and hidden from the jail. env is intended for "configuring" and readable by the jail through security.jail.env sysctl.
- The allowed chars for each buffer are very limited by default, it covers Base64, k=v\n format, and some extra bytes. It can be changed via security.jail.meta_allowedchars sysctl. For convenience (as it seems to me for now), setting it to an empty string allows everything.
- The tests and man page are upgraded respectively.
Rename to meta/env, add meta_allowedchars.
Dec 3 2024
Dec 2 2024
Nov 28 2024
Nov 27 2024
Nov 26 2024
Nov 25 2024
It seems there is an agreement to split it onto two buffers per jail: both are readable by parent jail, while only one is readable by a jail itself. The updated patch reflects this concept. For now metaext and metaint naming is used as external/internal concept. The naming is open for discussion.
v2: Split onto two buffers per jail: external & internal
Nov 24 2024
Great, I can continue from any point where you decide to stop and land your commits.
Nov 22 2024
Thank you all for the discussion. I've refreshed the context for myself and I would like to share it:
- We have got a new -J flag for sysctl(8). It filters the variables by CTLFLAG_PRISON.
- It reminded me of a couple of existing sysctlS which are not listed with the -J flag.
- That's because they are read-only (CTLFLAG_RD) without CTLFLAG_PRISON flag set. The reasoning follows.
- The CTLFLAG_PRISON has been used as a way to allow jailed roots modify a sysctl. It works very simple way. If a sysctl sys call request means modification, i.e. a new buffer (the req->newptr) is provided, then the sys call will check if the user has PRIV_SYSCTL_WRITE privilege. It does not work for a jailed root, that's why the sys call will check for another privilege (PRIV_SYSCTL_WRITEJAIL) if the sysctl in question has CTLFLAG_PRISON flag set. That's the only use case for this flag for now.
- And it's fine that read-only per-jail variables do not have this flag, it's not needed for them.
- As long as I found this little inconsistency I proposed to update the meaning of this flag (sysctl.9) and add it to some read-only variables which are, kind of, expected to be found in the sysctl -aJ output.
Pivot the patch.
Nov 21 2024
Nov 19 2024
I would like to share my thoughts regarding this.
Currently, there is no accessible way to attach metadata to jails. This is commonly used elsewhere, for example in Kubernetes, to allow non-unique properties to enrich load balancers, schedulers, and volume provisioners to make more informed decisions.