opnsense-src/sys/netinet/libalias/HISTORY

151 lines
4.9 KiB
Text
Raw Normal View History

2000-04-05 03:45:39 -04:00
$FreeBSD$
Version 1.0: August 11, 1996 (cjm)
Version 1.1: August 20, 1996 (cjm)
- Host accepts incoming connections for ports 0 to 1023.
Version 1.2: September 7, 1996 (cjm)
- Fragment handling error in alias_db.c corrected.
Version 1.3: September 15, 1996 (cjm)
- Generalized mechanism for handling incoming
connections (no more 0 to 1023 restriction).
- Increased ICMP support (will handle traceroute now).
- Improved TCP close connection logic.
Version 1.4: September 16, 1996 (cjm)
Version 1.5: September 17, 1996 (cjm)
- Corrected error in handling incoming UDP packets
with zero checksum.
Version 1.6: September 18, 1996
- Simplified ICMP data storage. Will now handle
tracert from Win95 and NT as well as FreeBSD
traceroute, which uses UDP packets to non-existent
ports.
2000-04-05 03:45:39 -04:00
Version 1.7: January 9, 1997 (cjm)
- Reduced malloc() activity for ICMP echo and
timestamp requests.
- Added handling for out-of-order IP fragments.
- Switched to differential checksum computation
for IP headers (TCP, UDP and ICMP checksums
were already differential).
- Accepts FTP data connections from other than
port 20. This allows one ftp connections
from two hosts which are both running packet
aliasing.
- Checksum error on FTP transfers. Problem
in code located by Martin Renters and
Brian Somers.
Version 1.8: January 14, 1997 (cjm)
- Fixed data type error in function StartPoint()
in alias_db.c (this bug did not exist before v1.7)
Problem in code located by Ari Suutari.
Version 1.9: February 1, 1997 (Eivind Eklund <perhaps@yes.no>)
- Added support for IRC DCC (ee)
- Changed the aliasing routines to use ANSI style
throughout (ee)
- Minor API changes for integration with other
programs than PPP (ee)
- Fixed minor security hole in alias_ftp.c for
other applications of the aliasing software.
Hole could _not_ manifest in ppp+pktAlias, but
could potentially manifest in other applications
of the aliasing. (ee)
- Connections initiated from packet aliasing
host machine will not have their port number
aliased unless it conflicts with an aliasing
port already being used. (There is an option
to disable this for debugging) (cjm)
- Sockets will be allocated in cases where
there might be port interference with the
host machine. This can be disabled in cases
where the ppp host will be acting purely as a
masquerading router and not generate any
traffic of its own.
(cjm)
Version 2.0: March, 1997 (cjm)
- Aliasing links are cleared only when a host interface address
changes.
- PacketAliasPermanentLink() API added.
- Option for only aliasing private, unregistered
IP addresses added.
- Substantial rework to the aliasing lookup engine.
Version 2.1: May, 1997 (cjm)
- Continuing rework to the aliasing lookup engine
to support multiple incoming addresses and static
NAT. PacketAliasRedirectPort() and
PacketAliasRedirectAddr() added to API.
- Now supports outgoing as well as incoming ICMP
2000-04-05 03:45:39 -04:00
error messages.
Version 2.2: July, 1997 (cjm)
- Rationalized API function names to all begin with
"PacketAlias..." Old function names are retained
2000-04-05 03:45:39 -04:00
for backwards compatibility.
- Packet aliasing engine will now free memory of
fragments which are never resolved after a timeout
period. Once a fragment is resolved, it becomes
the users responsibility to free the memory.
Version 2.3: August 11, 1997 (cjm)
- Problem associated with socket file descriptor
accumulation in alias_db.c corrected. The sockets
had to be closed when a binding failed. Problem
in code located by Gordon Burditt.
Version 2.4: September 1, 1997 (cjm)
- PKT_ALIAS_UNREGISTERED_ONLY option repaired.
This part of the code was incorrectly re-implemented
in version 2.1.
Version 2.5: December, 1997 (ee)
- Added PKT_ALIAS_PUNCH_FW mode for firewall
bypass of FTP/IRC DCC data connections. Also added
improved TCP connection monitoring.
Version 2.6: May, 1998 (amurai)
- Added supporting routine for NetBios over TCP/IP.
Version 3.0: January 1, 1999
- Transparent proxying support added.
- PPTP redirecting support added based on patches
contributed by Dru Nelson <dnelson@redwoodsoft.com>.
Version 3.1: May, 2000 (Erik Salander, erik@whistle.com)
- Added support to alias 227 replies, allows aliasing for
FTP servers in passive mode.
- Added support for PPTP aliasing.
Version 3.2: July, 2000 (Erik Salander, erik@whistle.com and
Junichi Satoh, junichi@junichi.org)
- Added support for streaming media (RTSP and PNA) aliasing.
libalias: Restructure Clean up the database handling in order to switch to more efficient data structures. The development of this patch was artificially split in to many small steps to ease reviewing. - Common search terms - Separate fully qualified search - Separate table for partial links - Cleanup _FindLinkIn - Factor out the outgoing search function - Factor out a common idiom to return found links - Reorder incoming links by grouping of common search terms - Remove LSNAT from outgoing search - Group internal structure semantically - Separate table for PPTP - Use AliasRange instead of PORT_BASE - Remove temporary state deleteAllLinks from global struct - Avoid uninitialized expiration Discussed with: Dimitry Luhtionov Differential Revision: https://reviews.freebsd.org/D30568 Differential Revision: https://reviews.freebsd.org/D30569 Differential Revision: https://reviews.freebsd.org/D30570 Differential Revision: https://reviews.freebsd.org/D30571 Differential Revision: https://reviews.freebsd.org/D30572 Differential Revision: https://reviews.freebsd.org/D30573 Differential Revision: https://reviews.freebsd.org/D30574 Differential Revision: https://reviews.freebsd.org/D30575 Differential Revision: https://reviews.freebsd.org/D30580 Differential Revision: https://reviews.freebsd.org/D30581 Differential Revision: https://reviews.freebsd.org/D30604 Differential Revision: https://reviews.freebsd.org/D30582 (cherry picked from commit d41044ddfdbc2a026570cae11d5fc2e18f5e4b92) (cherry picked from commit 32f9c2ceb3ec8266e48ec0f6d1556fd98ef12db6) (cherry picked from commit cac129e6030095c33e95c5ce1cdcb9c5c21efce9) (cherry picked from commit 19dcc4f2250b3850991366e3058ca8a64b2f135d) (cherry picked from commit d5419034381d0e8e8c99f0f678118b197144bfff) (cherry picked from commit d4ab07d2aeb13b1aae9ad5d73e5fe77131f2350c) (cherry picked from commit 492d3b7109b45ff30fd199b7eeed797447746e42) (cherry picked from commit 7b44ff4c52ce9e7a89e772566a249e5481fe0ac4) (cherry picked from commit 1178dda53d10b096e0b99e356d15b7c24390e099) (cherry picked from commit 9efcad61d8309ecad3c15392b277fd329a1e45e4) (cherry picked from commit fe83900f9fa931e3d0942ec9c0709896b887c3d7) (cherry picked from commit d989935b5bcd880353f0de89eda958c45e7e3342) (cherry picked from commit b50a4dce185481bebf8096c27588ae04a4a2fd7c) (cherry picked from commit f28455344483310cfd1aa5c0bdd4d014810c0e32)
2021-05-25 09:03:34 -04:00
Version 3.3: May 2021 (donner)
- Dropped LibAliasCheckNewLink
- Refactor the database handling
- Switch to more effienct SPLAY trees