summaryrefslogtreecommitdiff
path: root/lib/libalias
Commit message (Collapse)AuthorAgeFilesLines
* MAN[1-9] -> MAN.Ruslan Ermilov2001-03-271-1/+1
| | | | Notes: svn path=/head/; revision=74870
* Make header files conform to style(9).Brian Somers2001-03-256-326/+311
| | | | | | | | | Reviewed by (*): bde (*) alias_local.h only got a cursory glance. Notes: svn path=/head/; revision=74778
* Remove an extraneous declaration.Brian Somers2001-03-251-1/+0
| | | | Notes: svn path=/head/; revision=74768
* Remove (non-protected) variable names from function prototypes.Brian Somers2001-03-221-7/+5
| | | | Notes: svn path=/head/; revision=74651
* Add a few ``const''s to silence some -Wwrite-strings warningsBrian Somers2001-01-291-7/+9
| | | | Notes: svn path=/head/; revision=71796
* Ignore leading witespace in the string given to PacketAliasProxyRule().Brian Somers2001-01-291-0/+1
| | | | Notes: svn path=/head/; revision=71763
* mdoc(7) police: use the new feature of the An macro.Ruslan Ermilov2000-11-221-24/+14
| | | | Notes: svn path=/head/; revision=69025
* Added boolean argument to link searching functions, indicatingRuslan Ermilov2000-10-307-107/+42
| | | | | | | 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-304-151/+265
| | | | | | | | | | | | | | | | | 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 failure to allocate memory for auxiliary TCP data is now fatal.Ruslan Ermilov2000-10-191-16/+15
| | | | | | | | This fixes a null pointer dereference problem that is unlikely to happen in normal circumstances. Notes: svn path=/head/; revision=67316
* A bit of indentation reformatting.Ruslan Ermilov2000-10-021-33/+21
| | | | Notes: svn path=/head/; revision=66545
* Fixed the calculations with UDP header length field.Ruslan Ermilov2000-09-211-2/+2
| | | | | | | | | | The field is in network byte order and contains the size of the header. Reviewed by: brian Notes: svn path=/head/; revision=66157
* Add -Wmissing-prototypes.Ruslan Ermilov2000-09-152-5/+8
| | | | Notes: svn path=/head/; revision=65892
* 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
* Grab ADJUST_CHECKSUM() macro from alias_local.h.Ruslan Ermilov2000-08-311-17/+0
| | | | Notes: svn path=/head/; revision=65281
* Create aliasing links for incoming ICMP echo/timestamp requests.Ruslan Ermilov2000-08-312-47/+24
| | | | | | | | 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
* strtok -> strsep (no strtok allowed in libraries)Andrey A. Chernov2000-08-291-3/+6
| | | | | | | add unsigned char cast to ctype macro Notes: svn path=/head/; revision=65221
* Fixed PunchFW code segmentation violation bug.Ruslan Ermilov2000-08-141-5/+4
| | | | | | | Reported by: Christian Schade <chris@cube.sax.de> Notes: svn path=/head/; revision=64644
* Use queue(3) LIST_* macros for doubly-linked lists.Ruslan Ermilov2000-08-141-65/+18
| | | | Notes: svn path=/head/; revision=64643
* - Do not modify Peer's Call ID in outgoing Incoming-Call-ConnectedRuslan Ermilov2000-08-091-18/+25
| | | | | | | | | | | PPTP control messages. - Cosmetics: replace `GRE link' with `PPTP link'. Reviewed by: Erik Salander <erik@whistle.com> Notes: svn path=/head/; revision=64452
* Adjust TCP checksum rather than compute it afresh.Ruslan Ermilov2000-08-071-4/+8
| | | | | | | Submitted by: Erik Salander <erik@whistle.com> Notes: svn path=/head/; revision=64334
* Whitespace only:Sheldon Hearn2000-07-311-4/+4
| | | | | | | | Fix an overlong line and trailing whitespace that crept in, in the previous commit. Notes: svn path=/head/; revision=64061
* Add address translation support for RTSP/RTP used by RealPlayer andArchie Cobbs2000-07-268-3/+819
| | | | | | | | | | | 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
* 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-204-38/+1
| | | | | | | - SHLIB_MAJOR++. Notes: svn path=/head/; revision=61865
* Added true support for PPTP aliasing. Some nice features include:Ruslan Ermilov2000-06-207-11/+422
| | | | | | | | | | | | | | | | | | | | | | | - 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
* - Improved passive mode FTP support by aliasing 229 replies.Ruslan Ermilov2000-06-161-312/+337
| | | | | | | | - Stricter checking of PORT/EPRT/227/229 messages format. - Moved all security checks into one place. Notes: svn path=/head/; revision=61735
* - Added support for passive mode FTP by aliasing 227 replies.Ruslan Ermilov2000-06-143-15/+228
| | | | | | | | | | | | | | | | | | 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-112-3/+3
| | | | | | | | | | | 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-285-111/+88
| | | | | | | | | | 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
* Spell PacketAliasRedirectAddr() correctly.Ruslan Ermilov2000-04-271-1/+1
| | | | Notes: svn path=/head/; revision=59704
* Load Sharing using IP Network Address Translation (RFC 2391, LSNAT).Ruslan Ermilov2000-04-273-27/+150
| | | | | | | | | 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-185-88/+265
| | | | | | | | | | - 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
* A complete reformatting of manual page.Ruslan Ermilov2000-04-131-724/+686
| | | | Notes: svn path=/head/; revision=59202
* 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
* - Add support for FTP EPRT (RFC 2428) command.Ruslan Ermilov2000-04-061-63/+169
| | | | | | | | | | | | - Minor optimizations. - Minor spelling fixes. PR: 14305 Submitted by: ume Rewritten by: ru Notes: svn path=/head/; revision=59075
* - 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
* - Moved NULL definition into private include file.Ruslan Ermilov2000-04-052-7/+6
| | | | | | | - Minor spelling fixes. Notes: svn path=/head/; revision=59046
* Minor spelling fixes.Ruslan Ermilov2000-04-052-5/+7
| | | | Notes: svn path=/head/; revision=59031
* Correct Charles Mott's email addressBrian Somers2000-04-021-1/+1
| | | | | | | Requested by: Charles Mott <cmott@scientech.com> Notes: svn path=/head/; revision=58943
* Allow PacketAliasSetTarget() to be passed the following:Brian Somers2000-03-312-13/+22
| | | | | | | | | | | | | 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
* Remove single-space hard sentence breaks. These degrade the qualitySheldon Hearn2000-03-021-1/+2
| | | | | | | | of the typeset output, tend to make diffs harder to read and provide bad examples for new-comers to mdoc. Notes: svn path=/head/; revision=57686
* -it do, among other things, clear out anyAlfred Perlstein2000-02-281-1/+1
| | | | | | | | | +it does, amongst other things, clear out any The old sentance didn't seem to make sense. Notes: svn path=/head/; revision=57544
* The flags PKT_ALIAS_PUNCH_FW and PKT_ALIAS_PROXY_ONLY were bothArchie Cobbs2000-02-021-1/+1
| | | | | | | | | | being defined as 0x40. Change the former to be 0x100. Submitted by: Erik Salander <erik@whistle.com> Approved by: jkh Notes: svn path=/head/; revision=56968
* Mention what PKT_ALIAS_PROXY_ONLY does.Brian Somers2000-02-021-1/+6
| | | | | | | Prompted by: archie Notes: svn path=/head/; revision=56967
* Replace beforeinstall target with new variables used by .mk system.Rodney W. Grimes2000-01-141-4/+1
| | | | | | | Reviewed by: marcel, and make world Notes: svn path=/head/; revision=55955