Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
Icecast-Server
Icecast-Server
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 94
    • Issues 94
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • External Wiki
    • External Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Xiph.Org
  • Icecast-ServerIcecast-Server
  • Issues
  • #2387

Closed
Open
Opened 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
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: xiph/icecast-server#2387