1 /*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 #include "sec_comp_enhance_adapter.h"
16
17 #include "sec_comp_err.h"
18 #include "sec_comp_log.h"
19
20 namespace OHOS {
21 namespace Security {
22 namespace SecurityComponent {
23 namespace {
24 static constexpr OHOS::HiviewDFX::HiLogLabel LABEL = {
25 LOG_CORE, SECURITY_DOMAIN_SECURITY_COMPONENT, "MockSecCompEnhanceAdapter"};
26 }
27
SetEnhanceCfg(uint8_t * cfg,uint32_t cfgLen)28 int32_t SecCompEnhanceAdapter::SetEnhanceCfg(uint8_t* cfg, uint32_t cfgLen)
29 {
30 SC_LOG_DEBUG(LABEL, "SetEnhanceCfg success");
31 return SC_OK;
32 }
33
GetPointerEventEnhanceData(void * data,uint32_t dataLen,uint8_t * enhanceData,uint32_t & enHancedataLen)34 int32_t SecCompEnhanceAdapter::GetPointerEventEnhanceData(void* data, uint32_t dataLen,
35 uint8_t* enhanceData, uint32_t& enHancedataLen)
36 {
37 SC_LOG_DEBUG(LABEL, "GetPointerEventEnhanceData success");
38 return SC_OK;
39 }
40
CheckExtraInfo(const SecCompClickEvent & clickInfo)41 int32_t SecCompEnhanceAdapter::CheckExtraInfo(const SecCompClickEvent& clickInfo)
42 {
43 SC_LOG_DEBUG(LABEL, "CheckExtraInfo success");
44 return SC_OK;
45 }
46
EnableInputEnhance()47 int32_t SecCompEnhanceAdapter::EnableInputEnhance()
48 {
49 SC_LOG_DEBUG(LABEL, "EnableInputEnhance success");
50 return SC_OK;
51 }
52
DisableInputEnhance()53 int32_t SecCompEnhanceAdapter::DisableInputEnhance()
54 {
55 SC_LOG_DEBUG(LABEL, "DisableInputEnhance success");
56 return SC_OK;
57 }
58
EnhanceDataPreprocess(std::string & componentInfo)59 bool SecCompEnhanceAdapter::EnhanceDataPreprocess(std::string& componentInfo)
60 {
61 SC_LOG_DEBUG(LABEL, "EnhanceDataPreprocess success");
62 return true;
63 }
64
EnhanceDataPreprocess(int32_t scId,std::string & componentInfo)65 bool SecCompEnhanceAdapter::EnhanceDataPreprocess(int32_t scId, std::string& componentInfo)
66 {
67 SC_LOG_DEBUG(LABEL, "EnhanceDataPreprocess success");
68 return true;
69 }
70
71 #ifndef FUZZ_ENABLE
CopyMessageParcel(MessageParcel & oldData,MessageParcel & newData)72 static bool CopyMessageParcel(MessageParcel& oldData, MessageParcel& newData)
73 {
74 size_t bufferLength = oldData.GetDataSize();
75 if (bufferLength == 0) {
76 SC_LOG_INFO(LABEL, "TmpData is empty.");
77 return true;
78 }
79
80 char* buffer = reinterpret_cast<char *>(oldData.GetData());
81 if (buffer == nullptr) {
82 SC_LOG_ERROR(LABEL, "Get tmpData data failed.");
83 return false;
84 }
85
86 if (!newData.WriteBuffer(reinterpret_cast<void *>(buffer), bufferLength)) {
87 SC_LOG_ERROR(LABEL, "Write rawData failed.");
88 return false;
89 }
90 return true;
91 }
92
EnhanceClientSerialize(MessageParcel & input,MessageParcel & output)93 bool SecCompEnhanceAdapter::EnhanceClientSerialize(MessageParcel& input, MessageParcel& output)
94 {
95 SC_LOG_DEBUG(LABEL, "EnhanceClientSerialize successful.");
96 return CopyMessageParcel(input, output);
97 }
98
EnhanceClientDeserialize(MessageParcel & input,MessageParcel & output)99 bool SecCompEnhanceAdapter::EnhanceClientDeserialize(MessageParcel& input, MessageParcel& output)
100 {
101 SC_LOG_DEBUG(LABEL, "EnhanceClientDeserialize successful.");
102 return CopyMessageParcel(input, output);
103 }
104
EnhanceSrvSerialize(MessageParcel & input,MessageParcel & output)105 bool SecCompEnhanceAdapter::EnhanceSrvSerialize(MessageParcel& input, MessageParcel& output)
106 {
107 SC_LOG_DEBUG(LABEL, "EnhanceSrvSerialize successful.");
108 return CopyMessageParcel(input, output);
109 }
110
EnhanceSrvDeserialize(MessageParcel & input,MessageParcel & output,MessageParcel & reply)111 bool SecCompEnhanceAdapter::EnhanceSrvDeserialize(MessageParcel& input, MessageParcel& output,
112 MessageParcel& reply)
113 {
114 SC_LOG_DEBUG(LABEL, "EnhanceSrvDeserialize successful.");
115 return CopyMessageParcel(input, output);
116 }
117 #else
WriteMessageParcel(MessageParcel & input,MessageParcel & output)118 bool WriteMessageParcel(MessageParcel& input, MessageParcel& output)
119 {
120 size_t bufLen = input.GetDataSize();
121 if (!output.WriteInt32(bufLen)) {
122 SC_LOG_ERROR(LABEL, "Write buf len fail.");
123 return false;
124 }
125
126 if (bufLen == 0) {
127 SC_LOG_INFO(LABEL, "Input data empty.");
128 return true;
129 }
130
131 char* buf = reinterpret_cast<char*>(input.GetData());
132 if (buf == nullptr) {
133 SC_LOG_ERROR(LABEL, "Get buf err.");
134 return false;
135 }
136
137 if (!output.WriteRawData(reinterpret_cast<void*>(buf), bufLen)) {
138 SC_LOG_ERROR(LABEL, "Write buf fail.");
139 return false;
140 }
141 return true;
142 }
143
ReadMessageParcel(MessageParcel & input,MessageParcel & output)144 bool ReadMessageParcel(MessageParcel& input, MessageParcel& output)
145 {
146 int32_t size;
147 if (!input.ReadInt32(size)) {
148 SC_LOG_ERROR(LABEL, "Read buf len fail.");
149 return false;
150 }
151 if (size == 0) {
152 SC_LOG_INFO(LABEL, "Read buf len empty.");
153 return true;
154 }
155
156 const void* it = input.ReadRawData(size);
157 if (it == nullptr) {
158 SC_LOG_ERROR(LABEL, "Read buf fail.");
159 return false;
160 }
161 char* ptr = reinterpret_cast<char*>(const_cast<void*>(it));
162 if (!output.WriteBuffer(reinterpret_cast<void*>(ptr), size)) {
163 SC_LOG_ERROR(LABEL, "Write output buf fail.");
164 return false;
165 }
166 return true;
167 }
168
EnhanceClientSerialize(MessageParcel & input,MessageParcel & output)169 bool SecCompEnhanceAdapter::EnhanceClientSerialize(MessageParcel& input, MessageParcel& output)
170 {
171 SC_LOG_DEBUG(LABEL, "EnhanceClientSerialize successful.");
172 return WriteMessageParcel(input, output);
173 }
174
EnhanceClientDeserialize(MessageParcel & input,MessageParcel & output)175 bool SecCompEnhanceAdapter::EnhanceClientDeserialize(MessageParcel& input, MessageParcel& output)
176 {
177 SC_LOG_DEBUG(LABEL, "EnhanceClientDeserialize successful.");
178 return ReadMessageParcel(input, output);
179 }
180
EnhanceSrvSerialize(MessageParcel & input,MessageParcel & output)181 bool SecCompEnhanceAdapter::EnhanceSrvSerialize(MessageParcel& input, MessageParcel& output)
182 {
183 SC_LOG_DEBUG(LABEL, "EnhanceSrvSerialize successful.");
184 return WriteMessageParcel(input, output);
185 }
186
EnhanceSrvDeserialize(MessageParcel & input,MessageParcel & output,MessageParcel & reply)187 bool SecCompEnhanceAdapter::EnhanceSrvDeserialize(MessageParcel& input, MessageParcel& output,
188 MessageParcel& reply)
189 {
190 SC_LOG_DEBUG(LABEL, "EnhanceSrvDeserialize successful.");
191 return ReadMessageParcel(input, output);
192 }
193 #endif // FUZZ_ENABLE
194
RegisterScIdEnhance(int32_t scId)195 void SecCompEnhanceAdapter::RegisterScIdEnhance(int32_t scId)
196 {
197 SC_LOG_DEBUG(LABEL, "RegisterScIdEnhance success");
198 }
199
UnregisterScIdEnhance(int32_t scId)200 void SecCompEnhanceAdapter::UnregisterScIdEnhance(int32_t scId)
201 {
202 SC_LOG_DEBUG(LABEL, "UnregisterScIdEnhance success");
203 }
204
StartEnhanceService()205 void SecCompEnhanceAdapter::StartEnhanceService()
206 {
207 SC_LOG_DEBUG(LABEL, "StartEnhanceService success");
208 }
209
ExitEnhanceService()210 void SecCompEnhanceAdapter::ExitEnhanceService()
211 {
212 SC_LOG_DEBUG(LABEL, "ExitEnhanceService success");
213 }
214
NotifyProcessDied(int32_t pid)215 void SecCompEnhanceAdapter::NotifyProcessDied(int32_t pid)
216 {
217 SC_LOG_DEBUG(LABEL, "NotifyProcessDied success");
218 }
219
CheckComponentInfoEnhance(int32_t pid,std::shared_ptr<SecCompBase> & compInfo,const nlohmann::json & jsonComponent)220 int32_t SecCompEnhanceAdapter::CheckComponentInfoEnhance(int32_t pid,
221 std::shared_ptr<SecCompBase>& compInfo, const nlohmann::json& jsonComponent)
222 {
223 SC_LOG_DEBUG(LABEL, "CheckComponentInfoEnhance success");
224 return SC_OK;
225 }
226
GetEnhanceRemoteObject()227 sptr<IRemoteObject> SecCompEnhanceAdapter::GetEnhanceRemoteObject()
228 {
229 SC_LOG_DEBUG(LABEL, "GetEnhanceRemoteObject success");
230 return nullptr;
231 }
232
AddSecurityComponentProcess(int32_t pid)233 void SecCompEnhanceAdapter::AddSecurityComponentProcess(int32_t pid)
234 {
235 SC_LOG_DEBUG(LABEL, "AddSecurityComponentProcess success");
236 }
237 } // namespace SecurityComponent
238 } // namespace Security
239 } // namespace OHOS
240