In some email I received from Beers, James W., sie wrote:
> Darren,
> 
> I understand why it is there and am glad that it is because I don't want to
> deal with file sharing connections that don't time out.  Is there any way I
> can run with LARGE_NAT defined and still use the 'age' option with a MAPing
> in ipnat.conf?  My suggestion was the only one that I could think of off the
> top of my head.  The only other way around the problem that I can see is to
> change the code so that:
> 
> <psuedo-code on>
> if LARGE_NAT is defined
>       if there is an age parameter, set it to the age parameter
>               if not age parameter, set it to the 10 minute default
> <psuedo-code off>

This makes a lot of sense.  Try the patch below.

Darren

Index: ip_nat.c
===================================================================
RCS file: /devel/CVS/IP-Filter/ip_nat.c,v
retrieving revision 2.37.2.74
diff -c -r2.37.2.74 ip_nat.c
*** ip_nat.c    2002/12/06 11:40:21     2.37.2.74
--- ip_nat.c    2003/02/19 12:21:09
***************
*** 2510,2516 ****
                                if (nat->nat_age < fr_defnaticmpage)
                                        nat->nat_age = fr_defnaticmpage;
  #ifdef LARGE_NAT
!                               else if (nat->nat_age > fr_defnatage)
                                        nat->nat_age = fr_defnatage;
  #endif
                                /*
--- 2510,2517 ----
                                if (nat->nat_age < fr_defnaticmpage)
                                        nat->nat_age = fr_defnaticmpage;
  #ifdef LARGE_NAT
!                               else if ((!np || !np->in_age[1]) &&
!                                        (nat->nat_age > fr_defnatage))
                                        nat->nat_age = fr_defnatage;
  #endif
                                /*
***************
*** 2731,2737 ****
                                if (nat->nat_age < fr_defnaticmpage)
                                        nat->nat_age = fr_defnaticmpage;
  #ifdef LARGE_NAT
!                               else if (nat->nat_age > fr_defnatage)
                                        nat->nat_age = fr_defnatage;
  #endif
                                /*
--- 2732,2739 ----
                                if (nat->nat_age < fr_defnaticmpage)
                                        nat->nat_age = fr_defnaticmpage;
  #ifdef LARGE_NAT
!                               else if ((!np || !np->in_age[0]) &&
!                                        (nat->nat_age > fr_defnatage))
                                        nat->nat_age = fr_defnatage;
  #endif
                                /*

Reply via email to