-
-
Notifications
You must be signed in to change notification settings - Fork 333
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
Flatpak Playback Failed #301
Comments
And no, ignoring SSL errors is not a valid response to this, this is a certificate installed by Organization and should be trusted, not simply ignored. Ignoring SSL errors ignores all. |
Confirmed this is also preventing playback for me. |
Apparently this is a widespread Flatcrap issue. Flatcrap's ****ty policies of sandboxing has resulted in an absolutely huge amount of software unable to use system-store certificates. Most 'solutions' are terrible work-arounds or migrations to specific libraries capable of punching through the catbox (crappy sandbox). (I hate AppImage/Flatpak/Snap, ton of reasons, this is another peeve.) |
I agree, flatpak was growing on me at first but at this point I'm moving away from using it because of the non-stop issues I'm having with my system-store certs (amongst other reasons). I have been using fedora on my laptop to try and widen my Linux horizons so it looks like I'm going to be building JMP as there is no rpm binary available and the JMP flatpak is just broken. |
Maybe this will help to fix this |
I moved to Arch-based distros, no more problems with Flatcrap, AUR fixes all. Edit: The one post tries to push it off as 'app developer' issue instead of Flatkrap's catboxing. *eyeroll* Software shouldn't even be restricted from the host filesystem. Flatkrap should have been nothing but a flexible ABI with helpers at most. |
Well, whatever the case may be, I still have it installed right now and would like a clean fix. Unfortunately I can not find where the flatpak package is being build in this repository. |
Ok. Found it at https://github.com/flathub/com.github.iwalton3.jellyfin-media-player/blob/master/com.github.iwalton3.jellyfin-media-player.json . I'll give it a look |
I am going to keep dumping more info here for later use: The ignore flag is evaluated here:
Next step
|
Looks like you found the repo. I don't have any CI automation for creating Flatpak releases but it basically is just a commit reference. |
The issue seems to be here
Instead of relying on either Since you will find the default trust-stores from the runtime on those, they will simply be used, meaning that big CA's are still trusted, but custom ones will be ignored. Long term this could lead to more and more problems as CA information becomes stale. I will try to compile a version that does not set the paths and simply activates |
Google Play requires no tampering of validation functions, but you can give users the ability to add/remove certs or trust the System Store. I don't see why cert-importing/trusting isn't added. “Recognize this thumbprint? Alright then, added the anchor(s)!” |
But why is Google relevant here? @iwalton3 What I wrote above fixes the issues. Now, I do not know whether those paths are needed for old systems that do not support this setup yet. Let me know if this solution works for you and whether you would prefer to code this or rather have a PR against this repo. |
The problem applies to Android versions as well. Unless you use FDroid to get around Google's policy. (Essentially, the entire cert-validation backend that occurs is an issue for Android and Flatkrap. Flatkrap's is due to too much catboxxing and requiring developers to break out. Android's is about the fact that the System Store isn't trusted (same situation with Flatkrap, just different means of access).) Android's situation can't be “just trust any cert” because that's a poor fix and doesn't account for mitm unless you at least remember thumbprints and compare. The ability to specify certs (add/remove) coincidentally solves both Android and Flatkrap's issues, so that's an option. Just switching libraries or poking holes in Flatkrap doesn't solve Android's. Merely pointing out the breadth of it all. |
any progress? and some logs which i think may be helpful
and i will add that on mac and iOS everything work as expected even on steam deck in firefox it works fine |
I have posted the fix above and am just waiting for feedback from the maintainers. |
So this is because you are trying to use a custom CA. I'll skip the usual disclaimer about how most clients don't support this and have no plans to... What is surprising is that the QT WebEngine view works at all. I believe that historically has use Google Chrome's embedded trust store that you also have to edit, unless Flatpak patched it. What I do need to make sure of is that we never have SSL validation fail for proper certificate authorities. The last version of MPV I used on Windows had the SSL authority hard-coded to a folder that didn't exist. (I should check that this is still the case now that I build it from source since upstream doesn't support TLS v3.) That's why there is the logic that tries to find the SSL authority instead of blindly trusting what is set. What I would prefer to do is just add whatever authority Flatpak uses to that list OR run a check that verifies whatever is configured with ffmpeg actually exists. There is a reason Plex put that code here, and there is a strong chance that regular users who aren't using custom SSL certificate authorities (i.e. like 99 percent of users) could be affected if I remove it. MPV defaults to not checking SSL certificates, so we need to do some due diligence before enabling it. |
so basically using custom root ca on server and adding it to all clients is unsupported |
Self signed is even less supported. I do not have any desire to manage certificate exceptions or custom CAs in my application manually. I am willing to fix system CA support I just want to make sure it doesn't break anyone else. |
You can of course disable certificate verification but that defeats most of the point of enabling SSL in the first place. |
so in future release it can start working again? it woks in curl for example |
On Debian it works fine without a hard-coded SSL bundle, so I am just going to make the SSL cert bundle behavior optional and trust the system defaults. If anyone ends up having breakage as a result of this, you can use the |
on steam deck witch custom root ca it is fixed in 1.9.1 |
Running a custom root CA which doesn't seem to work with Flatpak version 1.9.1 of Jellyfin Client on OpenSUSE Tumbleweed. The Added both the root CA and intermediate certificate in PEM format to The logs at
I'm not sure if my system trust store is exposed within the Flatpak sandbox. Systeminfo: |
Jellyfin via Web Client works fine, but Flatpak just fails. FFMPEG is fussing about my certificate (which is trusted by host and is also manually added into all browsers, as well as their configurations being set to use system trust store). Jellyfin, like most of all software on Flatpak, needs to be updated to allow trusting the host/system certificate stores.
Error in logs:
ffmpeg: tls: Peer certificate failed verification
.The text was updated successfully, but these errors were encountered: