summaryrefslogtreecommitdiff
path: root/iptables.h
diff options
context:
space:
mode:
authorJorge Lucangeli Obes <jorgelo@google.com>2016-02-01 15:05:01 -0800
committerJorge Lucangeli Obes <jorgelo@google.com>2016-02-02 08:40:01 -0800
commit835d2c2d6f151059c4d70adbfdac9aca7b3f98c5 (patch)
treeabf1bd1bfe6e26da5a7b812c905104aae4c4345a /iptables.h
parent2b2e047243cc1db7c5f0c744822db0fdbb7a95e0 (diff)
downloadfirewalld-835d2c2d6f151059c4d70adbfdac9aca7b3f98c5.tar.gz
Refactor IpTables class to remove duplication.android-cts_7.1_r1android-cts-7.1_r9android-cts-7.1_r8android-cts-7.1_r7android-cts-7.1_r6android-cts-7.1_r5android-cts-7.1_r4android-cts-7.1_r3android-cts-7.1_r29android-cts-7.1_r28android-cts-7.1_r27android-cts-7.1_r26android-cts-7.1_r25android-cts-7.1_r24android-cts-7.1_r23android-cts-7.1_r22android-cts-7.1_r21android-cts-7.1_r20android-cts-7.1_r2android-cts-7.1_r19android-cts-7.1_r18android-cts-7.1_r17android-cts-7.1_r16android-cts-7.1_r15android-cts-7.1_r14android-cts-7.1_r13android-cts-7.1_r12android-cts-7.1_r11android-cts-7.1_r10android-cts-7.1_r1android-7.1.2_r9android-7.1.2_r8android-7.1.2_r6android-7.1.2_r5android-7.1.2_r4android-7.1.2_r39android-7.1.2_r38android-7.1.2_r37android-7.1.2_r36android-7.1.2_r33android-7.1.2_r32android-7.1.2_r30android-7.1.2_r3android-7.1.2_r29android-7.1.2_r28android-7.1.2_r27android-7.1.2_r25android-7.1.2_r24android-7.1.2_r23android-7.1.2_r2android-7.1.2_r19android-7.1.2_r18android-7.1.2_r17android-7.1.2_r16android-7.1.2_r15android-7.1.2_r14android-7.1.2_r13android-7.1.2_r12android-7.1.2_r11android-7.1.2_r10android-7.1.2_r1android-7.1.1_r9android-7.1.1_r8android-7.1.1_r7android-7.1.1_r61android-7.1.1_r60android-7.1.1_r6android-7.1.1_r59android-7.1.1_r58android-7.1.1_r57android-7.1.1_r56android-7.1.1_r55android-7.1.1_r54android-7.1.1_r53android-7.1.1_r52android-7.1.1_r51android-7.1.1_r50android-7.1.1_r49android-7.1.1_r48android-7.1.1_r47android-7.1.1_r46android-7.1.1_r45android-7.1.1_r44android-7.1.1_r43android-7.1.1_r42android-7.1.1_r41android-7.1.1_r40android-7.1.1_r4android-7.1.1_r39android-7.1.1_r38android-7.1.1_r35android-7.1.1_r33android-7.1.1_r32android-7.1.1_r31android-7.1.1_r3android-7.1.1_r28android-7.1.1_r27android-7.1.1_r26android-7.1.1_r25android-7.1.1_r24android-7.1.1_r23android-7.1.1_r22android-7.1.1_r21android-7.1.1_r20android-7.1.1_r2android-7.1.1_r17android-7.1.1_r16android-7.1.1_r15android-7.1.1_r14android-7.1.1_r13android-7.1.1_r12android-7.1.1_r11android-7.1.1_r10android-7.1.1_r1android-7.1.0_r7android-7.1.0_r6android-7.1.0_r5android-7.1.0_r4android-7.1.0_r3android-7.1.0_r2android-7.1.0_r1nougat-mr2.3-releasenougat-mr2.2-releasenougat-mr2.1-releasenougat-mr2-security-releasenougat-mr2-releasenougat-mr2-pixel-releasenougat-mr2-devnougat-mr1.8-releasenougat-mr1.7-releasenougat-mr1.6-releasenougat-mr1.5-releasenougat-mr1.4-releasenougat-mr1.3-releasenougat-mr1.2-releasenougat-mr1.1-releasenougat-mr1-volantis-releasenougat-mr1-security-releasenougat-mr1-releasenougat-mr1-flounder-releasenougat-mr1-devnougat-mr1-cts-releasenougat-dr1-releasenougat-devbrillo-m10-releasebrillo-m10-dev
This CL tries to remove as much duplicated code from the IpTables class as possible. The basic construct of running the same command with different executables/options is extracted into a helper function. Moreover, the unit tests are simplified by mocking one function call higher and removing a lot of set-up duplication. Bug: 26911013 Change-Id: Iecdacab2ef6ffa5631c877835bdfb0bf7191536c
Diffstat (limited to 'iptables.h')
-rw-r--r--iptables.h31
1 files changed, 15 insertions, 16 deletions
diff --git a/iptables.h b/iptables.h
index fcd7571..74b9acb 100644
--- a/iptables.h
+++ b/iptables.h
@@ -30,7 +30,6 @@
namespace firewalld {
enum ProtocolEnum { kProtocolTcp, kProtocolUdp };
-enum IPVersionEnum { kIPv4, kIPv6 };
class IpTables : public org::chromium::FirewalldInterface {
public:
@@ -91,21 +90,21 @@ class IpTables : public org::chromium::FirewalldInterface {
const std::string& interface,
bool add);
- virtual bool ApplyMasquerade(const std::string& executable_path,
- const std::string& interface,
- bool add);
- virtual bool ApplyMasquerade46(const std::string& interface,
- bool add);
- virtual bool ApplyMarkForUserTraffic(const std::string& executable_path,
- const std::string& user_name,
- bool add);
- virtual bool ApplyMarkForUserTraffic46(const std::string& username,
- bool add);
- virtual bool ApplyRuleForUserTraffic(IPVersionEnum ip_version,
- bool add);
-
- int ExecvNonRoot(const std::vector<std::string>& argv,
- uint64_t capmask);
+ virtual bool ApplyMasquerade(const std::string& interface, bool add);
+ bool ApplyMasqueradeWithExecutable(const std::string& interface,
+ const std::string& executable_path,
+ bool add);
+
+ virtual bool ApplyMarkForUserTraffic(const std::string& username, bool add);
+ bool ApplyMarkForUserTrafficWithExecutable(const std::string& username,
+ const std::string& executable_path,
+ bool add);
+
+ virtual bool ApplyRuleForUserTraffic(bool add);
+ bool ApplyRuleForUserTrafficWithVersion(const std::string& ip_version,
+ bool add);
+
+ int ExecvNonRoot(const std::vector<std::string>& argv, uint64_t capmask);
// Keep track of firewall holes to avoid adding redundant firewall rules.
std::set<Hole> tcp_holes_;