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