Home | History | Annotate | Line # | Download | only in dist
HISTORY revision 1.1.1.1
      1  1.1  christos #
      2  1.1  christos # NOTE: Quite a few patches and suggestions come from other sources, to whom
      3  1.1  christos #       I'm greatly indebted, even if no names are mentioned.
      4  1.1  christos #
      5  1.1  christos # Thanks to the Coombs Computing Unit at the ANU for their continued support
      6  1.1  christos # in providing a very available location for the IP Filter home page and
      7  1.1  christos # distribution center.
      8  1.1  christos #
      9  1.1  christos # Thanks also to all those who have contributed patches and other code,
     10  1.1  christos # and especially those who have found the time to port IP Filter to new
     11  1.1  christos # platforms.
     12  1.1  christos #
     13  1.1  christos 5.1 - RELEASED - 9 May 2010
     14  1.1  christos 
     15  1.1  christos * See WhatsNew50.txt
     16  1.1  christos 
     17  1.1  christos 4.1 - RELEASED - 12 February 2004
     18  1.1  christos 
     19  1.1  christos 4.0-BETA1 20 August 2003
     20  1.1  christos 
     21  1.1  christos support 0/32 and 0/0 on the RHS in redirect rules
     22  1.1  christos 
     23  1.1  christos where LHS and RHS netmasks are the same size for redirect, do 1:1 mapping
     24  1.1  christos for bimap rules.
     25  1.1  christos 
     26  1.1  christos allow NAT rule to match 'all' interfaces with * as interface name
     27  1.1  christos 
     28  1.1  christos do mapping of ICMP sequence id#'s in pings
     29  1.1  christos 
     30  1.1  christos allow default age for NAT entries to be set per NAT rule
     31  1.1  christos 
     32  1.1  christos provide round robin selection of destination addresses for redirect
     33  1.1  christos 
     34  1.1  christos ipmon can load a configuration file with instructions on actions
     35  1.1  christos to take when a matching log entry is received
     36  1.1  christos 
     37  1.1  christos now requires pfil to work on Solaris & HP-UX
     38  1.1  christos 
     39  1.1  christos supports mapping outbound connections to a specific address/port
     40  1.1  christos 
     41  1.1  christos support toggling of logging per ipfilter 'device'
     42  1.1  christos 
     43  1.1  christos use queues to expire data rather than lists
     44  1.1  christos 
     45  1.1  christos add MSN RPC proxy
     46  1.1  christos 
     47  1.1  christos add IRC proxy
     48  1.1  christos 
     49  1.1  christos support rules with dynamic ip addresses
     50  1.1  christos 
     51  1.1  christos add ability to define a pool of addresses & networks which can then
     52  1.1  christos be placed in a single rule
     53  1.1  christos 
     54  1.1  christos support passing entire packet back to user program for authentication
     55  1.1  christos 
     56  1.1  christos support master/slave for state information sharing
     57  1.1  christos 
     58  1.1  christos reorganise generic code into a lib directory and make libipf.a
     59  1.1  christos 
     60  1.1  christos user programs enforce version matching with the kernel
     61  1.1  christos 
     62  1.1  christos supports window scaling if seen at TCP session setup
     63  1.1  christos 
     64  1.1  christos generates C code from filter rules to compile in or load as native
     65  1.1  christos machine code.
     66  1.1  christos 
     67  1.1  christos supports loading rules comprised of BPF bytecode statements
     68  1.1  christos 
     69  1.1  christos HP-UX 11 port completed
     70  1.1  christos 
     71  1.1  christos and packets-per-second filtering
     72  1.1  christos 
     73  1.1  christos add numerical tags to rules for filtering and display in ipmon output
     74  1.1  christos 
     75  1.1  christos 3.4.4 23/05/2000 - Released
     76  1.1  christos 
     77  1.1  christos don't add TCP state if it is an RST packet and (attempt) to send out
     78  1.1  christos RST/ICMP packets in a manner that bypasses IP Filter.
     79  1.1  christos 
     80  1.1  christos add patch to work with 4.0_STABLE delayed checksums
     81  1.1  christos 
     82  1.1  christos 3.4.3 20/05/2000 - Released
     83  1.1  christos 
     84  1.1  christos fix ipmon -F
     85  1.1  christos 
     86  1.1  christos don't truncate IPv6 packets on Solaris
     87  1.1  christos 
     88  1.1  christos fix keep state for ICMP ECHO
     89  1.1  christos 
     90  1.1  christos add some NAT stats and use def_nat_age rather than DEF_NAT_AGE
     91  1.1  christos 
     92  1.1  christos don't make ftp proxy drop packets
     93  1.1  christos 
     94  1.1  christos use MCLISREFERENCED() in tandem with M_EXT to check if IP fields need to be
     95  1.1  christos swapped back.
     96  1.1  christos 
     97  1.1  christos fix up RST generation for non-Solaris
     98  1.1  christos 
     99  1.1  christos get "short" flag right for IPv6
    100  1.1  christos 
    101  1.1  christos 3.4.2 - 10/5/2000 - Released
    102  1.1  christos 
    103  1.1  christos Fix bug in dealing with "hlen == 1 and opt > 1" - Itojun
    104  1.1  christos 
    105  1.1  christos ignore previous NAT mappings for 0/0 and 0/32 rules
    106  1.1  christos 
    107  1.1  christos bring in a completely new ftp proxy
    108  1.1  christos 
    109  1.1  christos allow NAT to cause packets to be dropped.
    110  1.1  christos 
    111  1.1  christos add NetBSD callout support for 1.4-current
    112  1.1  christos 
    113  1.1  christos 3.4.1 - 30/4/2000 - Released
    114  1.1  christos 
    115  1.1  christos add ratoui() and fix parsing of group numbers to allow 0 - UINT_MAX
    116  1.1  christos 
    117  1.1  christos don't include opt_inet6.h for FreeBSD if KLD_MODULE is defined
    118  1.1  christos 
    119  1.1  christos Solaris must use copyin() for all types of ioctl() args
    120  1.1  christos 
    121  1.1  christos fix up screen/tty when leaving "top mode" of ipfstat
    122  1.1  christos 
    123  1.1  christos linked list for maptable not setup correctly in nat_hostmap()
    124  1.1  christos 
    125  1.1  christos check for maptable rather than nat_table[1] to see if malloc for maptable
    126  1.1  christos succeeded in nat_init
    127  1.1  christos 
    128  1.1  christos fix handling of map NAT rules with "from/to" host specs
    129  1.1  christos 
    130  1.1  christos fix printout out of source address when using "from/to" with map rules
    131  1.1  christos 
    132  1.1  christos convert ip_len back to network byte order, not plen, for solaris as ip_len
    133  1.1  christos may have been changed by NAT and plen won't reflect this
    134  1.1  christos 
    135  1.1  christos 3.4 - 27/4/2000 - Released
    136  1.1  christos 
    137  1.1  christos source address spoofing can be turned on (fr_chksrc) without using
    138  1.1  christos filter rules
    139  1.1  christos 
    140  1.1  christos group numbers are now 32bits in size, up from 16bits
    141  1.1  christos 
    142  1.1  christos IPv6 filtering available
    143  1.1  christos 
    144  1.1  christos add frank volf's state-top patches
    145  1.1  christos 
    146  1.1  christos add load splitting and round-robin attribute to redirect rules
    147  1.1  christos 
    148  1.1  christos FreeBSD-4.0 support (including KLD)
    149  1.1  christos 
    150  1.1  christos add top-style operation mode for ipfstat (-t)
    151  1.1  christos 
    152  1.1  christos add save/restore of IP Filter state/NAT information (ipfs)
    153  1.1  christos 
    154  1.1  christos further ftp proxy security checks
    155  1.1  christos 
    156  1.1  christos support for adding and removing proxies at runtime
    157  1.1  christos 
    158  1.1  christos 3.3.13  26/04/2000 - Released
    159  1.1  christos 
    160  1.1  christos Fix parsing of "range" with "portmap"
    161  1.1  christos 
    162  1.1  christos Relax checking of ftp replies, slightly.
    163  1.1  christos 
    164  1.1  christos Fix NAT timeouts for ICMP packets
    165  1.1  christos 
    166  1.1  christos SunOS4 patches for ICMP redirects from Jurgen Keil (jk@tools.de)
    167  1.1  christos 
    168  1.1  christos 3.3.12  16/03/2000 - Released
    169  1.1  christos 
    170  1.1  christos tighten up ftp proxy behaviour.  sigh.  yuck.  hate.
    171  1.1  christos 
    172  1.1  christos fix bug in range check for NAT where the last IP# was not used.
    173  1.1  christos 
    174  1.1  christos fix problem with icmp codes > 127 in filter rules caused bad things to
    175  1.1  christos happen and in particular, where #18 caused the rule to be printed
    176  1.1  christos erroneously.
    177  1.1  christos 
    178  1.1  christos fix bug with the spl level not being reset when returning EIO from
    179  1.1  christos iplioctl due to ipfilter not being initialized yet.
    180  1.1  christos 
    181  1.1  christos 3.3.11  04/03/2000 - Released
    182  1.1  christos 
    183  1.1  christos make "or-block" work with lines that start with "log"
    184  1.1  christos 
    185  1.1  christos fix up parsing and printing of rules with syslog levels in them
    186  1.1  christos 
    187  1.1  christos fix from Cy Schubert for calling of apr_fini only if non-null
    188  1.1  christos 
    189  1.1  christos 
    190  1.1  christos 3.3.10	24/02/2000 - Released
    191  1.1  christos 
    192  1.1  christos * fix back from guido for state tracking interfaces
    193  1.1  christos 
    194  1.1  christos * update for NetBSD pfil interface changes
    195  1.1  christos 
    196  1.1  christos * if attaching fails and we can abort, then cleanup when doing so.
    197  1.1  christos 
    198  1.1  christos julian@computer.org:
    199  1.1  christos * solaris.c (fr_precheck): After calling freemsg on mt, set it point to *mp.
    200  1.1  christos * ipf.c (packetlogon): use flag to store the return value from get_flags.
    201  1.1  christos * ipmon.c (init_tabs): General cleanup so we do not have to cast
    202  1.1  christos   an int s->s_port to u_int port and try to check if the u_int port
    203  1.1  christos   is less than zero.
    204  1.1  christos 
    205  1.1  christos 3.3.9	15/02/2000 - Released
    206  1.1  christos 
    207  1.1  christos fix scheduling of bad locking in fr_addstate() used when we attach onto
    208  1.1  christos a filter rule.
    209  1.1  christos 
    210  1.1  christos fix up ip_statesync() with storing interface names in ipstate_t
    211  1.1  christos 
    212  1.1  christos fix fr_running for LKM's - Eugene Polovnikov
    213  1.1  christos 
    214  1.1  christos junk using pullupmsg() for solaris - it's next to useless for what we
    215  1.1  christos need to do here anyway - and implement what we require.
    216  1.1  christos 
    217  1.1  christos don't call fr_delstate() in fr_checkstate(), when compiled for a user
    218  1.1  christos program, early but when we're finished with it (got fr & pass)
    219  1.1  christos 
    220  1.1  christos ipnat(5) fix from Guido
    221  1.1  christos 
    222  1.1  christos on solaris2, copy message and use that with filter if there is another
    223  1.1  christos copy if it being used (db_ref > 1).  bad for performance, but better
    224  1.1  christos than causing a crash.
    225  1.1  christos 
    226  1.1  christos patch for solaris8-fcs compile from Casper Dik
    227  1.1  christos 
    228  1.1  christos 3.3.8	01/02/2000 - Released
    229  1.1  christos 
    230  1.1  christos fix state handling of SYN packets.
    231  1.1  christos 
    232  1.1  christos add parsing recognition of extra icmp types/codes and fix handling of
    233  1.1  christos icmp time stamps and mask requests - Frank volf
    234  1.1  christos 
    235  1.1  christos 3.3.7	25/01/2000 - Released
    236  1.1  christos 
    237  1.1  christos sync on state information as well as NAT information when required
    238  1.1  christos 
    239  1.1  christos record nat protocol in all nat log records
    240  1.1  christos 
    241  1.1  christos don't reuse the IP# from an active NAT session if the IP# in the rule
    242  1.1  christos has changed dynamically.
    243  1.1  christos 
    244  1.1  christos lookup the protocol for NAT log information in ipmon and pass that to
    245  1.1  christos portname.
    246  1.1  christos 
    247  1.1  christos fix the bug with changing the outbound interface of a packet where it
    248  1.1  christos would lead to a panic.
    249  1.1  christos 
    250  1.1  christos use fr_running instead of ipl_inited. (sysctl name change on freebsd)
    251  1.1  christos 
    252  1.1  christos return EIO if someone attempts an ioctl on state/nat if ipfilter is not
    253  1.1  christos enabled.
    254  1.1  christos 
    255  1.1  christos fix rule insertion bug
    256  1.1  christos 
    257  1.1  christos make state flushing clean anything that's not fully established (4/4)
    258  1.1  christos 
    259  1.1  christos call fr_state_flush() after we've released ipf_state so we don't generate
    260  1.1  christos a recursive mutex acquisition panic
    261  1.1  christos 
    262  1.1  christos fix parsing of icmp code after return-icmp/return-icmp-as-dest and add
    263  1.1  christos some patches to enhance parsing strength
    264  1.1  christos 
    265  1.1  christos 3.3.6	28/12/1999 - Released
    266  1.1  christos 
    267  1.1  christos add in missing rwlock release in fr_checkicmpmatchingstate() and fix check
    268  1.1  christos for ICMP_ECHO to only be for packet, not state entry which we don't have yet.
    269  1.1  christos 
    270  1.1  christos handle SIOCIPFFB in nat_ioctl() and fr_state_ioctl()
    271  1.1  christos 
    272  1.1  christos fix size of friostat for SunOS4
    273  1.1  christos 
    274  1.1  christos fix bug in running off the end of a buffer in real audio proxy
    275  1.1  christos 
    276  1.1  christos 3.3.5	11/12/1999 - Released
    277  1.1  christos 
    278  1.1  christos fix parsing of "log level" and printing it back out too
    279  1.1  christos 
    280  1.1  christos <net/if_types.h> is only present on Solaris2.6/7/8
    281  1.1  christos 
    282  1.1  christos use send_icmp_err rather than icmp_error to send back a frag-needed error
    283  1.1  christos when doing PMTU
    284  1.1  christos 
    285  1.1  christos do not use -b with add_drv on Solaris unless $BASEDIR is set.
    286  1.1  christos 
    287  1.1  christos fix problem where source address in icmp replies is reversed
    288  1.1  christos 
    289  1.1  christos fix yet another problem with real audio.
    290  1.1  christos 
    291  1.1  christos 3.3.4	4/12/1999 - Released
    292  1.1  christos 
    293  1.1  christos fix up the real audio proxy to properly setup state information and NAT
    294  1.1  christos entries, thanks to Laine Stump for testing/advice/fixes.
    295  1.1  christos 
    296  1.1  christos fix ipfr_fastroute to set dst->sin_addr (Sean Farley - appears to prevent
    297  1.1  christos FreeBSD 3.3 from panic'ing) as this had been removed in prior hacks to this
    298  1.1  christos routine.
    299  1.1  christos 
    300  1.1  christos fix kinstall for BSDI
    301  1.1  christos 
    302  1.1  christos support ICMP errors being allowed through for ICMP packets going out with
    303  1.1  christos keep state enabled
    304  1.1  christos 
    305  1.1  christos support hardware checksumming (gigabit ethernet cards) on Solaris thanks to
    306  1.1  christos Tel.Net Media for providing hardware for testing.
    307  1.1  christos 
    308  1.1  christos patched from Frank Volf for ipmon (ICMP & fragmented packets) and allowing
    309  1.1  christos ICMP responses to ICMP packets in the keep state table.
    310  1.1  christos 
    311  1.1  christos add in patches for hardware checksumming under solaris
    312  1.1  christos 
    313  1.1  christos Solaris install scripts now use $BASEDIR as appropriate.
    314  1.1  christos 
    315  1.1  christos add Solaris8 support
    316  1.1  christos 
    317  1.1  christos fix "ipf -y" on solaris so that it rescans rules also for changes in
    318  1.1  christos interface pointers
    319  1.1  christos 
    320  1.1  christos let ipmon become a daemon with -D if it is using syslog
    321  1.1  christos 
    322  1.1  christos fix parsing of return-icmp-as-dest(foo)
    323  1.1  christos 
    324  1.1  christos add reference to ipfstat -g to ipfstat.8
    325  1.1  christos 
    326  1.1  christos ipf_mutex needs to be declared for irix in ip_fil.c
    327  1.1  christos 
    328  1.1  christos 3.3.3	22/10/1999 - Released
    329  1.1  christos 
    330  1.1  christos add -g command line option to ipfstat to show groups still define.
    331  1.1  christos 
    332  1.1  christos fix problem with fragment table not recording rule pointer when called
    333  1.1  christos from state functions (fin_fr not set).
    334  1.1  christos 
    335  1.1  christos fixup fastroute problems with keep state rules.
    336  1.1  christos 
    337  1.1  christos load rules into inactive set first, so we don't disable things like NIS
    338  1.1  christos lookups half way through processing - found by Kevin Littlejohn
    339  1.1  christos 
    340  1.1  christos fix handling of unaligned ip pointer for solaris
    341  1.1  christos 
    342  1.1  christos patch for fr_newauth from Rudi Sluijtman
    343  1.1  christos 
    344  1.1  christos fixed htons() bug in fr_tcpsum() where ip_p wasn't cast to u_short
    345  1.1  christos 
    346  1.1  christos 3.3.2	23/09/1999 - Released
    347  1.1  christos 
    348  1.1  christos patches from Scott Presnell to fix rcmd proxy
    349  1.1  christos 
    350  1.1  christos patches from Greg to fix Solaris detachment of interfaces
    351  1.1  christos 
    352  1.1  christos add openbsd compatibility fixes
    353  1.1  christos 
    354  1.1  christos fix free'ing already freed memory in ipfr_slowtimer()
    355  1.1  christos 
    356  1.1  christos fix for deferencing invalid memory in cleaning up after a device disappears
    357  1.1  christos 
    358  1.1  christos 3.3.1	14/8/1999 - Released
    359  1.1  christos 
    360  1.1  christos remove include file sys/user.h for irix
    361  1.1  christos 
    362  1.1  christos prevent people from running buildsunos directly
    363  1.1  christos 
    364  1.1  christos fix up some problems with the saving of rule pointers so that NAT saves
    365  1.1  christos that information in case it should need to call fr_addstate() from a proxy.
    366  1.1  christos 
    367  1.1  christos fix up scanning for the end of FTP messages
    368  1.1  christos 
    369  1.1  christos don't remove /etc/opt/ipf in postremove
    370  1.1  christos 
    371  1.1  christos attempt to prevent people running buildsolaris script without doing a
    372  1.1  christos "make solaris"
    373  1.1  christos 
    374  1.1  christos fix timeout losing on freebsd3
    375  1.1  christos 
    376  1.1  christos 3.3	7/8/1999 - Released
    377  1.1  christos 
    378  1.1  christos NAT: information (rules, mappings) are stored in hash tables; setup some
    379  1.1  christos basic NAT regression testing.
    380  1.1  christos 
    381  1.1  christos display version name of installed kernel code when initializing.
    382  1.1  christos 
    383  1.1  christos add -V command line option to ipf, showing version (program and kernel
    384  1.1  christos module) as well as the run-status of the kernel code.
    385  1.1  christos 
    386  1.1  christos fix problem with "log" rules actually affecting result of filtering.
    387  1.1  christos 
    388  1.1  christos automatically use SUNWspro if available and on a 64bit Solaris system for
    389  1.1  christos compiling.
    390  1.1  christos 
    391  1.1  christos add kernel proxies for rcmd(3) and RealAudio (PNA)
    392  1.1  christos 
    393  1.1  christos use timeout/untimeout on SunOS4/BSD platforms too rather than hijacking
    394  1.1  christos ip_slowtimo
    395  1.1  christos 
    396  1.1  christos fix IP headers generated through parsing of text information
    397  1.1  christos 
    398  1.1  christos fix NAT rules to be in the correct order again.
    399  1.1  christos 
    400  1.1  christos make keep-state work with to/fastroute keywords and enforce usage of those
    401  1.1  christos interfaces.
    402  1.1  christos 
    403  1.1  christos update keep-state code with new algorithm from Guido
    404  1.1  christos 
    405  1.1  christos add FreeBSD-3 support
    406  1.1  christos 
    407  1.1  christos add return-icmp-as-dest option to retrun an ICMP packet using the original
    408  1.1  christos destination as the source rather than a local IP address
    409  1.1  christos 
    410  1.1  christos add "level [facility.]<priority>" option to filter language
    411  1.1  christos 
    412  1.1  christos add changes from Guido to state code.
    413  1.1  christos 
    414  1.1  christos add code to return EPERM if the device is opened for writing and we're
    415  1.1  christos in securelevel 2 or greater.
    416  1.1  christos 
    417  1.1  christos authentication code patches from Guido
    418  1.1  christos 
    419  1.1  christos fix real audio proxy
    420  1.1  christos 
    421  1.1  christos fix ipmon rule printing of interfaces and add IN/OUT to the end of ipmon
    422  1.1  christos log output.
    423  1.1  christos 
    424  1.1  christos fix bimap rules with hash tables
    425  1.1  christos 
    426  1.1  christos update addresses used in NAT mappings for 0/32 rules for any protocol but TCP
    427  1.1  christos if it changes on the interface - check every ip_natexpire()
    428  1.1  christos 
    429  1.1  christos add redirect regression test
    430  1.1  christos 
    431  1.1  christos count buckets used in the state hash table.
    432  1.1  christos 
    433  1.1  christos fix sending of RST's with return-rst to use the ack number provided in
    434  1.1  christos the packet being replied to in addition to the sequence number.
    435  1.1  christos 
    436  1.1  christos fix to compile as a 64bit application on solaris7-64bit
    437  1.1  christos 
    438  1.1  christos add NAT IP mapping to ranges of IP addresses that aren't CIDR specified
    439  1.1  christos 
    440  1.1  christos fix calculation of in_space parameter for NAT
    441  1.1  christos 
    442  1.1  christos fix `wrapping' when incrementing the next ip address for use in NAT
    443  1.1  christos 
    444  1.1  christos fix free'ing of kernel memory in ip_natunload on solaris
    445  1.1  christos 
    446  1.1  christos fix -l/-U command line options from interfering with each other
    447  1.1  christos 
    448  1.1  christos fix fastroute under solaris2 and cleanup compilation for solaris7
    449  1.1  christos 
    450  1.1  christos add install scripts and compile cleanly on BSD/OS 4.0
    451  1.1  christos 
    452  1.1  christos safely open files in /tmp for writing device output when testing.
    453  1.1  christos 
    454  1.1  christos fix uninitialized pointer bug in NAT
    455  1.1  christos 
    456  1.1  christos fix SIOCZRLST (zero list rule stats) bug with groups
    457  1.1  christos 
    458  1.1  christos change some usage of u_short to u_int in function calling
    459  1.1  christos 
    460  1.1  christos fix compilation for Solaris7 (SUNWspro)
    461  1.1  christos 
    462  1.1  christos change solaris makefiles to build for either sparc or i386 rather than
    463  1.1  christos per-cpu (sun4u, etc).
    464  1.1  christos 
    465  1.1  christos fixed bug in ipllog
    466  1.1  christos 
    467  1.1  christos add patches from George Michaelson for FreeBSD 3.0
    468  1.1  christos 
    469  1.1  christos add patch from Guido to provide ICMP checking for known state in the same
    470  1.1  christos manner as is done for NAT.
    471  1.1  christos 
    472  1.1  christos enable FTP PASV proxying and enable wildcarding in NAT/state code for ports
    473  1.1  christos for better PORT/PASV support with FTP.
    474  1.1  christos 
    475  1.1  christos bring into main tree static nat features: map-block and "auto" portmapping.
    476  1.1  christos 
    477  1.1  christos add in source host filtering for redirects (alan jones)
    478  1.1  christos 
    479  1.1  christos 3.2.10		22/11/98 - Released
    480  1.1  christos 
    481  1.1  christos 3.2.10beta9	17/11/98 - Released
    482  1.1  christos 
    483  1.1  christos fix fr_tcpsum problems in handling mbufs with an odd number of bytes
    484  1.1  christos and/or split across an mbuf boundary
    485  1.1  christos 
    486  1.1  christos fix NAT list entry comparisons and allow multiple entries for the same
    487  1.1  christos proxy (but on different ports).
    488  1.1  christos 
    489  1.1  christos don't create duplicate NAT entries for repeated PORT commands.
    490  1.1  christos 
    491  1.1  christos 3.2.10beta8	14/11/98 - Released
    492  1.1  christos 
    493  1.1  christos always exit an rwlock before expecting to enter it again on solaris
    494  1.1  christos 
    495  1.1  christos fix loop in nat_new for pre-existing nat
    496  1.1  christos 
    497  1.1  christos don't setup state for an ftp connection if creating nat fails.
    498  1.1  christos 
    499  1.1  christos 3.2.10beta7	05/11/98 - Released
    500  1.1  christos 
    501  1.1  christos set fake window in ipft_tx.c to ensure code passes tests.
    502  1.1  christos 
    503  1.1  christos cleaned up/enhanced ipnat -l/ipnat -lv output
    504  1.1  christos 
    505  1.1  christos fixed NAT handling of non-TCP/UDP packets, esp. for ICMP errors returned.
    506  1.1  christos 
    507  1.1  christos Solaris recusive mutex on icmp-error/tcp-reset - requires rwlock's rather
    508  1.1  christos than mutexes.
    509  1.1  christos 
    510  1.1  christos 3.2.10beta6	03/11/98 - Released
    511  1.1  christos 
    512  1.1  christos fix mixed use of krwlock_t and kmutex_t on Solaris2
    513  1.1  christos 
    514  1.1  christos fix FTP proxy back up, splitting pasv code out of port code.
    515  1.1  christos 
    516  1.1  christos 3.2.10beta5	02/11/98 - Released
    517  1.1  christos 
    518  1.1  christos fixed port translation in ICMP reply handling
    519  1.1  christos 
    520  1.1  christos 3.2.10beta4	01/11/98 - Released
    521  1.1  christos 
    522  1.1  christos increase useful statistic collection on solaris
    523  1.1  christos 
    524  1.1  christos filter DL_UNITDATA_REQ as well as DL_UNITDATA_IND on solaris
    525  1.1  christos 
    526  1.1  christos disable PASV reply translation for now
    527  1.1  christos 
    528  1.1  christos fail with an error if we try to load a NAT rule with a non-existant
    529  1.1  christos    proxy name - Guido
    530  1.1  christos 
    531  1.1  christos fix portmap usage with 0/0 and 0/32 map rules
    532  1.1  christos 
    533  1.1  christos remove ap_unload/ap_expire - automatically done when NAT is cleaned up
    534  1.1  christos 
    535  1.1  christos print "STATE:CLOSED" from ipmon if the connection progresses past established
    536  1.1  christos    rather than "STATE:EXPIRED"
    537  1.1  christos 
    538  1.1  christos 3.2.10beta3	26/10/98 - Released
    539  1.1  christos 
    540  1.1  christos fixed traceroute/nat problem
    541  1.1  christos 
    542  1.1  christos rewrote nat/proxy interface
    543  1.1  christos 
    544  1.1  christos ipnat now lists associated proxy sessions for each NAT where applicable
    545  1.1  christos 
    546  1.1  christos 3.2.10beta2	13/10/98 - Released
    547  1.1  christos 
    548  1.1  christos use KRWLOCK_T in place of krwlock_t for solaris as well as irix
    549  1.1  christos 
    550  1.1  christos disable use of read-write lock acquisition by default
    551  1.1  christos 
    552  1.1  christos add in mb_t for linux, non-kernel
    553  1.1  christos 
    554  1.1  christos some changes to progress compilation on linux with glibc
    555  1.1  christos 
    556  1.1  christos change PASV as well as PORT when passed through kernel ftp proxy.
    557  1.1  christos 
    558  1.1  christos don't allow window to become 0 in tcp state code
    559  1.1  christos 
    560  1.1  christos make ipmon compile cleaner
    561  1.1  christos 
    562  1.1  christos irix patches
    563  1.1  christos 
    564  1.1  christos 3.2.10beta	11/09/98 - Released
    565  1.1  christos 
    566  1.1  christos stop fr_tcpsum() thinking it has run out of data when it hasn't.
    567  1.1  christos 
    568  1.1  christos stop solaris panics due to fin_dp being something wild.
    569  1.1  christos 
    570  1.1  christos revisit usage of ATOMIC_*()
    571  1.1  christos 
    572  1.1  christos log closing state of TCP connection in "keep state"
    573  1.1  christos 
    574  1.1  christos fix fake-arp table code for ipsend.
    575  1.1  christos 
    576  1.1  christos ipmon now writes pid to a file.
    577  1.1  christos 
    578  1.1  christos fix "ipmon -a" to actually activate all logging devices.
    579  1.1  christos 
    580  1.1  christos add patches for BSDOS4.
    581  1.1  christos 
    582  1.1  christos perl scripts for log analysis donated.
    583  1.1  christos 
    584  1.1  christos 3.2.9	22/06/98 - Released
    585  1.1  christos 
    586  1.1  christos fix byte order for ICMP packets generated on Solaris
    587  1.1  christos 
    588  1.1  christos fix some locking problems.
    589  1.1  christos 
    590  1.1  christos fix malloc bug in NAT (introduced in 3.2.8).
    591  1.1  christos 
    592  1.1  christos patch from guido for state connections that get fragmented
    593  1.1  christos 
    594  1.1  christos 3.2.8	08/06/98 - Released
    595  1.1  christos 
    596  1.1  christos use readers/writers locks in Solaris2 in place of some mutexes.
    597  1.1  christos 
    598  1.1  christos Solaris2 installation enhancements - Martin Forssen (maf@carlstedt.se)
    599  1.1  christos 
    600  1.1  christos 3.2.7	24/05/98 - Released
    601  1.1  christos 
    602  1.1  christos u_long -> u_32_t conversions
    603  1.1  christos 
    604  1.1  christos patches from Bernd Ernesti for NetBSD
    605  1.1  christos 
    606  1.1  christos fixup ipmon to actually handle HUP's.
    607  1.1  christos 
    608  1.1  christos Linux fixes from Michael H. Warfield (mhw (at] wittsend.com)
    609  1.1  christos 
    610  1.1  christos update for keep state patch (not security related) - Guido
    611  1.1  christos 
    612  1.1  christos dumphex() uses stdout rather than log
    613  1.1  christos 
    614  1.1  christos 3.2.6	18/05/98 - Released
    615  1.1  christos 
    616  1.1  christos fix potential security loop hole in keep state code.
    617  1.1  christos 
    618  1.1  christos update examples.
    619  1.1  christos 
    620  1.1  christos 3.2.5	09/05/98 - Released
    621  1.1  christos 
    622  1.1  christos BSD/OS 3.1 .o files added for the kernel.
    623  1.1  christos 
    624  1.1  christos fix sequence # skew vs window size check.
    625  1.1  christos 
    626  1.1  christos fix minimum ICMP header size check.
    627  1.1  christos 
    628  1.1  christos remove references to Cybersource.
    629  1.1  christos 
    630  1.1  christos fix my email address.
    631  1.1  christos 
    632  1.1  christos remove ntohl in ipnat - Thomas Tornblom
    633  1.1  christos 
    634  1.1  christos 3.2.4	09/04/98 - Released
    635  1.1  christos 
    636  1.1  christos add script to make devices for /dev on BSD boxes
    637  1.1  christos 
    638  1.1  christos fixup building into the kernel for FreeBSD 2.2.5
    639  1.1  christos 
    640  1.1  christos add -D command line option to ipmon to make it a daemon and SIGHUP causes
    641  1.1  christos it to close and reopen the logfile
    642  1.1  christos 
    643  1.1  christos fixup make clean and make package for SunOS5 - Marc Boucher
    644  1.1  christos 
    645  1.1  christos postinstall keeps adding "minor=ipf ipl" - George Ross <gdmr (at] dcs.ed.ac.uk>
    646  1.1  christos 
    647  1.1  christos protected by IP Filter gif - Sergey Solyanik <solik (at] atom.ru>
    648  1.1  christos 
    649  1.1  christos 3.2.3	10/11/97 - Released
    650  1.1  christos 
    651  1.1  christos fix some iplang bugs
    652  1.1  christos 
    653  1.1  christos fix tcp checksum data overrun, sgi #define changes,
    654  1.1  christos avoid infinite loop when nat'ing to single IP# - Marc Boucher
    655  1.1  christos 
    656  1.1  christos fixup DEVFS usage for FreeBSD
    657  1.1  christos 
    658  1.1  christos fix sunos5 "make clean" cleaning up too much
    659  1.1  christos 
    660  1.1  christos 3.2.2	28/11/97 - Released
    661  1.1  christos 
    662  1.1  christos change packet matching to return actual error, if bad packet, to facilitate
    663  1.1  christos ECONNRESET for TCP.
    664  1.1  christos 
    665  1.1  christos allow ip:netmask in grammar too now - Guido
    666  1.1  christos 
    667  1.1  christos assume IRIX has u_int32_t in sys/types.h (needed for R10000)
    668  1.1  christos 
    669  1.1  christos rewrite parts of command line options for ipmon
    670  1.1  christos 
    671  1.1  christos fix TCP urgent packet & offset testing and add LAND attack test for iptest
    672  1.1  christos 
    673  1.1  christos fix grammar error in yacc grammar for iplang
    674  1.1  christos 
    675  1.1  christos redirect (rdr) destination port bytes-wapped when it shouldn't be.
    676  1.1  christos 
    677  1.1  christos general: fr_check now returns error code, such as EHOSTUNREACH or
    678  1.1  christos ECONNRESET (attempt to make ECONNRESET work for locally outbound
    679  1.1  christos packets).
    680  1.1  christos 
    681  1.1  christos linux: enable return-rst, need to filter tcp retransmits which are sent
    682  1.1  christos        separately from normal packets
    683  1.1  christos 
    684  1.1  christos memory leak plugged in ip_proxy.c
    685  1.1  christos 
    686  1.1  christos BSDI compatibility patches from Guido
    687  1.1  christos 
    688  1.1  christos tcp checksum fix - Marc Boucher
    689  1.1  christos 
    690  1.1  christos recursive mutex and ioctl param fix - Marc Boucher
    691  1.1  christos 
    692  1.1  christos 3.2.1	12/11/97 - Released
    693  1.1  christos 
    694  1.1  christos port to BSD/OS 3.0
    695  1.1  christos 
    696  1.1  christos port to Linux 2.0.31
    697  1.1  christos 
    698  1.1  christos patches to make "map a/m -> 0/0" work with ftp proxying properly - Marc Boucher
    699  1.1  christos 
    700  1.1  christos add "ipf -F s" and "ipf -F S" to flush state table entries.
    701  1.1  christos 
    702  1.1  christos announce if logging is on or off when ip filter initializes.
    703  1.1  christos 
    704  1.1  christos "ipf -F a" doesn't flush groups properly for Solaris.
    705  1.1  christos 
    706  1.1  christos 3.2		30/10/97 - Released
    707  1.1  christos 
    708  1.1  christos ipnat doesn't successfully remove proxy mappings with "-rf" -
    709  1.1  christos Alexander Romanyu
    710  1.1  christos 
    711  1.1  christos use K&R C function style for solaris kernel code
    712  1.1  christos 
    713  1.1  christos use m_adj() to decrease packet size in ftp proxy
    714  1.1  christos 
    715  1.1  christos use mbufchainlen rather than msgdsize,
    716  1.1  christos IRIX update - Marc Boucher
    717  1.1  christos 
    718  1.1  christos fix NetBSD modunload bug (pfil_add_hook done twice)
    719  1.1  christos 
    720  1.1  christos patches for OpenBSD 2.1 - Craig Bevins <craigb (at] bitcom.net.au>
    721  1.1  christos 
    722  1.1  christos 3.2beta10	24/10/97 - Released
    723  1.1  christos 
    724  1.1  christos fix fragment table entries allocated for NAT.
    725  1.1  christos 
    726  1.1  christos fix tcp checksum calculations over mbuf/mblk boundaries
    727  1.1  christos 
    728  1.1  christos fix panic for blen < 0 in ftp kernel proxy - marc boucher
    729  1.1  christos 
    730  1.1  christos fix flushing of rules which have been grouped.
    731  1.1  christos 
    732  1.1  christos 3.2beta9	20/10/97 - Released
    733  1.1  christos 
    734  1.1  christos some nit picking on solaris2 with SUNWspro - Michael Lyle <mrl (at] rpnet.net>
    735  1.1  christos 
    736  1.1  christos ftp kernel proxy patches from Marc Boucher
    737  1.1  christos 
    738  1.1  christos 3.2beta8	13/10/97 - Released
    739  1.1  christos 
    740  1.1  christos add support for passing ICMP errors back through NAT.
    741  1.1  christos 
    742  1.1  christos IRIX port update - Marc Boucher
    743  1.1  christos 
    744  1.1  christos calculate correct MIN size of packet to log for UDP - Marc Boucher
    745  1.1  christos 
    746  1.1  christos need htons(ETHERTYPE_x) on little endian BSD boxes - Dave Huang
    747  1.1  christos 
    748  1.1  christos copyright header fixups
    749  1.1  christos 
    750  1.1  christos 3.2beta7	23/09/97 - Released
    751  1.1  christos 
    752  1.1  christos fickup problems introduced by prior merges & changes.
    753  1.1  christos 
    754  1.1  christos 3.2beta6	23/09/97 - Released
    755  1.1  christos 
    756  1.1  christos patch for spin-reading race condition - Marc Boucher.
    757  1.1  christos 
    758  1.1  christos IRIX port by Marc Boucher.
    759  1.1  christos 
    760  1.1  christos compatibility updates for Linux to ipsend
    761  1.1  christos 
    762  1.1  christos 3.2beta5	13/09/97 - Released
    763  1.1  christos 
    764  1.1  christos patches from Bernd Ernesti for NetBSD integration (mostly prototyping and
    765  1.1  christos compiler warning things)
    766  1.1  christos 
    767  1.1  christos ipf -y will resync IP#'s allocated with 0/32 in NAT to match interface if it
    768  1.1  christos changes.
    769  1.1  christos 
    770  1.1  christos update manual pages and other documentation updates.
    771  1.1  christos 
    772  1.1  christos 3.2beta4	27/8/97 - Released
    773  1.1  christos 
    774  1.1  christos enable setting IP and TCP options for iplang/
    775  1.1  christos 
    776  1.1  christos Solaris2 patches from Marc Boucher.
    777  1.1  christos 
    778  1.1  christos add groups for filter rules.
    779  1.1  christos 
    780  1.1  christos 3.2beta3	21/8/97 - Released
    781  1.1  christos 
    782  1.1  christos patches for Solaris2 (interface panic solution ?): fix FIONREAD and
    783  1.1  christos replacing q_qinfo points - Marc Boucher <marc@CAM.ORG>
    784  1.1  christos 
    785  1.1  christos change ipsend/* and ipsd/* copyright notices to be the same as ip filter's
    786  1.1  christos 
    787  1.1  christos patch for SYN-ACK skew testing fix from Eric V. Smith <EricSmith (at] windsor.com>
    788  1.1  christos 
    789  1.1  christos 3.2beta2	6/8/97 - Released
    790  1.1  christos 
    791  1.1  christos make it load on Solaris 2.3
    792  1.1  christos 
    793  1.1  christos rewrote logging to remove solaris errors, introduced checking to see if the
    794  1.1  christos same packet is logged successively.
    795  1.1  christos 
    796  1.1  christos fix filter cache to work when there are no rules loaded.
    797  1.1  christos 
    798  1.1  christos add "raw" option to ipresend to send entire ethernet frames.
    799  1.1  christos 
    800  1.1  christos nat list corruption bug - NetBSD - Klaus Klein
    801  1.1  christos 
    802  1.1  christos 3.2beta1	5/7/97 - Released
    803  1.1  christos 
    804  1.1  christos patches from Jason Thorpe fixing: UNSIGNED_CHAR lossage, off_t being 64bits
    805  1.1  christos lossage, and other NetBSD bits.
    806  1.1  christos 
    807  1.1  christos NetBSD 1.2G update.
    808  1.1  christos 
    809  1.1  christos fixup fwtk patches and add protocol field for SIOCGNATL.
    810  1.1  christos 
    811  1.1  christos rdr bugs reported by Alexander Romanyu (alexr (at] aix.krid.crimea.ua), with
    812  1.1  christos fixes:
    813  1.1  christos * rdr matched all packets of a given protocol (ignored ports).
    814  1.1  christos * severe bug in nat_delete which caused system crash/freeze.
    815  1.1  christos 
    816  1.1  christos change Makefile so that CC isn't passed on for FreeBSD/NetBSD (will use
    817  1.1  christos the default CC - cc, not gcc)
    818  1.1  christos 
    819  1.1  christos 3.2alpha9	16/6/97 - Released
    820  1.1  christos 
    821  1.1  christos added "skip" keyword.
    822  1.1  christos 
    823  1.1  christos implement preauthentication of packets, as outlined by Guido.
    824  1.1  christos 
    825  1.1  christos Make it compile as cleanly as possible with -Wall & general code cleanup
    826  1.1  christos 
    827  1.1  christos getopt returns int, not char. Bernd Ernesti
    828  1.1  christos 
    829  1.1  christos 3.2alpha8	13/6/97 - Released
    830  1.1  christos 
    831  1.1  christos code added to support "auth" rules which require a user program to allow them
    832  1.1  christos through.  First revision and much of the code came from Guido.
    833  1.1  christos 
    834  1.1  christos hex output from ipmon doesn't goto syslog when recovering from out of sync
    835  1.1  christos error.  Luke Mewburn (lukem (at] connect.com.au)
    836  1.1  christos 
    837  1.1  christos fix solaris2.6 lookup of destination ire's.
    838  1.1  christos 
    839  1.1  christos ipnat doesn't throw away unused bits (after masking), causing it to
    840  1.1  christos behave incorrectly. Carson Gaspar
    841  1.1  christos 
    842  1.1  christos NAT code doesn't include inteface name when matching - Alexey Mavrin
    843  1.1  christos <lha@elco.spb.ru>
    844  1.1  christos 
    845  1.1  christos replace old SunOS tcpip.h with new tcpip.h (from 4.4BSD) - Jason Thorpe.
    846  1.1  christos 
    847  1.1  christos update install procedures to include ip_proxy.c
    848  1.1  christos 
    849  1.1  christos mask out unused bits in NAT/RDR rules.
    850  1.1  christos 
    851  1.1  christos use a generic type (u_32_t) for 32bit variables, rather than rely on
    852  1.1  christos u_long being such - Jason Thorpe.
    853  1.1  christos 
    854  1.1  christos create a local "netinet" directory and include from ~netinet/*" rather than
    855  1.1  christos just "*" to make keeping the code working on ports easier.
    856  1.1  christos 
    857  1.1  christos add an m_copydata and m_copyback for SunOS4 (based on 4.4BSD-Lite versions)
    858  1.1  christos 
    859  1.1  christos documentation updates.
    860  1.1  christos 
    861  1.1  christos NetBSD update from Jason Thorpe <thorpej (at] netbsd.org>
    862  1.1  christos 
    863  1.1  christos allow RST's through with a matching SEQ # and 0 ACK.  Guido Van Rooij
    864  1.1  christos 
    865  1.1  christos ipmon uses excessive amounts of CPU on Solaris2 - Reinhard Bertram
    866  1.1  christos <Reinhard.Bertram (at] KOM.th-darmstadt.de>
    867  1.1  christos 
    868  1.1  christos 3.2alpha7	25/5/97 - Released
    869  1.1  christos 
    870  1.1  christos add strlen for pre-2.2 kernels - Doug Kite <dkite (at] websgi.icomnet.com>
    871  1.1  christos 
    872  1.1  christos setup bits and pieces for compiling into a FreeBSD-2.2 kernel.
    873  1.1  christos 
    874  1.1  christos split up "bsd" targets.  Now a separate netbsd/freebsd/bsd target.
    875  1.1  christos mln_ipl.c has been split up into itself and mlf_ipl.c (for freebsd).
    876  1.1  christos 
    877  1.1  christos fix (negative) host matching in filtering.
    878  1.1  christos 
    879  1.1  christos add sysctl interface for some variables when compiled into FreeBSD-2.2 kernels
    880  1.1  christos or later.
    881  1.1  christos 
    882  1.1  christos make all the candidates for kernel compiling include "netinet/..." and build
    883  1.1  christos a subdirectory "netinet" when compiling and symlink all .h files into this.
    884  1.1  christos 
    885  1.1  christos add install make target to Makefile.ipsend
    886  1.1  christos 
    887  1.1  christos 3.2alpha6	8/5/97 - Released
    888  1.1  christos 
    889  1.1  christos Add "!" (not) to hostname/ip matching.
    890  1.1  christos 
    891  1.1  christos Automatically add packet info to the fragment cache if it is a fragment
    892  1.1  christos and we're translating addreses for.
    893  1.1  christos 
    894  1.1  christos Automatically add packet info to the fragment cache if it is a fragment
    895  1.1  christos and we're "keeping state" for the packet.
    896  1.1  christos 
    897  1.1  christos Solaris2 patches - Anthony Baxter (arb (at] connect.com.au)
    898  1.1  christos 
    899  1.1  christos change install procedure for FreeBSD 2.2 to allow building to a kernel
    900  1.1  christos which is different to the running kernel.
    901  1.1  christos 
    902  1.1  christos add FIONREAD for Solaris2!
    903  1.1  christos 
    904  1.1  christos when expiring NAT table entries, if we would set a time to fr_tcpclosed
    905  1.1  christos (which is 1), make it fr_tcplaskack(20) so that the state tables have a
    906  1.1  christos chance to clear up.
    907  1.1  christos 
    908  1.1  christos 3.2alpha5
    909  1.1  christos 
    910  1.1  christos add proxying skeleton support and sample ftp transparent proxy code.
    911  1.1  christos 
    912  1.1  christos add printfs at startup to tell user what is happening.
    913  1.1  christos 
    914  1.1  christos add packets & bytes for EXPIRE NAT log records.
    915  1.1  christos 
    916  1.1  christos fix the "install-bsd" target in the root Makefile. Chris Williams
    917  1.1  christos <psion (at] mv.mv.com>
    918  1.1  christos 
    919  1.1  christos Fixes for FreeBSD 2.2 (and later revs) to prevent panics.  Julian Assange.
    920  1.1  christos 
    921  1.1  christos 3.2alpha4	2/4/97 - Released
    922  1.1  christos 
    923  1.1  christos Some compiler warnings cleaned up.
    924  1.1  christos 
    925  1.1  christos FreeBSD-2.2 patches for LKM completed.
    926  1.1  christos 
    927  1.1  christos 3.2alpha3	31/3/97 - Released
    928  1.1  christos 
    929  1.1  christos ipmon changes: -N for reading NAT logfile, -S for reading state logfile.
    930  1.1  christos -a for reading all.  -n now toggles hostname resolution.
    931  1.1  christos 
    932  1.1  christos Add logging of new state entries and expiration of old state entries.
    933  1.1  christos count log successes and failures.
    934  1.1  christos 
    935  1.1  christos Add logging of new NAT entries and expiration of old NAT entries.
    936  1.1  christos count log successes and failures.
    937  1.1  christos 
    938  1.1  christos Use u_quad_t for records of bytes & packets where kept
    939  1.1  christos (IP Accounting: fr_hits, fr_bytes; IP state: is_pkts, is_bytes).
    940  1.1  christos 
    941  1.1  christos Fixup use of CPU and DCPU in Makefiles.
    942  1.1  christos 
    943  1.1  christos Fix broken 0/32 NAT mapping. Carl Makin <cmakin (at] nla.gov.au>
    944  1.1  christos 
    945  1.1  christos 3.2alpha2
    946  1.1  christos 
    947  1.1  christos Implement mapping to 0/32 as being an alias for automatically using the
    948  1.1  christos interface's first IP address.
    949  1.1  christos 
    950  1.1  christos Implement separate minor devices for both NAT and IP state code.
    951  1.1  christos 
    952  1.1  christos Fully prototype all functions.
    953  1.1  christos 
    954  1.1  christos Fix Makefile problem due to attempt to fix Sun compiling problems.
    955  1.1  christos 
    956  1.1  christos 3.1.10		23/3/97 - Released
    957  1.1  christos 
    958  1.1  christos ipfstat -a requires a -i or -o command line option too.  Print an error
    959  1.1  christos when not present rather than attempt to do something.
    960  1.1  christos 
    961  1.1  christos patch updates for SunOS4 for kernel compiling.
    962  1.1  christos patch for ipmon -s (flush's syslog file which isn't good).  Andrew J. Schorr
    963  1.1  christos <schorr (at] ead.dsa.com>
    964  1.1  christos 
    965  1.1  christos too many people hit their heads hard when compiling code into the kernel
    966  1.1  christos that doesn't let any packets through. (fil.c - IPF_NOMATCH)
    967  1.1  christos 
    968  1.1  christos icmp-type parsing doesn't return any errors when it isn't constructed
    969  1.1  christos correctly.  Neil Readwin
    970  1.1  christos 
    971  1.1  christos Using "-conf" with modload on SunOS4 doesn't work.
    972  1.1  christos Timothy Demarest <demarest (at] arraycomm.com>
    973  1.1  christos 
    974  1.1  christos Need to define ARCH in makefile for SunOS4 building.  "make sunos4"
    975  1.1  christos in INSTALL.SunOS is incorrect. James R Grinter <jrg (at] blodwen.demon.co.uk>
    976  1.1  christos [all SunOS targets now run buildsunos]
    977  1.1  christos 
    978  1.1  christos NAT lookups are still incorrect, matching non-TCP/UDP with TCP/UDP
    979  1.1  christos information. ArkanoiD <ark (at] paranoid.convey.ru>
    980  1.1  christos 
    981  1.1  christos Need to check for __FreeBSD_version being 199511 rather than 199607
    982  1.1  christos in mln_ipl.c. Eric Feillant <Eric.Feillant (at] EUnet.fr>
    983  1.1  christos 
    984  1.1  christos 3.1.9		8/3/97 - Released
    985  1.1  christos 
    986  1.1  christos fixed incorrect lookup of active NAT entries.
    987  1.1  christos 
    988  1.1  christos patch for ip_deq() wrong for pre 2.1.6 FreeBSD.
    989  1.1  christos fyeung (at] fyeung8.netific.com (Francis Yeung)
    990  1.1  christos 
    991  1.1  christos check for out with return-rst/return-icmp at wrong place - Erkki Ritoniemi
    992  1.1  christos (erkki (at] vlsi.fi)
    993  1.1  christos 
    994  1.1  christos text_readip returns the interface pointer pointing to text on stack -
    995  1.1  christos Neil Readwin
    996  1.1  christos 
    997  1.1  christos fix from Pradeep Krishnan for printout rules "with not opt sec".
    998  1.1  christos 
    999  1.1  christos 3.1.8		18/2/97 - Released
   1000  1.1  christos 
   1001  1.1  christos Diffs for ip_output.c and ip_input.c updated to fix bug with fastroute and
   1002  1.1  christos compiling warnings about reuse of m0.
   1003  1.1  christos 
   1004  1.1  christos prevent use of return-rst and return-icmp with rules blocking packets going
   1005  1.1  christos out, preventing panics in certain situations.
   1006  1.1  christos 
   1007  1.1  christos loop forms in frag cache table - Yury Pshenychny <yura (at] rd.zgik.zaporizhzhe.ua>
   1008  1.1  christos 
   1009  1.1  christos should use SPLNET/SPLX around expire routines in NAT/frag/state code.
   1010  1.1  christos 
   1011  1.1  christos redeclared malloc in 44arp.c -
   1012  1.1  christos 
   1013  1.1  christos 3.1.7		8/2/97 - Released
   1014  1.1  christos 
   1015  1.1  christos Macros used for ntohs/htons supplied with gcc don't always work very well
   1016  1.1  christos when the assignment is the same variable being converted.
   1017  1.1  christos 
   1018  1.1  christos Filter matching doesn't not match rule which checks tcp flags on packets
   1019  1.1  christos which are fragments - David Wilson
   1020  1.1  christos 
   1021  1.1  christos 3.1.7beta	30/1/97 - Released
   1022  1.1  christos 
   1023  1.1  christos Fix up NAT bugs introduced in last major change (now tested), including
   1024  1.1  christos nat_delete(), nat_lookupredir(), checksum changes, etc.
   1025  1.1  christos 
   1026  1.1  christos 3.1.7alpha	30/1/97 - Released
   1027  1.1  christos 
   1028  1.1  christos Many changes to NAT code, including contributions from Laurent Joncheray
   1029  1.1  christos <lpj (at] ans.net>
   1030  1.1  christos 
   1031  1.1  christos Use "NO_SLEEP" when allocating memory under SunOS.
   1032  1.1  christos 
   1033  1.1  christos Make kernel printf's nicer for BSD/SunOS4
   1034  1.1  christos 
   1035  1.1  christos Always do a checksum for packets being filtered going out and being
   1036  1.1  christos processed by fastroute.
   1037  1.1  christos 
   1038  1.1  christos Leave kernel to play with cdevsw on *BSD systems with LKM's.
   1039  1.1  christos 
   1040  1.1  christos ipnat.1 man page fixes.
   1041  1.1  christos 
   1042  1.1  christos 3.1.6		21/1/97 - Released
   1043  1.1  christos 
   1044  1.1  christos Allow NAT to work on BSD systems in conjunction with "pass .. to ifname"
   1045  1.1  christos 
   1046  1.1  christos Memory leak introduced in 3.1.3 in NAT lists, clearing of NAT table tried
   1047  1.1  christos to free memory twice.
   1048  1.1  christos 
   1049  1.1  christos NAT recalculates IP header checksum based on difference between IP#'s and
   1050  1.1  christos port numbers - should be just IP#'s (Solaris2 only)
   1051  1.1  christos 
   1052  1.1  christos 3.1.5		13/1/97 - Released
   1053  1.1  christos 
   1054  1.1  christos fixed setting of NAT timeouts and use different timeouts for concurrent
   1055  1.1  christos TCP sessions using the same IP# mapping (when port mapping isn't used)
   1056  1.1  christos 
   1057  1.1  christos multiple loading/unloading of LKM's doesn't clean up cdevsw properly for
   1058  1.1  christos *BSD systems.
   1059  1.1  christos 
   1060  1.1  christos 3.1.4		10/1/97	- Released
   1061  1.1  christos 
   1062  1.1  christos add command line options -C and -F to ipnat to flush NAT list and table
   1063  1.1  christos 
   1064  1.1  christos ipnat -l loops on output - Neil Readwin (nreadwin (at] nysales.micrognosis.com)
   1065  1.1  christos 
   1066  1.1  christos NetBSD/FreeBSD kernel malloc changes - Daniel Carosone
   1067  1.1  christos 
   1068  1.1  christos 3.1.3		10/1/97 - Released
   1069  1.1  christos 
   1070  1.1  christos NAT chains not constructed correctly in hash tables - Antony Y.R Lu
   1071  1.1  christos (antony (at] hawk.ee.ncku.edu.tw)
   1072  1.1  christos 
   1073  1.1  christos Updated INSTALL.NetBSD, INSTALL.FreeBSD and INSTALL.Sol2
   1074  1.1  christos 
   1075  1.1  christos man page update (ipf.5) from Daniel Carosone (dan (at] geek.com.au)
   1076  1.1  christos 
   1077  1.1  christos ICMP header checksum update now included in NAT.
   1078  1.1  christos 
   1079  1.1  christos Solaris2 needs to modify IP header checksums in ip_natin and ip_natout.
   1080  1.1  christos 
   1081  1.1  christos 3.1.2		4/12/96 - Released
   1082  1.1  christos 
   1083  1.1  christos ipmon doesn't use syslog all the time when given -s option
   1084  1.1  christos 
   1085  1.1  christos fixed mclput panic in ip_input.c and replace ntohs() with NTOHS() macro
   1086  1.1  christos 
   1087  1.1  christos check the results of hostname resolution in ipnat
   1088  1.1  christos 
   1089  1.1  christos "make *install" fixed for subdirectories.
   1090  1.1  christos 
   1091  1.1  christos problems with "ARCH:=" and gnu make resolved
   1092  1.1  christos 
   1093  1.1  christos parser reports an error for lines with whitespaces only rather than skipping
   1094  1.1  christos them. D.Carosone (at] abm.com.au (Daniel Carosone)
   1095  1.1  christos 
   1096  1.1  christos patches for integration into NetBSD-current (post 1.2).
   1097  1.1  christos 
   1098  1.1  christos add an option to allow non-IP packets going up/down the stream on Solaris2
   1099  1.1  christos to be dropped. John Bass.
   1100  1.1  christos 
   1101  1.1  christos 3.1.2beta	21/11/96 - Released
   1102  1.1  christos 
   1103  1.1  christos make ipsend compile on Linux 2.0.24
   1104  1.1  christos 
   1105  1.1  christos changes to TCP kept state algorithm, making it watch state on TCP
   1106  1.1  christos connections in both directions.  Also use the same algorithm for NAT TCP.
   1107  1.1  christos 
   1108  1.1  christos -Wall cleanup - Bernd Ernesti
   1109  1.1  christos 
   1110  1.1  christos added "or-block" for "pass .. log or-block" after a suggestion from
   1111  1.1  christos David Oppenheim (davido (at] optimation.com.au)
   1112  1.1  christos 
   1113  1.1  christos added subdirectories for building IP Filter in SunOS5/BSD for different
   1114  1.1  christos cpu architecures
   1115  1.1  christos 
   1116  1.1  christos Solaris2 fixes to logging and pre-filtering packet processing - 3.1.1p2
   1117  1.1  christos 
   1118  1.1  christos mbuf logging not using mtod(), remove iplbusy - 3.1.1p1		1/11/96
   1119  1.1  christos 
   1120  1.1  christos 3.1.1		28/10/96 - Released
   1121  1.1  christos 
   1122  1.1  christos Installation script fixes and deinstall scripts for IP Filter on:
   1123  1.1  christos SunOS4/FreeBSD/NetBSD
   1124  1.1  christos 
   1125  1.1  christos Man page fixes - Paul Dubois (dubois (at] primate.wisc.edu)
   1126  1.1  christos 
   1127  1.1  christos Fix use of SOLARIS macro in ipmon, rewrote ipllog() (again!)
   1128  1.1  christos 
   1129  1.1  christos parsing isn't completely case insensitive - David Wilson
   1130  1.1  christos (davidw (at] optimation.com.au)
   1131  1.1  christos 
   1132  1.1  christos Release ipl_mutex across uiomove() calls
   1133  1.1  christos 
   1134  1.1  christos print entire rule entries out for "ipf -z" when zero'ing per-rule stats.
   1135  1.1  christos 
   1136  1.1  christos ipfstat returns same output for "hits" in "ipfstat -aio" - Terletsky Slavik
   1137  1.1  christos (ts (at] polynet.lviv.ua)
   1138  1.1  christos 
   1139  1.1  christos New algorithm for setting timeouts for TCP connection (more closely follow
   1140  1.1  christos TCP FSM) - Pradeep Krishnan (pkrishna (at] netcom.com)
   1141  1.1  christos 
   1142  1.1  christos Track both window sizes for TCP connections through "keep state".
   1143  1.1  christos 
   1144  1.1  christos Solaris2 doesn't like _KERNEL defined in stdargs.h - Jos van Wezel
   1145  1.1  christos (wezel (at] bio.vu.nl)
   1146  1.1  christos 
   1147  1.1  christos 3.1.1-beta2	6/10/96 - Released
   1148  1.1  christos 
   1149  1.1  christos Solaris2 fastroute/dup-to/to now works
   1150  1.1  christos 
   1151  1.1  christos ipmon `record' reading rewritten
   1152  1.1  christos 
   1153  1.1  christos Added post-NetBSD1.2 packet filter patches - Mathew Green (mrg (at] eterna.com.au)
   1154  1.1  christos 
   1155  1.1  christos Attempt to use in_proto.c.diff, not "..diffs" for SunOS4 - David Wilson
   1156  1.1  christos (davidw (at] optimation.com.au)
   1157  1.1  christos 
   1158  1.1  christos Michael Ryan (mike (at] NetworX.ie) reports the following:
   1159  1.1  christos * The Trumpet WinSock under Windows always sends its SYN packet with an ACK
   1160  1.1  christos   value of 1, unlike any other implementation I've seen, which would set it
   1161  1.1  christos   to zero.  The "keep state" feature of IP Filter doesn't work when receiving
   1162  1.1  christos   non-zero ACK values on new connection requests.
   1163  1.1  christos * */Makefile install rule doesn't install all the binaries/man pages
   1164  1.1  christos * Make ipnat use "tcp/udp" instead of "tcpudp"
   1165  1.1  christos * Print out "tcp/udp" properly
   1166  1.1  christos * ipnat "portmap tcp" matches "portmap udp" when adding/removing
   1167  1.1  christos * NAT dest. ip# increased by one on mask of 0xffffffff when it shouldn't
   1168  1.1  christos 
   1169  1.1  christos 3.1.1-beta	1/9/96 - Released
   1170  1.1  christos 
   1171  1.1  christos add better detection of TCP connections closing to TCP state monitoring.
   1172  1.1  christos 
   1173  1.1  christos fr_addstate() not called correctly for fragments.  "keep state" and
   1174  1.1  christos "keep frag" code don't work together 100% - Songqing Cai
   1175  1.1  christos (songqing_cai (at] sterling.com)
   1176  1.1  christos 
   1177  1.1  christos call to fr_addstate() incorrect for adding state in combination with keeping
   1178  1.1  christos fragment information - Songqing Cai (songqing_cai (at] sterling.com)
   1179  1.1  christos 
   1180  1.1  christos KFREE() passed fp (incorrect) and not fr (correct) in ip_frag.c - John Hood
   1181  1.1  christos (cgull (at] smoke.marlboro.vt.us)
   1182  1.1  christos 
   1183  1.1  christos make ipf parser recognise '\\' as a `continued line' marker - Dima Ruban
   1184  1.1  christos (dima@best.net)
   1185  1.1  christos 
   1186  1.1  christos 3.1.1-alpha	23/8/96 - Released
   1187  1.1  christos 
   1188  1.1  christos kernel panic's when ICMP packets go through NAT code
   1189  1.1  christos 
   1190  1.1  christos stats aren't zero'd properly with ipf -Z
   1191  1.1  christos 
   1192  1.1  christos ipnat doesn't show port numbers correctly all the time and also add the
   1193  1.1  christos protocol (tcp/udp/tcpudp) to rdr output - Carson Gaspar (carson@lehman.com)
   1194  1.1  christos 
   1195  1.1  christos fast checksum fixing not 100% - backout patch - Bill Dorsey (dorsey@lila.com)
   1196  1.1  christos 
   1197  1.1  christos NetBSD-1.2 patches from - VaX#n8 <vax (at] linkdead.paranoia.com>
   1198  1.1  christos 
   1199  1.1  christos Usage() call error in fils.c - Ajay Shekhawat (ajay@cedar.buffalo.edu)
   1200  1.1  christos 
   1201  1.1  christos ip_optcopy() staticly defined in ip_output.c in SunOS4 - Nick Hall
   1202  1.1  christos (nrh@tardis.ed.ac.uk)
   1203  1.1  christos 
   1204  1.1  christos 3.1.0		7/7/96 - Released
   1205  1.1  christos 
   1206  1.1  christos Reformatted ipnat output to be compatible with it's input, so that
   1207  1.1  christos "ipnat -l | ipnat -rf -" is possible.
   1208  1.1  christos 
   1209  1.1  christos 3.1.0beta	30/6/96 - Released
   1210  1.1  christos 
   1211  1.1  christos NetBSD-1.2 patches from Greg Woods (woods (at] most.weird.com)
   1212  1.1  christos 
   1213  1.1  christos kernel module must not be installed stripped (Solaris2), as created by
   1214  1.1  christos "make package" for Solaris2 - Peter Heimann
   1215  1.1  christos (peter (at] i3.informatik.rwth-aachen.de)
   1216  1.1  christos 
   1217  1.1  christos 3.1.0alpha	5/6/96 - Released
   1218  1.1  christos 
   1219  1.1  christos include examples in package for solaris2
   1220  1.1  christos 
   1221  1.1  christos patches for removing an extra ip header checksum (FreeBSD/NetBSD/SunOS)
   1222  1.1  christos 
   1223  1.1  christos removed trailing space from printouts of rules in ipf.
   1224  1.1  christos 
   1225  1.1  christos ipresend supports the same range of inputs that ipftest does.
   1226  1.1  christos 
   1227  1.1  christos sending a duplicate copy of a packet to another network devices is now
   1228  1.1  christos supported. ("dup-to")
   1229  1.1  christos 
   1230  1.1  christos sending a packet to an arbitary interface is now supported, irrespective
   1231  1.1  christos of its actual route, with no ttl decrement.  Can also be routed without
   1232  1.1  christos the ttl being decremented. ("to" and "fastroute").
   1233  1.1  christos 
   1234  1.1  christos "call" option added to support calling a generic function if a packet is
   1235  1.1  christos matched.
   1236  1.1  christos 
   1237  1.1  christos show all (upto 4) recorded bytes from the interface name in logging from
   1238  1.1  christos ipmon.
   1239  1.1  christos 
   1240  1.1  christos support for using unix file permissions for read/write access on the device
   1241  1.1  christos is now in place.
   1242  1.1  christos 
   1243  1.1  christos recursive mutex in nat_new() for Solaris 2.x - Per L. Hagen <per (at] stibo.dk>
   1244  1.1  christos 
   1245  1.1  christos ipftest doesn't call initparse() for THISHOST - Catherine Allen
   1246  1.1  christos (cla@connect.com.au)
   1247  1.1  christos 
   1248  1.1  christos Man page corrections from Rex Bona (rex@pengo.comsmiths.com.au)
   1249  1.1  christos 
   1250  1.1  christos 3.0.4		10/4/96 - Released
   1251  1.1  christos 
   1252  1.1  christos looop in `parsing' IP packets with optlen 0 for ip options.
   1253  1.1  christos 
   1254  1.1  christos rule number not initialized and resulted in unexpected results for state
   1255  1.1  christos maching.
   1256  1.1  christos 
   1257  1.1  christos option parsing and printing bugs - Pradeep Krishnan
   1258  1.1  christos 
   1259  1.1  christos 3.0.4beta	25/3/96	- Released
   1260  1.1  christos 
   1261  1.1  christos wouldn't parse "keep flags keep state" correctly.
   1262  1.1  christos 
   1263  1.1  christos SunOS4.1.x ip_input.c doesn't recognise all 1s broadcast address - Nigel Verdon
   1264  1.1  christos 
   1265  1.1  christos patches for BSDI's BSD/OS 2.1 and libpcap reader on little endian systems
   1266  1.1  christos from Thorsten Lockert <tholo (at] tetherless.com>
   1267  1.1  christos 
   1268  1.1  christos b* functions in fil.c on Solaris 2.4
   1269  1.1  christos 
   1270  1.1  christos 3.0.3	17/3/96 - Released
   1271  1.1  christos 
   1272  1.1  christos added patches to support IP Filter initialisation when compiled into the
   1273  1.1  christos kernel.
   1274  1.1  christos 
   1275  1.1  christos added -x option to ipmon to display hex dumps of logged packets.
   1276  1.1  christos 
   1277  1.1  christos added -H option to ipftest to allow ascii-hex formatted input to specify
   1278  1.1  christos arbitary IP packets.
   1279  1.1  christos 
   1280  1.1  christos Sending TCP RSTs as a response now work for Solaris2 x86
   1281  1.1  christos 
   1282  1.1  christos add patches to make IP Filter compile into NetBSD kernels properly.
   1283  1.1  christos 
   1284  1.1  christos patch to stop SunOS 4.1.x kernels panicing with "data traps".
   1285  1.1  christos 
   1286  1.1  christos ipfboot script unloads and reloads ipf module on Solaris2 if it is already
   1287  1.1  christos loaded into the kernel.
   1288  1.1  christos 
   1289  1.1  christos Installation of IP Filter as a Solaris2 package is now supported.
   1290  1.1  christos 
   1291  1.1  christos Man pages for ipnat.4, ipnat.5 added.
   1292  1.1  christos 
   1293  1.1  christos added some more regression tests and fixed up IP Filter to pass the new tests
   1294  1.1  christos (previous versions failed some of the tests in set 12).
   1295  1.1  christos 
   1296  1.1  christos IP option filter processing has changed so that saying "with opt lsrr" will
   1297  1.1  christos check only for that one, but not mask out other options, so a packet with
   1298  1.1  christos strict source routing, along with loose source routing will match all of
   1299  1.1  christos "with opt lsrr", "with opt ssrr" and "with opt lsrr,ssrr".
   1300  1.1  christos 
   1301  1.1  christos IPL_NAME needed in ipnat.c - Kelly (kelly (at] count04.mry.scruznet.com)
   1302  1.1  christos 
   1303  1.1  christos patches for clean NetBSD compilation from Bernd Ernesti (bernd (at] arresum.inka.de)
   1304  1.1  christos 
   1305  1.1  christos make install is incorrect - Julian Briggs (julian (at] lightwork.co.uk)
   1306  1.1  christos 
   1307  1.1  christos strtol() returns 0x7fffffff for all negative numbers,
   1308  1.1  christos printfr() generates incorrect output for "opt sec-class *",
   1309  1.1  christos handling of "not opt xxx opt yyy" incorrect.
   1310  1.1  christos - Minh Tonthat (minht (at] sbei.com)/Pradeep Krishnan (pradeepk (at] sbei.com)
   1311  1.1  christos 
   1312  1.1  christos m_pullup() called only for input and not output; caused problems
   1313  1.1  christos with filtering icmp - Nigel Verdon (verdenn (at] gb.swissbank.com)
   1314  1.1  christos 
   1315  1.1  christos parsing problem for "port 1" and NetBSD patches incorrect -
   1316  1.1  christos Andreas Gustafsson (gson (at] guava.araneus.fi)
   1317  1.1  christos 
   1318  1.1  christos 3.0.2	4/2/96 - Released
   1319  1.1  christos 
   1320  1.1  christos Corrected bug where NAT recalculates checksums for fragments.
   1321  1.1  christos 
   1322  1.1  christos make NAT recalculate UDP checksums (rather than setting them to 0),
   1323  1.1  christos if they're non-zero.
   1324  1.1  christos 
   1325  1.1  christos DNS patches - Real Page (Real.Page (at] Matrox.com)
   1326  1.1  christos 
   1327  1.1  christos alteration of checksum recalculations in NAT code and addition of
   1328  1.1  christos redirection with NAT - Mike Neuman
   1329  1.1  christos 
   1330  1.1  christos core dump, if tcp/udp is used with a port number and not service name,
   1331  1.1  christos in ipf - Mike Neuman (mcn (at] engarde.com)
   1332  1.1  christos 
   1333  1.1  christos initparse() call, missing to prime "<thishost>" hook - Craig Bishop
   1334  1.1  christos 
   1335  1.1  christos 3.0.1	14/1/96 - Released
   1336  1.1  christos 
   1337  1.1  christos miscellaneous patches for Solaris2
   1338  1.1  christos 
   1339  1.1  christos 3.0	14/1/96	- Released
   1340  1.1  christos 
   1341  1.1  christos Patch included for FDDI, from Richard Ohnemus
   1342  1.1  christos (Richard_Ohnemus (at] dallas.csd.sterling.com)
   1343  1.1  christos 
   1344  1.1  christos Code cleanup for release.
   1345  1.1  christos 
   1346  1.1  christos 3.0beta4 10/1/96
   1347  1.1  christos 
   1348  1.1  christos recursive mutex in ipfr_slowtimer fixed, reported by Craig Bishop
   1349  1.1  christos 
   1350  1.1  christos recursive mutex in sending TCP RSTs fixed, reported by Tony Becker
   1351  1.1  christos 
   1352  1.1  christos 3.0beta3 9/1/96
   1353  1.1  christos 
   1354  1.1  christos FIxup for Solaris2.5 install and interface name bug in ipftest from
   1355  1.1  christos Julian Briggs (julian (at] lightwork.co.uk)
   1356  1.1  christos 
   1357  1.1  christos Byte order patches for ipmon from Tony Becker (tony (at] mcrsys.com)
   1358  1.1  christos 
   1359  1.1  christos 3.0beta2 7/1/96
   1360  1.1  christos 
   1361  1.1  christos Added the (somewhat warped) IP accounting as it exists in ipfw on FreeBSD.
   1362  1.1  christos Note, this isn't really what one would call IP account, when compared to
   1363  1.1  christos process accounting, sigh.
   1364  1.1  christos 
   1365  1.1  christos Split up ipresend into iptest/ipresend/ipsend
   1366  1.1  christos 
   1367  1.1  christos Added another m_pullup() inside fr_check() for BSD style kernels and
   1368  1.1  christos added some checks to ipllog() to not log more than is present (for short
   1369  1.1  christos packets).
   1370  1.1  christos 
   1371  1.1  christos Fixed bug where failed hostname/netname resolution goes undetecte and
   1372  1.1  christos becomes 0.0.0.0 (any) (reported Guido van Rooij)
   1373  1.1  christos 
   1374  1.1  christos 3.0beta	11/11/95	- Released
   1375  1.1  christos 
   1376  1.1  christos Rewrote the way rule testing is done, reducing the number of files needed and
   1377  1.1  christos generated.
   1378  1.1  christos 
   1379  1.1  christos SIOCIPFFL was incorrectly affected by IPFILTER_LOG (Mathew Green)
   1380  1.1  christos 
   1381  1.1  christos Patches from Guido van Rooij to fix sending back TCP RSTs on Net-2/Net-3
   1382  1.1  christos BSD based Unixes (panic'd)
   1383  1.1  christos 
   1384  1.1  christos Patches for FreeBSD/i86 ipmon from Riku Kalinen <riku (at] tequila.nixu.fi>
   1385  1.1  christos (I think someone else already told me about these but they got lost :-/)
   1386  1.1  christos 
   1387  1.1  christos Changed Makefile structure to build object files for different operating
   1388  1.1  christos systems in separate directories by default.
   1389  1.1  christos 
   1390  1.1  christos BSDI has ef0 for first ethernet interface
   1391  1.1  christos 
   1392  1.1  christos Allow for a "not" operator before optional keywords.
   1393  1.1  christos 
   1394  1.1  christos The "rule number" was being incorrectly incremented every time it went through
   1395  1.1  christos the loop rather than when it matched a rule.
   1396  1.1  christos 
   1397  1.1  christos 2.8.2	24/10/95	- Released
   1398  1.1  christos 
   1399  1.1  christos Fixed up problems with "textip" for doing lots of testing.
   1400  1.1  christos 
   1401  1.1  christos Fixed bug in detection of "short" tcp/ip packets (all reported as being short).
   1402  1.1  christos 
   1403  1.1  christos Solaris 2.4 port now works 100%.
   1404  1.1  christos 
   1405  1.1  christos Man page errors reported and fixed.
   1406  1.1  christos 
   1407  1.1  christos Removed duplicate entry in etc/services for login on port 49 (Craig Bishop).
   1408  1.1  christos 
   1409  1.1  christos Fixed ipmon output to put a space after the log-letter.
   1410  1.1  christos 
   1411  1.1  christos Patch from Guido van Rooij to fix parsing problem.
   1412  1.1  christos 
   1413  1.1  christos 2.8.1	15/10/95	- Released
   1414  1.1  christos 
   1415  1.1  christos Added ttl and tos filtering.
   1416  1.1  christos 
   1417  1.1  christos Patches for fixing up compilation and port problems (little endian)
   1418  1.1  christos from Guido van Rooij <guido (at] IAEhv.nl>.
   1419  1.1  christos 
   1420  1.1  christos Man page problems reported and fixed by Carson Gaspar <carson (at] lehman.com>.
   1421  1.1  christos 
   1422  1.1  christos ipsend doesn't compile properly on Solaris2.4
   1423  1.1  christos 
   1424  1.1  christos Lots of work done for Solaris2.4 to make it MT/MP safe and work.
   1425  1.1  christos 
   1426  1.1  christos 2.8	15/9/95		- Released
   1427  1.1  christos 
   1428  1.1  christos ipmon can now send messages to syslogd (-s) and use names instead of
   1429  1.1  christos numbers (-N).
   1430  1.1  christos 
   1431  1.1  christos IP packets are now "compiled" into a structure only containing filterable
   1432  1.1  christos bits.
   1433  1.1  christos 
   1434  1.1  christos Added regression testing in the test/ subdirectory, using a new option
   1435  1.1  christos (-b) with the ipftest program.
   1436  1.1  christos 
   1437  1.1  christos Added "nomatch" return to filter results.  These are counted and show
   1438  1.1  christos up in reports from ipfstat.
   1439  1.1  christos 
   1440  1.1  christos Moved filter code out of ip_fil.c and into fil.c - there is now only one
   1441  1.1  christos instance of it in the package.
   1442  1.1  christos 
   1443  1.1  christos Added Solaris 2.4 support.
   1444  1.1  christos 
   1445  1.1  christos Added IPSO basic security option filtering.
   1446  1.1  christos 
   1447  1.1  christos Added name support for filtering on all 19 named IP options.
   1448  1.1  christos 
   1449  1.1  christos Patches from Ivan Brawley to log packet contents as well as packet headers.
   1450  1.1  christos 
   1451  1.1  christos Update for sun/conf.c.diff from Ivan Brawley <ibrawley (at] awadi.com.AU>
   1452  1.1  christos 
   1453  1.1  christos Added patches for FreeBSD 1, and added two new switches (-E, -D) to ipf,
   1454  1.1  christos along with a new ioctl, SIOCFRENB.
   1455  1.1  christos From: Dieter Dworkin Muller <dworkin (at] village.org>
   1456  1.1  christos 
   1457  1.1  christos 2.7.3	31/7.95		- Released
   1458  1.1  christos 
   1459  1.1  christos Didn't compile cleanly without IPFILTER_LOG defined (Mathew Green).
   1460  1.1  christos 
   1461  1.1  christos ipftest now deals with tcpdump3 binary output files (from libpcap) with -P.
   1462  1.1  christos 
   1463  1.1  christos Brought ipftest program upto date with actual filter code.
   1464  1.1  christos 
   1465  1.1  christos Filter would cause a match to occur when it wasn't meant to if the packet
   1466  1.1  christos had short headers and was missing portions that should have been there.
   1467  1.1  christos Err, it would rightly not match on them, but their absence caused a match
   1468  1.1  christos when it shouldn't have been.
   1469  1.1  christos 
   1470  1.1  christos 2.7.2	26/7/95		- Released
   1471  1.1  christos 
   1472  1.1  christos Problem with filtering just SYN flagged packets reported by
   1473  1.1  christos Dieter Dworkin Muller <dworkin (at] village.org>.  To solve this
   1474  1.1  christos problem, added support for masking TCP flags for comparison "flags X/Y".
   1475  1.1  christos 
   1476  1.1  christos 2.7.1	9/7/95		- Released
   1477  1.1  christos 
   1478  1.1  christos Added ip_dirbroadcast support for Sun ip_input.c
   1479  1.1  christos 
   1480  1.1  christos Fixed up the install scripts for FreeBSD/NetBSD to recognise where they are
   1481  1.1  christos better.
   1482  1.1  christos 
   1483  1.1  christos 2.7	7/7/95		- Released
   1484  1.1  christos 
   1485  1.1  christos Added "return-rst" to return TCP RST's to TCP packets.
   1486  1.1  christos 
   1487  1.1  christos Actually ported it to FreeBSD-i386 2.0.0, so it works there properly now.
   1488  1.1  christos 
   1489  1.1  christos Added insertion of filter rules.  Use "@<#>" at the beginning of a filter
   1490  1.1  christos to insert a rule at row #.
   1491  1.1  christos 
   1492  1.1  christos Filter keeps track of how many times each rule is matched.
   1493  1.1  christos 
   1494  1.1  christos Changed compile time things to match kernel option (IPFILTER_LKM &
   1495  1.1  christos IPFILTER_LOG).
   1496  1.1  christos 
   1497  1.1  christos Updated ip_input.c and ip_output.c with paches for 3.5 Multicast IP.
   1498  1.1  christos (No change required for 3.6)
   1499  1.1  christos 
   1500  1.1  christos Now includes TCP fragments which start inside the TCP header as being short.
   1501  1.1  christos Added counting the number of times each rule is matched.
   1502  1.1  christos 
   1503  1.1  christos 
   1504  1.1  christos 2.6	11/5/95		- Released
   1505  1.1  christos 
   1506  1.1  christos Added -n option to ipf: when supplied, no changes are made to the kernel.
   1507  1.1  christos 
   1508  1.1  christos Added installation scripts for SunOS 4.1.x and NetBSD/FreeBSD/BSDI.
   1509  1.1  christos 
   1510  1.1  christos Rewrote filtering to use a more generic mask & match procedure for
   1511  1.1  christos checking if a packet matches a rule.
   1512  1.1  christos 
   1513  1.1  christos 2.5.2	27/4/95		- Released
   1514  1.1  christos 
   1515  1.1  christos "tcp/udp" and a non-initialised pointer caused the "proto" to become
   1516  1.1  christos a `random' value; added "ip#/dotted.mask" notation to the BNF.
   1517  1.1  christos From Adam W. Feigin  <feigin (at] iis.ee.ethz.ch>
   1518  1.1  christos 
   1519  1.1  christos 2.5.1	22/3/95		- Released
   1520  1.1  christos 
   1521  1.1  christos "tcp/udp" had a strange effect (undesired) on getserv*() functions,
   1522  1.1  christos causing protocol/service lookups to fail.  Reported by Matthew Green.
   1523  1.1  christos 
   1524  1.1  christos 2.5	17/3/95		- Released
   1525  1.1  christos 
   1526  1.1  christos Added a new keyword "all" to BNF and parsing of tcpdump/etherfind/snoop
   1527  1.1  christos output through the ipftest program.  Suggestions from:
   1528  1.1  christos Michael Ciavarella (mikec (at] phyto.apana.org.au)
   1529  1.1  christos 
   1530  1.1  christos Conflicts occur when "general" filter rules are used for ports and the
   1531  1.1  christos lack of a "proto" when used with "port" matches other packets when only
   1532  1.1  christos TCP/UDP are implied.
   1533  1.1  christos Reported Matthew Green (mrg (at] fulcom.com.au);
   1534  1.1  christos reported & fixed 6-8/3/95
   1535  1.1  christos 
   1536  1.1  christos Added filtering of short TCP packets using "with short" 28/2/95
   1537  1.1  christos (These can possibly slip by checks for the various flags).  Short UDP
   1538  1.1  christos or ICMP are dropped to the floor and logged.
   1539  1.1  christos 
   1540  1.1  christos Added filtering of fragmented packets using "with frag" 24/2/95
   1541  1.1  christos 
   1542  1.1  christos Port to NetBSD-current completed 20/2/95, using LKM.
   1543  1.1  christos 
   1544  1.1  christos Added logging of the rule # which caused the logging to happen and the
   1545  1.1  christos interface on which the packet is currently as suggested by
   1546  1.1  christos Andreas Greulich (greulich (at] math-stat.unibe.ch) 10/2/95
   1547  1.1  christos 
   1548  1.1  christos 2.4	9/2/95		- Released
   1549  1.1  christos Fixed saving of IP headers in ICMP packets.
   1550  1.1  christos 
   1551  1.1  christos 2.3	29/1/95
   1552  1.1  christos Added ipf -F [in|out|all] to flush filter rule sets (SIOCIPFFL).
   1553  1.1  christos Fixed iplread() and iplsave() with help from Marc Huber.
   1554  1.1  christos 
   1555  1.1  christos 2.2	7/1/95		- Released
   1556  1.1  christos Added code from Marc Huber <huber (at] fzi.de> to allow it to allocate
   1557  1.1  christos its own major char number dynamically when modload'ing.  Fixed up
   1558  1.1  christos use of <, >, <=, >= and >< for ports.
   1559  1.1  christos 
   1560  1.1  christos 2.1	21/12/94	- Released
   1561  1.1  christos repackaged to include the correct ip_output.c and ip_input.c *goof*
   1562  1.1  christos 
   1563  1.1  christos 2.0	18/12/94	- Released
   1564  1.1  christos added code to check for port ranges - complete.
   1565  1.1  christos rewrote to work as a loadable kernel module - complete.
   1566  1.1  christos 
   1567  1.1  christos 1.1
   1568  1.1  christos added code for ouput filtering as well as input filtering and added support for logging to a simple character device of packet headers.
   1569  1.1  christos 
   1570  1.1  christos 1.0	22/04/93	- Released
   1571  1.1  christos First release cut.
   1572