mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
APSetting.txt反映前に現在のインターネット設定を保持しておくように
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@4 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
eeafd1919a
commit
b8ffcb4006
@ -86,6 +86,8 @@ bit8 s_IvsDecryptIv[AES_BLOCK_SIZE] =
|
||||
|
||||
}
|
||||
|
||||
CheckedNetworkSetting s_CurrentNetowrkSetting1;
|
||||
|
||||
void ConvertTimeZoneString(const char* str)
|
||||
{
|
||||
s_TimeZone.hour = 0;
|
||||
@ -624,6 +626,17 @@ bool UpdateNetworkSetting(nn::ac::NetworkSetting& networkSetting)
|
||||
networkSetting.proxy.enable = false;
|
||||
networkSetting.other.enableUPnP = false;
|
||||
|
||||
// 現在のインターネット設定1を一時的に保持
|
||||
result = nn::ac::LoadNetworkSetting(0, s_CurrentNetowrkSetting1.setting);
|
||||
if(result.IsSuccess())
|
||||
{
|
||||
s_CurrentNetowrkSetting1.isValid = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
s_CurrentNetowrkSetting1.isValid = false;
|
||||
}
|
||||
|
||||
result = nn::ac::UpdateNetworkSetting( 0, networkSetting );
|
||||
if(!result.IsSuccess())
|
||||
{
|
||||
@ -988,6 +1001,11 @@ TimeZone GetTimeZone()
|
||||
return s_TimeZone;
|
||||
}
|
||||
|
||||
CheckedNetworkSetting* GetTempNetworkSetting()
|
||||
{
|
||||
return &s_CurrentNetowrkSetting1;
|
||||
}
|
||||
|
||||
void ImportData()
|
||||
{
|
||||
static bool init = true;
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
|
||||
#include <nn.h>
|
||||
#include "FileName.h"
|
||||
#include <nn/ac/CTR/private/ac_NetworkSetting.h>
|
||||
|
||||
namespace ConsoleRestore
|
||||
{
|
||||
@ -77,6 +78,15 @@ bool ReadSetting();
|
||||
char* GetNtpServerName();
|
||||
TimeZone GetTimeZone();
|
||||
|
||||
struct CheckedNetworkSetting
|
||||
{
|
||||
nn::ac::CTR::NetworkSetting setting;
|
||||
bool isValid;
|
||||
NN_PADDING3;
|
||||
};
|
||||
|
||||
CheckedNetworkSetting* GetTempNetworkSetting();
|
||||
|
||||
}
|
||||
|
||||
#endif /* IMPORTER_H_ */
|
||||
|
||||
@ -48,9 +48,6 @@ struct NTP_Packet{ // NTPパケット
|
||||
u32 transmitTimestampFractions;
|
||||
};
|
||||
|
||||
const size_t NETWORK_SETTING_SLOT_NUM = 3;
|
||||
nn::ac::CTR::NetworkSetting s_CurrentNetoworkSetting[NETWORK_SETTING_SLOT_NUM];
|
||||
|
||||
const size_t TIMEOUT_MILLISECOND = 5000; // タイムアウト ミリ秒数
|
||||
NTP_Packet s_NTPSendPacket; // 送信するNTPパケット
|
||||
NTP_Packet s_NTPRecvPacket; // 受信するNTPパケット
|
||||
@ -287,29 +284,21 @@ u32 GetNtpTime()
|
||||
return ntp_time;
|
||||
}
|
||||
|
||||
void SaveCurrentInternetSetting()
|
||||
{
|
||||
NN_LOG("Save Current Internet Setting\n");
|
||||
nn::Result result;
|
||||
result = nn::ac::CTR::InitializeInternal();
|
||||
COMMON_LOGGER_RESULT_IF_FAILED(result);
|
||||
|
||||
for(u8 i = 0; i < NETWORK_SETTING_SLOT_NUM; i++)
|
||||
{
|
||||
result = nn::ac::CTR::LoadNetworkSetting(i, s_CurrentNetoworkSetting[i]);
|
||||
COMMON_LOGGER_RESULT_IF_FAILED(result);
|
||||
}
|
||||
}
|
||||
|
||||
void RestoreCurrentInternetSetting()
|
||||
{
|
||||
NN_LOG("Restore Current Internet Setting\n");
|
||||
COMMON_LOGGER("Restore Current Internet Setting\n");
|
||||
nn::Result result;
|
||||
for(u8 i = 0; i < NETWORK_SETTING_SLOT_NUM; i++)
|
||||
if (GetTempNetworkSetting()->isValid)
|
||||
{
|
||||
result = nn::ac::CTR::UpdateNetworkSetting(i, s_CurrentNetoworkSetting[i]);
|
||||
result = nn::ac::CTR::UpdateNetworkSetting(0, GetTempNetworkSetting()->setting);
|
||||
COMMON_LOGGER_RESULT_IF_FAILED(result);
|
||||
}
|
||||
|
||||
result = nn::ac::FlushNetworkSetting();
|
||||
COMMON_LOGGER_RESULT_IF_FAILED(result);
|
||||
|
||||
result = nn::ac::FinalizeInternal();
|
||||
COMMON_LOGGER_RESULT_IF_FAILED(result);
|
||||
}
|
||||
|
||||
void NtpThreadFunc()
|
||||
@ -352,11 +341,10 @@ bool IsTimeAdjustFinished()
|
||||
|
||||
void AdjustTime()
|
||||
{
|
||||
// インターネット設定を一時的に保存する
|
||||
SaveCurrentInternetSetting();
|
||||
nn::Result result;
|
||||
|
||||
// SDカードのインターネット設定を反映する
|
||||
ReadSetting();
|
||||
result = nn::ac::CTR::InitializeInternal();
|
||||
COMMON_LOGGER_RESULT_IF_FAILED(result);
|
||||
|
||||
s_NtpThread.Start( NtpThreadFunc, s_NtpThreadStack);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user