必要な時のみac接続するように

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@616 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2012-01-27 08:31:17 +00:00
parent 86c1773bc6
commit 103d7a2613
6 changed files with 40 additions and 131 deletions

View File

@ -17,6 +17,7 @@
#include "Util.h" #include "Util.h"
#include "CommonLogger.h" #include "CommonLogger.h"
#include <nn/ac.h>
#include <nn/http.h> #include <nn/http.h>
#include <nn/http/http_Connection.h> #include <nn/http/http_Connection.h>
#include <nn/ssl.h> #include <nn/ssl.h>
@ -200,8 +201,11 @@ BgsCommunicator::~BgsCommunicator()
bool BgsCommunicator::Execute(const void* buf, size_t size) bool BgsCommunicator::Execute(const void* buf, size_t size)
{ {
m_Result = common::InitializeNetwork(); if(!nn::ac::IsConnected())
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result); {
m_Result = common::InitializeNetwork();
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
}
/* ------------------------------------------------------------------------ /* ------------------------------------------------------------------------
(HTTPライブラリ使用前に) (HTTPライブラリ使用前に)
@ -299,8 +303,6 @@ bool BgsCommunicator::Finalize()
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result); COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
m_Result = nn::http::Finalize(); m_Result = nn::http::Finalize();
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result); COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
m_Result = common::FinalizeNetwork();
COMMON_LOGGER_RETURN_FALSE_IF_FAILED(m_Result);
return true; return true;
} }

View File

@ -30,6 +30,7 @@
#include <nn/crypto/crypto_SwAesCtrContext.h> #include <nn/crypto/crypto_SwAesCtrContext.h>
#include <nn/ac/CTR/private/ac_NetworkSetting.h> #include <nn/ac/CTR/private/ac_NetworkSetting.h>
#include <nn/ac/CTR/private/ac_InternalApi.h> #include <nn/ac/CTR/private/ac_InternalApi.h>
#include <nn/ac/CTR/private/ac_PrivateApi.h>
#include <nn/socket.h> #include <nn/socket.h>
#include <nn/nwm/CTR/nwm_InfraAPI.h> #include <nn/nwm/CTR/nwm_InfraAPI.h>
#include <nn/mcu.h> #include <nn/mcu.h>
@ -1115,6 +1116,8 @@ bool UpdateNetworkSetting(nn::ac::NetworkSetting& networkSetting)
} }
else else
{ {
// 設定が変わるので切断しておく
nn::ac::CloseAll();
result = nn::ac::FinalizeInternal(); result = nn::ac::FinalizeInternal();
if (!result.IsSuccess()) if (!result.IsSuccess())
{ {

View File

@ -62,8 +62,11 @@ bool GetNtpTime(u32* ntpTime)
NN_LOG("Initializing network.\n"); NN_LOG("Initializing network.\n");
// 本体に書き込まれているネットワーク設定を使ってネットワーク接続を初期化 // 本体に書き込まれているネットワーク設定を使ってネットワーク接続を初期化
result = common::InitializeNetwork(); if(!nn::ac::IsConnected())
COMMON_LOGGER_RESULT_IF_FAILED(result); {
result = common::InitializeNetwork();
COMMON_LOGGER_RESULT_IF_FAILED(result);
}
{ {
NN_LOG("Initializing socket..\n"); NN_LOG("Initializing socket..\n");

View File

@ -25,6 +25,7 @@
#include "Shop.h" #include "Shop.h"
#include "CommonLogger.h" #include "CommonLogger.h"
#include "Util.h"
using namespace ES_NAMESPACE; using namespace ES_NAMESPACE;
using namespace EC_NAMESPACE; using namespace EC_NAMESPACE;
@ -200,63 +201,6 @@ void PrintECAccountInfo(const ECAccountInfo& accountInfo)
} }
} }
nn::Result PrintNetworkSetting()
{
nn::Result result;
nn::ac::NetworkSetting networkSetting;
result = nn::ac::LoadNetworkSetting(0, networkSetting);
COMMON_LOGGER("SSID: %s\n", networkSetting.wireless.essidSecurity.ssid);
COMMON_LOGGER("DNS : %d.%d.%d.%d\n",
networkSetting.ip.dns[0][0], networkSetting.ip.dns[0][1],
networkSetting.ip.dns[0][2], networkSetting.ip.dns[0][3]);
return result;
}
nn::Result ConnectNetwork()
{
nn::Result result;
nn::ac::Config config;
result = nn::ac::CreateDefaultConfig(&config);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = nn::ac::ConnectWithoutEula(config);
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
COMMON_LOGGER_DETAIL("Success nn::ac::ConnectWithoutEula\n");
result = PrintNetworkSetting();
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
return result;
}
nn::Result InitializeInternal()
{
nn::Result result;
result = nn::ac::InitializeInternal();
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
result = ConnectNetwork();
COMMON_LOGGER_RETURN_RESULT_IF_FAILED(result);
return result;
}
nn::Result FinalizeInternal()
{
nn::Result result = nn::ResultSuccess();
nn::ac::CloseAll();
result = nn::ac::FinalizeInternal();
NN_UTIL_RETURN_IF_FAILED(result);
return result;
}
} }
@ -357,10 +301,6 @@ nn::Result ShopOperationFinalize()
NN_UTIL_RETURN_IF_FAILED(result); NN_UTIL_RETURN_IF_FAILED(result);
s_IsNimShopInitialized = false; s_IsNimShopInitialized = false;
COMMON_LOGGER_DETAIL("util::ac::Finalize\n");
result = FinalizeInternal();
NN_UTIL_RETURN_IF_FAILED(result);
return result; return result;
} }
@ -407,9 +347,12 @@ void ShopOperationSingleThreadFunc(ShopThreadParam param)
s_ShopResult = nn::ResultSuccess(); s_ShopResult = nn::ResultSuccess();
COMMON_LOGGER_DETAIL("util::ac::Initialize\n"); if(!nn::ac::IsConnected())
result = InitializeInternal(); {
NIM_SHOP_RESULT_CHECK(result); COMMON_LOGGER_DETAIL("util::ac::Initialize\n");
result = common::InitializeNetwork();
NIM_SHOP_RESULT_CHECK(result);
}
switch(param.op) switch(param.op)
{ {

View File

@ -23,6 +23,7 @@
#include <nn/ac/CTR/private/ac_InternalApi.h> #include <nn/ac/CTR/private/ac_InternalApi.h>
#include "CommonLogger.h" #include "CommonLogger.h"
#include "Util.h"
namespace ConsoleRestore namespace ConsoleRestore
{ {
@ -60,61 +61,6 @@ nn::os::StackBuffer<UPDATER_THREAD_STACK_SIZE> s_UpdaterThreadStack;
u64 s_Progress = 0; u64 s_Progress = 0;
nn::Result PrintNetworkSetting()
{
nn::ac::NetworkSetting networkSetting;
NN_UTIL_RETURN_IF_FAILED(nn::ac::LoadNetworkSetting(0, networkSetting));
COMMON_LOGGER("SSID: %s\n", networkSetting.wireless.essidSecurity.ssid);
COMMON_LOGGER("DNS : %d.%d.%d.%d\n",
networkSetting.ip.dns[0][0], networkSetting.ip.dns[0][1],
networkSetting.ip.dns[0][2], networkSetting.ip.dns[0][3]);
return nn::ResultSuccess();
}
nn::Result ConnectNetwork()
{
nn::Result result = nn::ResultSuccess();
nn::ac::Config config;
result = nn::ac::CreateDefaultConfig(&config);
NN_UTIL_RETURN_IF_FAILED(result);
result = nn::ac::ConnectWithoutEula(config);
NN_UTIL_RETURN_IF_FAILED(result);
COMMON_LOGGER_DETAIL("Success nn::ac::ConnectWithoutEula\n");
NN_UTIL_RETURN_IF_FAILED(PrintNetworkSetting());
return result;
}
nn::Result InitializeInternal()
{
nn::Result result = nn::ResultSuccess();
result = nn::ac::InitializeInternal();
NN_UTIL_RETURN_IF_FAILED(result);
result = ConnectNetwork();
NN_UTIL_RETURN_IF_FAILED(result);
return result;
}
nn::Result FinalizeInternal()
{
nn::Result result = nn::ResultSuccess();
nn::ac::CloseAll();
result = nn::ac::FinalizeInternal();
NN_UTIL_RETURN_IF_FAILED(result);
return result;
}
} }
void UpdateThreadFunc() void UpdateThreadFunc()
@ -145,9 +91,12 @@ void UpdateThreadFunc()
result = nn::nim::InitializeForUpdater(); result = nn::nim::InitializeForUpdater();
NIM_UPDATER_RESULT_CHECK(result); NIM_UPDATER_RESULT_CHECK(result);
COMMON_LOGGER_DETAIL("[Updater] InitializeInternal\n"); if(!nn::ac::IsConnected())
result = InitializeInternal(); {
NIM_UPDATER_RESULT_CHECK(result); COMMON_LOGGER_DETAIL("[Updater] InitializeInternal\n");
result = common::InitializeNetwork();
NIM_UPDATER_RESULT_CHECK(result);
}
/* ------------------------------------------------------------------- /* -------------------------------------------------------------------
@ -211,9 +160,6 @@ void UpdateThreadFunc()
result = nn::nim::FinalizeForUpdater(); result = nn::nim::FinalizeForUpdater();
NIM_UPDATER_RESULT_CHECK(result); NIM_UPDATER_RESULT_CHECK(result);
result = FinalizeInternal();
NIM_UPDATER_RESULT_CHECK(result);
COMMON_LOGGER_DETAIL("[Updater] Finish nim Updater demo.\n"); COMMON_LOGGER_DETAIL("[Updater] Finish nim Updater demo.\n");
} }

View File

@ -370,6 +370,18 @@ bool Util::HasReadFriendCode()
return m_HasReadFriendCode; return m_HasReadFriendCode;
} }
nn::Result PrintNetworkSetting()
{
nn::Result result;
nn::ac::NetworkSetting networkSetting;
result = nn::ac::LoadNetworkSetting(0, networkSetting);
COMMON_LOGGER("SSID: %s\n", networkSetting.wireless.essidSecurity.ssid);
COMMON_LOGGER("DNS : %d.%d.%d.%d\n",
networkSetting.ip.dns[0][0], networkSetting.ip.dns[0][1],
networkSetting.ip.dns[0][2], networkSetting.ip.dns[0][3]);
return result;
}
nn::Result InitializeNetwork(void) nn::Result InitializeNetwork(void)
{ {
nn::Result result; nn::Result result;