# network-interface-security - configure network device security # # This is a one-time start-up script to load AppArmor profiles needed # before the network comes up. description "configure network device security" # In order to avoid upstart bug LP: #447654, we cannot have an AND # statement here (with the ORs). An "and virtual-filesystems" is desired # here to make sure that the securityfs is mounted, but since each of the # ORed services already require virtual-filesystems be mounted, this is safe: start on (starting network-interface or starting network-manager or starting networking) stop on (stopped network-interface JOB=$JOB INTERFACE=$INTERFACE or stopped network-manager JOB=$JOB or stopped networking JOB=$JOB) # In order to handle the lack of upstart feature LP: #568860, we need to # run multiple times, for each of the above "starting" service instances, or # else another one might run while we're running, and not wait for us to # finish. instance $JOB${INTERFACE:+/}${INTERFACE:-} # Since we need these profiles to be loaded before any of the above services # begin running, this service must be a pre-start so that its pre-start # script finishes before the above services' start scripts begin. pre-start script [ -f /run/network-interface-security ] && exit 0 # already ran [ -d /rofs/etc/apparmor.d ] && exit 0 # do not load on liveCD [ -d /sys/module/apparmor ] || exit 0 # do not load without AppArmor [ -x /sbin/apparmor_parser ] || exit 0 # do not load without parser for link in /etc/apparmor/init/network-interface-security/* ; do [ -L $link ] && /sbin/apparmor_parser -r -W $link || true done > /run/network-interface-security end script