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)
|
void ConvertTimeZoneString(const char* str)
|
||||||
{
|
{
|
||||||
s_TimeZone.hour = 0;
|
s_TimeZone.hour = 0;
|
||||||
@ -624,6 +626,17 @@ bool UpdateNetworkSetting(nn::ac::NetworkSetting& networkSetting)
|
|||||||
networkSetting.proxy.enable = false;
|
networkSetting.proxy.enable = false;
|
||||||
networkSetting.other.enableUPnP = 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 );
|
result = nn::ac::UpdateNetworkSetting( 0, networkSetting );
|
||||||
if(!result.IsSuccess())
|
if(!result.IsSuccess())
|
||||||
{
|
{
|
||||||
@ -988,6 +1001,11 @@ TimeZone GetTimeZone()
|
|||||||
return s_TimeZone;
|
return s_TimeZone;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CheckedNetworkSetting* GetTempNetworkSetting()
|
||||||
|
{
|
||||||
|
return &s_CurrentNetowrkSetting1;
|
||||||
|
}
|
||||||
|
|
||||||
void ImportData()
|
void ImportData()
|
||||||
{
|
{
|
||||||
static bool init = true;
|
static bool init = true;
|
||||||
|
|||||||
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <nn.h>
|
#include <nn.h>
|
||||||
#include "FileName.h"
|
#include "FileName.h"
|
||||||
|
#include <nn/ac/CTR/private/ac_NetworkSetting.h>
|
||||||
|
|
||||||
namespace ConsoleRestore
|
namespace ConsoleRestore
|
||||||
{
|
{
|
||||||
@ -77,6 +78,15 @@ bool ReadSetting();
|
|||||||
char* GetNtpServerName();
|
char* GetNtpServerName();
|
||||||
TimeZone GetTimeZone();
|
TimeZone GetTimeZone();
|
||||||
|
|
||||||
|
struct CheckedNetworkSetting
|
||||||
|
{
|
||||||
|
nn::ac::CTR::NetworkSetting setting;
|
||||||
|
bool isValid;
|
||||||
|
NN_PADDING3;
|
||||||
|
};
|
||||||
|
|
||||||
|
CheckedNetworkSetting* GetTempNetworkSetting();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* IMPORTER_H_ */
|
#endif /* IMPORTER_H_ */
|
||||||
|
|||||||
@ -48,9 +48,6 @@ struct NTP_Packet{ // NTPパケット
|
|||||||
u32 transmitTimestampFractions;
|
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; // タイムアウト ミリ秒数
|
const size_t TIMEOUT_MILLISECOND = 5000; // タイムアウト ミリ秒数
|
||||||
NTP_Packet s_NTPSendPacket; // 送信するNTPパケット
|
NTP_Packet s_NTPSendPacket; // 送信するNTPパケット
|
||||||
NTP_Packet s_NTPRecvPacket; // 受信するNTPパケット
|
NTP_Packet s_NTPRecvPacket; // 受信するNTPパケット
|
||||||
@ -287,29 +284,21 @@ u32 GetNtpTime()
|
|||||||
return ntp_time;
|
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()
|
void RestoreCurrentInternetSetting()
|
||||||
{
|
{
|
||||||
NN_LOG("Restore Current Internet Setting\n");
|
COMMON_LOGGER("Restore Current Internet Setting\n");
|
||||||
nn::Result result;
|
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);
|
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()
|
void NtpThreadFunc()
|
||||||
@ -352,11 +341,10 @@ bool IsTimeAdjustFinished()
|
|||||||
|
|
||||||
void AdjustTime()
|
void AdjustTime()
|
||||||
{
|
{
|
||||||
// インターネット設定を一時的に保存する
|
nn::Result result;
|
||||||
SaveCurrentInternetSetting();
|
|
||||||
|
|
||||||
// SDカードのインターネット設定を反映する
|
result = nn::ac::CTR::InitializeInternal();
|
||||||
ReadSetting();
|
COMMON_LOGGER_RESULT_IF_FAILED(result);
|
||||||
|
|
||||||
s_NtpThread.Start( NtpThreadFunc, s_NtpThreadStack);
|
s_NtpThread.Start( NtpThreadFunc, s_NtpThreadStack);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user