On Thu, Aug 02, 2018 at 07:04:31PM +0200, Florian Obser wrote:
> I have been told that this is going to fall into snaps soon. If you
> are doing weird (or normal) things with ifconfig, please test.

I am running a kernel with some unveil error condition debugging, and with that
I proceeded to test the ifstated regression test (which exercises some basic
ifconfig operations). Everything worked as expected, and no strange unveil
kernel messages in my logs.

Rob

> In particular if you use rulefile.
> 
> Thanks!
> 
> diff --git ifconfig.c ifconfig.c
> index 9bfb1751aab..873aed5bcc7 100644
> --- ifconfig.c
> +++ ifconfig.c
> @@ -676,10 +676,13 @@ main(int argc, char *argv[])
>       int create = 0;
>       int Cflag = 0;
>       int gflag = 0;
> +     int found_rulefile = 0;
>       int i;
>  
>       /* If no args at all, print all interfaces.  */
>       if (argc < 2) {
> +             if (unveil(NULL, NULL) == -1)
> +                     err(1, "unveil");
>               aflag = 1;
>               printif(NULL, 0);
>               return (0);
> @@ -721,6 +724,18 @@ main(int argc, char *argv[])
>       } else if (strlcpy(name, *argv, sizeof(name)) >= IFNAMSIZ)
>               errx(1, "interface name '%s' too long", *argv);
>       argc--, argv++;
> +
> +     for (i = 0; i < argc; i++) {
> +             if (strcmp(argv[0], "rulefile") == 0) {
> +                     found_rulefile = 1;
> +                     break;
> +             }
> +     }
> +
> +     if (!found_rulefile)
> +             if (unveil(NULL, NULL) == -1)
> +                     err(1, "unveil");
> +
>       if (argc > 0) {
>               for (afp = rafp = afs; rafp->af_name; rafp++)
>                       if (strcmp(rafp->af_name, *argv) == 0) {
> 
> 
> -- 
> I'm not entirely sure you are real.
> 

Reply via email to