diff options
-rw-r--r-- | libs/binder/Binder.cpp | 1 | ||||
-rw-r--r-- | libs/binder/RpcServer.cpp | 12 | ||||
-rw-r--r-- | libs/binder/include/binder/RpcServer.h | 7 | ||||
-rw-r--r-- | libs/binder/include/binder/RpcSession.h | 4 | ||||
-rw-r--r-- | libs/binder/libbinder_rpc_unstable.cpp | 1 | ||||
-rw-r--r-- | libs/binder/servicedispatcher.cpp | 2 | ||||
-rw-r--r-- | libs/binder/tests/binderLibTest.cpp | 1 | ||||
-rw-r--r-- | libs/binder/tests/binderRpcBenchmark.cpp | 1 | ||||
-rw-r--r-- | libs/binder/tests/binderRpcTest.cpp | 6 | ||||
-rw-r--r-- | libs/binder/tests/rpc_fuzzer/main.cpp | 1 | ||||
-rw-r--r-- | libs/binder/tests/unit_fuzzers/BpBinderFuzz.cpp | 1 |
11 files changed, 0 insertions, 37 deletions
diff --git a/libs/binder/Binder.cpp b/libs/binder/Binder.cpp index d3eef4e88e..ec9d5544f9 100644 --- a/libs/binder/Binder.cpp +++ b/libs/binder/Binder.cpp @@ -547,7 +547,6 @@ status_t BBinder::setRpcClientDebug(android::base::unique_fd socketFd, AutoMutex _l(e->mLock); auto rpcServer = RpcServer::make(); LOG_ALWAYS_FATAL_IF(rpcServer == nullptr, "RpcServer::make returns null"); - rpcServer->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); auto link = sp<RpcServerLink>::make(rpcServer, keepAliveBinder, weakThis); if (auto status = keepAliveBinder->linkToDeath(link, nullptr, 0); status != OK) { ALOGE("%s: keepAliveBinder->linkToDeath returns %s", __PRETTY_FUNCTION__, diff --git a/libs/binder/RpcServer.cpp b/libs/binder/RpcServer.cpp index 4edc2029dc..93ed50e986 100644 --- a/libs/binder/RpcServer.cpp +++ b/libs/binder/RpcServer.cpp @@ -58,10 +58,6 @@ sp<RpcServer> RpcServer::make(std::unique_ptr<RpcTransportCtxFactory> rpcTranspo return sp<RpcServer>::make(std::move(ctx)); } -void RpcServer::iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction() { - mAgreedExperimental = true; -} - status_t RpcServer::setupUnixDomainServer(const char* path) { return setupSocketServer(UnixSocketAddress(path)); } @@ -163,14 +159,12 @@ static void joinRpcServer(sp<RpcServer>&& thiz) { } void RpcServer::start() { - LOG_ALWAYS_FATAL_IF(!mAgreedExperimental, "no!"); std::lock_guard<std::mutex> _l(mLock); LOG_ALWAYS_FATAL_IF(mJoinThread.get(), "Already started!"); mJoinThread = std::make_unique<std::thread>(&joinRpcServer, sp<RpcServer>::fromExisting(this)); } void RpcServer::join() { - LOG_ALWAYS_FATAL_IF(!mAgreedExperimental, "no!"); { std::lock_guard<std::mutex> _l(mLock); @@ -274,9 +268,6 @@ size_t RpcServer::numUninitializedSessions() { void RpcServer::establishConnection(sp<RpcServer>&& server, base::unique_fd clientFd, const sockaddr_storage addr, socklen_t addrLen) { - // TODO(b/183988761): cannot trust this simple ID - LOG_ALWAYS_FATAL_IF(!server->mAgreedExperimental, "no!"); - // mShutdownTrigger can only be cleared once connection threads have joined. // It must be set before this thread is started LOG_ALWAYS_FATAL_IF(server->mShutdownTrigger == nullptr); @@ -506,19 +497,16 @@ void RpcServer::onSessionIncomingThreadEnded() { } bool RpcServer::hasServer() { - LOG_ALWAYS_FATAL_IF(!mAgreedExperimental, "no!"); std::lock_guard<std::mutex> _l(mLock); return mServer.ok(); } unique_fd RpcServer::releaseServer() { - LOG_ALWAYS_FATAL_IF(!mAgreedExperimental, "no!"); std::lock_guard<std::mutex> _l(mLock); return std::move(mServer); } status_t RpcServer::setupExternalServer(base::unique_fd serverFd) { - LOG_ALWAYS_FATAL_IF(!mAgreedExperimental, "no!"); std::lock_guard<std::mutex> _l(mLock); if (mServer.ok()) { ALOGE("Each RpcServer can only have one server."); diff --git a/libs/binder/include/binder/RpcServer.h b/libs/binder/include/binder/RpcServer.h index 04c6b592a8..a4267137f4 100644 --- a/libs/binder/include/binder/RpcServer.h +++ b/libs/binder/include/binder/RpcServer.h @@ -25,10 +25,6 @@ #include <mutex> #include <thread> -// WARNING: This is a feature which is still in development, and it is subject -// to radical change. Any production use of this may subject your code to any -// number of problems. - namespace android { class FdTrigger; @@ -99,8 +95,6 @@ public: */ [[nodiscard]] status_t setupExternalServer(base::unique_fd serverFd); - void iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); - /** * This must be called before adding a client session. * @@ -188,7 +182,6 @@ private: status_t setupSocketServer(const RpcSocketAddress& address); const std::unique_ptr<RpcTransportCtx> mCtx; - bool mAgreedExperimental = false; size_t mMaxThreads = 1; std::optional<uint32_t> mProtocolVersion; base::unique_fd mServer; // socket we are accepting sessions on diff --git a/libs/binder/include/binder/RpcSession.h b/libs/binder/include/binder/RpcSession.h index f9b733d509..bd1063db90 100644 --- a/libs/binder/include/binder/RpcSession.h +++ b/libs/binder/include/binder/RpcSession.h @@ -26,10 +26,6 @@ #include <thread> #include <vector> -// WARNING: This is a feature which is still in development, and it is subject -// to radical change. Any production use of this may subject your code to any -// number of problems. - namespace android { class Parcel; diff --git a/libs/binder/libbinder_rpc_unstable.cpp b/libs/binder/libbinder_rpc_unstable.cpp index cad55fb439..6dfec75b2c 100644 --- a/libs/binder/libbinder_rpc_unstable.cpp +++ b/libs/binder/libbinder_rpc_unstable.cpp @@ -32,7 +32,6 @@ extern "C" { bool RunRpcServerCallback(AIBinder* service, unsigned int port, void (*readyCallback)(void* param), void* param) { auto server = RpcServer::make(); - server->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); if (status_t status = server->setupVsockServer(port); status != OK) { LOG(ERROR) << "Failed to set up vsock server with port " << port << " error: " << statusToString(status).c_str(); diff --git a/libs/binder/servicedispatcher.cpp b/libs/binder/servicedispatcher.cpp index 23e34aa8ef..777f3c9354 100644 --- a/libs/binder/servicedispatcher.cpp +++ b/libs/binder/servicedispatcher.cpp @@ -90,7 +90,6 @@ int Dispatch(const char* name, const ServiceRetriever& serviceRetriever) { LOG(ERROR) << "Cannot create RpcServer"; return EX_SOFTWARE; } - rpcServer->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); unsigned int port; if (status_t status = rpcServer->setupInetServer(kLocalInetAddress, 0, &port); status != OK) { LOG(ERROR) << "setupInetServer failed: " << statusToString(status); @@ -207,7 +206,6 @@ int wrapServiceManager(const ServiceRetriever& serviceRetriever) { service = ServiceManagerProxyToNative::asBinder(interface); auto rpcServer = RpcServer::make(); - rpcServer->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); rpcServer->setRootObject(service); unsigned int port; if (status_t status = rpcServer->setupInetServer(kLocalInetAddress, 0, &port); status != OK) { diff --git a/libs/binder/tests/binderLibTest.cpp b/libs/binder/tests/binderLibTest.cpp index 7a2bd81506..4d316f72f0 100644 --- a/libs/binder/tests/binderLibTest.cpp +++ b/libs/binder/tests/binderLibTest.cpp @@ -1202,7 +1202,6 @@ public: auto rpcServer = RpcServer::make(); EXPECT_NE(nullptr, rpcServer); if (rpcServer == nullptr) return {}; - rpcServer->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); unsigned int port; if (status_t status = rpcServer->setupInetServer("127.0.0.1", 0, &port); status != OK) { ADD_FAILURE() << "setupInetServer failed" << statusToString(status); diff --git a/libs/binder/tests/binderRpcBenchmark.cpp b/libs/binder/tests/binderRpcBenchmark.cpp index f8718aad1e..52ba9b00fd 100644 --- a/libs/binder/tests/binderRpcBenchmark.cpp +++ b/libs/binder/tests/binderRpcBenchmark.cpp @@ -206,7 +206,6 @@ void forkRpcServer(const char* addr, const sp<RpcServer>& server) { if (0 == fork()) { prctl(PR_SET_PDEATHSIG, SIGHUP); // racey, okay server->setRootObject(sp<MyBinderRpcBenchmark>::make()); - server->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); CHECK_EQ(OK, server->setupUnixDomainServer(addr)); server->join(); exit(1); diff --git a/libs/binder/tests/binderRpcTest.cpp b/libs/binder/tests/binderRpcTest.cpp index 62215bb550..0cbb88038b 100644 --- a/libs/binder/tests/binderRpcTest.cpp +++ b/libs/binder/tests/binderRpcTest.cpp @@ -109,7 +109,6 @@ TEST_P(BinderRpcSimple, SetExternalServerTest) { base::unique_fd sink(TEMP_FAILURE_RETRY(open("/dev/null", O_RDWR))); int sinkFd = sink.get(); auto server = RpcServer::make(newFactory(GetParam())); - server->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); ASSERT_FALSE(server->hasServer()); ASSERT_EQ(OK, server->setupExternalServer(std::move(sink))); ASSERT_TRUE(server->hasServer()); @@ -543,7 +542,6 @@ public: auto certVerifier = std::make_shared<RpcCertificateVerifierSimple>(); sp<RpcServer> server = RpcServer::make(newFactory(rpcSecurity, certVerifier)); - server->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); server->setMaxThreads(options.numThreads); unsigned int outPort = 0; @@ -1373,7 +1371,6 @@ static bool testSupportVsockLoopback() { // We don't need to enable TLS to know if vsock is supported. unsigned int vsockPort = allocateVsockPort(); sp<RpcServer> server = RpcServer::make(RpcTransportCtxFactoryRaw::make()); - server->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); if (status_t status = server->setupVsockServer(vsockPort); status != OK) { if (status == -EAFNOSUPPORT) { return false; @@ -1462,7 +1459,6 @@ private: TEST_P(BinderRpcSimple, Shutdown) { auto addr = allocateSocketAddress(); auto server = RpcServer::make(newFactory(GetParam())); - server->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); ASSERT_EQ(OK, server->setupUnixDomainServer(addr.c_str())); auto joinEnds = std::make_shared<OneOffSignal>(); @@ -1502,7 +1498,6 @@ TEST(BinderRpc, Java) { ASSERT_EQ(OK, binder->pingBinder()); auto rpcServer = RpcServer::make(); - rpcServer->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); unsigned int port; ASSERT_EQ(OK, rpcServer->setupInetServer(kLocalInetAddress, 0, &port)); auto socket = rpcServer->releaseServer(); @@ -1541,7 +1536,6 @@ public: std::unique_ptr<RpcAuth> auth = std::make_unique<RpcAuthSelfSigned>()) { auto [socketType, rpcSecurity, certificateFormat] = param; auto rpcServer = RpcServer::make(newFactory(rpcSecurity)); - rpcServer->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); switch (socketType) { case SocketType::PRECONNECTED: { return AssertionFailure() << "Not supported by this test"; diff --git a/libs/binder/tests/rpc_fuzzer/main.cpp b/libs/binder/tests/rpc_fuzzer/main.cpp index 83f2ebe812..a8713a24d6 100644 --- a/libs/binder/tests/rpc_fuzzer/main.cpp +++ b/libs/binder/tests/rpc_fuzzer/main.cpp @@ -119,7 +119,6 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { sp<RpcServer> server = RpcServer::make(makeTransportCtxFactory(&provider)); server->setRootObject(sp<SomeBinder>::make()); - server->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); CHECK_EQ(OK, server->setupUnixDomainServer(kSock.c_str())); std::thread serverThread([=] { (void)server->join(); }); diff --git a/libs/binder/tests/unit_fuzzers/BpBinderFuzz.cpp b/libs/binder/tests/unit_fuzzers/BpBinderFuzz.cpp index 20c55699cc..e77c55c669 100644 --- a/libs/binder/tests/unit_fuzzers/BpBinderFuzz.cpp +++ b/libs/binder/tests/unit_fuzzers/BpBinderFuzz.cpp @@ -44,7 +44,6 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { auto thread = std::thread([&]() { prctl(PR_SET_PDEATHSIG, SIGHUP); // racey, okay server->setRootObject(sp<BBinder>::make()); - server->iUnderstandThisCodeIsExperimentalAndIWillNotUseItInProduction(); CHECK_EQ(OK, server->setupUnixDomainServer(addr.c_str())); server->join(); }); |