From b8ffcb4006a9eb70c91b1614d78e35668be52463 Mon Sep 17 00:00:00 2001 From: N2614 Date: Mon, 31 Jan 2011 04:06:00 +0000 Subject: [PATCH] =?UTF-8?q?APSetting.txt=E5=8F=8D=E6=98=A0=E5=89=8D?= =?UTF-8?q?=E3=81=AB=E7=8F=BE=E5=9C=A8=E3=81=AE=E3=82=A4=E3=83=B3=E3=82=BF?= =?UTF-8?q?=E3=83=BC=E3=83=8D=E3=83=83=E3=83=88=E8=A8=AD=E5=AE=9A=E3=82=92?= =?UTF-8?q?=E4=BF=9D=E6=8C=81=E3=81=97=E3=81=A6=E3=81=8A=E3=81=8F=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .../ConsoleRestore/Importer.cpp | 18 ++++++++++ .../ConsoleRestore/Importer.h | 10 ++++++ .../ConsoleRestore/NtpClient.cpp | 36 +++++++------------ 3 files changed, 40 insertions(+), 24 deletions(-) diff --git a/trunk/ConsoleDataMigration/ConsoleRestore/Importer.cpp b/trunk/ConsoleDataMigration/ConsoleRestore/Importer.cpp index 35023e7..709b561 100644 --- a/trunk/ConsoleDataMigration/ConsoleRestore/Importer.cpp +++ b/trunk/ConsoleDataMigration/ConsoleRestore/Importer.cpp @@ -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; diff --git a/trunk/ConsoleDataMigration/ConsoleRestore/Importer.h b/trunk/ConsoleDataMigration/ConsoleRestore/Importer.h index 245e7dd..f978ec8 100644 --- a/trunk/ConsoleDataMigration/ConsoleRestore/Importer.h +++ b/trunk/ConsoleDataMigration/ConsoleRestore/Importer.h @@ -18,6 +18,7 @@ #include #include "FileName.h" +#include 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_ */ diff --git a/trunk/ConsoleDataMigration/ConsoleRestore/NtpClient.cpp b/trunk/ConsoleDataMigration/ConsoleRestore/NtpClient.cpp index 03cd1fe..ada8377 100644 --- a/trunk/ConsoleDataMigration/ConsoleRestore/NtpClient.cpp +++ b/trunk/ConsoleDataMigration/ConsoleRestore/NtpClient.cpp @@ -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); }