Hi Tomas,

(Cc: Reepca, who is the expert.)

Tomas Volf <[email protected]> skribis:

> I hit another problem with apparmor profile we use for unprivileged
> daemon:
>
> --8<---------------cut here---------------start------------->8---
> The following derivations will be built:
>   /gnu/store/wqi1n9v5gc01a0nqp9xfijjy3l9sda3d-vendor.drv
>   /gnu/store/5nkyshbp82vyb425cbmh79qwvqpxfddj-wire-1.1.0.drv
> error (ignored): getting status of 
> `/gnu/store/wqi1n9v5gc01a0nqp9xfijjy3l9sda3d-vendor.drv.chroot': No such file 
> or directory
> guix build: error: reading file `/proc/net/if_inet6': Permission denied
> --8<---------------cut here---------------end--------------->8---

Is it ‘guix build -Sf the-file.scm’ that fails?

>   (source (origin
>             (method git-fetch)
>             (uri (git-reference
>                    (url "https://github.com/goforj/wire";)
>                    (commit (string-append "v" version))))

[...]

> --8<---------------cut here---------------start------------->8---
> May 06 02:59:56 HOST kernel: audit: type=1400 audit(1778029196.515:366): 
> apparmor="DENIED" operation="open" profile="guix-daemon" 
> name="/proc/2125022/net/if_inet6" pid=2125022 comm="guix-daemon" 
> requested_mask="r" denied_mask="r" fsuid=997 ouid=0
> --8<---------------cut here---------------end--------------->8---

That must come from ‘haveGlobalIPv6Address’.  What does AppArmor do in
this case?  Does it terminate the process?

The daemon does all this:

--8<---------------cut here---------------start------------->8---
if(fixedOutput) {
    if(findProgram(settings.slirp4netns) == "")
        printMsg(lvlError, std::format("`{}' can't be found in PATH, network 
access disabled", settings.slirp4netns));
    else {
        if(!pathExists("/dev/net/tun"))
            printMsg(lvlError, "`/dev/net/tun' is missing, network access 
disabled");
        else {
            useSlirp4netns = true;
            ctx.ipv6Enabled = haveGlobalIPv6Address();
        }
    }
}
--8<---------------cut here---------------end--------------->8---

… even though in the end this is handled by “builtin:git-download”,
which doesn’t need any of this.

Thanks,
Ludo’.



Reply via email to