mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-22 20:31:14 +00:00
ams: fix updater misbehavior before 0.15.0 releases
This commit is contained in:
parent
2e7214b6fa
commit
5b02c77400
1 changed files with 13 additions and 0 deletions
|
@ -64,6 +64,10 @@ namespace ams::mitm {
|
||||||
/* Emummc file protection. */
|
/* Emummc file protection. */
|
||||||
FsFile g_emummc_file;
|
FsFile g_emummc_file;
|
||||||
|
|
||||||
|
/* Maintain exclusive access to the fusee-secondary archive. */
|
||||||
|
FsFile g_secondary_file;
|
||||||
|
FsFile g_sept_payload_file;
|
||||||
|
|
||||||
constexpr inline bool IsHexadecimal(const char *str) {
|
constexpr inline bool IsHexadecimal(const char *str) {
|
||||||
while (*str) {
|
while (*str) {
|
||||||
if (std::isxdigit(static_cast<unsigned char>(*str))) {
|
if (std::isxdigit(static_cast<unsigned char>(*str))) {
|
||||||
|
@ -129,6 +133,15 @@ namespace ams::mitm {
|
||||||
R_ABORT_UNLESS(fsFileWrite(&g_bis_key_file, 0, bis_keys, sizeof(bis_keys), FsWriteOption_Flush));
|
R_ABORT_UNLESS(fsFileWrite(&g_bis_key_file, 0, bis_keys, sizeof(bis_keys), FsWriteOption_Flush));
|
||||||
/* NOTE: g_bis_key_file is intentionally not closed here. This prevents any other process from opening it. */
|
/* NOTE: g_bis_key_file is intentionally not closed here. This prevents any other process from opening it. */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Open a reference to the fusee-secondary archive. */
|
||||||
|
/* As upcoming/current atmosphere releases will contain more than one zip which users much choose between, */
|
||||||
|
/* maintaining an open reference prevents cleanly the issue of "automatic" updaters selecting the incorrect */
|
||||||
|
/* zip, and encourages good updating hygiene -- atmosphere should not be updated on SD while HOS is alive. */
|
||||||
|
{
|
||||||
|
R_ABORT_UNLESS(mitm::fs::OpenSdFile(std::addressof(g_secondary_file), "/atmosphere/fusee-secondary.bin", ams::fs::OpenMode_ReadWrite));
|
||||||
|
R_ABORT_UNLESS(mitm::fs::OpenSdFile(std::addressof(g_sept_payload_file), "/sept/payload.bin", ams::fs::OpenMode_ReadWrite));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initialization implementation */
|
/* Initialization implementation */
|
||||||
|
|
Loading…
Reference in a new issue