git: ce2cc8e399 - main - Status/2026Q3/fts_openat.adoc: Add report
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 21 Oct 2026 14:43:09 UTC
The branch main has been updated by salvadore:
URL: https://cgit.FreeBSD.org/doc/commit/?id=ce2cc8e3990c380b4c1b7e11cdfec44c972bf3bc
commit ce2cc8e3990c380b4c1b7e11cdfec44c972bf3bc
Author: Jitendra Bhati <bhatijitendra2022@gmail.com>
AuthorDate: 2026-09-02 11:48:41 +0000
Commit: Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2026-10-21 14:41:48 +0000
Status/2026Q3/fts_openat.adoc: Add report
Reviewed by: asomers
Pull Request: https://github.com/freebsd/freebsd-doc/pull/706
---
.../en/status/report-2026-07-2026-09/fts_openat.adoc | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/website/content/en/status/report-2026-07-2026-09/fts_openat.adoc b/website/content/en/status/report-2026-07-2026-09/fts_openat.adoc
new file mode 100644
index 0000000000..a64a9a6876
--- /dev/null
+++ b/website/content/en/status/report-2026-07-2026-09/fts_openat.adoc
@@ -0,0 +1,18 @@
+=== Capsicumize fts(3)
+
+Links: +
+link:https://man.freebsd.org/cgi/man.cgi?fts(3)[fts(3) manual page] URL: link:https://man.freebsd.org/cgi/man.cgi?fts(3)[]
+
+Contact: Jitendra Bhati <jitendrabhati2026@gmail.com> +
+Contact: Alan Somers <asomers@FreeBSD.org>
+
+The man:fts[3] directory traversal library, used by man:find[1], man:rm[1], man:ls[1], man:chflags[1] and other utilities, historically relied on path-based syscalls that fail in man:capsicum[4] capability mode.
+
+This quarter fts gained a new `fts_openat()` entry point that accepts a pre-opened directory descriptor, a per-entry `fts_dirfd` field, and a conversion of its internals to fd-relative operations, with ABI compatibility preserved through ELF symbol versioning.
+A traversal can now run entirely inside a Capsicum sandbox.
+
+As a first consumer, chflags was capsicumized to perform its work through `chflagsat()` on descriptors opened before entering capability mode, confining it to the hierarchies named on its command line.
+
+This work was completed as a Google Summer of Code 2026 project.
+
+Sponsor: Google Summer of Code 2026