Snapping get-iplayer

Note, as invoked, scanlog will tail the file, looking for new denials. If it doesn’t find any, it will look like is it hanging. If this is not working for you, can you give the details of the OS, snapd version, snappy-debug version and exact steps to reproduce (eg, it works fine here with sudo snappy-debug.security scanlog hello-world, then starting hello-world.sh and doing ls /)

As for your denials:

  • apparmor="DENIED" operation="create" profile="snap.get-iplayer.server" pid=20445 comm="perl" family="inet" sock_type="stream" protocol=6 requested_mask="create" denied_mask="create"
  • you need to plugs network
  • apparmor="DENIED" operation="open" profile="snap.get-iplayer.get-iplayer" name="/etc/get_iplayer/options" pid=20487 comm="perl" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
  • you need to adjust your program to look for /etc/get_iplayer/options somewhere else. This file isn’t going to exist on a typical system and your snap needs to provide it in one of the data dirs, eg, $SNAP, $SNAP_DATA, $SNAP_COMMON, $SNAP_USER_DATA or $SNAP_USER_COMMON

(this is actually what snappy-debug scanlog should’ve suggested to you)

2 Likes