init: clean up host_init_stubs a bit
In retrospect, these always should have been header only. We don't need setgroups() anymore either, since we have the right symbols now. Test: build Change-Id: If6fbf6f8ee288ed261576207d90a7ec5674853f9
This commit is contained in:
parent
172c83f972
commit
f1a044bac4
4 changed files with 24 additions and 70 deletions
|
@ -257,7 +257,6 @@ cc_binary {
|
|||
"import_parser.cpp",
|
||||
"host_import_parser.cpp",
|
||||
"host_init_verifier.cpp",
|
||||
"host_init_stubs.cpp",
|
||||
"parser.cpp",
|
||||
"rlimit_parser.cpp",
|
||||
"tokenizer.cpp",
|
||||
|
|
|
@ -63,7 +63,6 @@
|
|||
|
||||
#include "action_manager.h"
|
||||
#include "bootchart.h"
|
||||
#include "host_init_stubs.h"
|
||||
#include "init.h"
|
||||
#include "mount_namespace.h"
|
||||
#include "parser.h"
|
||||
|
|
|
@ -1,54 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2018 The Android Open Source Project
|
||||
*
|
||||
* 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
|
||||
*
|
||||
* http://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.
|
||||
*/
|
||||
|
||||
#include "host_init_stubs.h"
|
||||
|
||||
#include <android-base/properties.h>
|
||||
|
||||
// unistd.h
|
||||
int setgroups(size_t __size, const gid_t* __list) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
namespace android {
|
||||
namespace init {
|
||||
|
||||
// property_service.h
|
||||
bool CanReadProperty(const std::string& source_context, const std::string& name) {
|
||||
return true;
|
||||
}
|
||||
uint32_t SetProperty(const std::string& key, const std::string& value) {
|
||||
android::base::SetProperty(key, value);
|
||||
return 0;
|
||||
}
|
||||
uint32_t (*property_set)(const std::string& name, const std::string& value) = SetProperty;
|
||||
uint32_t HandlePropertySet(const std::string&, const std::string&, const std::string&, const ucred&,
|
||||
std::string*) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// selinux.h
|
||||
int SelinuxGetVendorAndroidVersion() {
|
||||
return 10000;
|
||||
}
|
||||
void SelabelInitialize() {}
|
||||
|
||||
bool SelabelLookupFileContext(const std::string& key, int type, std::string* result) {
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace init
|
||||
} // namespace android
|
|
@ -14,8 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _INIT_HOST_INIT_STUBS_H
|
||||
#define _INIT_HOST_INIT_STUBS_H
|
||||
#pragma once
|
||||
|
||||
#include <stddef.h>
|
||||
#include <sys/socket.h>
|
||||
|
@ -23,23 +22,30 @@
|
|||
|
||||
#include <string>
|
||||
|
||||
#include <android-base/properties.h>
|
||||
|
||||
// android/api-level.h
|
||||
#define __ANDROID_API_P__ 28
|
||||
|
||||
// sys/system_properties.h
|
||||
#define PROP_VALUE_MAX 92
|
||||
|
||||
// unistd.h
|
||||
int setgroups(size_t __size, const gid_t* __list);
|
||||
|
||||
namespace android {
|
||||
namespace init {
|
||||
|
||||
// property_service.h
|
||||
bool CanReadProperty(const std::string& source_context, const std::string& name);
|
||||
extern uint32_t (*property_set)(const std::string& name, const std::string& value);
|
||||
uint32_t HandlePropertySet(const std::string& name, const std::string& value,
|
||||
const std::string& source_context, const ucred& cr, std::string* error);
|
||||
inline bool CanReadProperty(const std::string&, const std::string&) {
|
||||
return true;
|
||||
}
|
||||
inline uint32_t SetProperty(const std::string& key, const std::string& value) {
|
||||
android::base::SetProperty(key, value);
|
||||
return 0;
|
||||
}
|
||||
inline uint32_t (*property_set)(const std::string& name, const std::string& value) = SetProperty;
|
||||
inline uint32_t HandlePropertySet(const std::string&, const std::string&, const std::string&,
|
||||
const ucred&, std::string*) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// reboot_utils.h
|
||||
inline void SetFatalRebootTarget() {}
|
||||
|
@ -47,12 +53,16 @@ inline void __attribute__((noreturn)) InitFatalReboot() {
|
|||
abort();
|
||||
}
|
||||
|
||||
// selabel.h
|
||||
inline void SelabelInitialize() {}
|
||||
inline bool SelabelLookupFileContext(const std::string&, int, std::string*) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// selinux.h
|
||||
int SelinuxGetVendorAndroidVersion();
|
||||
void SelabelInitialize();
|
||||
bool SelabelLookupFileContext(const std::string& key, int type, std::string* result);
|
||||
inline int SelinuxGetVendorAndroidVersion() {
|
||||
return 10000;
|
||||
}
|
||||
|
||||
} // namespace init
|
||||
} // namespace android
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue