• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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