Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • Icecast-Server Icecast-Server
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 100
    • Issues 100
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 5
    • Merge requests 5
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Xiph.Org
  • Icecast-ServerIcecast-Server
  • Issues
  • #2387
Closed
Open
Created Jun 22, 2020 by naitsirch@naitsirch

listclients not working if authentication type is url

We have configured our Icecast (v. 2.4.4) mount with stream_auth via URL. Authentication with the source client works well. But it is comming to a strange error when listener stats are requested with the source password.

This is our mount config:

<mount type="default">
    <mount-name>/stream</mount-name>
    <stream-name><![CDATA[Test]]></stream-name>
    <authentication type="url">
        <option name="auth_header" value="icecast-auth-user: 1"/>
        <option name="stream_auth" value="https://my-authentication-provider.com/api/icecast/stream_auth"/>
    </authentication>
</mount>

Streaming with butt and source password works as expected. So the authentication works.

Now, if I try to access the URL /admin/listclients?mount=/stream with the source password, to see the number of connected listeners. I get a 403 Forbidden with the message Mountpoint in use.

This is the request that is sent by curl:

GET /admin/listclients?mount=/stream HTTP/1.1
Host: server34299.streamplus.de:10106
Authorization: Basic {...}
User-Agent: curl/7.64.0
Accept: */*

I have checked the base64 encoded username and password in the authentication header. It is the same that is used in the source client.

The response by Icecast is:

HTTP/1.0 403 Forbidden
Server: Icecast 2.4.4
Connection: Close
Date: Wed, 17 Jun 2020 11:58:06 GMT
Content-Type: text/plain; charset=utf-8
Cache-Control: no-cache, no-store
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Pragma: no-cache

Mountpoint in use

If I remove the <authentication type="url"> part of the config and restart the server, calling /admin/listclients?mount=/stream works as expected.

It looks like the listclients action has a bug if Icecast is running with stream_auth via URL. If you need any further information please let me know.

OS: Debian 10.4, Linux version 4.19.0-9-amd64 (debian-kernel@lists.debian.org) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07)

Update: If I use the admin credentials to access the listener stats, it works as expected.

Edited Jun 22, 2020 by naitsirch
Assignee
Assign to
Time tracking