Skip to content

Commit 1388e80

Browse files
cjybyjkdarknius09
authored andcommitted
base: add MAC address firewall [1/2]
Signed-off-by: cjybyjk <cjybyjk@zjnu.edu.cn> Change-Id: I2052c7f64d1cb7d9e0907b60cc144f172d2f4bfb
1 parent 12c4dbd commit 1388e80

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

core/java/android/os/INetworkManagementService.aidl

+1
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ interface INetworkManagementService
323323
void setFirewallInterfaceRule(String iface, boolean allow);
324324
void setFirewallUidRule(int chain, int uid, int rule);
325325
void setFirewallUidRules(int chain, in int[] uids, in int[] rules);
326+
void setFirewallMACAddressRule(String macAddr, boolean allow);
326327
void setFirewallChainEnabled(int chain, boolean enable);
327328

328329
/**

services/core/java/com/android/server/NetworkManagementService.java

+11
Original file line numberDiff line numberDiff line change
@@ -1600,6 +1600,17 @@ public void setFirewallInterfaceRule(String iface, boolean allow) {
16001600
}
16011601
}
16021602

1603+
@Override
1604+
public void setFirewallMACAddressRule(String macAddr, boolean allow) {
1605+
enforceSystemUid();
1606+
try {
1607+
mNetdService.firewallSetMACAddressRule(macAddr,
1608+
allow ? INetd.FIREWALL_RULE_ALLOW : INetd.FIREWALL_RULE_DENY);
1609+
} catch (RemoteException | ServiceSpecificException e) {
1610+
throw new IllegalStateException(e);
1611+
}
1612+
}
1613+
16031614
private void closeSocketsForFirewallChainLocked(int chain, String chainName) {
16041615
// UID ranges to close sockets on.
16051616
UidRangeParcel[] ranges;

0 commit comments

Comments
 (0)