Ricardo Mestre(ser...@helheim.mooo.com) on 2020.06.18 23:40:54 +0100:
> Hi,
> 
> Yes, this is a really broad permission to give but it's needed in order to 
> read
> the config file (and those ones included from it) and also to exec the "check
> script(s)" which I missed in my last attempt to unveil(2) relayd(8).
> 
> The reason it cannot be pledge(2)d is due to forbidden ioctls(2)s related to
> carp(4).
> 
> This permits reading or execing anything from the filesystem but at least
> prevents create/write/delete files and regress tests still pass.
> 
> Comments? OK?

ok benno@

> Index: relayd.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/relayd/relayd.c,v
> retrieving revision 1.182
> diff -u -p -u -r1.182 relayd.c
> --- relayd.c  15 Sep 2019 19:23:29 -0000      1.182
> +++ relayd.c  18 Jun 2020 22:19:50 -0000
> @@ -223,6 +223,11 @@ main(int argc, char *argv[])
>       if (ps->ps_noaction == 0)
>               log_info("startup");
>  
> +     if (unveil("/", "rx") == -1)
> +             err(1, "unveil");
> +     if (unveil(NULL, NULL) == -1)
> +             err(1, "unveil");
> +
>       event_init();
>  
>       signal_set(&ps->ps_evsigint, SIGINT, parent_sig_handler, ps);
> 

Reply via email to