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]></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." > > /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> < > /home/my_username/bin/on_connect.txt >/home/my_username/bin/msmtp.log > 2>&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 <on-connect> 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 <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.<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: <on-connect> / <on-disconnect> 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> > <on-connect>/home/my_username/bin/email_onconnect.sh</on-connect> > > <on-disconnect>/home/my_username/bin/email_ondisconnect.sh</on-disconnect> > </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" > <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?</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