Separate sensitive credentials into credentials.cfg#18770
Separate sensitive credentials into credentials.cfg#18770RJNY wants to merge 1 commit intolibretro:masterfrom
Conversation
|
I think the pr #18376 will probably conflict and one of the prs will have to be rebased but both features are important. At first I thought this could be done with only the linked pr by making those properties only save into the base config, but I like a separate file better, since its explicit and since the base file might end up unreadable (and unreachable in the app sandbox in android at least by common users) by design in Linux and android. I would kind of prefer a OS keyring solution because for example google and Firefox keyrings are automatically backed up into the cloud (dangerous but very convenient indeed) and/or its easier to remember what you have to backup or how to look into it if its only one thing, but that is fiddly platform specific technology and and the perfect mustn't be the enemy of the good. |
Description
Separates sensitive settings (passwords, tokens, stream keys) into a dedicated
credentials.cfgfile so they are not exposed when sharing or backing upretroarch.cfg.CFG_BOOL_FLG_SENSITIVEflag withSETTING_ARRAY_SENSITIVEandSETTING_PATH_SENSITIVEwrapper macros to tag 13 sensitive settings (cheevos, webdav, smb, netplay, streaming)credentials.cfgand stripped from the main config viaconfig_unsetcredentials.cfgis merged back viaconfig_append_filecredentials.cfgwrite fails, sensitive fields stay inretroarch.cfgas a safety netcredentials.cfgand cleans the main config#ifdef HAVE_CHEEVOS+ 3xstring_is_equal) into a single flag check covering all sensitive settingsTesting: