Bug Summary

File:/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
Location:line 76, column 6
Description:Value stored to 'BufferInSize' during its initialization is never read

Annotated Source Code

1// Copyright 2013 Dolphin Emulator Project
2// Licensed under GPLv2
3// Refer to the license.txt file included.
4
5#include "FileUtil.h"
6#include "WII_IPC_HLE_Device_net_ssl.h"
7#include "WII_Socket.h"
8
9WII_SSL CWII_IPC_HLE_Device_net_ssl::_SSL[NET_SSL_MAXINSTANCES4];
10
11CWII_IPC_HLE_Device_net_ssl::CWII_IPC_HLE_Device_net_ssl(u32 _DeviceID, const std::string& _rDeviceName)
12 : IWII_IPC_HLE_Device(_DeviceID, _rDeviceName)
13{
14 for (int i = 0; i < NET_SSL_MAXINSTANCES4; ++i)
15 {
16 memset(&_SSL[i], 0, sizeof(WII_SSL));
17 }
18}
19
20CWII_IPC_HLE_Device_net_ssl::~CWII_IPC_HLE_Device_net_ssl()
21{
22 // Cleanup sessions
23 for (int i = 0; i < NET_SSL_MAXINSTANCES4; i++)
24 {
25 if (_SSL[i].active)
26 {
27 ssl_close_notify(&_SSL[i].ctx);
28 ssl_session_free(&_SSL[i].session);
29 ssl_free(&_SSL[i].ctx);
30
31 x509_free(&_SSL[i].cacert);
32 x509_free(&_SSL[i].clicert);
33
34 memset(&_SSL[i].ctx, 0, sizeof(ssl_context));
35 memset(&_SSL[i].session, 0, sizeof(ssl_session));
36 memset(&_SSL[i].hs, 0, sizeof(havege_state));
37 memset(_SSL[i].hostname, 0, NET_SSL_MAX_HOSTNAME_LEN256);
38
39 _SSL[i].active = false;
40 }
41 }
42}
43
44int CWII_IPC_HLE_Device_net_ssl::getSSLFreeID()
45{
46 for (int i = 0; i < NET_SSL_MAXINSTANCES4; i++)
47 {
48 if (!_SSL[i].active)
49 {
50 return i + 1;
51 }
52 }
53 return 0;
54}
55
56bool CWII_IPC_HLE_Device_net_ssl::Open(u32 _CommandAddress, u32 _Mode)
57{
58 Memory::Write_U32(GetDeviceID(), _CommandAddress+4);
59 m_Active = true;
60 return true;
61}
62
63bool CWII_IPC_HLE_Device_net_ssl::Close(u32 _CommandAddress, bool _bForce)
64{
65 if (!_bForce)
66 {
67 Memory::Write_U32(0, _CommandAddress + 4);
68 }
69 m_Active = false;
70 return true;
71}
72
73bool CWII_IPC_HLE_Device_net_ssl::IOCtl(u32 _CommandAddress)
74{
75 u32 BufferIn = Memory::Read_U32(_CommandAddress + 0x10);
76 u32 BufferInSize = Memory::Read_U32(_CommandAddress + 0x14);
Value stored to 'BufferInSize' during its initialization is never read
77 u32 BufferOut = Memory::Read_U32(_CommandAddress + 0x18);
78 u32 BufferOutSize = Memory::Read_U32(_CommandAddress + 0x1C);
79 u32 Command = Memory::Read_U32(_CommandAddress + 0x0C);
80
81 INFO_LOG(WII_IPC_SSL, "%s unknown %i "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 84, "%s unknown %i " "(BufferIn: (%08x, %i), BufferOut: (%08x, %i)"
, GetDeviceName().c_str(), Command, BufferIn, BufferInSize, BufferOut
, BufferOutSize); } } while (0)
82 "(BufferIn: (%08x, %i), BufferOut: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 84, "%s unknown %i " "(BufferIn: (%08x, %i), BufferOut: (%08x, %i)"
, GetDeviceName().c_str(), Command, BufferIn, BufferInSize, BufferOut
, BufferOutSize); } } while (0)
83 GetDeviceName().c_str(), Command,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 84, "%s unknown %i " "(BufferIn: (%08x, %i), BufferOut: (%08x, %i)"
, GetDeviceName().c_str(), Command, BufferIn, BufferInSize, BufferOut
, BufferOutSize); } } while (0)
84 BufferIn, BufferInSize, BufferOut, BufferOutSize)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 84, "%s unknown %i " "(BufferIn: (%08x, %i), BufferOut: (%08x, %i)"
, GetDeviceName().c_str(), Command, BufferIn, BufferInSize, BufferOut
, BufferOutSize); } } while (0)
;
85 Memory::Write_U32(0, _CommandAddress + 0x4);
86 return true;
87}
88
89bool CWII_IPC_HLE_Device_net_ssl::IOCtlV(u32 _CommandAddress)
90{
91 SIOCtlVBuffer CommandBuffer(_CommandAddress);
92
93 u32 _BufferIn = 0, _BufferIn2 = 0, _BufferIn3 = 0;
94 u32 BufferInSize = 0, BufferInSize2 = 0, BufferInSize3 = 0;
95
96 u32 BufferOut = 0, BufferOut2 = 0, BufferOut3 = 0;
97 u32 BufferOutSize = 0, BufferOutSize2 = 0, BufferOutSize3 = 0;
98
99 if (CommandBuffer.InBuffer.size() > 0)
100 {
101 _BufferIn = CommandBuffer.InBuffer.at(0).m_Address;
102 BufferInSize = CommandBuffer.InBuffer.at(0).m_Size;
103 }
104 if (CommandBuffer.InBuffer.size() > 1)
105 {
106 _BufferIn2 = CommandBuffer.InBuffer.at(1).m_Address;
107 BufferInSize2 = CommandBuffer.InBuffer.at(1).m_Size;
108 }
109 if (CommandBuffer.InBuffer.size() > 2)
110 {
111 _BufferIn3 = CommandBuffer.InBuffer.at(2).m_Address;
112 BufferInSize3 = CommandBuffer.InBuffer.at(2).m_Size;
113 }
114
115 if (CommandBuffer.PayloadBuffer.size() > 0)
116 {
117 BufferOut = CommandBuffer.PayloadBuffer.at(0).m_Address;
118 BufferOutSize = CommandBuffer.PayloadBuffer.at(0).m_Size;
119 }
120 if (CommandBuffer.PayloadBuffer.size() > 1)
121 {
122 BufferOut2 = CommandBuffer.PayloadBuffer.at(1).m_Address;
123 BufferOutSize2 = CommandBuffer.PayloadBuffer.at(1).m_Size;
124 }
125 if (CommandBuffer.PayloadBuffer.size() > 2)
126 {
127 BufferOut3 = CommandBuffer.PayloadBuffer.at(2).m_Address;
128 BufferOutSize3 = CommandBuffer.PayloadBuffer.at(2).m_Size;
129 }
130
131 switch (CommandBuffer.Parameter)
132 {
133 case IOCTLV_NET_SSL_NEW:
134 {
135 int verifyOption = Memory::Read_U32(BufferOut);
136 const char * hostname = (const char*) Memory::GetPointer(BufferOut2);
137
138 int freeSSL = this->getSSLFreeID();
139 if (freeSSL)
140 {
141 int sslID = freeSSL - 1;
142 int ret = ssl_init(&_SSL[sslID].ctx);
143 if (ret)
144 {
145 // Cleanup possibly dirty ctx
146 memset(&_SSL[sslID].ctx, 0, sizeof(ssl_context));
147 goto _SSL_NEW_ERROR;
148 }
149
150 havege_init(&_SSL[sslID].hs);
151 ssl_set_rng(&_SSL[sslID].ctx, havege_random, &_SSL[sslID].hs);
152
153 // For some reason we can't use TLSv1.2, v1.1 and below are fine!
154 ssl_set_max_version(&_SSL[sslID].ctx, SSL_MAJOR_VERSION_33, SSL_MINOR_VERSION_22);
155
156 ssl_set_ciphersuites(&_SSL[sslID].ctx, ssl_default_ciphersuites);
157 ssl_set_session(&_SSL[sslID].ctx, &_SSL[sslID].session);
158
159 ssl_set_endpoint(&_SSL[sslID].ctx, SSL_IS_CLIENT0);
160 ssl_set_authmode(&_SSL[sslID].ctx, SSL_VERIFY_NONE0);
161 ssl_set_renegotiation(&_SSL[sslID].ctx, SSL_RENEGOTIATION_ENABLED1);
162
163 memcpy(_SSL[sslID].hostname, hostname, min((int)BufferOutSize2, NET_SSL_MAX_HOSTNAME_LEN256));
164 _SSL[sslID].hostname[NET_SSL_MAX_HOSTNAME_LEN256-1] = '\0';
165 ssl_set_hostname(&_SSL[sslID].ctx, _SSL[sslID].hostname);
166
167 _SSL[sslID].active = true;
168 Memory::Write_U32(freeSSL, _BufferIn);
169 }
170 else
171 {
172_SSL_NEW_ERROR:
173 Memory::Write_U32(SSL_ERR_FAILED, _BufferIn);
174 }
175
176 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_NEW (%d, %s) "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 183, "IOCTLV_NET_SSL_NEW (%d, %s) " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, verifyOption, hostname, _BufferIn, BufferInSize, _BufferIn2
, BufferInSize2, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize
, BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3); } }
while (0)
177 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 183, "IOCTLV_NET_SSL_NEW (%d, %s) " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, verifyOption, hostname, _BufferIn, BufferInSize, _BufferIn2
, BufferInSize2, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize
, BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3); } }
while (0)
178 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 183, "IOCTLV_NET_SSL_NEW (%d, %s) " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, verifyOption, hostname, _BufferIn, BufferInSize, _BufferIn2
, BufferInSize2, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize
, BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3); } }
while (0)
179 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 183, "IOCTLV_NET_SSL_NEW (%d, %s) " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, verifyOption, hostname, _BufferIn, BufferInSize, _BufferIn2
, BufferInSize2, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize
, BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3); } }
while (0)
180 verifyOption, hostname,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 183, "IOCTLV_NET_SSL_NEW (%d, %s) " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, verifyOption, hostname, _BufferIn, BufferInSize, _BufferIn2
, BufferInSize2, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize
, BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3); } }
while (0)
181 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 183, "IOCTLV_NET_SSL_NEW (%d, %s) " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, verifyOption, hostname, _BufferIn, BufferInSize, _BufferIn2
, BufferInSize2, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize
, BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3); } }
while (0)
182 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 183, "IOCTLV_NET_SSL_NEW (%d, %s) " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, verifyOption, hostname, _BufferIn, BufferInSize, _BufferIn2
, BufferInSize2, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize
, BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3); } }
while (0)
183 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 183, "IOCTLV_NET_SSL_NEW (%d, %s) " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, verifyOption, hostname, _BufferIn, BufferInSize, _BufferIn2
, BufferInSize2, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize
, BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3); } }
while (0)
;
184 break;
185 }
186 case IOCTLV_NET_SSL_SHUTDOWN:
187 {
188 int sslID = Memory::Read_U32(BufferOut) - 1;
189 if (SSLID_VALID(sslID)(sslID >= 0 && sslID < 4 && CWII_IPC_HLE_Device_net_ssl
::_SSL[sslID].active)
)
190 {
191 ssl_close_notify(&_SSL[sslID].ctx);
192 ssl_session_free(&_SSL[sslID].session);
193 ssl_free(&_SSL[sslID].ctx);
194
195 x509_free(&_SSL[sslID].cacert);
196 x509_free(&_SSL[sslID].clicert);
197
198 memset(&_SSL[sslID].ctx, 0, sizeof(ssl_context));
199 memset(&_SSL[sslID].session, 0, sizeof(ssl_session));
200 memset(&_SSL[sslID].hs, 0, sizeof(havege_state));
201 memset(_SSL[sslID].hostname, 0, NET_SSL_MAX_HOSTNAME_LEN256);
202
203 _SSL[sslID].active = false;
204
205 Memory::Write_U32(SSL_OK, _BufferIn);
206 }
207 else
208 {
209 Memory::Write_U32(SSL_ERR_ID, _BufferIn);
210 }
211 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SHUTDOWN "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 217, "IOCTLV_NET_SSL_SHUTDOWN " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
212 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 217, "IOCTLV_NET_SSL_SHUTDOWN " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
213 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 217, "IOCTLV_NET_SSL_SHUTDOWN " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
214 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 217, "IOCTLV_NET_SSL_SHUTDOWN " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
215 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 217, "IOCTLV_NET_SSL_SHUTDOWN " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
216 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 217, "IOCTLV_NET_SSL_SHUTDOWN " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
217 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 217, "IOCTLV_NET_SSL_SHUTDOWN " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
;
218 break;
219 }
220 case IOCTLV_NET_SSL_SETROOTCA:
221 {
222 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETROOTCA "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 228, "IOCTLV_NET_SSL_SETROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
223 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 228, "IOCTLV_NET_SSL_SETROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
224 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 228, "IOCTLV_NET_SSL_SETROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
225 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 228, "IOCTLV_NET_SSL_SETROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
226 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 228, "IOCTLV_NET_SSL_SETROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
227 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 228, "IOCTLV_NET_SSL_SETROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
228 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 228, "IOCTLV_NET_SSL_SETROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
;
229
230
231 int sslID = Memory::Read_U32(BufferOut) - 1;
232 if (SSLID_VALID(sslID)(sslID >= 0 && sslID < 4 && CWII_IPC_HLE_Device_net_ssl
::_SSL[sslID].active)
)
233 {
234 int ret = x509parse_crt_der(
235 &_SSL[sslID].cacert,
236 Memory::GetPointer(BufferOut2),
237 BufferOutSize2);
238
239 if (ret)
240 {
241 Memory::Write_U32(SSL_ERR_FAILED, _BufferIn);
242 }
243 else
244 {
245 ssl_set_ca_chain(&_SSL[sslID].ctx, &_SSL[sslID].cacert, NULL__null, _SSL[sslID].hostname);
246 Memory::Write_U32(SSL_OK, _BufferIn);
247 }
248
249 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETROOTCA = %d", ret)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 249, "IOCTLV_NET_SSL_SETROOTCA = %d", ret); } } while (0)
;
250 }
251 else
252 {
253 Memory::Write_U32(SSL_ERR_ID, _BufferIn);
254 }
255 break;
256 }
257 case IOCTLV_NET_SSL_SETBUILTINCLIENTCERT:
258 {
259 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 265, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
260 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 265, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
261 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 265, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
262 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 265, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
263 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 265, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
264 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 265, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
265 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 265, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
;
266
267 int sslID = Memory::Read_U32(BufferOut) - 1;
268 if (SSLID_VALID(sslID)(sslID >= 0 && sslID < 4 && CWII_IPC_HLE_Device_net_ssl
::_SSL[sslID].active)
)
269 {
270 std::string cert_base_path(File::GetUserPath(D_WIIUSER_IDX));
271 int ret = x509parse_crtfile(&_SSL[sslID].clicert, (cert_base_path + "clientca.pem").c_str());
272 int rsa_ret = x509parse_keyfile(&_SSL[sslID].rsa, (cert_base_path + "clientcakey.pem").c_str(), NULL__null);
273 if (ret || rsa_ret)
274 {
275 x509_free(&_SSL[sslID].clicert);
276 rsa_free(&_SSL[sslID].rsa);
277 memset(&_SSL[sslID].clicert, 0, sizeof(x509_cert));
278 memset(&_SSL[sslID].rsa, 0, sizeof(rsa_context));
279 Memory::Write_U32(SSL_ERR_FAILED, _BufferIn);
280 }
281 else
282 {
283 ssl_set_own_cert(&_SSL[sslID].ctx, &_SSL[sslID].clicert, &_SSL[sslID].rsa);
284 Memory::Write_U32(SSL_OK, _BufferIn);
285 }
286
287 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT = (%d, %d)", ret, rsa_ret)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 287, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT = (%d, %d)", ret,
rsa_ret); } } while (0)
;
288 }
289 else
290 {
291 Memory::Write_U32(SSL_ERR_ID, _BufferIn);
292 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT invalid sslID = %d", sslID)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 292, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT invalid sslID = %d"
, sslID); } } while (0)
;
293 }
294 break;
295 }
296 case IOCTLV_NET_SSL_REMOVECLIENTCERT:
297 {
298 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_REMOVECLIENTCERT "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 304, "IOCTLV_NET_SSL_REMOVECLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
299 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 304, "IOCTLV_NET_SSL_REMOVECLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
300 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 304, "IOCTLV_NET_SSL_REMOVECLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
301 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 304, "IOCTLV_NET_SSL_REMOVECLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
302 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 304, "IOCTLV_NET_SSL_REMOVECLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
303 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 304, "IOCTLV_NET_SSL_REMOVECLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
304 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 304, "IOCTLV_NET_SSL_REMOVECLIENTCERT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
;
305
306 int sslID = Memory::Read_U32(BufferOut) - 1;
307 if (SSLID_VALID(sslID)(sslID >= 0 && sslID < 4 && CWII_IPC_HLE_Device_net_ssl
::_SSL[sslID].active)
)
308 {
309 x509_free(&_SSL[sslID].clicert);
310 rsa_free(&_SSL[sslID].rsa);
311 memset(&_SSL[sslID].clicert, 0, sizeof(x509_cert));
312 memset(&_SSL[sslID].rsa, 0, sizeof(rsa_context));
313
314 ssl_set_own_cert(&_SSL[sslID].ctx, NULL__null, NULL__null);
315 Memory::Write_U32(SSL_OK, _BufferIn);
316 }
317 else
318 {
319 Memory::Write_U32(SSL_ERR_ID, _BufferIn);
320 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT invalid sslID = %d", sslID)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 320, "IOCTLV_NET_SSL_SETBUILTINCLIENTCERT invalid sslID = %d"
, sslID); } } while (0)
;
321 }
322 break;
323 }
324 case IOCTLV_NET_SSL_SETBUILTINROOTCA:
325 {
326 int sslID = Memory::Read_U32(BufferOut) - 1;
327 if (SSLID_VALID(sslID)(sslID >= 0 && sslID < 4 && CWII_IPC_HLE_Device_net_ssl
::_SSL[sslID].active)
)
328 {
329 std::string cert_base_path(File::GetUserPath(D_WIIUSER_IDX));
330
331 int ret = x509parse_crtfile(&_SSL[sslID].cacert, (cert_base_path + "rootca.pem").c_str());
332 if (ret)
333 {
334 x509_free(&_SSL[sslID].clicert);
335 Memory::Write_U32(SSL_ERR_FAILED, _BufferIn);
336 }
337 else
338 {
339 ssl_set_ca_chain(&_SSL[sslID].ctx, &_SSL[sslID].cacert, NULL__null, _SSL[sslID].hostname);
340 Memory::Write_U32(SSL_OK, _BufferIn);
341 }
342 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETBUILTINROOTCA = %d", ret)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 342, "IOCTLV_NET_SSL_SETBUILTINROOTCA = %d", ret); } } while
(0)
;
343 }
344 else
345 {
346 Memory::Write_U32(SSL_ERR_ID, _BufferIn);
347 }
348 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETBUILTINROOTCA "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 354, "IOCTLV_NET_SSL_SETBUILTINROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
349 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 354, "IOCTLV_NET_SSL_SETBUILTINROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
350 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 354, "IOCTLV_NET_SSL_SETBUILTINROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
351 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 354, "IOCTLV_NET_SSL_SETBUILTINROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
352 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 354, "IOCTLV_NET_SSL_SETBUILTINROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
353 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 354, "IOCTLV_NET_SSL_SETBUILTINROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
354 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 354, "IOCTLV_NET_SSL_SETBUILTINROOTCA " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
;
355 break;
356 }
357 case IOCTLV_NET_SSL_CONNECT:
358 {
359 int sslID = Memory::Read_U32(BufferOut) - 1;
360 if (SSLID_VALID(sslID)(sslID >= 0 && sslID < 4 && CWII_IPC_HLE_Device_net_ssl
::_SSL[sslID].active)
)
361 {
362 _SSL[sslID].sockfd = Memory::Read_U32(BufferOut2);
363 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_CONNECT socket = %d", _SSL[sslID].sockfd)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 363, "IOCTLV_NET_SSL_CONNECT socket = %d", _SSL[sslID].sockfd
); } } while (0)
;
364 ssl_set_bio(&_SSL[sslID].ctx, net_recv, &_SSL[sslID].sockfd, net_send, &_SSL[sslID].sockfd);
365 Memory::Write_U32(SSL_OK, _BufferIn);
366 }
367 else
368 {
369 Memory::Write_U32(SSL_ERR_ID, _BufferIn);
370 }
371 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_CONNECT "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 377, "IOCTLV_NET_SSL_CONNECT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
372 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 377, "IOCTLV_NET_SSL_CONNECT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
373 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 377, "IOCTLV_NET_SSL_CONNECT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
374 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 377, "IOCTLV_NET_SSL_CONNECT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
375 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 377, "IOCTLV_NET_SSL_CONNECT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
376 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 377, "IOCTLV_NET_SSL_CONNECT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
377 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 377, "IOCTLV_NET_SSL_CONNECT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
;
378 break;
379 }
380 case IOCTLV_NET_SSL_DOHANDSHAKE:
381 {
382 int sslID = Memory::Read_U32(BufferOut) - 1;
383 if (SSLID_VALID(sslID)(sslID >= 0 && sslID < 4 && CWII_IPC_HLE_Device_net_ssl
::_SSL[sslID].active)
)
384 {
385 WiiSockMan &sm = WiiSockMan::getInstance();
386 sm.doSock(_SSL[sslID].sockfd, _CommandAddress, IOCTLV_NET_SSL_DOHANDSHAKE);
387 return false;
388 }
389 else
390 {
391 Memory::Write_U32(SSL_ERR_ID, _BufferIn);
392 }
393 break;
394 }
395 case IOCTLV_NET_SSL_WRITE:
396 {
397 int sslID = Memory::Read_U32(BufferOut) - 1;
398 if (SSLID_VALID(sslID)(sslID >= 0 && sslID < 4 && CWII_IPC_HLE_Device_net_ssl
::_SSL[sslID].active)
)
399 {
400 WiiSockMan &sm = WiiSockMan::getInstance();
401 sm.doSock(_SSL[sslID].sockfd, _CommandAddress, IOCTLV_NET_SSL_WRITE);
402 return false;
403 }
404 else
405 {
406 Memory::Write_U32(SSL_ERR_ID, _BufferIn);
407 }
408 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_WRITE "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 414, "IOCTLV_NET_SSL_WRITE " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
409 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 414, "IOCTLV_NET_SSL_WRITE " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
410 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 414, "IOCTLV_NET_SSL_WRITE " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
411 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 414, "IOCTLV_NET_SSL_WRITE " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
412 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 414, "IOCTLV_NET_SSL_WRITE " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
413 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 414, "IOCTLV_NET_SSL_WRITE " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
414 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 414, "IOCTLV_NET_SSL_WRITE " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
;
415 INFO_LOG(WII_IPC_SSL, "%s", Memory::GetPointer(BufferOut2))do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 415, "%s", Memory::GetPointer(BufferOut2)); } } while (0)
;
416 break;
417 }
418 case IOCTLV_NET_SSL_READ:
419 {
420
421 int ret = 0;
422 int sslID = Memory::Read_U32(BufferOut) - 1;
423 if (SSLID_VALID(sslID)(sslID >= 0 && sslID < 4 && CWII_IPC_HLE_Device_net_ssl
::_SSL[sslID].active)
)
424 {
425 WiiSockMan &sm = WiiSockMan::getInstance();
426 sm.doSock(_SSL[sslID].sockfd, _CommandAddress, IOCTLV_NET_SSL_READ);
427 return false;
428 }
429 else
430 {
431 Memory::Write_U32(SSL_ERR_ID, _BufferIn);
432 }
433
434 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_READ(%d)"do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 441, "IOCTLV_NET_SSL_READ(%d)" "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, ret, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
435 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 441, "IOCTLV_NET_SSL_READ(%d)" "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, ret, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
436 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 441, "IOCTLV_NET_SSL_READ(%d)" "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, ret, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
437 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 441, "IOCTLV_NET_SSL_READ(%d)" "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, ret, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
438 ret,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 441, "IOCTLV_NET_SSL_READ(%d)" "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, ret, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
439 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 441, "IOCTLV_NET_SSL_READ(%d)" "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, ret, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
440 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 441, "IOCTLV_NET_SSL_READ(%d)" "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, ret, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
441 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 441, "IOCTLV_NET_SSL_READ(%d)" "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, ret, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
;
442 break;
443 }
444 case IOCTLV_NET_SSL_SETROOTCADEFAULT:
445 {
446 int sslID = Memory::Read_U32(BufferOut) - 1;
447 if (SSLID_VALID(sslID)(sslID >= 0 && sslID < 4 && CWII_IPC_HLE_Device_net_ssl
::_SSL[sslID].active)
)
448 {
449 Memory::Write_U32(SSL_OK, _BufferIn);
450 }
451 else
452 {
453 Memory::Write_U32(SSL_ERR_ID, _BufferIn);
454 }
455 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETROOTCADEFAULT "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 461, "IOCTLV_NET_SSL_SETROOTCADEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
456 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 461, "IOCTLV_NET_SSL_SETROOTCADEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
457 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 461, "IOCTLV_NET_SSL_SETROOTCADEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
458 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 461, "IOCTLV_NET_SSL_SETROOTCADEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
459 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 461, "IOCTLV_NET_SSL_SETROOTCADEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
460 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 461, "IOCTLV_NET_SSL_SETROOTCADEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
461 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 461, "IOCTLV_NET_SSL_SETROOTCADEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
;
462 break;
463 }
464 case IOCTLV_NET_SSL_SETCLIENTCERTDEFAULT:
465 {
466 INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETCLIENTCERTDEFAULT "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 472, "IOCTLV_NET_SSL_SETCLIENTCERTDEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
467 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 472, "IOCTLV_NET_SSL_SETCLIENTCERTDEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
468 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 472, "IOCTLV_NET_SSL_SETCLIENTCERTDEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
469 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 472, "IOCTLV_NET_SSL_SETCLIENTCERTDEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
470 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 472, "IOCTLV_NET_SSL_SETCLIENTCERTDEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
471 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 472, "IOCTLV_NET_SSL_SETCLIENTCERTDEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
472 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LINFO <= 3) GenericLog(LogTypes::LINFO
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 472, "IOCTLV_NET_SSL_SETCLIENTCERTDEFAULT " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "
"BufferIn3: (%08x, %i), BufferOut: (%08x, %i), " "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)"
, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2, _BufferIn3
, BufferInSize3, BufferOut, BufferOutSize, BufferOut2, BufferOutSize2
, BufferOut3, BufferOutSize3); } } while (0)
;
473
474 int sslID = Memory::Read_U32(BufferOut) - 1;
475 if (SSLID_VALID(sslID)(sslID >= 0 && sslID < 4 && CWII_IPC_HLE_Device_net_ssl
::_SSL[sslID].active)
)
476 {
477 Memory::Write_U32(SSL_OK, _BufferIn);
478 }
479 else
480 {
481 Memory::Write_U32(SSL_ERR_ID, _BufferIn);
482 }
483 break;
484 }
485 default:
486 ERROR_LOG(WII_IPC_SSL, "%i "do { { if (LogTypes::LERROR <= 3) GenericLog(LogTypes::LERROR
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 493, "%i " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), " "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "
"BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)", CommandBuffer
.Parameter, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2
, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize, BufferOut2
, BufferOutSize2, BufferOut3, BufferOutSize3); } } while (0)
487 "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), "do { { if (LogTypes::LERROR <= 3) GenericLog(LogTypes::LERROR
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 493, "%i " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), " "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "
"BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)", CommandBuffer
.Parameter, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2
, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize, BufferOut2
, BufferOutSize2, BufferOut3, BufferOutSize3); } } while (0)
488 "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "do { { if (LogTypes::LERROR <= 3) GenericLog(LogTypes::LERROR
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 493, "%i " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), " "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "
"BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)", CommandBuffer
.Parameter, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2
, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize, BufferOut2
, BufferOutSize2, BufferOut3, BufferOutSize3); } } while (0)
489 "BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)",do { { if (LogTypes::LERROR <= 3) GenericLog(LogTypes::LERROR
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 493, "%i " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), " "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "
"BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)", CommandBuffer
.Parameter, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2
, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize, BufferOut2
, BufferOutSize2, BufferOut3, BufferOutSize3); } } while (0)
490 CommandBuffer.Parameter,do { { if (LogTypes::LERROR <= 3) GenericLog(LogTypes::LERROR
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 493, "%i " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), " "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "
"BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)", CommandBuffer
.Parameter, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2
, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize, BufferOut2
, BufferOutSize2, BufferOut3, BufferOutSize3); } } while (0)
491 _BufferIn, BufferInSize, _BufferIn2, BufferInSize2,do { { if (LogTypes::LERROR <= 3) GenericLog(LogTypes::LERROR
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 493, "%i " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), " "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "
"BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)", CommandBuffer
.Parameter, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2
, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize, BufferOut2
, BufferOutSize2, BufferOut3, BufferOutSize3); } } while (0)
492 _BufferIn3, BufferInSize3, BufferOut, BufferOutSize,do { { if (LogTypes::LERROR <= 3) GenericLog(LogTypes::LERROR
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 493, "%i " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), " "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "
"BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)", CommandBuffer
.Parameter, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2
, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize, BufferOut2
, BufferOutSize2, BufferOut3, BufferOutSize3); } } while (0)
493 BufferOut2, BufferOutSize2, BufferOut3, BufferOutSize3)do { { if (LogTypes::LERROR <= 3) GenericLog(LogTypes::LERROR
, LogTypes::WII_IPC_SSL, "/home/anal/dolphin-emu/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp"
, 493, "%i " "BufferIn: (%08x, %i), BufferIn2: (%08x, %i), " "BufferIn3: (%08x, %i), BufferOut: (%08x, %i), "
"BufferOut2: (%08x, %i), BufferOut3: (%08x, %i)", CommandBuffer
.Parameter, _BufferIn, BufferInSize, _BufferIn2, BufferInSize2
, _BufferIn3, BufferInSize3, BufferOut, BufferOutSize, BufferOut2
, BufferOutSize2, BufferOut3, BufferOutSize3); } } while (0)
;
494 break;
495 }
496
497 // SSL return codes are written to BufferIn
498 Memory::Write_U32(0, _CommandAddress+4);
499
500 return true;
501}
502