On Wed, Nov 08, 2023 at 03:30:37PM +0100, Landry Breuil wrote:
> Le Wed, Nov 08, 2023 at 02:20:22PM +0000, Klemens Nanni a écrit :
> > On Wed, Nov 08, 2023 at 03:11:33PM +0100, Landry Breuil wrote:
> > > Le Wed, Nov 08, 2023 at 02:56:53PM +0100, Landry Breuil a écrit :
> > > > if you want to go down that road, barring any glib madness about various
> > > > ~/.cache or .local stuff, upower itself should only need wc on
> > > >  /var/db/upower/
> > > 
> > > bah, spoke too fast, it also needs var/run/dbus to talk to the
> > > systemwide dbus daemon:
> > > 
> > > +       if (unveil("/", "r") == -1)
> > > +               err(1, "unveil /");
> > > +       if (unveil("/var/run/dbus/", "rw") == -1)
> > > +               err(1, "unveil /var/run/dbus");
> > > +       if (unveil("/var/db/upower", "rwc") == -1)
> > > +               err(1, "unveil /var/db/upower");
> > > +       if (unveil(NULL, NULL) == -1)
> > > +               err(1, "unveil NULL");
> > > 
> > > with that it seems to work here.
> > 
> > I welcome this direction, but haven't gone through the code yet wrt.
> > read/write/create file access -- not as easy as hunting for x bits,
> > as you also demonstrated.
> > 
> > If consense is to use unveil() here, I'd be happy to start with a diff
> > like mine and iterate.
> 
> we're not the first ones to go this way :)
> 
> https://gitlab.freedesktop.org/upower/upower/-/blob/master/src/upower.service.in?ref_type=heads#L11
> 
> im pretty confident that rwc on /var/db/upower + rw on /var/run/dbus
> should be enough for regular use.
> 
> we create /var/db/upower in the package, the code tries to recreate
> it/set modes in
> https://gitlab.freedesktop.org/upower/upower/-/blob/master/src/up-history.c?ref_type=heads#L413
> and then the history files are written/overwritten/created as needed in
> https://gitlab.freedesktop.org/upower/upower/-/blob/master/src/up-history.c?ref_type=heads#L545

Good enough for me to start with your diff,
OK kn

> 
> it might be possible to tighten the unveil by calling it later on but
> for now it seems better than nothing.

Reply via email to