summaryrefslogtreecommitdiff
path: root/lib/libalias/alias.c
Commit message (Collapse)AuthorAgeFilesLines
* Don't forget to recalculate the IP checksum of the originalRuslan Ermilov2002-07-231-4/+12
| | | | | | | | | | IP datagram embedded into ICMP error message. Spotted by: tcpdump 3.7.1 (-vvv) MFC after: 3 days Notes: svn path=/head/; revision=100537
* Remove trailing whitespaceBrian Somers2002-07-011-23/+23
| | | | Notes: svn path=/head/; revision=99207
* Fixed the bug in transparent TCP proxying with the "encode_ip_hdr"Ruslan Ermilov2001-12-181-1/+3
| | | | | | | | | option -- TcpAliasOut() did not catch the IP header length change. Submitted by: Stepachev Andrey <aka50@mail.ru> Notes: svn path=/head/; revision=88132
* cmott@scientech.com -> cm@linktel.netBrian Somers2001-11-031-1/+1
| | | | | | | Requested by: Charles Mott <cmott@scientech.com> Notes: svn path=/head/; revision=85964
* Add __FBSDID's to libaliasMatthew Dillon2001-09-301-2/+3
| | | | Notes: svn path=/head/; revision=84195
* Added TFTP support.Ruslan Ermilov2001-08-211-0/+9
| | | | | | | | Submitted by: Joe Clarke <marcus@marcuscom.com> MFC after: 2 weeks Notes: svn path=/head/; revision=82069
* Make the copyright consistent.Brian Somers2001-08-201-3/+0
| | | | | | | Previously approved by: Charles Mott <cmott@scientech.com> Notes: svn path=/head/; revision=82001
* Add BSD-style copyright headersBrian Somers2001-06-041-2/+29
| | | | | | | Approved by: Charles Mott <cmott@scientech.com> Notes: svn path=/head/; revision=77701
* Make header files conform to style(9).Brian Somers2001-03-251-13/+15
| | | | | | | | | Reviewed by (*): bde (*) alias_local.h only got a cursory glance. Notes: svn path=/head/; revision=74778
* Added boolean argument to link searching functions, indicatingRuslan Ermilov2000-10-301-17/+18
| | | | | | | whether they should create a link if lookup has failed or not. Notes: svn path=/head/; revision=67980
* A significant rewrite of PPTP aliasing code.Ruslan Ermilov2000-10-301-39/+12
| | | | | | | | | | | | | | | | | PPTP links are no longer dropped by simple (and inappropriate in this case) "inactivity timeout" procedure, only when requested through the control connection. It is now possible to have multiple PPTP servers running behind NAT. Just redirect the incoming TCP traffic to port 1723, everything else is done transparently. Problems were reported and the fix was tested by: Michael Adler <Michael.Adler@compaq.com>, David Andersen <dga@lcs.mit.edu> Notes: svn path=/head/; revision=67966
* A bit of indentation reformatting.Ruslan Ermilov2000-10-021-33/+21
| | | | Notes: svn path=/head/; revision=66545
* Match IPPROTO_ICMP with IP protocol field of the original IPRuslan Ermilov2000-09-011-2/+2
| | | | | | | | | | datagram embedded into ICMP error message, not with protocol field of ICMP message itself (which is always IPPROTO_ICMP). Pointed by: Erik Salander <erik@whistle.com> Notes: svn path=/head/; revision=65332
* Changed the way we handle outgoing ICMP error messages -- doRuslan Ermilov2000-09-011-12/+22
| | | | | | | | | | | not alias `ip_src' unless it comes from the host an original datagram that triggered this error message was destined for. PR: 20712 Reviewed by: brian, Charles Mott <cmott@scientech.com> Notes: svn path=/head/; revision=65317
* Create aliasing links for incoming ICMP echo/timestamp requests.Ruslan Ermilov2000-08-311-46/+10
| | | | | | | | This makes outgoing ICMP echo/timestamp replies to be de-aliased with the right source IP, not exactly the primary aliasing IP. Notes: svn path=/head/; revision=65280
* Add address translation support for RTSP/RTP used by RealPlayer andArchie Cobbs2000-07-261-1/+134
| | | | | | | | | | | Quicktime streaming media applications. Add a BUGS section to the man page. Submitted by: Erik Salander <erik@whistle.com> Notes: svn path=/head/; revision=63899
* Added true support for PPTP aliasing. Some nice features include:Ruslan Ermilov2000-06-201-7/+52
| | | | | | | | | | | | | | | | | | | | | | | - Multiple PPTP clients behind NAT to the same or different servers. - Single PPTP server behind NAT -- you just need to redirect TCP port 1723 to a local machine. Multiple servers behind NAT is possible but would require a simple API change. - No API changes! For more information on how this works see comments at the start of the alias_pptp.c. PacketAliasPptp() is no longer necessary and will be removed soon. Submitted by: Erik Salander <erik@whistle.com> Reviewed by: ru Rewritten by: ru Reviewed by: Erik Salander <erik@whistle.com> Notes: svn path=/head/; revision=61861
* Replace PacketAliasRedirectPptp() (which had nothing specificRuslan Ermilov2000-04-281-20/+14
| | | | | | | | | | to PPTP) with more generic PacketAliasRedirectProto(). Major number is not bumped because it is believed that noone has started using PacketAliasRedirectPptp() yet. Notes: svn path=/head/; revision=59726
* Add support for multiple PPTP sessions:Ruslan Ermilov2000-04-181-31/+52
| | | | | | | | | | - new API function: PacketAliasRedirectPptp() - new mode bit: PKT_ALIAS_DENY_PPTP Please see manual page for details. Notes: svn path=/head/; revision=59356
* - Remove unused includes.Ruslan Ermilov2000-04-051-24/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Minor spelling fixes. - Make IcmpAliasOut2() really work. Before this change: # natd -v -n PUB_IFACE -p 12345 -redirect_address 192.168.1.1 P.P.P.P natd[87923]: Aliasing to A.A.A.A, mtu 1500 bytes In [UDP] [UDP] X.X.X.X:49562 -> P.P.P.P:50000 aliased to [UDP] X.X.X.X:49562 -> 192.168.1.1:50000 Out [ICMP] [ICMP] 192.168.1.1 -> X.X.X.X 3(3) aliased to [ICMP] A.A.A.A -> X.X.X.X 3(3) # tcpdump -n -t -i PUB_IFACE host X.X.X.X and "(udp or icmp)" tcpdump: listening on PUB_IFACE X.X.X.X.49562 > P.P.P.P.50000: udp 3 A.A.A.A > X.X.X.X: icmp: A.A.A.A udp port 50000 unreachable After this change: # natd -v -n PUB_IFACE -p 12345 -redirect_address 192.168.1.1 P.P.P.P natd[89360]: Aliasing to A.A.A.A, mtu 1500 bytes In [UDP] [UDP] X.X.X.X:49563 -> P.P.P.P:50000 aliased to [UDP] X.X.X.X:49563 -> 192.168.1.1:50000 Out [ICMP] [ICMP] 192.168.1.1 -> X.X.X.X 3(3) aliased to [ICMP] P.P.P.P -> X.X.X.X 3(3) # tcpdump -n -t -i PUB_IFACE host X.X.X.X and "(udp or icmp)" tcpdump: listening on PUB_IFACE X.X.X.X.49563 > P.P.P.P.50000: udp 3 P.P.P.P > X.X.X.X: icmp: P.P.P.P udp port 50000 unreachable Notes: svn path=/head/; revision=59047
* - Optimization to the previous (rev 1.15) commit.Ruslan Ermilov1999-09-101-9/+11
| | | | | | | | | Requested by: eivind Discussed with: eivind Reviewed by: brian, eivind Notes: svn path=/head/; revision=51125
* Handle TCP reset sequence properly.Ruslan Ermilov1999-09-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | In the words of originator: :If an incoming connection is initiated through natd and deny_incoming is :not set, then a new alias_link structure is created to handle the link. :If there is nothing listening for the incoming connection, then the kernel :responds with a RST for the connection. However, this is not processed :correctly in libalias/alias.c:TcpMonitor{In,Out} and :libalias/alias_db.c:SetState{In,Out} as it thinks a connection :has been established and therefore applies a timeout of 86400 seconds :to the link. : :If many of these half-connections are initiated (during, for example, a :port scan of the host), then many thousands of unnecessary links are :created and the resident size of natd balloons to 20MB or more. PR: 13639 Reviewed by: brian Notes: svn path=/head/; revision=51107
* Add $FreeBSD$ and spell Eklund properly.Bill Fumerola1999-08-291-0/+1
| | | | | | | Approved by: brian (well, he approved adding $Id$) Notes: svn path=/head/; revision=50597
* Aallow ppp to work with Nortel Networks Extranet SwitchBrian Somers1999-08-221-0/+6
| | | | | | | | | product and Windows NT tunneling. Submitted by: Chain Lee <chain@nortelnetworks.com> Notes: svn path=/head/; revision=50194
* Don't get caught in an infinite recursion when PKT_ALIAS_REVERSEBrian Somers1999-06-221-4/+12
| | | | | | | | | | | is set. Document PKT_ALIAS_REVERSE. Pointed out by: Jonathan Hanna <jh@cr1003333-a.crdva1.bc.home.com> PR: 12304 Notes: svn path=/head/; revision=48102
* Remove duplicate line.Bill Fumerola1999-03-231-1/+0
| | | | | | | Reviewed by: eivind Notes: svn path=/head/; revision=44979
* Version 3.0: January 1, 1999Brian Somers1999-02-271-44/+198
| | | | | | | | | | | - Transparent proxying support added. - PPTP redirecting support added based on patches contributed by Dru Nelson <dnelson@redwoodsoft.com>. Submitted by: Charles Mott <cmott@srv.net> Notes: svn path=/head/; revision=44307
* Reviewed by: freebsd-currentMatthew Dillon1998-12-141-3/+14
| | | | | | | | | | | | Add bounds checking to netbios NS packet resolving code. This should prevent natd from crashing on badly formed netbios packets (as might be heard when the machine is sitting on a cable modem or certain DSL networks), and also closes potential security holes that might have exploited the lack of bounds checking in the previous version of the code. Notes: svn path=/head/; revision=41759
* Add CUSEEME support. This has *not* been tested, norBrian Somers1998-06-241-0/+7
| | | | | | | | could I find anyone to test it, so please report any problems to me. Notes: svn path=/head/; revision=37131
* Quieten gcc 2.8.1Brian Somers1998-06-101-2/+2
| | | | Notes: svn path=/head/; revision=36834
* Primary verison of NetBIOS over TCP/IP. Now you can connect WindowsAtsushi Murai1998-05-241-3/+36
| | | | | | | | | | DOMAIN as DOMAIN user through NAT function. See also RFC1002 for futher detail of SMB structure. Submitted by: Atsushi Murai <amurai@spec.co.jp> Notes: svn path=/head/; revision=36321
* o Support a compile-time -DNO_FW_PUNCH for portabilityBrian Somers1998-04-191-2/+2
| | | | | | | | | (and those of us that don't want the functionality). o Don't assume sizeof(long) == 4. Ok'd by: Charles Mott <cmott@srv.net> Notes: svn path=/head/; revision=35314
* Teach libalias to work with IPFW firewalls (controlled by a flag).Eivind Eklund1998-01-091-10/+28
| | | | | | | | Obtained from: Yes development tree (+ 10 lines of patches from Charles Mott, original libalias author) Notes: svn path=/head/; revision=32377
* Upgrade to 2.4 (Fix -PKT_ALIAS_UNREGISTERED_ONLY)Brian Somers1997-09-061-1/+1
| | | | | | | | | | Submitted by: Charles Mott <cmott@srv.net> Add __libalias_version so that ppp can derive the correct library name for dlopen() Notes: svn path=/head/; revision=29162
* Update to version 2.2. Only the PacketAlias*()Brian Somers1997-08-031-67/+21
| | | | | | | | | functions should now be used. The old 2.1 stuff is there for backwards compatability. Submitted by: Charles Mott <cmott@snake.srv.net> Notes: svn path=/head/; revision=27864
* Create the alias library. This is currently only used byBrian Somers1997-05-231-0/+1142
ppp (or will be shortly). Natd can now be updated to use this library rather than carrying its own version of the code. Submitted by: Charles Mott <cmott@srv.net> Notes: svn path=/cvs2svn/branches/CMOTT/; revision=26026