summaryrefslogtreecommitdiff
path: root/lib/libalias/alias_db.c
Commit message (Collapse)AuthorAgeFilesLines
* Fixed PunchFWHole():Ruslan Ermilov2000-06-271-2/+3
| | | | | | | | - ipfw always rejected rule with `neither in nor out' diagnostics. - number of src/dst ports was not set properly. Notes: svn path=/head/; revision=62159
* - Removed PacketAliasPptp() API function.Ruslan Ermilov2000-06-201-14/+0
| | | | | | | - SHLIB_MAJOR++. Notes: svn path=/head/; revision=61865
* Added true support for PPTP aliasing. Some nice features include:Ruslan Ermilov2000-06-201-3/+71
| | | | | | | | | | | | | | | | | | | | | | | - 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
* - Added support for passive mode FTP by aliasing 227 replies.Ruslan Ermilov2000-06-141-0/+19
| | | | | | | | | | | | | | | | | | It does mean that it is now possible to run passive-mode FTP server behind NAT. - SECURITY: FTP aliasing engine now ensures that: o the segment preceding a PORT/227 segment terminates with a \r\n; o the IP address in the PORT/227 matches the source IP address of the packet; o the port number in the PORT command or 277 reply is greater than or equal to 1024. Submitted by: Erik Salander <erik@whistle.com> Reviewed by: ru Notes: svn path=/head/; revision=61677
* Revert the default behaviour for incoming connections soBrian Somers2000-05-111-1/+1
| | | | | | | | | | | that they (once again) go to the target machine rather than the alias address. PR: 18354 Submitted by: ru Notes: svn path=/head/; revision=60363
* Replace PacketAliasRedirectPptp() (which had nothing specificRuslan Ermilov2000-04-281-55/+58
| | | | | | | | | | 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
* Load Sharing using IP Network Address Translation (RFC 2391, LSNAT).Ruslan Ermilov2000-04-271-27/+85
| | | | | | | | | LSNAT links are first created by either PacketAliasRedirectPort() or PacketAliasRedirectAddress() and then set up by one or more calls to PacketAliasAddServer(). Notes: svn path=/head/; revision=59702
* Add support for multiple PPTP sessions:Ruslan Ermilov2000-04-181-40/+122
| | | | | | | | | | - new API function: PacketAliasRedirectPptp() - new mode bit: PKT_ALIAS_DENY_PPTP Please see manual page for details. Notes: svn path=/head/; revision=59356
* Apply TCP_EXPIRE_CONNECTED (86400 seconds) timeout only to establishedRuslan Ermilov2000-04-141-16/+10
| | | | | | | | | | | | | | | | | connections, after SYN packets were seen from both ends. Before this, it would get applied right after the first SYN packet was seen (either from client or server). With broken TCP connection attempts, when the remote end does not respond with SYNACK nor with RST, this resulted in having a useless (ie, no actual TCP connection associated with it) TCP link with 86400 seconds TTL, wasting system memory. With high rate of such broken connection attempts (for example, remote end simply blocks these connection attempts with ipfw(8) without sending RST back), this could result in a denial-of-service. PR: bin/17963 Notes: svn path=/head/; revision=59237
* Make partially specified permanent links without `dst_addr'Ruslan Ermilov2000-04-121-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | but with `dst_port' work for outgoing packets. This case was not handled properly when I first fixed this in revision 1.17. This change is also required for the upcoming improved PPTP support patches -- that is how I found the problem. Before this change: # natd -v -a aliasIP \ -redirect_port tcp localIP:localPORT publicIP:publicPORT 0:remotePORT Out [TCP] [TCP] localIP:localPORT -> remoteIP:remotePORT aliased to [TCP] aliasIP:localPORT -> remoteIP:remotePORT After this change: # natd -v -a aliasIP \ -redirect_port tcp localIP:localPORT publicIP:publicPORT 0:remotePORT Out [TCP] [TCP] localIP:localPORT -> remoteIP:remotePORT aliased to [TCP] publicIP:publicPORT -> remoteIP:remotePORT Notes: svn path=/head/; revision=59181
* Allow PacketAliasSetTarget() to be passed the following:Brian Somers2000-03-311-12/+14
| | | | | | | | | | | | | INADDR_NONE: Incoming packets go to the alias address (the default) INADDR_ANY: Incoming packets are not NAT'd (direct access to the internal network from outside) anything else: Incoming packets go to the specified address Change a few inaddr::s_addr == 0 to inaddr::s_addr == INADDR_ANY while I'm there. Notes: svn path=/head/; revision=58877
* When an incoming packet is received that is not specificallyBrian Somers2000-03-311-1/+1
| | | | | | | | | | redirected and when no target address has been specified, NAT the destination address to the alias address rather than allowing people direct access to your internal network from outside. Notes: svn path=/head/; revision=58866
* Make _FindLinkIn() static and only define GetDestPort whenBrian Somers2000-03-191-2/+4
| | | | | | | NO_FW_PUNCH isn't defined. Notes: svn path=/head/; revision=58279
* Fix a '&&' that should have been a '&'.Archie Cobbs1999-12-101-1/+1
| | | | | | | Submitted by: Erik Salander <erik@whistle.com> Notes: svn path=/head/; revision=54415
* Properly handle the case when either the aliasing or source address ofRuslan Ermilov1999-09-271-26/+66
| | | | | | | | | | | | | | | | the link are equal to the default aliasing address. Do not zero them! This will fix the problem with non-working links added with the source and/or aliasing address equal to the default aliasing address, but the default aliasing address is set later, after the link has been set up, like both natd(8) and ppp(8) do (for objective reasons). Reviewed by: Brian Somers <brian@FreeBSD.org>, Eivind Eklund <eivind@FreeBSD.org>, Charles Mott <cmott@srv.net> Notes: svn path=/head/; revision=51727
* ReLink() partial links in FindLinkOut() in the same manner as we do itRuslan Ermilov1999-09-221-7/+15
| | | | | | | | | in FindLinkIn(). This will make TcpMonitorIn()/TcpMonitorOut() happy. Reviewed by: eivind Notes: svn path=/head/; revision=51550
* Restore previous version of FindLinkIn().Ruslan Ermilov1999-09-211-9/+8
| | | | | | | | Instead, natd(8) should be fixed to call PacketAliasSetAddress() as part of initialization, as required by libalias(3). Notes: svn path=/head/; revision=51506
* - Make partially specified permanent links (without `dst_addr' and/orRuslan Ermilov1999-09-211-11/+25
| | | | | | | | | | | | | | `dst_port') work for outgoing packets. - Make permanent links whose `alias_addr' matches the primary aliasing address `aliasAddress' work for incoming packets. - Typo fixes. Reviewed by: brian, eivind Notes: svn path=/head/; revision=51494
* sys/errno.h -> errno.hBrian Somers1999-09-211-1/+1
| | | | Notes: svn path=/head/; revision=51491
* Add $FreeBSD$ and spell Eklund properly.Bill Fumerola1999-08-291-0/+2
| | | | | | | Approved by: brian (well, he approved adding $Id$) Notes: svn path=/head/; revision=50597
* Make incoming packets work as keepalives, too. This should fix problemsEivind Eklund1999-05-201-0/+1
| | | | | | | | | for some games. Notified of problem by: tim@turbinegames.com Notes: svn path=/head/; revision=47344
* Remove all diagnostics to stdout/stderr with #ifdef DEBUGBrian Somers1999-03-091-0/+28
| | | | | | | Statify functions in alias_nbt.c Notes: svn path=/head/; revision=44616
* Document PacketAliasPptp() and allow it to be disabledBrian Somers1999-03-071-2/+1
| | | | | | | by passing INADDR_NONE. Notes: svn path=/head/; revision=44556
* Version 3.0: January 1, 1999Brian Somers1999-02-271-23/+85
| | | | | | | | | | | - 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
* If we can't open alias.log, don't try to write to theBrian Somers1999-01-101-2/+4
| | | | | | | | resulting NULL FILE *. PR: 9403 Notes: svn path=/head/; revision=42454
* o Support a compile-time -DNO_FW_PUNCH for portabilityBrian Somers1998-04-191-0/+15
| | | | | | | | | (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
* 1) in CleanupAliasData, don't nullify entry in linkTableOutBrian Somers1998-02-271-4/+2
| | | | | | | | | | | | | | | | | since there might be permanent entries still left after calls to DeleteLink (it will be nullified by DeleteLink if all entries are deleted, won't it ?) 2) in PacketAliasSetAddress, set the aliasing address even when PKT_ALIAS_RESET_ON_ADDR_CHANGE is in effect. Just don't clean up links in this case. Submitted by: Ari Suutari <ari@suutari.iki.fi> via: Charles Mott <cmott@srv.net> PR: 5041 Notes: svn path=/head/; revision=33897
* Remove use of <osreldate.h>.Eivind Eklund1998-01-111-6/+0
| | | | | | | Screwed up by: myself Notes: svn path=/head/; revision=32443
* Sync with ipfw interface change: fw_pts is now part of a union (aAlexander Langer1998-01-101-5/+5
| | | | | | | necessary evil due to the 108 byte setsockopt() limit). Notes: svn path=/head/; revision=32396
* include <net/if.h> and restore this to sanity.Jordan K. Hubbard1998-01-101-0/+1
| | | | Notes: svn path=/head/; revision=32392
* Teach libalias to work with IPFW firewalls (controlled by a flag).Eivind Eklund1998-01-091-66/+357
| | | | | | | | Obtained from: Yes development tree (+ 10 lines of patches from Charles Mott, original libalias author) Notes: svn path=/head/; revision=32377
* Fix file descriptor leak.Brian Somers1997-08-111-0/+1
| | | | | | | | Submitted by: Charles Mott <cmott@srv.net> Identified by: Gordon Burditt Notes: svn path=/head/; revision=28084
* Update to version 2.2. Only the PacketAlias*()Brian Somers1997-08-031-87/+54
| | | | | | | | | 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/+1972
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