On Thu, Feb 27, 2025 at 04:39:41PM -0800, Phil Dibowitz wrote:
> Package: radvd
> Version: 1:2.19-1+b1

Strange version number


> Dear Maintainer,
> 
> The unitfile for radvd should probably have:
> 
> ```
> EnvironmentFile=-/etc/default/radvd
> StartExec=/usr/sbin/radvd --logmethod stderr_clean $OPTIONS 
> ```
> 
> So that people can set command-line options.

I understand the wish.

 
> But further, we probably want the default options to include `-u radvd`
> like most Debian packages - the package already sets up the user,

Username  _radvd  is (somewhere) on the todo list.


> and pre-systemd setup privelegeseparation, but this was dropped in the
> systemd move. To accomplish this you'll also need to add `CAP_SETUID
> CAP_SETGID` to the `CapabilityBoundingSet`.
> 
> Finally, errors are masked as currently configured because we fork, but
> expect logs on stderr. We should set the `Type` to `simple` and add
> `--nodaemon` to the default OPTIONS. So something like:
> 
> /etc/default/radvd:
> ```
> OPTIONS="--logmethod stderr_clean -u radvd --nodaemon"
> ```
> 
> /lib/systemd/system/radvd.service
> ```
> # It's not recommended to modify this file in-place, because it
> # will be overwritten during upgrades.  If you want to customize,
> # the best way is to use the "systemctl edit" command.
> 
> [Unit]
> Description=Router advertisement daemon for IPv6
> Documentation=man:radvd(8)
> After=network.target
> ConditionPathExists=/etc/radvd.conf
> 
> [Service]
> Type=simple
> ExecStartPre=/usr/sbin/radvd $OPTIONS --configtest
> ExecStart=/usr/sbin/radvd $OPTIONS
> ExecReload=/usr/sbin/radvd $OPTIONS --configtest
> ExecReload=/bin/kill -HUP $MAINPID
> PIDFile=/run/radvd.pid
> 
> # Set the CPU scheduling policy to idle which is for running very low 
> priority backg>
> CPUSchedulingPolicy=idle
> 
> # Allow for binding to low ports and doing raw network access
> CapabilityBoundingSet=CAP_NET_BIND_SERVICE  CAP_NET_RAW
> 
> # Set up a new file system namespace and mounts private /tmp and /var/tmp 
> directories
> # so this service cannot access the global directories and other processes 
> cannot
> # access this service's directories.
> PrivateTmp=yes
> 
> # Sets up a new /dev namespace for the executed processes and only adds API 
> pseudo d>
> # such as /dev/null, /dev/zero or /dev/random (as well as the pseudo TTY 
> subsystem) >
> # but no physical devices such as /dev/sda.
> PrivateDevices=yes
> 
> # Mounts the /usr, /boot, and /etc directories read-only for processes 
> invoked by th>
> ProtectSystem=full
> 
> # The directories /home, /root and /run/user are made inaccessible and empty 
> for pro>
> # invoked by this unit.
> ProtectHome=yes
> 
> # Ensures that the service process and all its children can never gain new 
> privileges
> NoNewPrivileges=yes
> 
> [Install]
> WantedBy=multi-user.target
> ```
> 
> This is roughly what I've done on my system with override files.

a unified diff does make changes more visable.

 
> Finally - I couldn't run `reportbug` from the system in question,

Acknowledge on "There was an attempt"


> so here's the relevant info:
> 
> radvd: 1:2.19-1+b1
> Debian Release: 12.9

a.k.a.  Bookworm


> Architecture: amd64 (x86_64)
> Kernel: 5.10.0-0.deb10.28-amd64

I did expect kernel version 6 something.

 
> -- System Information:
> Debian Release: trixie/sid

a.k.a.   13


>   APT prefers unstable
>   APT policy: (500, 'unstable')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
> 
> Kernel: Linux 6.12.12-amd64 (SMP w/12 CPU threads; PREEMPT)

Kernel version 6 something


> Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
> Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE not set
> Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
> 
> Versions of packages radvd depends on:
> ii  adduser  3.142
> ii  libc6    2.40-7
> 
> radvd recommends no packages.
> 
> radvd suggests no packages.



Groeten
Geert Stappers
-- 
Silence is hard to parse

Reply via email to