On Wed, Jul 06, 2022 at 09:13:29AM +0200, Sebastien Marie wrote:
> Hi,
> 
> I am currently debugging some unveil issues reported when process accounting 
> in 
> enabled (see acct(2)). 
> 
> xlock is currently doing some unveil(2) violation:
> 
> $ lastcomm | grep U
> xlock                    -FU     semarie                          __         
> 0.00 secs Wed Jul  6 07:13 (1:21:00.00)
> 
> I tracked them to be related to "login.conf" access (due to auth_userokay(3) 
> usage).
> 
> The diff belows adds all "login.conf" related files to readable files by the 
> process:
> 
> - /etc/login.conf
> - /etc/login.conf.db
> - /etc/login.conf.d/*
>

ok matthieu@ (confused not to have thought about this).

> 
> diff 7f83513b277728e78b173796466b04c2373f0b55 
> /home/semarie/repos/openbsd/xenocara
> blob - 7fdf4f11d18bdb1bab730f008ef7ea10e0e482ca
> file + app/xlockmore/xlock/privsep.c
> --- app/xlockmore/xlock/privsep.c
> +++ app/xlockmore/xlock/privsep.c
> @@ -255,8 +255,14 @@ priv_init(gid_t gid)
>  
>       imsg_init(&child_ibuf, socks[0]);
>  
> +     if (unveil(_PATH_LOGIN_CONF, "r") == -1)
> +             err(1, "unveil %s", _PATH_LOGIN_CONF);
> +     if (unveil(_PATH_LOGIN_CONF ".db", "r") == -1)
> +             err(1, "unveil %s.db", _PATH_LOGIN_CONF);
> +     if (unveil(_PATH_LOGIN_CONF_D, "r") == -1)
> +             err(1, "unveil %s", _PATH_LOGIN_CONF_D);
>       if (unveil(_PATH_AUTHPROGDIR, "rx") == -1)
> -             err(1, "unveil");
> +             err(1, "unveil %s", _PATH_AUTHPROGDIR);
>       if (pledge("stdio rpath getpw proc exec", NULL) == -1)
>               err(1, "pledge");
> 
> 
> With it, I don't have unveil(2) violation anymore when running xlock(1).
>  
> Comments or OK ?
> -- 
> Sebastien Marie
> 

-- 
Matthieu Herrb

Reply via email to