Comments (8)
If you are talking of the url auth then mount=X where X is the escape encoded version of the url including the type= info. The encoding is there to keep it separate from the other POST fields.
karl.
from icecast-kh.
but "/mount?type=.flv" has no mount_add or mount_remove
so whi a dedicated listener_add listener_remove ??
if flash player connects to "/stream?type=.flv" , then icecast ask the url auth script, permission for the "/stream?type=.flv" mount and not the "/stream"
source - > server:port:8000/mount
client- > server:port:8000/mount
flv client -> server:port:8000/mount?type=.flv
client auth -> ?action=listener_add&server=&port=&client=&mount=/mount&user=&pass=&ip=&agent=
flv clien auth -> ?action=listener_add&server=&port=&client=&mount=/mount?type=.flv&user=&pass=&ip=&agent=
shouldn't be ?
flv clien auth -> ?action=listener_add&server=&port=&client=&mount=/mount&type=.flv&user=&pass=&ip=&agent=
from icecast-kh.
the mount add and remove are triggers for the mountpoint start and exit, whether relay or source client so the flv aspect is unrelated. listener_add is for per listener attempts so requires any arguments passed in the url.
the mount arg is encoded (including args) as that is the only safe way to handle it. we do not want listeners to do http://.../stream?ip=127.0.0.1 and risk a fake ip setting to override the expected one. If you do provide auth in the style of /stream?client=123456 then you would have a clash in meaning, client for the web portal or client id of icecast. This way, the encoded string has to be specially handled by the script and the args won't clash.
from icecast-kh.
but cant be truncated ?
if it is working as if the end of mount is "?type=.flv" --> get(make) stream from /mount for a flv player
then in the same logic it can be said
if the end of mount is "?type=.flv" -> get(make) stream from mount whiout "?type=.flv" for a flv player and get the auth as mount whiout "?type=.flv"
cose for the auth logic... /mount and /mount?type=.flv are the same mount
by the same logic it gets more difficult from the auth script to detect if it is
"/stream" + "?type=.flv" ( flv of /stream)
or
"/stream?type=.flv" (the actual name)
the auth can give access to users based on server, port and mount,
and im pretending to add to it schedules time too. so the auth is not only about user & pass
right now im using regex -> |^(/.*)?type=.flv$|isU
so if it is true y get only the /stream
but is not as infallible, as getting the same mount in both cases by the server
plus! it gets the data for the auth url for the auth call from "/stream?type=.flv" whiout "type=.flv" ergo "/stream"
(if not, then it should not be able to auth)
so whi tell the url auth script it is from the mount "/stream?type=.flv" when it actualy it uses the the data from /stream ?
.< so hard to explain myself
from icecast-kh.
plus!
if i connected source stream to /stream?type=.flv , it gets the /stream configuration
and call the source_auth
action=stream_auth&mount=/stream&ip=....
and gets mounted on /stream
action=mount_add&mount=/stream&server=...
action=mount_remove&mount=/stream&server=...
then why the listeners auth ?
action=listener_add&mount=/stream?type=.flv&server=...
action=listener_remove&mount=/stream?type=.flv&server=...
why is not ?
action=listener_add&mount=/stream&server=...
action=listener_remove&mount=/stream&server=...
from icecast-kh.
the idea is you url unescape the mount value, and then put that into something like explode ("?&", args), no regex needed.
I'm not sure why you are having an issue with the type setting, there are cases where people use auth in a way like /stream?session=123456789, so the args are required to be sent and are required to not clash with the other settings in the POST.
karl.
from icecast-kh.
hoo....ok.... well... is not an issue if you know how it works ( i know now )
but isnt beter to separate mount and arguments ?
action=listener_remove&mount=/stream&args=type=.flv&server=
that way... mount... is the mount ( that is my kind of paradigma issue, that now the mount is not just the mount)
and the args is the args
from icecast-kh.
If there is a good enough reason to change then it can be changed, but currently having args= or params= as a separate setting would work. At the moment, I'm keeping consistent first.
karl.
from icecast-kh.
Related Issues (20)
- ./icecast.exe -v Doesn't work in Windows (2.4.0-kh20.5) HOT 3
- KH21 stuck in boot loop HOT 16
- Download kh21 failed HOT 1
- Admin Page not accessable after install kh-20 HOT 1
- KH20 listener_remove not always happend HOT 76
- Change listen URL reported to YP? (Needed if proxying or reducing open ports) HOT 4
- Currently playing on dir.xiph.org (YP) URL-escaped HOT 11
- icecast-2.4.0-kh21_win32_setup ... Please HOT 11
- No way to use listener URL auth and allow multiple connections for one account HOT 2
- Bug in url_stream_auth function HOT 2
- Segfault when source connects to mount point not defined in config HOT 2
- Segfault when calling fallback-mount combined with limit-rate HOT 2
- xml pages returns 404 after mounts became connected HOT 6
- Problems with clean installation. HOT 2
- Multiple Master-Server for Relays (Aggregating Mounts) HOT 1
- Song metadata appearing incorrectly in directories
- /admin/listclients with URL authentication returns 403 Forbidden Mountpoint in use
- How to migrate to a previous version?
- A small hang in VLC when updating OGG/vorbis stream metadata.
- Server stops
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from icecast-kh.