From da801e2438a8ae466ec61f7cf22c57e2bf6ed1c4 Mon Sep 17 00:00:00 2001 From: Naveen Albert <asterisk@phreaknet.org> Date: Sat, 5 Feb 2022 12:39:42 +0000 Subject: [PATCH] app_mp3: Document and warn about HTTPS incompatibility. mpg123 doesn't support HTTPS, but the MP3Player application doesn't document this or warn the user about this. HTTPS streams have become more common nowadays and users could reasonably try to play them without being aware they should use the HTTP stream instead. This adds documentation to note this limitation. It also throws a warning if users try to use the HTTPS stream to tell them to use the HTTP stream instead. ASTERISK-29900 #close Change-Id: Ie3b029be5258c5a701f71ed3b1a7a80d1e03b827 --- apps/app_mp3.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/app_mp3.c b/apps/app_mp3.c index 5d2fc88a3b..9bc23c0477 100644 --- a/apps/app_mp3.c +++ b/apps/app_mp3.c @@ -64,8 +64,9 @@ </syntax> <description> <para>Executes mpg123 to play the given location, which typically would be a mp3 filename - or m3u playlist filename or a URL. Please read http://en.wikipedia.org/wiki/M3U + or m3u playlist filename or a URL. Please read https://en.wikipedia.org/wiki/M3U to see what the M3U playlist file format is like.</para> + <para>Note that mpg123 does not support HTTPS, so use HTTP for web streams.</para> <para>User can exit by pressing any key on the dialpad, or by hanging up.</para> <example title="Play an MP3 playlist"> exten => 1234,1,MP3Player(/var/lib/asterisk/playlist.m3u) @@ -251,6 +252,9 @@ static int mp3_exec(struct ast_channel *chan, const char *data) } else { ast_debug(1, "No more mp3\n"); if (!startedmp3) { /* we couldn't do anything, which means this stream doesn't work */ + if (!strncasecmp(data, "https://", 8)) { + ast_log(LOG_WARNING, "%s() does not support HTTPS streams. Use HTTP instead.\n", app); + } ast_log(LOG_WARNING, "MP3 stream '%s' is broken or nonexistent\n", data); } res = 0; -- GitLab