On Fri, Jul 14, 2023 at 12:29:26PM +0200, Laszlo Ersek wrote:
> On 7/14/23 11:42, Richard W.M. Jones wrote:
> > On Thu, Jul 13, 2023 at 07:10:49PM +0200, Laszlo Ersek wrote:
> >> There's another reason for separating sockdir from tmpdir, beyond "shorter
> >> pathnames needed": permissions. For example, passt drops privileges such
> >> that it cannot access "/tmp", and that restricts both the unix domain
> >> socket and the PID file of passt.
> >>
> >> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2184967
> >> Signed-off-by: Laszlo Ersek <ler...@redhat.com>
> >> ---
> >>  generator/actions_properties.ml | 8 ++++++--
> >>  fish/guestfish.pod              | 4 ++--
> >>  lib/guestfs.pod                 | 4 ++--
> >>  3 files changed, 10 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/generator/actions_properties.ml 
> >> b/generator/actions_properties.ml
> >> index f84afb10d674..42eaaa4d81e1 100644
> >> --- a/generator/actions_properties.ml
> >> +++ b/generator/actions_properties.ml
> >> @@ -595,13 +595,17 @@ Get the handle identifier.  See 
> >> C<guestfs_set_identifier>." };
> >>      name = "get_sockdir"; added = (1, 33, 8);
> >>      style = RString (RPlainString, "sockdir"), [], [];
> >>      blocking = false;
> >> -    shortdesc = "get the temporary directory for sockets";
> >> +    shortdesc = "get the temporary directory for sockets and PID files";
> >>      longdesc = "\
> >> -Get the directory used by the handle to store temporary socket files.
> >> +Get the directory used by the handle to store temporary socket and PID
> >> +files.
> >>  
> >>  This is different from C<guestfs_get_tmpdir>, as we need shorter
> >>  paths for sockets (due to the limited buffers of filenames for UNIX
> >>  sockets), and C<guestfs_get_tmpdir> may be too long for them.
> >> +Furthermore, sockets and PID files must be accessible to such background
> >> +services started by libguestfs that may not have permission to access
> >> +the temporary directory returned by C<guestfs_get_tmpdir>.
> >>  
> >>  The environment variable C<XDG_RUNTIME_DIR> controls the default
> >>  value: If C<XDG_RUNTIME_DIR> is set, then that is the default.
> >> diff --git a/fish/guestfish.pod b/fish/guestfish.pod
> >> index ccc0825b84a0..492aa7163fcb 100644
> >> --- a/fish/guestfish.pod
> >> +++ b/fish/guestfish.pod
> >> @@ -1548,8 +1548,8 @@ See L</LIBGUESTFS_CACHEDIR>, L</LIBGUESTFS_TMPDIR>.
> >>  This directory represents a user-specific directory for storing
> >>  non-essential runtime files.
> >>  
> >> -If it is set, then is used to store temporary sockets.  Otherwise,
> >> -F</tmp> is used.
> >> +If it is set, then is used to store temporary sockets and PID files.
> >> +Otherwise, F</tmp> is used.
> >>  
> >>  See also L</get-sockdir>,
> > 
> > Although incidental to this change, shouldn't this link also be fixed
> > in the same way as patch 3?
> 
> That's the thing: it shouldn't.
> 
> The generator produces the individual API descriptions for both
> "guestfish.1" and "guestfs.3". The generator creates one style of anchor
> (effectively: link name) for "guestfish.1", and another style of anchor
> for "guestfs.3".

Oh indeed, I'd forgotten about that.

> In turn, the "ENVIRONMENT VARIABLES" section is open-coded (not
> generated), in both "guestfish.pod" and "guestfs.pod" files. So,
> whenever we insert a link to a generated anchor, in the "ENVIRONMENT
> VARIABLES" of one of these .pod files, we must use the anchor style that
> is appropriate for *that particular .pod file*.
> 
> Commit 55202a4d49a1 had added the same link L</get-sockdir> to the
> "ENVIRONMENT VARIABLES" section of both .pod files. However, this link
> style is only good for "guestfish.1". The same link will not work in
> "guestfs.pod", because it will not match any generated anchor in
> "guestfs.3". That's why patch#3 only updates "guestfs.pod"; the same
> link in "guestfish.pod" is not broken.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
_______________________________________________
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to