mirror of
https://github.com/google/santa.git
synced 2026-01-14 16:58:02 -05:00
* ProcessTree: add core process tree logic * make Step implicitly called by Handle* methods * lint * naming convention * widen pidversion to be generic * move os specific backfill to os specific impl * simplify ts checking * retain/release a whole vec of pids * document processtoken * lint * namespace * add process tree to project-wide unit test target * case change annotations * case change annotations * remove stray comment * default initialize seen_timestamps * fix missing initialization of refcnt and tombstoned * reshuffle pb namespace * pr review * move annotation registration to tree construction * use factory function for tree construction
43 lines
1.3 KiB
Plaintext
43 lines
1.3 KiB
Plaintext
/// Copyright 2023 Google LLC
|
|
///
|
|
/// Licensed under the Apache License, Version 2.0 (the "License");
|
|
/// you may not use this file except in compliance with the License.
|
|
/// You may obtain a copy of the License at
|
|
///
|
|
/// https://www.apache.org/licenses/LICENSE-2.0
|
|
///
|
|
/// Unless required by applicable law or agreed to in writing, software
|
|
/// distributed under the License is distributed on an "AS IS" BASIS,
|
|
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
/// See the License for the specific language governing permissions and
|
|
/// limitations under the License.
|
|
#import <Foundation/Foundation.h>
|
|
|
|
#include <memory>
|
|
#include <string_view>
|
|
|
|
#include "Source/santad/ProcessTree/process.h"
|
|
#include "Source/santad/ProcessTree/process_tree.h"
|
|
|
|
namespace santa::santad::process_tree {
|
|
|
|
class ProcessTreeTestPeer : public ProcessTree {
|
|
public:
|
|
std::shared_ptr<const Process> InsertInit();
|
|
};
|
|
|
|
std::shared_ptr<const Process> ProcessTreeTestPeer::InsertInit() {
|
|
absl::MutexLock lock(&mtx_);
|
|
struct Pid initpid = {
|
|
.pid = 1,
|
|
.pidversion = 1,
|
|
};
|
|
auto proc = std::make_shared<Process>(
|
|
initpid, (Cred){.uid = 0, .gid = 0},
|
|
std::make_shared<Program>((Program){.executable = "/init", .arguments = {"/init"}}), nullptr);
|
|
map_.emplace(initpid, proc);
|
|
return proc;
|
|
}
|
|
|
|
} // namespace santa::santad::process_tree
|