| Server IP : 94.16.115.136 / Your IP : 216.73.217.106 Web Server : Apache/2.4.52 (Ubuntu) System : Linux rogerrabbit 5.15.0-185-generic #195-Ubuntu SMP Fri Jun 19 17:11:50 UTC 2026 x86_64 User : bkillingseder ( 1001) PHP Version : 8.1.2-1ubuntu2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /snap/lxd/40115/snap/hooks/ |
Upload File : |
#!/bin/sh
set -eu
# Re-exec outside of apparmor confinement
if [ -d /sys/kernel/security/apparmor ] && [ "$(cat /proc/self/attr/current)" != "unconfined" ]; then
exec aa-exec -p unconfined -- "$0" "$@"
fi
# Utility functions
get_bool() {
value=$(echo "${1:-}" | tr '[:upper:]' '[:lower:]')
# See if it's true
for yes in "true" "1" "yes" "on"; do
if [ "${value}" = "${yes}" ]; then
echo "true"
return
fi
done
# See if it's false
for no in "false" "0" "no" "off"; do
if [ "${value}" = "${no}" ]; then
echo "false"
return
fi
done
# Invalid value (or not set)
return
}
# Don't fail if the mount namespace isn't properly setup yet
if [ ! -e /run/snapd-snap.socket ]; then
exit 0
fi
# Get the current config
apparmor_unprivileged_restrictions_disable=$(get_bool "$(snapctl get apparmor.unprivileged-restrictions-disable)")
ceph_builtin=$(get_bool "$(snapctl get ceph.builtin)")
ceph_external=$(get_bool "$(snapctl get ceph.external)")
criu_enable=$(get_bool "$(snapctl get criu.enable)")
daemon_debug=$(get_bool "$(snapctl get daemon.debug)")
daemon_group=$(snapctl get daemon.group)
daemon_user_group=$(snapctl get daemon.user.group)
daemon_syslog=$(get_bool "$(snapctl get daemon.syslog)")
daemon_verbose=$(get_bool "$(snapctl get daemon.verbose)")
lvm_external=$(get_bool "$(snapctl get lvm.external)")
lxcfs_loadavg=$(get_bool "$(snapctl get lxcfs.loadavg)")
lxcfs_pidfd=$(get_bool "$(snapctl get lxcfs.pidfd)")
lxcfs_cfs=$(get_bool "$(snapctl get lxcfs.cfs)")
lxcfs_debug=$(get_bool "$(snapctl get lxcfs.debug)")
openvswitch_builtin=$(get_bool "$(snapctl get openvswitch.builtin)")
openvswitch_external=$(get_bool "$(snapctl get openvswitch.external)")
ovn_builtin=$(get_bool "$(snapctl get ovn.builtin)")
shiftfs_enable=$(get_bool "$(snapctl get shiftfs.enable)")
ui_enable=$(get_bool "$(snapctl get ui.enable)")
# Special-handling of daemon.preseed
daemon_preseed=$(snapctl get daemon.preseed)
if [ -n "${daemon_preseed}" ]; then
echo "${daemon_preseed}" > "${SNAP_COMMON}/init.yaml"
fi
# Generate the config
config="${SNAP_COMMON}/config"
cat << EOC > "${config}"
# This file is auto-generated, do NOT manually edit
apparmor_unprivileged_restrictions_disable=${apparmor_unprivileged_restrictions_disable:-"true"}
ceph_builtin=${ceph_builtin:-"false"}
ceph_external=${ceph_external:-"false"}
criu_enable=${criu_enable:-"false"}
daemon_debug=${daemon_debug:-"false"}
daemon_group=${daemon_group:-"lxd"}
daemon_syslog=${daemon_syslog:-"false"}
daemon_user_group=${daemon_user_group:-"lxd"}
daemon_verbose=${daemon_verbose:-"false"}
lvm_external=${lvm_external:-"false"}
lxcfs_cfs=${lxcfs_cfs:-"false"}
lxcfs_debug=${lxcfs_debug:-"false"}
lxcfs_loadavg=${lxcfs_loadavg:-"false"}
lxcfs_pidfd=${lxcfs_pidfd:-"false"}
openvswitch_builtin=${openvswitch_builtin:-"false"}
openvswitch_external=${openvswitch_external:-"false"}
ovn_builtin=${ovn_builtin:-"false"}
shiftfs_enable=${shiftfs_enable:-"auto"}
ui_enable=${ui_enable:-"false"}
EOC
# Set socket ownership in case it changed
if getent group "${daemon_group}" >/dev/null 2>&1; then
if [ -e "${SNAP_COMMON}/lxd/unix.socket" ]; then
chgrp "${daemon_group}" "${SNAP_COMMON}/lxd/unix.socket"
fi
fi
if getent group "${daemon_user_group}" >/dev/null 2>&1; then
if [ -e "${SNAP_COMMON}/lxd-user/unix.socket" ]; then
chgrp "${daemon_user_group}" "${SNAP_COMMON}/lxd-user/unix.socket"
fi
fi
exit 0