Network-related commands porting
Test: built, flashed, booted
system/netd/tests/runtests.sh passes
Change-Id: I14160f81050c2782301d27e622461e66b10fd070
diff --git a/server/NetdNativeService.h b/server/NetdNativeService.h
index 4da1335..1d5caf6 100644
--- a/server/NetdNativeService.h
+++ b/server/NetdNativeService.h
@@ -54,8 +54,7 @@
binder::Status bandwidthRemoveNiceApp(int32_t uid) override;
// Network and routing commands.
- binder::Status networkCreatePhysical(int32_t netId, const std::string& permission)
- override;
+ binder::Status networkCreatePhysical(int32_t netId, int32_t permission) override;
binder::Status networkCreateVpn(int32_t netId, bool hasDns, bool secure) override;
binder::Status networkDestroy(int32_t netId) override;
@@ -68,6 +67,29 @@
override;
binder::Status networkRejectNonSecureVpn(bool enable, const std::vector<UidRange>& uids)
override;
+ binder::Status networkAddRoute(int32_t netId, const std::string& ifName,
+ const std::string& destination,
+ const std::string& nextHop) override;
+ binder::Status networkRemoveRoute(int32_t netId, const std::string& ifName,
+ const std::string& destination,
+ const std::string& nextHop) override;
+ binder::Status networkAddLegacyRoute(int32_t netId, const std::string& ifName,
+ const std::string& destination, const std::string& nextHop,
+ int32_t uid) override;
+ binder::Status networkRemoveLegacyRoute(int32_t netId, const std::string& ifName,
+ const std::string& destination,
+ const std::string& nextHop, int32_t uid) override;
+ binder::Status networkSetDefault(int32_t netId) override;
+ binder::Status networkClearDefault() override;
+ binder::Status networkSetPermissionForNetwork(int32_t netId, int32_t permission) override;
+ binder::Status networkSetPermissionForUser(int32_t permission,
+ const std::vector<int32_t>& uids) override;
+ binder::Status networkClearPermissionForUser(const std::vector<int32_t>& uids) override;
+ binder::Status networkSetProtectAllow(int32_t uid) override;
+ binder::Status networkSetProtectDeny(int32_t uid) override;
+ // For test (internal use only).
+ binder::Status networkGetDefault(int32_t* netId) override;
+ binder::Status networkCanProtect(int32_t uid, bool* ret) override;
// SOCK_DIAG commands.
binder::Status socketDestroy(const std::vector<UidRange>& uids,
@@ -223,6 +245,10 @@
const std::string& toIface) override;
binder::Status ipfwdRemoveInterfaceForward(const std::string& fromIface,
const std::string& toIface) override;
+
+ private:
+ std::vector<uid_t> intsToUids(const std::vector<int32_t>& intUids);
+ Permission convertPermission(int32_t permission);
};
} // namespace net