-
Notifications
You must be signed in to change notification settings - Fork 241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request to License Server not correct - License server returned failure under Linux #1041
Comments
Log snippets aren't any good to us. For example we would be able to see which CDM version is being used from the log and possibly other useful information. inputstream.adaptive sends the request, but the payload of the request is created by the CDM which differs from Windows to Linux. Please check in your log with cURL component logging turned on, from memory you can see the response included with the 400 error. |
Thanks for the quick response. |
Can you have a look with cURL component debugging turned on? For me I get to see the content in the server response e.g
|
Sure, it needs to be executed from the addon with the Amazon server behind.
|
@spacys please see here: https://in.amazonforum.com/s/question/0D56Q00009mJwk1SAC/getting-playback-error-while-playing-music-from-browsers-in-linux Amazon are not currently accepting license requests from x86_64 linux CDMs. Maybe worth trying on an ARM device to see if that is blocked too. In any case the issue is not with inputstream.adaptive. |
Good finding...I've tried with Chrome browser and it is working under Ubuntu. Looks the issue above is only related to India, but I'm not sure. |
I can only suggest then if it works in ubuntu chrome to compare the headers etc in Chrome vs. Kodi in Linux.
The combination of this being the only service we've heard of having this issue recently, and the contents of the error response |
The addon is doing exactly the same on Linux and as well on Windows, so there are no different code snippets or OS switches. |
Do you have any updates for me? |
Yes this is correct. We can't control how the WV proxy responds to the request. I don't know the state of Verified Media Path in Linux browsers. I wonder if you used a different browser (even one that you compile yourself) if it would still play. VMP is (AFAIK) something that can be enforced per platform. Do you have a RPi or similar to try Linux ARM?
Not necessarily, like I said I believe that providers can configure different rules for different platforms. Another way to check if VMP is enabled in Chrome/Ubuntu is to check for a POST request with |
I think, I've found the root cause and identified another issue. Means the content of |
the "body" so post data to prevent characters problem can be set data as url encoded |
Does IA automatically decoding the body to send data in the right format? How is IA recognizing it or is an additional flag necessary? It is not my aim to send encoded data to the Amazon API. |
Can you put an example here for us to see? Would be much easier to understand and help you fix |
just check because i dont remember exactly, in case we could make a change to determine when force URL decoding |
Thanks for your support...highly appreciated.
The creation of this JSON can be found here, starting at line 647. Please consider, the |
in this case should be no problem because you dumps json that when URL encoded the string will starts always with
sending will be handled correctly since ISA URL decode it internally |
@spacys did it work for you? |
I incorporated and tested the suggested changes, but there is no difference. Still the same behavior with same error messages. |
Here's a comparison between Android TV and Linux using Amazon Music addon (logs edited for brevity): Works on Android TV (info from InputStream Helper): Kodi version 19.3 is running on a Android system with arm architecture. Log: Does not work on Linux (info from InputStream Helper): Kodi version 19.4 is running on a Linux system with x86_64 architecture. Log: Hope this helps and sorry if I did not do this correctly ;) |
Hi @leGeddy thanks for the logs. The next step for analysis would be confirming whether the service will run in a browser not signed for Widevine VMP. Maybe one of the smaller Firefox forks? Normally a license request from a signed browser will include a certificate and the payload is much larger (eg. ~6000 bytes vs ~1800) and this can help determine if it's VMP capable or not. If it works in such a browser under x64 linux then there's most likely something that can be done in the addon to send the 'right' request. |
No certificate is requested. I assume VMP is not activated, and if so why for Linux only?!? With Kodi on Windows it is working. The issue is, Amazon has redesigned their whole web pages incl. the process how to generate calls. Means, it cannot be tested with a browser any longer. Nevertheless the 'old' API's are still working. |
I should mention the Amazon VOD addon does work on Kodi Linux. Worth investigating. |
@leGeddy, I know but this addon is working differently and does not have API's. They are creating URL requests, similar to user activities with the browser. |
Alright then, never mind ;) |
At least, they does not have a clear API strategy and of course, they are not open for any third party activities. It would be that easy to provide cool API's with clear authentication... |
@spacys yes there is, just need to undo the changes in this PR #770 You could try this tool: https://tools.axinom.com/decoders/LicenseRequest |
I need some guidance...I've |
We don't use persistent storage so that part shouldn't matter. |
I did this conversion and compared the results. The domain above is able to read the base64 content, good thing. The output looks quite similar except this one:
Linux file
Both files were created on the same physical computer. OS switch via boot loader. |
after 1 year we cant provide you a solution for your service |
Bug report
Describe the bug
I've developed an Amazon Media Plugin and this is working since long under Windows and Linux. But since few weeks the License server is returning failure under Linux. After 30 seconds the stream stopped and jump to the next song. The log file from Windows is showing this:
CurlFile::Open(0x2138edd0180) https://music.amazon.de/EU/api/dmls/
XCURL::DllLibCurlGlobal::easy_acquire - Created session to https://music.amazon.de
and from Linux:
CCurlFile::FillBuffer - Failed: HTTP returned error 400
CCurlFile::Open failed with code 400 for https://music.amazon.de/EU/api/dmls/:
for the same request.
I've checked the behavior with the same Kodi, IA and Addon version on Windows and Linux.
Expected Behavior
Create successful session to the Amazon server to get the License keys.
Actual Behavior
Session creation returning error 400
Possible Fix
I assume a different behavior of the curl versions between Windows and Linux or the way how IA is forwarding the token information to those libraries. Specially in regards to mask special characters.
To Reproduce
Steps to reproduce the behavior:
Debuglog
The debuglog can be found here:
Request header is:
MPD/M3U8s/ISM
An example or copy of a manifest (or manifests for HLS - master and variants) can be found here:
Screenshots
Here are some links or screenshots to help explain the problem:
Additional context or screenshots (if appropriate)
Here is some additional context or explanation that might help:
Your Environment
Used Operating system:
Android
iOS
tvOS
[ X ] Linux
OSX
Windows
Windows UWP
Operating system version/name: Linux Mint 20.3 Cinnamon / Ubuntu 22.04.
Kodi version: 19.4.0
inputstream.adaptive version: 19.0.7
note: Once the issue is made we require you to update it with new information should that be required.
Team Kodi will consider your problem report however, we will not make any promises the problem will be solved.
The text was updated successfully, but these errors were encountered: