Draft: credential rework
MR from an abandoned patch set more than one year ago: https://mailman.videolan.org/pipermail/vlc-devel/2020-December/141201.html
-
Add a flag to force the user interaction (via dialogs). It will be used via LibVLC and VLC interfaces. This can be used to change the logged username.
-
Send the logged user to LibVLC and VLC interfaces. For the Qt UI, we could add a widget near the URL widget displaying "logged as ", if clicked, it will force a reload with a forced user interaction.
-
Always save on the memory keystore (even if the system one is available), speed up parsing, and allow using credentials in background (preparsing).
NB: if accepted, I will implement interacted_forced (if needed) and user propagation on all other accesses.
There was one comment from @Courmisch : https://mailman.videolan.org/pipermail/vlc-devel/2020-December/141218.html that lead to my unanswered question:
I have no strong arguments on that matter and it's the right time to change the current behavior. So, to resume, we have 2 choices:
Always enable and use the system keystore (even when parsing in background). The system keystore will have a priority higher than the cache keystore. So, if the system keystore is unlocked, the cache keystore will never be used. /!\ WARNING: It may trigger a dialog from the OS asking for a pin/passphrase to unlock the wallet. It should not have a big impact since most OSses generally unlock the keystore when the user logs in.
Keep the behavior I proposed on the ML The system keystore is not used for background parsing. Therefore, background parsing will only work if the user specifically request it from (from a direct or indirect action).