Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Aug 2025 18:11:20 +0200
From:      Mariusz Zaborski <oshogbo@freebsd.org>
To:        src-committers@freebsd.org, dev-commits-src-all@freebsd.org,  dev-commits-src-main@freebsd.org
Subject:   Re: git: 50dee972977a - main - cap_fileargs.3: Polish
Message-ID:  <CAGOYWV9S3ajTworOJsgWrM17iW8CqZA6Z9rZa1Z9pqPgMp2z1A@mail.gmail.com>
In-Reply-To: <202508081609.578G9oId013868@gitrepo.freebsd.org>
References:  <202508081609.578G9oId013868@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000b64d70063bdcd3c3
Content-Type: text/plain; charset="UTF-8"

PR: https://github.com/freebsd/freebsd-src/pull/1551

On Fri, 8 Aug 2025 at 18:10, Mariusz Zaborski <oshogbo@freebsd.org> wrote:

> The branch main has been updated by oshogbo:
>
> URL:
> https://cgit.FreeBSD.org/src/commit/?id=50dee972977a17d47bd76f52c54461ee8581d1b1
>
> commit 50dee972977a17d47bd76f52c54461ee8581d1b1
> Author:     Faraz Vahedi <kfv@kfv.io>
> AuthorDate: 2024-12-14 15:43:36 +0000
> Commit:     Mariusz Zaborski <oshogbo@FreeBSD.org>
> CommitDate: 2025-08-08 16:08:21 +0000
>
>     cap_fileargs.3: Polish
>
>     Extensively revised the manual page with clearer phrasing, better
>     structure, and corrected grammar throughout. Also fixed typos and
>     improved overall readability of the documentation.
>
>     Signed-off-by: Faraz Vahedi <kfv@kfv.io>
> ---
>  lib/libcasper/services/cap_fileargs/cap_fileargs.3 | 174
> ++++++++++-----------
>  1 file changed, 86 insertions(+), 88 deletions(-)
>
> diff --git a/lib/libcasper/services/cap_fileargs/cap_fileargs.3
> b/lib/libcasper/services/cap_fileargs/cap_fileargs.3
> index c7ce45c518d1..6a69fe7e1f4a 100644
> --- a/lib/libcasper/services/cap_fileargs/cap_fileargs.3
> +++ b/lib/libcasper/services/cap_fileargs/cap_fileargs.3
> @@ -22,10 +22,11 @@
>  .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>  .\" SUCH DAMAGE.
>  .\"
> -.Dd December 6, 2023
> +.Dd August 8, 2025
>  .Dt CAP_FILEARGS 3
>  .Os
>  .Sh NAME
> +.Nm cap_fileargs ,
>  .Nm fileargs_cinit ,
>  .Nm fileargs_cinitnv ,
>  .Nm fileargs_init ,
> @@ -35,9 +36,8 @@
>  .Nm fileargs_open ,
>  .Nm fileargs_fopen
>  .Nd "library for handling files in capability mode"
> -.Sh LIBRARY
> -.Lb libcap_fileargs
>  .Sh SYNOPSIS
> +.Lb libcap_fileargs
>  .In sys/nv.h
>  .In libcasper.h
>  .In casper/cap_fileargs.h
> @@ -60,52 +60,57 @@
>  .Ft "char *"
>  .Fn fileargs_realpath "fileargs_t *fa" "const char *pathname" "char
> *reserved_path"
>  .Sh DESCRIPTION
> -The library is used to simplify Capsicumizing a tools that are using file
> system.
> -Idea behind the library is that we are passing a remaining
> -.Fa argc
> -and
> +The
> +.Nm
> +library is used to simplify Capsicumizing tools that are using file
> system.
> +The idea behind the library is that we pass the remaining arguments from
>  .Fa argv
> -which contains a list of files that should be open for this program.
> -The library will create a service that will serve those files.
> +(with count specified by
> +.Fa argc )
> +which contains the list of files that should be opened by the program.
> +The library creates a service that will serve those files.
>  .Pp
>  The function
>  .Fn fileargs_init
> -create a service to the
> +creates a service to the
>  .Nm system.fileargs .
>  The
>  .Fa argv
>  contains a list of files that should be opened.
>  The argument can be set to
>  .Dv NULL
> -which will not create a service and all files will be prohibited to be
> opened.
> +to create no service and prohibit all files from being opened.
>  The
>  .Fa argc
> -argument contains a number of passed files.
> +argument contains the number of files passed to the program.
>  The
>  .Fa flags
> -argument limits opened files for either execution or reading and/or
> writing.
> +argument specifies whether files can be opened for execution, for reading,
> +and/or for writing.
>  The
>  .Fa mode
> -argument tells which what mode file should be created if the
> -.Dv O_CREATE
> -flag is present .
> -For more details of the
> +argument specifies the permissions to use when creating new files if the
> +.Dv O_CREAT
> +flag is set.
> +For more information about the
>  .Fa flags
>  and
>  .Fa mode
> -arguments see
> +arguments, see
>  .Xr open 2 .
>  The
>  .Fa rightsp
> -argument contains a list of the capability rights which file should be
> limited to.
> -For more details of the capability rights see
> +argument specifies the capability rights that will be applied to restrict
> +access to the files.
> +For more information about capability rights, see
>  .Xr cap_rights_init 3 .
>  The
>  .Fa operations
> -argument limits the operations that are available using
> +argument specifies which operations are permitted when using
>  .Nm system.fileargs .
> +The following flags can be combined to form the
>  .Fa operations
> -is a combination of:
> +value:
>  .Bl -ohang -offset indent
>  .It FA_OPEN
>  Allow
> @@ -122,121 +127,117 @@ Allow
>  .Pp
>  The function
>  .Fn fileargs_cinit
> -is equivalent to
> -.Fn fileargs_init
> -except that the connection to the Casper needs to be provided.
> +behaves identically to
> +.Fn fileargs_init ,
> +but requires an existing Casper connection to be passed as an argument.
>  .Pp
>  The functions
>  .Fn fileargs_initnv
>  and
>  .Fn fileargs_cinitnv
> -are respectively equivalent to
> +are equivalent to
>  .Fn fileargs_init
>  and
>  .Fn fileargs_cinit
> -expect that all arguments all provided as
> -.Xr nvlist 9 .
> -For details see
> -.Sx LIMITS .
> +respectively, but take their arguments in the form of an
> +.Xr nvlist 9
> +structure.
> +See the
> +.Sx LIMITS
> +section for details on the expected argument types and values.
>  .Pp
>  The
> -.Fa fileargs_free
> -close connection to the
> +.Fn fileargs_free
> +function closes the connection to the
>  .Nm system.fileargs
> -service and free are structures.
> -The function handle
> +service and frees all associated data structures.
> +The function safely handles
>  .Dv NULL
> -argument.
> +arguments.
>  .Pp
>  The function
>  .Fn fileargs_lstat
> -is equivalent to
> +provides the same functionality as
>  .Xr lstat 2 .
>  .Pp
>  The functions
>  .Fn fileargs_open
>  and
>  .Fn fileargs_fopen
> -are respectively equivalent to
> +behave identically to
>  .Xr open 2
>  and
>  .Xr fopen 3
> -expect that all arguments are fetched from the
> +respectively, but retrieve their arguments from the
>  .Va fileargs_t
>  structure.
>  .Pp
>  The function
>  .Fn fileargs_realpath
> -is equivalent to
> -.Xr realpath 3 .
> +provides the same functionality as the standard C library function
> +.Xr realpath 3 ,
> +resolving all symbolic links and references in a pathname.
>  .Pp
> +The following functions are reentrant but require synchronization for
> +thread safety:
>  .Fn fileargs_open ,
>  .Fn fileargs_lstat ,
>  .Fn fileargs_realpath ,
>  .Fn fileargs_cinitnv ,
>  .Fn fileargs_initnv ,
>  and
> -.Fn fileargs_fopen
> -are reentrant but not thread-safe.
> -That is, they may be called from separate threads only with different
> +.Fn fileargs_fopen .
> +Multiple threads can call these functions safely only if they use
> different
>  .Vt cap_channel_t
> -arguments or with synchronization.
> +arguments or proper synchronization mechanisms.
>  .Sh LIMITS
> -This section describe which values and types should be used to pass
> arguments to the
> +This section describes the required and optional arguments that must be
> +passed to
>  .Fa system.fileargs
> -through the
> +via the
>  .Fn fileargs_initnv
>  and
>  .Fn fileargs_cinitnv
> -functions.
> -The
> +functions using an
>  .Xr nvlist 9
> -for that functions must contain the following values and types:
> +structure.
> +.Pp
> +The following arguments are required:
>  .Bl -ohang -offset indent
> -.It flags ( NV_TYPE_NUMBER )
> -The
> -.Va flags
> -limits opened files for either execution or reading and/or writing.
> -.It mode (NV_TYPE_NUMBER)
> -If in the
> -.Va flags
> -argument the
> +.It flags Pq Dv NV_TYPE_NUMBER
> +Specifies access permissions for opened files.
> +.It mode Pq Dv NV_TYPE_NUMBER
> +Required when the
>  .Dv O_CREATE
> -flag was defined the
> -.Xr nvlist 9
> -must contain the
> -.Va mode .
> -The
> -.Va mode
> -argument tells which what mode file should be created.
> -.It operations (NV_TYPE_NUMBER)
> -The
> -.Va operations
> -limits the usable operations for
> +flag is set in
> +.Va flags .
> +Specifies the permissions to use when creating new files.
> +.It operations Pq Dv NV_TYPE_NUMBER
> +Specifies which operations are allowed for
>  .Fa system.fileargs .
> -The possible values are explained as
> +See the description of the
>  .Va operations
> -argument with
> -.Fn fileargs_init .
> +argument in
> +.Fn fileargs_init
> +for possible values.
>  .El
>  .Pp
> -The
> +The following arguments are optional in the
>  .Xr nvlist 9
> -for that functions may contain the following values and types:
> +structure:
>  .Bl -ohang -offset indent
> -.It cap_rights ( NV_TYPE_BINARY )
> +.It cap_rights Pq Dv NV_TYPE_BINARY
>  The
>  .Va cap_rights
> -argument contains a list of the capability rights which file should be
> limited to.
> -.It ( NV_TYPE_NULL )
> -Any number of
> +argument specifies the capability rights that will be applied to restrict
> +access to opened files.
> +.It filenames Pq Dv NV_TYPE_NULL
> +Multiple
>  .Dv NV_TYPE_NULL
> -where the name of the element is name of the file which can be opened.
> +elements can be provided, where each element's name represents a file
> +path that is allowed to be opened.
>  .El
>  .Sh EXAMPLES
> -The following example first parse some options and then create the
> -.Nm system.fileargs
> -service with remaining arguments.
>  .Bd -literal
>  int ch, fd, i;
>  cap_rights_t rights;
> @@ -287,16 +288,13 @@ fileargs_free(fa);
>  .Xr nv 9
>  .Sh HISTORY
>  The
> -.Nm cap_fileargs
> +.Nm
>  service first appeared in
>  .Fx 10.3 .
>  .Sh AUTHORS
>  .An Mariusz Zaborski Aq Mt oshogbo@FreeBSD.org
>  .Sh BUGS
>  The
> -.Lb cap_fileargs
> -included in
> -.Fx
> -is considered experimental, and should not be deployed in production
> -environments without careful consideration of the risks associated with
> -the use of experimental operating system features.
> +.Nm
> +service is considered experimental and should be thoroughly evaluated
> +for risks before deploying in production environments.
>

--000000000000b64d70063bdcd3c3
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">PR:=C2=A0<a href=3D"https://github.com/freebsd/freebsd-src=
/pull/1551">https://github.com/freebsd/freebsd-src/pull/1551</a></div><br><=
div class=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"g=
mail_attr">On Fri, 8 Aug 2025 at 18:10, Mariusz Zaborski &lt;<a href=3D"mai=
lto:oshogbo@freebsd.org">oshogbo@freebsd.org</a>&gt; wrote:<br></div><block=
quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1=
px solid rgb(204,204,204);padding-left:1ex">The branch main has been update=
d by oshogbo:<br>
<br>
URL: <a href=3D"https://cgit.FreeBSD.org/src/commit/?id=3D50dee972977a17d47=
bd76f52c54461ee8581d1b1" rel=3D"noreferrer" target=3D"_blank">https://cgit.=
FreeBSD.org/src/commit/?id=3D50dee972977a17d47bd76f52c54461ee8581d1b1</a><b=
r>
<br>
commit 50dee972977a17d47bd76f52c54461ee8581d1b1<br>
Author:=C2=A0 =C2=A0 =C2=A0Faraz Vahedi &lt;<a href=3D"mailto:kfv@kfv.io" t=
arget=3D"_blank">kfv@kfv.io</a>&gt;<br>
AuthorDate: 2024-12-14 15:43:36 +0000<br>
Commit:=C2=A0 =C2=A0 =C2=A0Mariusz Zaborski &lt;oshogbo@FreeBSD.org&gt;<br>
CommitDate: 2025-08-08 16:08:21 +0000<br>
<br>
=C2=A0 =C2=A0 cap_fileargs.3: Polish<br>
<br>
=C2=A0 =C2=A0 Extensively revised the manual page with clearer phrasing, be=
tter<br>
=C2=A0 =C2=A0 structure, and corrected grammar throughout. Also fixed typos=
 and<br>
=C2=A0 =C2=A0 improved overall readability of the documentation.<br>
<br>
=C2=A0 =C2=A0 Signed-off-by: Faraz Vahedi &lt;<a href=3D"mailto:kfv@kfv.io"=
 target=3D"_blank">kfv@kfv.io</a>&gt;<br>
---<br>
=C2=A0lib/libcasper/services/cap_fileargs/cap_fileargs.3 | 174 ++++++++++--=
---------<br>
=C2=A01 file changed, 86 insertions(+), 88 deletions(-)<br>
<br>
diff --git a/lib/libcasper/services/cap_fileargs/cap_fileargs.3 b/lib/libca=
sper/services/cap_fileargs/cap_fileargs.3<br>
index c7ce45c518d1..6a69fe7e1f4a 100644<br>
--- a/lib/libcasper/services/cap_fileargs/cap_fileargs.3<br>
+++ b/lib/libcasper/services/cap_fileargs/cap_fileargs.3<br>
@@ -22,10 +22,11 @@<br>
=C2=A0.\&quot; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSS=
IBILITY OF<br>
=C2=A0.\&quot; SUCH DAMAGE.<br>
=C2=A0.\&quot;<br>
-.Dd December 6, 2023<br>
+.Dd August 8, 2025<br>
=C2=A0.Dt CAP_FILEARGS 3<br>
=C2=A0.Os<br>
=C2=A0.Sh NAME<br>
+.Nm cap_fileargs ,<br>
=C2=A0.Nm fileargs_cinit ,<br>
=C2=A0.Nm fileargs_cinitnv ,<br>
=C2=A0.Nm fileargs_init ,<br>
@@ -35,9 +36,8 @@<br>
=C2=A0.Nm fileargs_open ,<br>
=C2=A0.Nm fileargs_fopen<br>
=C2=A0.Nd &quot;library for handling files in capability mode&quot;<br>
-.Sh LIBRARY<br>
-.Lb libcap_fileargs<br>
=C2=A0.Sh SYNOPSIS<br>
+.Lb libcap_fileargs<br>
=C2=A0.In sys/nv.h<br>
=C2=A0.In libcasper.h<br>
=C2=A0.In casper/cap_fileargs.h<br>
@@ -60,52 +60,57 @@<br>
=C2=A0.Ft &quot;char *&quot;<br>
=C2=A0.Fn fileargs_realpath &quot;fileargs_t *fa&quot; &quot;const char *pa=
thname&quot; &quot;char *reserved_path&quot;<br>
=C2=A0.Sh DESCRIPTION<br>
-The library is used to simplify Capsicumizing a tools that are using file =
system.<br>
-Idea behind the library is that we are passing a remaining<br>
-.Fa argc<br>
-and<br>
+The<br>
+.Nm<br>
+library is used to simplify Capsicumizing tools that are using file system=
.<br>
+The idea behind the library is that we pass the remaining arguments from<b=
r>
=C2=A0.Fa argv<br>
-which contains a list of files that should be open for this program.<br>
-The library will create a service that will serve those files.<br>
+(with count specified by<br>
+.Fa argc )<br>
+which contains the list of files that should be opened by the program.<br>
+The library creates a service that will serve those files.<br>
=C2=A0.Pp<br>
=C2=A0The function<br>
=C2=A0.Fn fileargs_init<br>
-create a service to the<br>
+creates a service to the<br>
=C2=A0.Nm system.fileargs .<br>
=C2=A0The<br>
=C2=A0.Fa argv<br>
=C2=A0contains a list of files that should be opened.<br>
=C2=A0The argument can be set to<br>
=C2=A0.Dv NULL<br>
-which will not create a service and all files will be prohibited to be ope=
ned.<br>
+to create no service and prohibit all files from being opened.<br>
=C2=A0The<br>
=C2=A0.Fa argc<br>
-argument contains a number of passed files.<br>
+argument contains the number of files passed to the program.<br>
=C2=A0The<br>
=C2=A0.Fa flags<br>
-argument limits opened files for either execution or reading and/or writin=
g.<br>
+argument specifies whether files can be opened for execution, for reading,=
<br>
+and/or for writing.<br>
=C2=A0The<br>
=C2=A0.Fa mode<br>
-argument tells which what mode file should be created if the<br>
-.Dv O_CREATE<br>
-flag is present .<br>
-For more details of the<br>
+argument specifies the permissions to use when creating new files if the<b=
r>
+.Dv O_CREAT<br>
+flag is set.<br>
+For more information about the<br>
=C2=A0.Fa flags<br>
=C2=A0and<br>
=C2=A0.Fa mode<br>
-arguments see<br>
+arguments, see<br>
=C2=A0.Xr open 2 .<br>
=C2=A0The<br>
=C2=A0.Fa rightsp<br>
-argument contains a list of the capability rights which file should be lim=
ited to.<br>
-For more details of the capability rights see<br>
+argument specifies the capability rights that will be applied to restrict<=
br>
+access to the files.<br>
+For more information about capability rights, see<br>
=C2=A0.Xr cap_rights_init 3 .<br>
=C2=A0The<br>
=C2=A0.Fa operations<br>
-argument limits the operations that are available using<br>
+argument specifies which operations are permitted when using<br>
=C2=A0.Nm system.fileargs .<br>
+The following flags can be combined to form the<br>
=C2=A0.Fa operations<br>
-is a combination of:<br>
+value:<br>
=C2=A0.Bl -ohang -offset indent<br>
=C2=A0.It FA_OPEN<br>
=C2=A0Allow<br>
@@ -122,121 +127,117 @@ Allow<br>
=C2=A0.Pp<br>
=C2=A0The function<br>
=C2=A0.Fn fileargs_cinit<br>
-is equivalent to<br>
-.Fn fileargs_init<br>
-except that the connection to the Casper needs to be provided.<br>
+behaves identically to<br>
+.Fn fileargs_init ,<br>
+but requires an existing Casper connection to be passed as an argument.<br=
>
=C2=A0.Pp<br>
=C2=A0The functions<br>
=C2=A0.Fn fileargs_initnv<br>
=C2=A0and<br>
=C2=A0.Fn fileargs_cinitnv<br>
-are respectively equivalent to<br>
+are equivalent to<br>
=C2=A0.Fn fileargs_init<br>
=C2=A0and<br>
=C2=A0.Fn fileargs_cinit<br>
-expect that all arguments all provided as<br>
-.Xr nvlist 9 .<br>
-For details see<br>
-.Sx LIMITS .<br>
+respectively, but take their arguments in the form of an<br>
+.Xr nvlist 9<br>
+structure.<br>
+See the<br>
+.Sx LIMITS<br>
+section for details on the expected argument types and values.<br>
=C2=A0.Pp<br>
=C2=A0The<br>
-.Fa fileargs_free<br>
-close connection to the<br>
+.Fn fileargs_free<br>
+function closes the connection to the<br>
=C2=A0.Nm system.fileargs<br>
-service and free are structures.<br>
-The function handle<br>
+service and frees all associated data structures.<br>
+The function safely handles<br>
=C2=A0.Dv NULL<br>
-argument.<br>
+arguments.<br>
=C2=A0.Pp<br>
=C2=A0The function<br>
=C2=A0.Fn fileargs_lstat<br>
-is equivalent to<br>
+provides the same functionality as<br>
=C2=A0.Xr lstat 2 .<br>
=C2=A0.Pp<br>
=C2=A0The functions<br>
=C2=A0.Fn fileargs_open<br>
=C2=A0and<br>
=C2=A0.Fn fileargs_fopen<br>
-are respectively equivalent to<br>
+behave identically to<br>
=C2=A0.Xr open 2<br>
=C2=A0and<br>
=C2=A0.Xr fopen 3<br>
-expect that all arguments are fetched from the<br>
+respectively, but retrieve their arguments from the<br>
=C2=A0.Va fileargs_t<br>
=C2=A0structure.<br>
=C2=A0.Pp<br>
=C2=A0The function<br>
=C2=A0.Fn fileargs_realpath<br>
-is equivalent to<br>
-.Xr realpath 3 .<br>
+provides the same functionality as the standard C library function<br>
+.Xr realpath 3 ,<br>
+resolving all symbolic links and references in a pathname.<br>
=C2=A0.Pp<br>
+The following functions are reentrant but require synchronization for<br>
+thread safety:<br>
=C2=A0.Fn fileargs_open ,<br>
=C2=A0.Fn fileargs_lstat ,<br>
=C2=A0.Fn fileargs_realpath ,<br>
=C2=A0.Fn fileargs_cinitnv ,<br>
=C2=A0.Fn fileargs_initnv ,<br>
=C2=A0and<br>
-.Fn fileargs_fopen<br>
-are reentrant but not thread-safe.<br>
-That is, they may be called from separate threads only with different<br>
+.Fn fileargs_fopen .<br>
+Multiple threads can call these functions safely only if they use differen=
t<br>
=C2=A0.Vt cap_channel_t<br>
-arguments or with synchronization.<br>
+arguments or proper synchronization mechanisms.<br>
=C2=A0.Sh LIMITS<br>
-This section describe which values and types should be used to pass argume=
nts to the<br>
+This section describes the required and optional arguments that must be<br=
>
+passed to<br>
=C2=A0.Fa system.fileargs<br>
-through the<br>
+via the<br>
=C2=A0.Fn fileargs_initnv<br>
=C2=A0and<br>
=C2=A0.Fn fileargs_cinitnv<br>
-functions.<br>
-The<br>
+functions using an<br>
=C2=A0.Xr nvlist 9<br>
-for that functions must contain the following values and types:<br>
+structure.<br>
+.Pp<br>
+The following arguments are required:<br>
=C2=A0.Bl -ohang -offset indent<br>
-.It flags ( NV_TYPE_NUMBER )<br>
-The<br>
-.Va flags<br>
-limits opened files for either execution or reading and/or writing.<br>
-.It mode (NV_TYPE_NUMBER)<br>
-If in the<br>
-.Va flags<br>
-argument the<br>
+.It flags Pq Dv NV_TYPE_NUMBER<br>
+Specifies access permissions for opened files.<br>
+.It mode Pq Dv NV_TYPE_NUMBER<br>
+Required when the<br>
=C2=A0.Dv O_CREATE<br>
-flag was defined the<br>
-.Xr nvlist 9<br>
-must contain the<br>
-.Va mode .<br>
-The<br>
-.Va mode<br>
-argument tells which what mode file should be created.<br>
-.It operations (NV_TYPE_NUMBER)<br>
-The<br>
-.Va operations<br>
-limits the usable operations for<br>
+flag is set in<br>
+.Va flags .<br>
+Specifies the permissions to use when creating new files.<br>
+.It operations Pq Dv NV_TYPE_NUMBER<br>
+Specifies which operations are allowed for<br>
=C2=A0.Fa system.fileargs .<br>
-The possible values are explained as<br>
+See the description of the<br>
=C2=A0.Va operations<br>
-argument with<br>
-.Fn fileargs_init .<br>
+argument in<br>
+.Fn fileargs_init<br>
+for possible values.<br>
=C2=A0.El<br>
=C2=A0.Pp<br>
-The<br>
+The following arguments are optional in the<br>
=C2=A0.Xr nvlist 9<br>
-for that functions may contain the following values and types:<br>
+structure:<br>
=C2=A0.Bl -ohang -offset indent<br>
-.It cap_rights ( NV_TYPE_BINARY )<br>
+.It cap_rights Pq Dv NV_TYPE_BINARY<br>
=C2=A0The<br>
=C2=A0.Va cap_rights<br>
-argument contains a list of the capability rights which file should be lim=
ited to.<br>
-.It ( NV_TYPE_NULL )<br>
-Any number of<br>
+argument specifies the capability rights that will be applied to restrict<=
br>
+access to opened files.<br>
+.It filenames Pq Dv NV_TYPE_NULL<br>
+Multiple<br>
=C2=A0.Dv NV_TYPE_NULL<br>
-where the name of the element is name of the file which can be opened.<br>
+elements can be provided, where each element&#39;s name represents a file<=
br>
+path that is allowed to be opened.<br>
=C2=A0.El<br>
=C2=A0.Sh EXAMPLES<br>
-The following example first parse some options and then create the<br>
-.Nm system.fileargs<br>
-service with remaining arguments.<br>
=C2=A0.Bd -literal<br>
=C2=A0int ch, fd, i;<br>
=C2=A0cap_rights_t rights;<br>
@@ -287,16 +288,13 @@ fileargs_free(fa);<br>
=C2=A0.Xr nv 9<br>
=C2=A0.Sh HISTORY<br>
=C2=A0The<br>
-.Nm cap_fileargs<br>
+.Nm<br>
=C2=A0service first appeared in<br>
=C2=A0.Fx 10.3 .<br>
=C2=A0.Sh AUTHORS<br>
=C2=A0.An Mariusz Zaborski Aq Mt oshogbo@FreeBSD.org<br>
=C2=A0.Sh BUGS<br>
=C2=A0The<br>
-.Lb cap_fileargs<br>
-included in<br>
-.Fx<br>
-is considered experimental, and should not be deployed in production<br>
-environments without careful consideration of the risks associated with<br=
>
-the use of experimental operating system features.<br>
+.Nm<br>
+service is considered experimental and should be thoroughly evaluated<br>
+for risks before deploying in production environments.<br>
</blockquote></div>

--000000000000b64d70063bdcd3c3--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGOYWV9S3ajTworOJsgWrM17iW8CqZA6Z9rZa1Z9pqPgMp2z1A>