# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2025 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only

abi <abi/4.0>,

include <tunables/global>

@{exec_path} = @{bin}/sudo-rs @{lib}/cargo/bin/sudo

@{att} = ""
profile sudo-rs /{{,usr/}bin/sudo-rs,{,usr/}lib{,exec,32,64}/cargo/bin/sudo} {
  include <abstractions/base-strict>
  include <abstractions/app-launcher-root>
  include <abstractions/app/sudo-rs>

  capability sys_ptrace, # optional: no audit

  ptrace read,

  signal send set=(winch, hup, term),

  @{exec_path} mr,
  @{bin}/env ix,
  @{bin}/tee m,

  @{bin}/@{shells}                  rux,
  @{lib}/**                         pux,
  /opt/*/**                         pux,
  /snap/snapd/@{int}@{bin}/snap    rpux,
  @{user_bin_dirs}/**               pux,
  @{user_share_dirs}/pipx/venvs/*/bin/* rpux,

  include if exists <local/sudo-rs>
}

# vim:syntax=apparmor
