Diff for /fwsync/patches/ip_fw2.patch between versions 1.3 and 1.5

version 1.3, 2022/08/09 23:42:44 version 1.5, 2022/08/19 09:41:25
Line 1 Line 1
 diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c  diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c
index 99d3a9c58cb..18c5664871a 100644index 99d3a9c58cb..0f9badd08a0 100644
 --- a/sys/netpfil/ipfw/ip_fw2.c  --- a/sys/netpfil/ipfw/ip_fw2.c
 +++ b/sys/netpfil/ipfw/ip_fw2.c  +++ b/sys/netpfil/ipfw/ip_fw2.c
@@ -186,6 +186,9 @@ ipfw_nat_cfg_t *ipfw_nat_del_ptr;@@ -186,6 +186,10 @@ ipfw_nat_cfg_t *ipfw_nat_del_ptr;
  ipfw_nat_cfg_t *ipfw_nat_get_cfg_ptr;   ipfw_nat_cfg_t *ipfw_nat_get_cfg_ptr;
  ipfw_nat_cfg_t *ipfw_nat_get_log_ptr;   ipfw_nat_cfg_t *ipfw_nat_get_log_ptr;
     
 +VNET_DEFINE(ipfw_hook_t, hook_state) = NULL;  +VNET_DEFINE(ipfw_hook_t, hook_state) = NULL;
 +VNET_DEFINE(ipfw_hook_t, sync_state) = NULL;  +VNET_DEFINE(ipfw_hook_t, sync_state) = NULL;
   +VNET_DEFINE(ipfw_hook_t, sync_alias) = NULL;
 +  +
  #ifdef SYSCTL_NODE   #ifdef SYSCTL_NODE
  uint32_t dummy_def = IPFW_DEFAULT_RULE;   uint32_t dummy_def = IPFW_DEFAULT_RULE;
  static int sysctl_ipfw_table_num(SYSCTL_HANDLER_ARGS);   static int sysctl_ipfw_table_num(SYSCTL_HANDLER_ARGS);
@@ -2866,6 +2869,9 @@ do {                                                              \@@ -2866,6 +2870,9 @@ do {                                                              \
                                 if (cmd->opcode == O_CHECK_STATE)                                  if (cmd->opcode == O_CHECK_STATE)
                                         l = 0;  /* exit inner loop */                                          l = 0;  /* exit inner loop */
                                 match = 1;                                  match = 1;
Line 22  index 99d3a9c58cb..18c5664871a 100644 Line 23  index 99d3a9c58cb..18c5664871a 100644
                                 break;                                  break;
     
                         case O_SKIP_ACTION:                          case O_SKIP_ACTION:
   @@ -3200,6 +3207,9 @@ do {                                                              \
                                    * non IPv4 packets. Libalias expects only IPv4.
                                    */
                                   if (!is_ipv4 || !IPFW_NAT_LOADED) {
   +                                       /* purge waiting aliases for sync */
   +                                       if (V_sync_alias)
   +                                               V_sync_alias(NULL, NULL);
                                       retval = IP_FW_DENY;
                                       break;
                                   }

Removed from v.1.3  
changed lines
  Added in v.1.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>