Lines Matching refs:request
165 auto request = reinterpret_cast<FaultLoggerdRequest *>(buf); in HandleRequest() local
166 if (!CheckRequestCredential(connectionFd, request)) { in HandleRequest()
170 DFXLOG_DEBUG("%s :: clientType(%d).\n", FAULTLOGGERD_TAG.c_str(), request->clientType); in HandleRequest()
171 switch (request->clientType) { in HandleRequest()
173 HandleDefaultClientRequest(connectionFd, request); in HandleRequest()
176 HandleLogFileDesClientRequest(connectionFd, request); in HandleRequest()
179 HandlePrintTHilogClientRequest(connectionFd, request); in HandleRequest()
182 HandlePermissionRequest(connectionFd, request); in HandleRequest()
185 HandleSdkDumpRequest(connectionFd, request); in HandleRequest()
188 HandlePipeFdClientRequest(connectionFd, request); in HandleRequest()
191 … DFXLOG_ERROR("%s :: unknown clientType(%d).\n", FAULTLOGGERD_TAG.c_str(), request->clientType); in HandleRequest()
221 …LoggerDaemon::HandleDefaultClientRequest(int32_t connectionFd, const FaultLoggerdRequest * request) in HandleDefaultClientRequest() argument
225 int fd = CreateFileForRequest(request->type, request->pid, request->time, false); in HandleDefaultClientRequest()
235 …gerDaemon::HandleLogFileDesClientRequest(int32_t connectionFd, const FaultLoggerdRequest * request) in HandleLogFileDesClientRequest() argument
237 int fd = CreateFileForRequest(request->type, request->pid, request->time, true); in HandleLogFileDesClientRequest()
247 …d FaultLoggerDaemon::HandlePipeFdClientRequest(int32_t connectionFd, FaultLoggerdRequest * request) in HandlePipeFdClientRequest() argument
249 …DFXLOG_DEBUG("%s :: pid(%d), pipeType(%d).\n", FAULTLOGGERD_TAG.c_str(), request->pid, request->pi… in HandlePipeFdClientRequest()
252 FaultLoggerPipe2* faultLoggerPipe = faultLoggerPipeMap_->Get(request->pid); in HandlePipeFdClientRequest()
254 … DFXLOG_ERROR("%s :: cannot find pipe fd for pid(%d).\n", FAULTLOGGERD_TAG.c_str(), request->pid); in HandlePipeFdClientRequest()
258 switch (request->pipeType) { in HandlePipeFdClientRequest()
260 FaultLoggerCheckPermissionResp resSecurityCheck = SecurityCheck(connectionFd, request); in HandlePipeFdClientRequest()
272 FaultLoggerCheckPermissionResp resSecurityCheck = SecurityCheck(connectionFd, request); in HandlePipeFdClientRequest()
284 faultLoggerPipeMap_->Del(request->pid); in HandlePipeFdClientRequest()
288 … DFXLOG_ERROR("%s :: unknown pipeType(%d).\n", FAULTLOGGERD_TAG.c_str(), request->pipeType); in HandlePipeFdClientRequest()
299 …erDaemon::HandlePrintTHilogClientRequest(int32_t const connectionFd, FaultLoggerdRequest * request) in HandlePrintTHilogClientRequest() argument
317 …ermissionResp FaultLoggerDaemon::SecurityCheck(int32_t connectionFd, FaultLoggerdRequest * request) in SecurityCheck() argument
339 request->uid = rcred.uid; in SecurityCheck()
340 request->callerPid = static_cast<int32_t>(rcred.pid); in SecurityCheck()
341 bool res = CheckCallerUID(request->uid); in SecurityCheck()
350 void FaultLoggerDaemon::HandlePermissionRequest(int32_t connectionFd, FaultLoggerdRequest * request) in HandlePermissionRequest() argument
352 FaultLoggerCheckPermissionResp resSecurityCheck = SecurityCheck(connectionFd, request); in HandlePermissionRequest()
361 void FaultLoggerDaemon::HandleSdkDumpRequest(int32_t connectionFd, FaultLoggerdRequest * request) in HandleSdkDumpRequest() argument
363 DFXLOG_INFO("Receive dump request for pid:%d tid:%d.", request->pid, request->tid); in HandleSdkDumpRequest()
365 FaultLoggerCheckPermissionResp resSecurityCheck = SecurityCheck(connectionFd, request); in HandleSdkDumpRequest()
394 …if ((request->pid <= 0) || (FaultLoggerCheckPermissionResp::CHECK_PERMISSION_REJECT == resSecurity… in HandleSdkDumpRequest()
396 FAULTLOGGERD_TAG.c_str(), request->pid, (int)resSecurityCheck); in HandleSdkDumpRequest()
401 if (faultLoggerPipeMap_->Check(request->pid, request->time)) { in HandleSdkDumpRequest()
403 … DFXLOG_ERROR("%s :: pid(%d) is dumping, break.\n", FAULTLOGGERD_TAG.c_str(), request->pid); in HandleSdkDumpRequest()
406 faultLoggerPipeMap_->Set(request->pid, request->time); in HandleSdkDumpRequest()
414 .si_code = request->sigCode, in HandleSdkDumpRequest()
415 .si_value.sival_int = request->tid, in HandleSdkDumpRequest()
416 .si_pid = request->callerPid, in HandleSdkDumpRequest()
417 .si_uid = static_cast<uid_t>(request->callerTid) in HandleSdkDumpRequest()
421 if (request->tid == 0) { in HandleSdkDumpRequest()
422 if (syscall(SYS_rt_sigqueueinfo, request->pid, si.si_signo, &si) != 0) { in HandleSdkDumpRequest()
429 if (syscall(SYS_rt_tgsigqueueinfo, request->pid, request->tid, si.si_signo, &si) != 0) { in HandleSdkDumpRequest()
562 bool FaultLoggerDaemon::CheckRequestCredential(int32_t connectionFd, FaultLoggerdRequest* request) in CheckRequestCredential() argument
564 if (request == nullptr) { in CheckRequestCredential()
590 bool isCredentialMatched = (creds.pid == request->pid); in CheckRequestCredential()
593 request->pid, request->uid, creds.pid, creds.uid); in CheckRequestCredential()