1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-11-22 17:39:53 +03:00
SoftEtherVPN/src
ajeecai 9bc67cc293 Fix that ParseTcpOption doesn't work correctly
Suppose there is a TCP SYN or SYN-ACK packet taking options as:
    02 04 05 b4 01 01 04 02 01 03 03 04 
which is 
Options: (12 bytes)
    >Maximum segment size: 1460 bytes
    >No-Operation (NOP)
    >No-Operation (NOP)
    >TCP SACK Permitted Option: True
    >No-Operation (NOP)
    >Window scale: 4 (multiply by 16)

Then the original parse function only returns MSS 1460 while WSS is 0.
2016-08-04 17:33:18 +08:00
..
bin v4.21-9613-beta 2016-04-24 23:49:31 +09:00
BuildFiles v4.19-9605-beta 2016-03-06 23:16:01 +09:00
BuildUtil v4.21-9613-beta 2016-04-24 23:49:31 +09:00
Cedar Fix that ParseTcpOption doesn't work correctly 2016-08-04 17:33:18 +08:00
Ham v4.03-9408-rtm 2014-01-04 22:00:08 +09:00
hamcorebuilder v4.19-9605-beta 2016-03-06 23:16:01 +09:00
makefiles v4.21-9613-beta 2016-04-24 23:49:31 +09:00
Mayaqua v4.21-9613-beta 2016-04-24 23:49:31 +09:00
Neo v4.19-9605-beta 2016-03-06 23:16:01 +09:00
Neo6 v4.19-9605-beta 2016-03-06 23:16:01 +09:00
PenCore v4.21-9613-beta 2016-04-24 23:49:31 +09:00
See v4.19-9577-beta 2015-09-15 14:22:53 +09:00
SeeDll v4.10-9472-beta 2014-07-12 02:06:20 +09:00
SeLow v4.19-9605-beta 2016-03-06 23:16:01 +09:00
VGate v4.10-9472-beta 2014-07-12 02:06:20 +09:00
vpn16 v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpnbrand v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpnbridge v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpnclient v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpncmd v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpncmdsys v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpncmgr v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpndrvinst v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpninstall v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpnserver v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpnsetup v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpnsmgr v4.19-9605-beta 2016-03-06 23:16:01 +09:00
vpnweb v4.21-9613-beta 2016-04-24 23:49:31 +09:00
Wfp v4.19-9605-beta 2016-03-06 23:16:01 +09:00
BUILD_UNIX.TXT v4.03-9408-rtm 2014-01-04 22:00:08 +09:00
BUILD_WINDOWS.TXT v4.17-9566-beta 2015-07-17 00:31:57 +09:00
BuildAll.cmd v4.03-9408-rtm 2014-01-04 22:00:08 +09:00
ChangeLog.txt v4.03-9411-rtm 2014-01-07 05:40:52 +09:00
configure v4.03-9408-rtm 2014-01-04 22:00:08 +09:00
CurrentBuild.txt v4.21-9613-beta 2016-04-24 23:49:31 +09:00
GlobalConst.h v4.19-9605-beta 2016-03-06 23:16:01 +09:00
LICENSE.TXT v4.21-9613-beta 2016-04-24 23:49:31 +09:00
README.TXT v4.21-9613-beta 2016-04-24 23:49:31 +09:00
SEVPN.sln v4.21-9613-beta 2016-04-24 23:49:31 +09:00
THIRD_PARTY.TXT v4.06-9430-beta 2014-03-20 05:45:05 +09:00
WARNING.TXT v4.13-9522-beta 2015-01-30 22:30:34 +09:00

SoftEther VPN - An Open-Source Cross-platform Multi-protocol VPN Program
http://www.softether.org/

We use GitHub as the primary official SoftEther VPN repository:
https://github.com/SoftEtherVPN/SoftEtherVPN/

Source code packages (.zip and .tar.gz) and binary files are also available:
http://www.softether-download.com/

We accept your patches by the acceptance policy:
http://www.softether.org/5-download/src/9.patch

Copyright (c) 2012-2016 SoftEther Project at University of Tsukuba, Japan.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2
as published by the Free Software Foundation.

SoftEther VPN ("SoftEther" means "Software Ethernet") is one of the
world's most powerful and easy-to-use multi-protocol VPN software.

SoftEther VPN runs on Windows, Linux, Mac, FreeBSD and Solaris.

SoftEther VPN supports most of widely-used VPN protocols
including SSL-VPN, OpenVPN, IPsec, L2TP, MS-SSTP, L2TPv3 and EtherIP
by the single SoftEther VPN Server program.

More details on http://www.softether.org/.


SOFTETHER VPN ADVANTAGES
------------------------

- Supporting all popular VPN protocols by the single VPN server:
  SSL-VPN (HTTPS)
  OpenVPN
  IPsec
  L2TP
  MS-SSTP
  L2TPv3
  EtherIP
- Free and open-source software.
- Easy to establish both remote-access and site-to-site VPN.
- SSL-VPN Tunneling on HTTPS to pass through NATs and firewalls.
- Revolutionary VPN over ICMP and VPN over DNS features.
- Resistance to highly-restricted firewall.
- Ethernet-bridging (L2) and IP-routing (L3) over VPN.
- Embedded dynamic-DNS and NAT-traversal so that no static nor
  fixed IP address is required.
- AES 256-bit and RSA 4096-bit encryptions.
- Sufficient security features such as logging and firewall inner
  VPN tunnel.
- User authentication with RADIUS and NT domain controllers.
- User authentication with X.509 client certificate.
- Packet logging.
- 1Gbps-class high-speed throughput performance with low memory and
  CPU usage.
- Windows, Linux, Mac, Android, iPhone, iPad and Windows Phone are
  supported.
- The OpenVPN clone function supports legacy OpenVPN clients.
- IPv4 / IPv6 dual-stack.
- The VPN server runs on Windows, Linux, FreeBSD, Solaris and Mac OS X.
- Configure All settings on GUI.
- Multi-languages (English, Japanese and Simplified-Chinese).
- No memory leaks. High quality stable codes, intended for long-term runs.
  We always verify that there are no memory or resource leaks before
  releasing the build.
- More details at http://www.softether.org/.


GETTING STARTED
---------------

Visit the SoftEther VPN Project official web site at first:
        http://www.softether.org/

If you are not a developer, it is recommended to download the binary
installers from:
        http://www.softether-download.com/

To build from the source,
see "BUILD_UNIX.TXT" or "BUILD_WINDOWS.TXT" files.


HOW TO DOWNLOAD THE LATEST SOURCE CODE PACKAGE
----------------------------------------------

Go to http://www.softether-download.com/ and you can find the latest
source-code package file in both .ZIP and .TAR.GZ format.

This is the easiest way to obtain the source code of SoftEther VPN.


HOW TO GET THE LATEST SOURCE CODE TREE FOR DEVELOPERS
-----------------------------------------------------

If you are an open-source developer, visit our GitHub repository:
https://github.com/SoftEtherVPN/SoftEtherVPN/

You can download the up-to-date source-code tree of SoftEther VPN
from GitHub. You may make your own fork project from our project.

The download and build instruction is following:

$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
$ cd SoftEtherVPN
$ ./configure
$ make
$ make install


TO CIRCUMVENT YOUR GOVERNMENT'S FIREWALL RESTRICTION
----------------------------------------------------

Because SoftEther VPN is overly strong tool to build a VPN tunnel,
some censorship governments want to block your access to the source code
of SoftEther VPN, by abusing their censorship firewalls.

To circumvent your censor's unjust restriction,
SoftEther VPN Project distributes the up-to-date source-code
on all the following open-source repositories:

  - GitHub
    https://github.com/SoftEtherVPN/SoftEtherVPN/

  - SourceForge
    https://sourceforge.net/p/softethervpn/code/ci/master/tree/

  - Google Code
    https://code.google.com/p/softether/source/browse/


To fetch the source code from GitHub:
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git

To fetch the source code from SourceForge:
$ git clone http://git.code.sf.net/p/softethervpn/code
  - or -
$ git clone git://git.code.sf.net/p/softethervpn/code

To fetch the source code from Google Code:
$ git clone https://code.google.com/p/softether/

We hope that you can reach one of the above URLs at least!


SOURCE CODE CONTRIBUTION
------------------------

Your contribution to SoftEther VPN Project is much appreciated.
Please send patches to us through GitHub.
Read the SoftEther VPN Patch Acceptance Policy in advance:
http://www.softether.org/5-download/src/9.patch


DEAR SECURITY EXPERTS
---------------------

If you find a bug or a security vulnerability please kindly inform us
about the problem immediately so that we can fix the security problem
to protect a lot of users around the world as soon as possible.

Our e-mail address for security reports is:
softether-vpn-security [at] softether.org

Please note that the above e-mail address is not a technical support
inquiry address. If you need technical assistance, please visit
http://www.softether.org/ and ask your question on the users forum.


DISCLAIMER
----------

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
THIS SOFTWARE IS DEVELOPED IN JAPAN, AND DISTRIBUTED FROM JAPAN,
UNDER JAPANESE LAWS. YOU MUST AGREE IN ADVANCE TO USE, COPY, MODIFY,
MERGE, PUBLISH, DISTRIBUTE, SUBLICENSE, AND/OR SELL COPIES OF THIS
SOFTWARE, THAT ANY JURIDICAL DISPUTES WHICH ARE CONCERNED TO THIS
SOFTWARE OR ITS CONTENTS, AGAINST US (SOFTETHER PROJECT, SOFTETHER
CORPORATION, DAIYUU NOBORI OR OTHER SUPPLIERS), OR ANY JURIDICAL
DISPUTES AGAINST US WHICH ARE CAUSED BY ANY KIND OF USING, COPYING,
MODIFYING, MERGING, PUBLISHING, DISTRIBUTING, SUBLICENSING, AND/OR
SELLING COPIES OF THIS SOFTWARE SHALL BE REGARDED AS BE CONSTRUED AND
CONTROLLED BY JAPANESE LAWS, AND YOU MUST FURTHER CONSENT TO
EXCLUSIVE JURISDICTION AND VENUE IN THE COURTS SITTING IN TOKYO,
JAPAN. YOU MUST WAIVE ALL DEFENSES OF LACK OF PERSONAL JURISDICTION
AND FORUM NON CONVENIENS. PROCESS MAY BE SERVED ON EITHER PARTY IN
THE MANNER AUTHORIZED BY APPLICABLE LAW OR COURT RULE.

USE ONLY IN JAPAN. DO NOT USE THIS SOFTWARE IN ANOTHER COUNTRY UNLESS
YOU HAVE A CONFIRMATION THAT THIS SOFTWARE DOES NOT VIOLATE ANY
CRIMINAL LAWS OR CIVIL RIGHTS IN THAT PARTICULAR COUNTRY. USING THIS
SOFTWARE IN OTHER COUNTRIES IS COMPLETELY AT YOUR OWN RISK. THE
SOFTETHER VPN PROJECT HAS DEVELOPED AND DISTRIBUTED THIS SOFTWARE TO
COMPLY ONLY WITH THE JAPANESE LAWS AND EXISTING CIVIL RIGHTS INCLUDING
PATENTS WHICH ARE SUBJECTS APPLY IN JAPAN. OTHER COUNTRIES' LAWS OR
CIVIL RIGHTS ARE NONE OF OUR CONCERNS NOR RESPONSIBILITIES. WE HAVE
NEVER INVESTIGATED ANY CRIMINAL REGULATIONS, CIVIL LAWS OR
INTELLECTUAL PROPERTY RIGHTS INCLUDING PATENTS IN ANY OF OTHER 200+
COUNTRIES AND TERRITORIES. BY NATURE, THERE ARE 200+ REGIONS IN THE
WORLD, WITH DIFFERENT LAWS. IT IS IMPOSSIBLE TO VERIFY EVERY
COUNTRIES' LAWS, REGULATIONS AND CIVIL RIGHTS TO MAKE THE SOFTWARE
COMPLY WITH ALL COUNTRIES' LAWS BY THE PROJECT. EVEN IF YOU WILL BE
SUED BY A PRIVATE ENTITY OR BE DAMAGED BY A PUBLIC SERVANT IN YOUR
COUNTRY, THE DEVELOPERS OF THIS SOFTWARE WILL NEVER BE LIABLE TO
RECOVER OR COMPENSATE SUCH DAMAGES, CRIMINAL OR CIVIL
RESPONSIBILITIES. NOTE THAT THIS LINE IS NOT LICENSE RESTRICTION BUT
JUST A STATEMENT FOR WARNING AND DISCLAIMER.

READ AND UNDERSTAND THE 'WARNING.TXT' FILE BEFORE USING THIS SOFTWARE.
SOME SOFTWARE PROGRAMS FROM THIRD PARTIES ARE INCLUDED ON THIS SOFTWARE
WITH LICENSE CONDITIONS WHICH ARE DESCRIBED ON THE 'THIRD_PARTY.TXT' FILE.


ADVERTISEMENT
-------------

SoftEther VPN is developed by SoftEther VPN Project at University of Tsukuba.
Department of Computer Science has dozens of overly-enthusiastic geeks.
Join us: http://www.tsukuba.ac.jp/english/admission/