<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 7, 2017 at 9:01 AM, Tanu Kaskinen <span dir="ltr"><<a href="mailto:tanuk@iki.fi" target="_blank">tanuk@iki.fi</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-m_-8991684201047597223HOEnZb"><div class="gmail-m_-8991684201047597223h5">On Wed, 2017-09-06 at 19:55 -0300, Felipe Sateler wrote:<br>
> The autospawn mechanism already had a root-autospawn protection mechanism. When<br>
> using systemd that was lost. Systemd 234 has a mechanism to conditionalize unit starting<br>
> on the running user, so lets do that to protect against root autospawning.<br>
> ---<br>
>  src/daemon/systemd/user/<a href="http://pulseaudio.service.in" rel="noreferrer" target="_blank">pulsea<wbr>udio.service.in</a> | 1 +<br>
>  src/daemon/systemd/user/pulsea<wbr>udio.socket     | 1 +<br>
>  2 files changed, 2 insertions(+)<br>
><br>
> diff --git a/src/daemon/systemd/user/<a href="http://pulseaudio.service.in" rel="noreferrer" target="_blank">puls<wbr>eaudio.service.in</a> b/src/daemon/systemd/user/<a href="http://pulseaudio.service.in" rel="noreferrer" target="_blank">puls<wbr>eaudio.service.in</a><br>
> index 2bd780f8..46897bf5 100644<br>
> --- a/src/daemon/systemd/user/<a href="http://pulseaudio.service.in" rel="noreferrer" target="_blank">puls<wbr>eaudio.service.in</a><br>
> +++ b/src/daemon/systemd/user/<a href="http://pulseaudio.service.in" rel="noreferrer" target="_blank">puls<wbr>eaudio.service.in</a><br>
> @@ -14,6 +14,7 @@ Description=Sound Service<br>
>  # After=pulseaudio.socket is not needed, as it is already implicit in the<br>
>  # socket-service relationship, see systemd.socket(5).<br>
>  Requires=pulseaudio.socket<br>
> +ConditionUser=!root<br>
><br>
>  [Service]<br>
>  # Note that notify will only work if --daemonize=no<br>
> diff --git a/src/daemon/systemd/user/puls<wbr>eaudio.socket b/src/daemon/systemd/user/puls<wbr>eaudio.socket<br>
> index 332ece89..98c1002a 100644<br>
> --- a/src/daemon/systemd/user/puls<wbr>eaudio.socket<br>
> +++ b/src/daemon/systemd/user/puls<wbr>eaudio.socket<br>
> @@ -1,5 +1,6 @@<br>
>  [Unit]<br>
>  Description=Sound System<br>
> +ConditionUser=!root<br>
><br>
>  [Socket]<br>
>  Priority=6<br>
<br>
</div></div>What happens if these units are used with older systemd versions? Is<br>
the unrecognized option just ignored?<br><br></blockquote><div><br></div><div>Yes. Systemd will emit a warning like this though:</div><div><br></div><div>systemd[23564]: [/home/felipe/.config/systemd/user/test.service:2] Unknown lvalue 'ConditionUser' in section 'Unit'<br></div><div> </div><div><br></div><div>Saludos</div></div><font color="#888888"><a href="https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss" rel="noreferrer" target="_blank">
</a></font></div></div>