Re: Edited: <on-connect> / <on-disconnect> not working

Mark Lee <[email protected]> Wed, 20 Sep 2023 15:33:35 -0400
Newsgroups gmane.comp.audio.icecast.general
Message-ID <CAMD=PZUtCegoY4_zPEt+P3=81QXKn_gybuxOTNpxS6EjatJy3Q@mail.gmail.com>
Hi, does the bash script send the email if you execute it in the terminal?

On Wed, Sept 20, 2023, 11:24 a.m. Jack Elliott <[email protected]>
wrote:

> Hi all,
>
> I am still trying to debug this. Summary, I am using <on-connect> in my
> icecast.xml to launch an email when a source-client connects.
>
> Here is the line in icecast.xml:
>
> <on-connect>/home/kpovdjs/bin/email_onconnect.sh</on-connect>
>
> The problem is that this script doesn't do anything when icecast runs it.
>
> The script works if I run it as user kpovdjs (me). But if I su to user
> icecast2, it does nothing.
>
> "email_onconnect.sh" is:
>
> #!/bin/bash
> set -x
>
> # [email protected]
>
> printf "To: [email protected]\nFrom: [email protected]\nSubject: Remote host has connected to mountpoint $1 on the Backstream\n\n KPOV Icecast server on IcecastPi has detected a connection on the backstream." > /home/kpovdjs/bin/on_connect.txt
> /usr/bin/msmtp [email protected] < /home/kpovdjs/bin/on_connect.txt  >/home/kpovdjs/bin/msmtp.log 2>&1
>
> If I run it as user kpovdjs (me), it sends the email, and this is the
> debug output:
>
> kpovdjs@Icecast-Pi:~/bin $ ./email_onconnect.sh
> + printf 'To: [email protected]\nFrom: [email protected]\nSubject: Remote host has connected to mountpoint  on the Backstream\n\n KPOV Icecast server on IcecastPi has detected a connection on the backstream.'
> + /usr/bin/msmtp [email protected]
>
> But as user icecast2, the debug output is the same, but no email sent:
>
> icecast2@Icecast-Pi:/home/kpovdjs/bin$ ./email_onconnect.sh
> + printf 'To: [email protected]\nFrom: [email protected]\nSubject: Remote host has connected to mountpoint  on the Backstream\n\n KPOV Icecast server on IcecastPi has detected a connection on the backstream.'
> + /usr/bin/msmtp [email protected]
>
> For debug purposes, I have rwxrwxrwx permission set from / and down to and
> including the script.
>
> -rwxrwxrwx  1 kpovdjs  kpovdjs  414 Sep 17 10:59 email_onconnect.sh
>
> For further debug purposes, I made a copy of the .sh script and chowned it
> to user icecast2.
>
> -rwxr-xr-x  1 icecast2 icecast  414 Sep 20 08:08 email_onconnect_usericecast2.sh
>
> It also does not send the email when I invoke it as user icecast2. The
> "set -x" debug output is the same.
>
> At this point it seems that this is not a icecast issue, per se, but some
> sneaky subtle weird annoying little Linux thing. However, if anyone here
> has an idea on how I might solve it, it would be very much appreciated.
>
> Thank you!
>
> ===========================
>
>
> Very cool, I haven't encountered the "set -x" debug flag before. However,
> the output isn't as interesting as I hoped:
>
> icecast2@Icecast-Pi:/home/kpovdjs/bin$ ./email_onconnect.sh
> + printf '
> To:[email protected]\nFrom:[email protected]\nSubject: Remote
> host has connected to mountpoint on the Backstream\n\n KPOV Icecast server
> on IcecastPi has detected a connection on the backstream.'
> + /usr/bin/[email protected]
> icecast2@Icecast-Pi:/home/kpovdjs/bin$
>
> Thank you!
>
> --
> Jack Elliott
> Director of Classical Music Programming
> High Desert Community Radio
> KPOV Bend, Oregon
>
> On 9/17/23 10:49 AM, Thomas Zumbrunnen wrote:
>
> Hi
>
> For debuging purpose put
> set -x in the row after #!/bin/bash
> and execute the script. Post the whole output here.
>
> Cheers
> Tom
> Am 17. Sept. 2023, 19:42 +0200 schrieb Jack Elliott
> <[email protected]> <[email protected]>:
>
>
> Hi Jordan,
>
> Here is my script:
>
> #!/bin/bash
>
> #[email protected]
>
> printf "To:[email protected]\nFrom:[email protected]\nSubject:
> Remote host has connected to mountpoint $1 on the Backstream\n\n KPOV
> Icecast server on IcecastPi has detected a connection on the backstream."
> <To:[email protected]%5CnFrom:[email protected]%5CnSubject:Remotehosthasconnectedtomountpoint$1ontheBackstream%5Cn%5CnKPOVIcecastserveronIcecastPihasdetectedaconnectiononthebackstream.>
> > /home/my_username/bin/on_connect.txt
> /usr/bin/[email protected] <
> /home/my_username/bin/on_connect.txt >/home/my_username/bin/msmtp.log 2>&1
>
> This script has rwx set for everyone (for debugging).
>
> Thank you!
>
> --
> Jack Elliott
> Director of Classical Music Programming
> High Desert Community Radio
> KPOV Bend, Oregon
> On 9/17/23 8:25 AM, Jordan Erickson wrote:
>
> Hi Jack,
>
> You said:
>
> ---
> Okay now that I am user icecast2, let me see if the script I want the
> Icecast server to run <on-connect> runs, so . . .
> icecast2@icecast-Pi: $ ./email_onconnect.sh
>
> and the prompt returns immediately, no error message, but no email
> received. But if I su back to my_username and try the script, it runs and
> an email is received.
>
> ---
>
> This tells me that your script is not doing what it needs to do as the
> Icecast user. Since you're doing it outside of Icecast, it's not the
> <on-connect> or <on-disconnect> triggers that are failing. It would be
> helpful if you could paste your script (sensitive info like passwords
> removed) here.
>
>
> Cheers,
> Jordan
> https://subj.am/
>
> On 9/17/23 07:08, Jack Elliott wrote:
>
>
> Hi, I posted yesterday that I was following this thread, and a nice
> listmember offered some suggestions to debug it. I replied directly to him,
> taking the thread off the list. This was not my intention, I'm bringing it
> back to the list to seek additional help because this issue has not been
> resolved.
>
> So, summary:
>
> The OS is Linux.
>
> Issue: <on-connect> / <on-disconnect> does not launch a bash script that
> sends notification emails.
>
> The script is located in /home/my_username/bin
>
> The script runs from command line and sends the email with me as user. So
> the script is coded right. But icecast does not launch the script.
>
> I have given rwx permission to everyone from / down to and including the
> script itself for debugging.
>
> Here is the code I have in the mount definition in icecast.xml:
>
> <on-connect>/home/my_username/bin/email_onconnect.sh</on-connect>
> <on-disconnect>/home/my_username/bin/email_ondisconnect.sh</on-disconnect>
>
> It is intended to run when a remote source client connects. The mountpoint
> works fine, our remote hosts routinely use it to stream their radio shows
> to the station to be put on the air.
>
> So. Is it possible that by having a fallback-mount (a local mp3) in the
> mountpoint "blocks" <on-connect>? IOW, because there is always a source
> client connected—either the fallback or a remote source client—that there
> is no connecting event to trigger the command?
>
> Thank you!
>
> --
> Jack Elliott
> Director of Classical Music Programming
> High Desert Community Radio
> KPOV Bend, Oregon
>
> _______________________________________________
> Icecast mailing list
> [email protected]
> http://lists.xiph.org/mailman/listinfo/icecast
>
>
>
> _______________________________________________
> Icecast mailing list
> [email protected]
> http://lists.xiph.org/mailman/listinfo/icecast
>
> _______________________________________________
> Icecast mailing list
> [email protected]
> http://lists.xiph.org/mailman/listinfo/icecast
>
> --------------7bquXKfP2f2X3yn1FweF08yV
> Content-Type: text/html; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
> </head>
> <body>
> <p>Very cool, I haven't encountered the "set -x" debug flag before.
> However, the output isn't as interesting as I hoped:<br>
> </p>
> <pre>icecast2@Icecast-Pi:/home/kpovdjs/bin$ ./email_onconnect.sh
> + printf 'To: <a class="moz-txt-link-abbreviated" href=
> "mailto:[email protected]\nFrom" <[email protected]%5CnFrom>
> >[email protected]\nFrom</a>: <a class="moz-txt-link-abbreviated"
> href="mailto:[email protected]\nSubject"
> <[email protected]%5CnSubject>>[email protected]\nSubject</a>:
> Remote host has connected to mountpoint on the Backstream\n\n KPOV Icecast
> server on IcecastPi has detected a connection on the backstream.'
> + /usr/bin/msmtp <a class="moz-txt-link-abbreviated" href=
> "mailto:[email protected]" <[email protected]>>
> [email protected]</a>
> icecast2@Icecast-Pi:/home/kpovdjs/bin$
> </pre>
> <p>Thank you!<br>
> </p>
> <pre class="moz-signature" cols="72">-- Jack Elliott
> Director of Classical Music Programming
> High Desert Community Radio
> KPOV Bend, Oregon</pre>
> <div class="moz-cite-prefix">On 9/17/23 10:49 AM, Thomas Zumbrunnen
> wrote:<br>
> </div>
> <blockquote type="cite"
> cite="mid:192abebe-ee3a-45f8-af67-257177c9a6b3@Spark">
> <meta http-equiv="content-type" content="text/html; charset=UTF-8">
> <title></title>
> <div name="messageBodySection">
> <div dir="auto">Hi <br>
> <br>
> For debuging purpose put <br>
> <span style="color:#5c2699;font-family:source-code-pro, Menlo,
> Monaco, Courier New, Courier, monospace;font-size: 14px">set</span><span
> style="color:#242424;background-color:#f9f9f9;font-family:source-code-pro,
> Menlo, Monaco, Courier New, Courier, monospace;font-size:
> 14px"> -x in the row </span>after <span
> style="color:#643820;font-family:source-code-pro, Menlo,
> Monaco, Courier New, Courier, monospace;font-size:
> 14px">#!/bin/bash</span><span
> style="font-size: 14px"><br>
> </span><span style="color:#643820;font-family:source-code-pro,
> Menlo, Monaco, Courier New, Courier, monospace;font-size:
> 14px">and execute the script. Post the whole output here.</span><span
> style="font-size: 14px"><br>
> </span><span style="font-size: 14px"><br>
> </span><span style="color:#643820;font-family:source-code-pro,
> Menlo, Monaco, Courier New, Courier, monospace;font-size:
> 14px">Cheers</span><span style="font-size: 14px"><br>
> </span><span style="color:#643820;font-family:source-code-pro,
> Menlo, Monaco, Courier New, Courier, monospace;font-size:
> 14px">Tom</span></div>
> </div>
> <div name="messageReplySection">Am 17. Sept. 2023, 19:42 +0200
> schrieb Jack Elliott <a class="moz-txt-link-rfc2396E" href=
> "mailto:[email protected]" <[email protected]>>&
> lt;[email protected]&gt;</a>:<br>
> <blockquote type="cite" style="border-left-color: grey;
> border-left-width: thin; border-left-style: solid; margin: 5px
> 5px;padding-left: 10px;">
> <p>Hi Jordan,<br>
> </p>
> <p>Here is my script:</p>
> <pre>#!/bin/bash
>
> # <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href=
> "mailto:[email protected]" <[email protected]>
> moz-do-not-send="true">[email protected]</a>
>
> printf "To: <a class="moz-txt-link-abbreviated" href=
> "mailto:[email protected]/nFrom" <[email protected]/nFrom>
> moz-do-not-send="true">[email protected]\nFrom</a>: <a
> class="moz-txt-link-abbreviated" href=
> "mailto:[email protected]/nSubject" <[email protected]/nSubject>
> moz-do-not-send="true">[email protected]\nSubject</a>: Remote host
> has connected to mountpoint $1 on the Backstream\n\n KPOV Icecast server on
> IcecastPi has detected a connection on the backstream." &gt;
> /home/my_username/bin/on_connect.txt
> /usr/bin/msmtp <a class="moz-txt-link-abbreviated moz-txt-link-freetext"
> href="mailto:[email protected]" <[email protected]>
> moz-do-not-send="true">[email protected]</a> &lt;
> /home/my_username/bin/on_connect.txt &gt;/home/my_username/bin/msmtp.log
> 2&gt;&amp;1
> </pre>
> <p>This script has rwx set for everyone (for debugging).<br>
> </p>
> <p>Thank you!<br>
> </p>
> <pre class="moz-signature" cols="72">-- Jack Elliott
> Director of Classical Music Programming
> High Desert Community Radio
> KPOV Bend, Oregon</pre>
> <div class="moz-cite-prefix">On 9/17/23 8:25 AM, Jordan
> Erickson wrote:<br>
> </div>
> <blockquote type="cite"
> cite="mid:[email protected]">
> <meta http-equiv="Content-Type" content="text/html;
> charset=UTF-8">
> Hi Jack,<br>
> <br>
> You said:<br>
> <br>
> ---<br>
> Okay now that I am user icecast2, let me see if the script I
> want the Icecast server to run &lt;on-connect&gt; runs, so .
> . .<br>
> <pre>icecast2@icecast-Pi: $ ./email_onconnect.sh</pre>
> <p>and the prompt returns immediately, no error message, but
> no email received. But if I su back to my_username and try
> the script, it runs and an email is received.<br>
> </p>
> ---<br>
> <br>
> This tells me that your script is not doing what it needs to
> do as the Icecast user. Since you're doing it outside of
> Icecast, it's not the &lt;on-connect&gt; or
> &lt;on-disconnect&gt; triggers that are failing. It would be
> helpful if you could paste your script (sensitive info like
> passwords removed) here.<br>
> <br>
> <br>
> Cheers,<br>
> Jordan<br>
> <pre class="moz-signature" cols="72"><a class="moz-txt-link-freetext" href=
> "https://subj.am/" <https://subj.am/> moz-do-not-send="true">
> https://subj.am/</a>
>
> </pre>
> <div class="moz-cite-prefix">On 9/17/23 07:08, Jack Elliott
> wrote:<br>
> </div>
> <blockquote type="cite"
> cite="mid:[email protected]">
> <meta http-equiv="Content-Type" content="text/html;
> charset=UTF-8">
> <p>Hi, I posted yesterday that I was following this
> thread, and a nice listmember offered some suggestions
> to debug it. I replied directly to him, taking the
> thread off the list. This was not my intention, I'm
> bringing it back to the list to seek additional help
> because this issue has not been resolved.<br>
> </p>
> <p>So, summary:</p>
> <p>The OS is Linux.<br>
> </p>
> <p>Issue: &lt;on-connect&gt; / &lt;on-disconnect&gt; does
> not launch a bash script that sends notification emails.<br>
> </p>
> <p>The script is located in /home/my_username/bin</p>
> <p>The script runs from command line and sends the email
> with me as user. So the script is coded right. But
> icecast does not launch the script.</p>
> <p>I have given rwx permission to everyone from / down to
> and including the script itself for debugging.<br>
> </p>
> <p>Here is the code I have in the mount definition in
> icecast.xml:<br>
> </p>
> <pre>
> &lt;on-connect&gt;/home/my_username/bin/email_onconnect.sh&lt;/on-connect&gt;
>
> &lt;on-disconnect&gt;/home/my_username/bin/email_ondisconnect.sh&lt;/on-disconnect&gt;
> </pre>
> <p>It is intended to run when a remote source client
> connects. The mountpoint works fine, our remote hosts
> routinely use it to stream their radio shows to the
> station to be put on the air.<br>
> </p>
> <p>So. Is it possible that by having a fallback-mount (a
> local mp3) in the mountpoint "blocks"
> &lt;on-connect&gt;? IOW, because there is always a
> source client connected—either the fallback or a remote
> source client—that there is no connecting event to
> trigger the command?</p>
> <p>Thank you!<br>
> </p>
> <pre class="moz-signature" cols="72">-- Jack Elliott
> Director of Classical Music Programming
> High Desert Community Radio
> KPOV Bend, Oregon</pre>
> <br>
> <fieldset class="moz-mime-attachment-header"></fieldset>
> <pre class="moz-quote-pre"
> wrap="">_______________________________________________
> Icecast mailing list
> <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href=
> "mailto:[email protected]" <[email protected]> moz-do-not-send="true">
> [email protected]</a>
> <a class="moz-txt-link-freetext" href=
> "http://lists.xiph.org/mailman/listinfo/icecast"
> <http://lists.xiph.org/mailman/listinfo/icecast> moz-do-not-send="true">
> http://lists.xiph.org/mailman/listinfo/icecast</a>
> </pre>
> </blockquote>
> <br>
> <br>
> <fieldset class="moz-mime-attachment-header"></fieldset>
> <pre class="moz-quote-pre"
> wrap="">_______________________________________________
> Icecast mailing list
> <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href=
> "mailto:[email protected]" <[email protected]> moz-do-not-send="true">
> [email protected]</a>
> <a class="moz-txt-link-freetext" href=
> "http://lists.xiph.org/mailman/listinfo/icecast"
> <http://lists.xiph.org/mailman/listinfo/icecast> moz-do-not-send="true">
> http://lists.xiph.org/mailman/listinfo/icecast</a>
> </pre>
> </blockquote>
> _______________________________________________<br>
> Icecast mailing list<br>
> <a class="moz-txt-link-abbreviated" href="mailto:[email protected]"
> <[email protected]>>[email protected]</a><br>
> <a class="moz-txt-link-freetext" href=
> "http://lists.xiph.org/mailman/listinfo/icecast"
> <http://lists.xiph.org/mailman/listinfo/icecast>>
> http://lists.xiph.org/mailman/listinfo/icecast</a><br>
> </blockquote>
> </div>
> </blockquote>
> </body>
> </html>
>
> --------------7bquXKfP2f2X3yn1FweF08yV--
> From Content-Type: multipart/alternative;
> boundary="------------cwXTpa91
>
> _______________________________________________
> Icecast mailing list
> [email protected]
> http://lists.xiph.org/mailman/listinfo/icecast
>

_______________________________________________
Icecast mailing list
[email protected]
http://lists.xiph.org/mailman/listinfo/icecast