#
1732afaa |
| 05-May-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Add DIOCGETSTATENV
Add DIOCGETSTATENV, an nvlist-based alternative to DIOCGETSTATE.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://review
pf: Add DIOCGETSTATENV
Add DIOCGETSTATENV, an nvlist-based alternative to DIOCGETSTATE.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30242
show more ...
|
#
93abcf17 |
| 03-May-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Support killing 'matching' states
Optionally also kill states that match (i.e. are the NATed state or opposite direction state entry for) the state we're killing.
See also https://redmine.pfsen
pf: Support killing 'matching' states
Optionally also kill states that match (i.e. are the NATed state or opposite direction state entry for) the state we're killing.
See also https://redmine.pfsense.org/issues/8555
Submitted by: Steven Brown Reviewed by: bcr (man page) Obtained from: https://github.com/pfsense/FreeBSD-src/pull/11/ MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30092
show more ...
|
#
abbcba9c |
| 30-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Allow states to by killed per 'gateway'
This allows us to kill states created from a rule with route-to/reply-to set. This is particularly useful in multi-wan setups, where one of the WAN links
pf: Allow states to by killed per 'gateway'
This allows us to kill states created from a rule with route-to/reply-to set. This is particularly useful in multi-wan setups, where one of the WAN links goes down.
Submitted by: Steven Brown Obtained from: https://github.com/pfsense/FreeBSD-src/pull/11/ MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30058
show more ...
|
#
e989530a |
| 29-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Introduce DIOCKILLSTATESNV
Introduce an nvlist based alternative to DIOCKILLSTATES.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://review
pf: Introduce DIOCKILLSTATESNV
Introduce an nvlist based alternative to DIOCKILLSTATES.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30054
show more ...
|
#
7606a45d |
| 29-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Introduce DIOCCLRSTATESNV
Introduce an nvlist variant of DIOCCLRSTATES.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.or
pf: Introduce DIOCCLRSTATESNV
Introduce an nvlist variant of DIOCCLRSTATES.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D30052
show more ...
|
#
6b146f3b |
| 20-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Error tracing SDTs
Add additional DTrace static trace points to facilitate debugging failing pf ioctl calls.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
402dfb0a |
| 24-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Fix parsing of long table names
When parsing the nvlist for a struct pf_addr_wrap we unconditionally tried to parse "ifname". This broke for PF_ADDR_TABLE when the table name was longer than IFN
pf: Fix parsing of long table names
When parsing the nvlist for a struct pf_addr_wrap we unconditionally tried to parse "ifname". This broke for PF_ADDR_TABLE when the table name was longer than IFNAMSIZ. PF_TABLE_NAME_SIZE is longer than IFNAMSIZ, so this is a valid configuration.
Only parse (or return) ifname or tblname for the corresponding pf_addr_wrap type.
This manifested as a failure to set rules such as these, where the pfctl optimiser generated an automatic table:
pass in proto tcp to 192.168.0.1 port ssh pass in proto tcp to 192.168.0.2 port ssh pass in proto tcp to 192.168.0.3 port ssh pass in proto tcp to 192.168.0.4 port ssh pass in proto tcp to 192.168.0.5 port ssh pass in proto tcp to 192.168.0.6 port ssh pass in proto tcp to 192.168.0.7 port ssh
Reported by: Florian Smeets Tested by: Florian Smeets Reviewed by: donner X-MFC-With: 5c11c5a3655842a176124ef2334fcdf830422c8a MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29962
show more ...
|
#
6fcc8e04 |
| 20-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Allow multiple labels to be set on a rule
Allow up to 5 labels to be set on each rule. This offers more flexibility in using labels. For example, it replaces the customer 'schedule' keyword used
pf: Allow multiple labels to be set on a rule
Allow up to 5 labels to be set on each rule. This offers more flexibility in using labels. For example, it replaces the customer 'schedule' keyword used by pfSense to terminate states according to a schedule.
Reviewed by: glebius MFC after: 2 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29936
show more ...
|
#
586aab9e |
| 16-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Refactor state killing
Extract the state killing code from pfioctl() and rephrase the filtering conditions for readability.
No functional change intended.
MFC after: 1 week Sponsored by: Rubic
pf: Refactor state killing
Extract the state killing code from pfioctl() and rephrase the filtering conditions for readability.
No functional change intended.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29795
show more ...
|
#
42ec75f8 |
| 15-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Optionally attempt to preserve rule counter values across ruleset updates
Usually rule counters are reset to zero on every update of the ruleset. With keepcounters set pf will attempt to find ma
pf: Optionally attempt to preserve rule counter values across ruleset updates
Usually rule counters are reset to zero on every update of the ruleset. With keepcounters set pf will attempt to find matching rules between old and new rulesets and preserve the rule counters.
MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29780
show more ...
|
#
4f1f67e8 |
| 15-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: PFRULE_REFS should not be user-visible
Split the PFRULE_REFS flag from the rule_flag field. PFRULE_REFS is a kernel-internal flag and should not be exposed to or read from userspace.
MFC after:
pf: PFRULE_REFS should not be user-visible
Split the PFRULE_REFS flag from the rule_flag field. PFRULE_REFS is a kernel-internal flag and should not be exposed to or read from userspace.
MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29778
show more ...
|
#
2aa21096 |
| 13-Apr-2021 |
Kurosawa Takahiro <takahiro.kurosawa@gmail.com> |
pf: Implement the NAT source port selection of MAP-E Customer Edge
MAP-E (RFC 7597) requires special care for selecting source ports in NAT operation on the Customer Edge because a part of bits of t
pf: Implement the NAT source port selection of MAP-E Customer Edge
MAP-E (RFC 7597) requires special care for selecting source ports in NAT operation on the Customer Edge because a part of bits of the port numbers are used by the Border Relay to distinguish another side of the IPv4-over-IPv6 tunnel.
PR: 254577 Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D29468
show more ...
|
#
5e98cae6 |
| 12-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Ensure that we don't use kif passed to pfi_kkif_attach()
Once a kif is passed to pfi_kkif_attach() we must ensure we never re-use it for anything else. Set the kif to NULL afterwards to guarante
pf: Ensure that we don't use kif passed to pfi_kkif_attach()
Once a kif is passed to pfi_kkif_attach() we must ensure we never re-use it for anything else. Set the kif to NULL afterwards to guarantee this.
Reported-by: syzbot+be5d4f4a7a4c295e659a@syzkaller.appspotmail.com MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate")
show more ...
|
#
d710367d |
| 25-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Implement nvlist variant of DIOCGETRULE
MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29559
|
#
5c62eded |
| 11-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Introduce nvlist variant of DIOCADDRULE
This will make future extensions of the API much easier. The intent is to remove support for DIOCADDRULE in FreeBSD 14.
Reviewed by: markj (previous vers
pf: Introduce nvlist variant of DIOCADDRULE
This will make future extensions of the API much easier. The intent is to remove support for DIOCADDRULE in FreeBSD 14.
Reviewed by: markj (previous version), glebius (previous version) MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29557
show more ...
|
#
4967f672 |
| 08-Apr-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Remove unused variable rt_listid from struct pf_krule
Reviewed by: donner MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.
pf: Remove unused variable rt_listid from struct pf_krule
Reviewed by: donner MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29639
show more ...
|
#
15b82e00 |
| 11-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: pool/kpool conversion code
stuct pf_pool and struct pf_kpool are different. We should not simply bcopy() them.
Happily it turns out that their differences were all pointers, and the userspace p
pf: pool/kpool conversion code
stuct pf_pool and struct pf_kpool are different. We should not simply bcopy() them.
Happily it turns out that their differences were all pointers, and the userspace provided pointers were overwritten by the kernel, so this did actually work correctly, but we should fix it anyway.
Reviewed by: glebius MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29216
show more ...
|
#
cecfaf9b |
| 10-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Fully remove interrupt events on vnet cleanup
swi_remove() removes the software interrupt handler but does not remove the associated interrupt event. This is visible when creating and remove a v
pf: Fully remove interrupt events on vnet cleanup
swi_remove() removes the software interrupt handler but does not remove the associated interrupt event. This is visible when creating and remove a vnet jail in `procstat -t 12`.
We can remove it manually with intr_event_destroy().
PR: 254171 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D29211
show more ...
|
#
913e7dc3 |
| 10-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Remove redundant kif != NULL checks
pf_kkif_free() already checks for NULL, so we don't have to check before we call it.
Reviewed by: melifaro@ MFC after: 1 week Sponsored by: Rubicon Communica
pf: Remove redundant kif != NULL checks
pf_kkif_free() already checks for NULL, so we don't have to check before we call it.
Reviewed by: melifaro@ MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29195
show more ...
|
#
5e9dae8e |
| 10-Mar-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Factor out pf_krule_free()
Reviewed by: melifaro@ MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D29194
|
#
2ed689a6 |
| 18-Feb-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Fix osfp configuration
pf_rule_to_krule() incorrectly converted the rule osfp configuration to the krule structure.
Reported by: delphij@ MFC after: 3 days
|
#
c4e0f7aa |
| 17-Feb-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Assert that pfil_link() calls succeed
These should only fail if we use them incorrectly, so assert that they succeed.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC (“Netgat
pf: Assert that pfil_link() calls succeed
These should only fail if we use them incorrectly, so assert that they succeed.
MFC after: 1 week Sponsored by: Rubicon Communications, LLC (“Netgate”’)
show more ...
|
#
8a439f32 |
| 16-Feb-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Remove unused return value from (de)hook_pf()
These functions always return 0, which is good, because the code calling them doesn't handle this error gracefully.
As the functions always succeed
pf: Remove unused return value from (de)hook_pf()
These functions always return 0, which is good, because the code calling them doesn't handle this error gracefully.
As the functions always succeed remove their return value, and the code handling their errors (because it was never executed anyway).
MFC after: 1 week Sponsored by: Rubicon Communications, LLC (“Netgate”’)
show more ...
|
#
5e42cb13 |
| 13-Feb-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Slightly relax pf_rule_addr validation
Ensure we don't reject no-route / urpf-failed addresses.
PR: 253479 Reported by: michal AT microwave.sk Revied by: donner@ MFC after: 3 days Differential
pf: Slightly relax pf_rule_addr validation
Ensure we don't reject no-route / urpf-failed addresses.
PR: 253479 Reported by: michal AT microwave.sk Revied by: donner@ MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D28650
show more ...
|
#
7a808c5e |
| 26-Jan-2021 |
Kristof Provost <kp@FreeBSD.org> |
pf: Improve pf_rule input validation
Move the validation checks to pf_rule_to_krule() to reduce duplication. This also makes the checks consistent across different ioctls.
Reported-by: syzbot+e9632
pf: Improve pf_rule input validation
Move the validation checks to pf_rule_to_krule() to reduce duplication. This also makes the checks consistent across different ioctls.
Reported-by: syzbot+e9632d7ad17398f0bd8f@syzkaller.appspotmail.com Reviewed by: tuexen@, donner@ MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D28362
show more ...
|