├── .github └── workflows │ ├── build-and-test.yml │ ├── formatting.yml │ ├── git-commit-message-style.yml │ └── linting.yml ├── .gitignore ├── CHANGELOG.md ├── Cargo.lock ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── examples ├── add_anchor.rs ├── add_rules.rs ├── enable.rs ├── flush_rules.rs └── transaction.rs ├── generate_bindings.sh ├── src ├── anchor.rs ├── ffi │ ├── mod.rs │ └── pfvar.rs ├── lib.rs ├── macros.rs ├── pooladdr.rs ├── rule │ ├── addr_family.rs │ ├── direction.rs │ ├── endpoint.rs │ ├── gid.rs │ ├── icmp.rs │ ├── interface.rs │ ├── ip.rs │ ├── mod.rs │ ├── port.rs │ ├── proto.rs │ ├── route.rs │ ├── rule_action.rs │ ├── rule_log.rs │ ├── state_policy.rs │ ├── tcp_flags.rs │ └── uid.rs ├── ruleset.rs ├── state.rs ├── transaction.rs └── utils.rs └── tests ├── anchors.rs ├── enable_disable.rs ├── filter_rules.rs ├── helper ├── mod.rs └── pfcli.rs ├── interface.rs ├── nat_rules.rs ├── redirect_rules.rs ├── scrub_rules.rs ├── states.rs └── transaction.rs /.github/workflows/build-and-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/.github/workflows/build-and-test.yml -------------------------------------------------------------------------------- /.github/workflows/formatting.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/.github/workflows/formatting.yml -------------------------------------------------------------------------------- /.github/workflows/git-commit-message-style.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/.github/workflows/git-commit-message-style.yml -------------------------------------------------------------------------------- /.github/workflows/linting.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/.github/workflows/linting.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | **/*.rs.bk 3 | .vscode/ 4 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/README.md -------------------------------------------------------------------------------- /examples/add_anchor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/examples/add_anchor.rs -------------------------------------------------------------------------------- /examples/add_rules.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/examples/add_rules.rs -------------------------------------------------------------------------------- /examples/enable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/examples/enable.rs -------------------------------------------------------------------------------- /examples/flush_rules.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/examples/flush_rules.rs -------------------------------------------------------------------------------- /examples/transaction.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/examples/transaction.rs -------------------------------------------------------------------------------- /generate_bindings.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/generate_bindings.sh -------------------------------------------------------------------------------- /src/anchor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/anchor.rs -------------------------------------------------------------------------------- /src/ffi/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/ffi/mod.rs -------------------------------------------------------------------------------- /src/ffi/pfvar.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/ffi/pfvar.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/macros.rs -------------------------------------------------------------------------------- /src/pooladdr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/pooladdr.rs -------------------------------------------------------------------------------- /src/rule/addr_family.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/addr_family.rs -------------------------------------------------------------------------------- /src/rule/direction.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/direction.rs -------------------------------------------------------------------------------- /src/rule/endpoint.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/endpoint.rs -------------------------------------------------------------------------------- /src/rule/gid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/gid.rs -------------------------------------------------------------------------------- /src/rule/icmp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/icmp.rs -------------------------------------------------------------------------------- /src/rule/interface.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/interface.rs -------------------------------------------------------------------------------- /src/rule/ip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/ip.rs -------------------------------------------------------------------------------- /src/rule/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/mod.rs -------------------------------------------------------------------------------- /src/rule/port.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/port.rs -------------------------------------------------------------------------------- /src/rule/proto.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/proto.rs -------------------------------------------------------------------------------- /src/rule/route.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/route.rs -------------------------------------------------------------------------------- /src/rule/rule_action.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/rule_action.rs -------------------------------------------------------------------------------- /src/rule/rule_log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/rule_log.rs -------------------------------------------------------------------------------- /src/rule/state_policy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/state_policy.rs -------------------------------------------------------------------------------- /src/rule/tcp_flags.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/tcp_flags.rs -------------------------------------------------------------------------------- /src/rule/uid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/rule/uid.rs -------------------------------------------------------------------------------- /src/ruleset.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/ruleset.rs -------------------------------------------------------------------------------- /src/state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/state.rs -------------------------------------------------------------------------------- /src/transaction.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/transaction.rs -------------------------------------------------------------------------------- /src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/src/utils.rs -------------------------------------------------------------------------------- /tests/anchors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/tests/anchors.rs -------------------------------------------------------------------------------- /tests/enable_disable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/tests/enable_disable.rs -------------------------------------------------------------------------------- /tests/filter_rules.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/tests/filter_rules.rs -------------------------------------------------------------------------------- /tests/helper/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/tests/helper/mod.rs -------------------------------------------------------------------------------- /tests/helper/pfcli.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/tests/helper/pfcli.rs -------------------------------------------------------------------------------- /tests/interface.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/tests/interface.rs -------------------------------------------------------------------------------- /tests/nat_rules.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/tests/nat_rules.rs -------------------------------------------------------------------------------- /tests/redirect_rules.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/tests/redirect_rules.rs -------------------------------------------------------------------------------- /tests/scrub_rules.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/tests/scrub_rules.rs -------------------------------------------------------------------------------- /tests/states.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/tests/states.rs -------------------------------------------------------------------------------- /tests/transaction.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mullvad/pfctl-rs/HEAD/tests/transaction.rs --------------------------------------------------------------------------------