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
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Xiph.Org
  • Icecast-ServerIcecast-Server
  • Issues
  • #2365

Closed
Open
Opened Dec 12, 2018 by Philipp Schafft@ph3-der-loewe🦁Maintainer

Discussion on the handling of portless Host:-headers

Karl updated Icecast in 64d2fc1f to ignore Host:-headers that do not include a port. This was done due to the fact that winamp and foobar2000 do send invalid Host:-headers. They do not include the port even if non-default ports are used. When this header is used this results in invalid playlists to be generated. (Other (future) uses such as vhosting may also be affected).

foobar2000 seems to have fixed this. This was the result of a quick test with @laama. Thanks to him.

Winamp 5.53 1898 Beta from 2008 as well as Winamp 5.8 as downloaded today are still affected.

The following solution and workarounds come to mind:

  • Nullsoft fixes their software. (Judge yourself if this is going to happen.) This is the only solution. It is the only correct way to do this.
  • Keep ignoring Host:-headers that do not include a port. This may break legitimate clients.
  • Try to match Host:-headers against listen sockets. This may break vhosting.
  • Implement a way to list valid vhosts and set default vhosts per listen socket.
  • Ignore Host:-headers without a port but implement a per listen socket default vhost setting.

Note that we can not accept/reject Host:-headers without port based on if we listen on a default port socket or not without type="virtual" listen sockets. This will otherwise break all kinds of redirects.

This ticket is mostly for discussion.

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: xiph/icecast-server#2365