Merge tag 'upstream/4.25.9656-rtm'

Upstream version 4.25.9656-rtm
This commit is contained in:
Mario Fetka 2018-03-13 17:12:23 +01:00
commit 39a01e0bb6
355 changed files with 4517 additions and 3575 deletions

10
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,10 @@
Changes proposed in this pull request:
Your great patch is much appreciated. We are considering to apply your patch into the SoftEther VPN main tree.
SoftEther VPN Patch Acceptance Policy:
http://www.softether.org/5-download/src/9.patch
You have two options which are described on the above policy.
Could you please choose either option 1 or 2, and specify it clearly on the reply?

View File

@ -6,7 +6,7 @@ AUTHORS OF SOFTETHER VPN
CORE DEVELOPERS: CORE DEVELOPERS:
- Daiyuu Nobori - Daiyuu Nobori, Ph.D.
Computer Science, Graduate School of University of Tsukuba Computer Science, Graduate School of University of Tsukuba
SoftEther Corporation SoftEther Corporation
E-mail: daiyuu-nobori [at] softether.org E-mail: daiyuu-nobori [at] softether.org
@ -18,16 +18,16 @@ CORE DEVELOPERS:
Risk Engineering, Graduate School of University of Tsukuba Risk Engineering, Graduate School of University of Tsukuba
SoftEther Corporation SoftEther Corporation
- Takao Ito - Takao Ito, Ph.D.
Computer Science, Graduate School of University of Tsukuba Computer Science, Graduate School of University of Tsukuba
SoftEther Corporation SoftEther Corporation
- Mei Sharie Ann Yamaguchi, Ph.D.
Life and Environmental Sciences, Graduate School of University of Tsukuba
- Christopher Smith - Christopher Smith
College of Information Science, University of Tsukuba College of Information Science, University of Tsukuba
- Mei Sharie Ann Yamaguchi
Life and Environmental Sciences, Graduate School of University of Tsukuba
WEB-SITE DESIGNER: WEB-SITE DESIGNER:
@ -67,6 +67,77 @@ CONTRIBUTORS on GitHub:
- ygrek - ygrek
https://github.com/ygrek https://github.com/ygrek
- ajee cai
https://github.com/ajeecai
- NOKUBI Takatsugu
https://github.com/knok
- Den Lesnov
https://github.com/Leden
- Ilya Shipitsin
https://github.com/chipitsine
- Matt Lewandowsky
https://github.com/lewellyn
- Raymond Tau
https://github.com/rtau
- Luiz Eduardo Gava
https://github.com/LegDog
- Charles Surett
https://github.com/scj643
- Jeff Tang
https://github.com/mrjefftang
- Victor Salgado
https://github.com/mcsalgado
- micsell
https://github.com/micsell
- yehorov
https://github.com/yehorov
- dglushenok
https://github.com/dglushenok
- NoNameA 774
https://github.com/nna774
- Alexandre De Oliveira
https://github.com/yodresh
- Bernhard Rosenkraenzer
https://github.com/berolinux
- Sacha Bernstein
https://github.com/sacha
- cm0x4D
https://github.com/cm0x4D
- DDGo
https://github.com/DDGo
- Noah O'Donoghue
https://github.com/NoahO
- Moataz Elmasry
https://github.com/moatazelmasry2
- Zulyandri Zardi
https://github.com/zulzardi
- rel22
https://github.com/rel22
- Guanzhong Chen
https://github.com/quantum5
JOIN THE SOFTETHER VPN DEVELOPMENT JOIN THE SOFTETHER VPN DEVELOPMENT
---------------------------------- ----------------------------------
@ -76,8 +147,3 @@ Want to become a contributor? Please send us a patch.
See also: SoftEther VPN Patch Acceptance Policy See also: SoftEther VPN Patch Acceptance Policy
http://www.softether.org/5-download/src/9.patch http://www.softether.org/5-download/src/9.patch
Developed by SoftEther VPN Project at University of Tsukuba in Japan.
Department of Computer Science has dozens of overly-enthusiastic geeks.
Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -3,9 +3,9 @@ open-source. You can redistribute them and/or modify them under the terms of
the GNU General Public License version 2 as published by the Free Software the GNU General Public License version 2 as published by the Free Software
Foundation. Foundation.
Copyright (c) 2012-2015 Daiyuu Nobori. Copyright (c) Daiyuu Nobori.
Copyright (c) 2012-2015 SoftEther Project at University of Tsukuba, Japan. Copyright (c) SoftEther Project at University of Tsukuba, Japan.
Copyright (c) 2012-2015 SoftEther Corporation. Copyright (c) SoftEther Corporation.
All Rights Reserved. All Rights Reserved.
http://www.softether.org/ http://www.softether.org/

View File

@ -3,9 +3,9 @@ open-source. You can redistribute them and/or modify them under the terms of
the GNU General Public License version 2 as published by the Free Software the GNU General Public License version 2 as published by the Free Software
Foundation. Foundation.
Copyright (c) 2012-2015 Daiyuu Nobori. Copyright (c) Daiyuu Nobori.
Copyright (c) 2012-2015 SoftEther Project at University of Tsukuba, Japan. Copyright (c) SoftEther Project at University of Tsukuba, Japan.
Copyright (c) 2012-2015 SoftEther Corporation. Copyright (c) SoftEther Corporation.
All Rights Reserved. All Rights Reserved.
http://www.softether.org/ http://www.softether.org/

48
README
View File

@ -1,8 +1,14 @@
SoftEther VPN - An Open-Source Cross-platform Multi-protocol VPN Program SoftEther VPN (Stable Edition Repository)
- An Open-Source Cross-platform Multi-protocol VPN Program
http://www.softether.org/ http://www.softether.org/
We use GitHub as the primary official SoftEther VPN repository: We use GitHub as the primary official SoftEther VPN repository:
https://github.com/SoftEtherVPN/SoftEtherVPN/ https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/
This branch is officially managed by Daiyuu Nobori, the owner of
SoftEther VPN Project. Pull requests should be sent to the
Developer Edition Master Repository on
https://github.com/SoftEtherVPN/SoftEtherVPN
Source code packages (.zip and .tar.gz) and binary files are also available: Source code packages (.zip and .tar.gz) and binary files are also available:
http://www.softether-download.com/ http://www.softether-download.com/
@ -10,7 +16,13 @@ http://www.softether-download.com/
We accept your patches by the acceptance policy: We accept your patches by the acceptance policy:
http://www.softether.org/5-download/src/9.patch http://www.softether.org/5-download/src/9.patch
Copyright (c) 2012-2015 SoftEther Project at University of Tsukuba, Japan. Copyright (c) SoftEther Project at University of Tsukuba, Japan.
The development of SoftEther VPN was supported by the MITOH Project,
a research and development project by Japanese Government,
subsidized by METI (Ministry of Economy, Trade and Industry of Japan),
administrated by IPA (Information Promotion Agency, Japan).
https://www.ipa.go.jp/english/humandev/
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 it under the terms of the GNU General Public License version 2
@ -95,14 +107,14 @@ HOW TO GET THE LATEST SOURCE CODE TREE FOR DEVELOPERS
----------------------------------------------------- -----------------------------------------------------
If you are an open-source developer, visit our GitHub repository: If you are an open-source developer, visit our GitHub repository:
https://github.com/SoftEtherVPN/SoftEtherVPN/ https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/
You can download the up-to-date source-code tree of SoftEther VPN 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. from GitHub. You may make your own fork project from our project.
The download and build instruction is following: The download and build instruction is following:
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git $ git clone https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.git
$ cd SoftEtherVPN $ cd SoftEtherVPN
$ ./configure $ ./configure
$ make $ make
@ -121,25 +133,10 @@ SoftEther VPN Project distributes the up-to-date source-code
on all the following open-source repositories: on all the following open-source repositories:
- GitHub - GitHub
https://github.com/SoftEtherVPN/SoftEtherVPN/ https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/
- 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: To fetch the source code from GitHub:
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git $ git clone https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.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! We hope that you can reach one of the above URLs at least!
@ -218,10 +215,3 @@ SOME SOFTWARE PROGRAMS FROM THIRD PARTIES ARE INCLUDED ON THIS SOFTWARE
WITH LICENSE CONDITIONS WHICH ARE DESCRIBED ON THE 'THIRD_PARTY.TXT' FILE. 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/

View File

@ -1,8 +1,14 @@
SoftEther VPN - An Open-Source Cross-platform Multi-protocol VPN Program SoftEther VPN (Stable Edition Repository)
- An Open-Source Cross-platform Multi-protocol VPN Program
http://www.softether.org/ http://www.softether.org/
We use GitHub as the primary official SoftEther VPN repository: We use GitHub as the primary official SoftEther VPN repository:
https://github.com/SoftEtherVPN/SoftEtherVPN/ https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/
This branch is officially managed by Daiyuu Nobori, the owner of
SoftEther VPN Project. Pull requests should be sent to the
Developer Edition Master Repository on
https://github.com/SoftEtherVPN/SoftEtherVPN
Source code packages (.zip and .tar.gz) and binary files are also available: Source code packages (.zip and .tar.gz) and binary files are also available:
http://www.softether-download.com/ http://www.softether-download.com/
@ -10,7 +16,13 @@ http://www.softether-download.com/
We accept your patches by the acceptance policy: We accept your patches by the acceptance policy:
http://www.softether.org/5-download/src/9.patch http://www.softether.org/5-download/src/9.patch
Copyright (c) 2012-2015 SoftEther Project at University of Tsukuba, Japan. Copyright (c) SoftEther Project at University of Tsukuba, Japan.
The development of SoftEther VPN was supported by the MITOH Project,
a research and development project by Japanese Government,
subsidized by METI (Ministry of Economy, Trade and Industry of Japan),
administrated by IPA (Information Promotion Agency, Japan).
https://www.ipa.go.jp/english/humandev/
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 it under the terms of the GNU General Public License version 2
@ -95,14 +107,14 @@ HOW TO GET THE LATEST SOURCE CODE TREE FOR DEVELOPERS
----------------------------------------------------- -----------------------------------------------------
If you are an open-source developer, visit our GitHub repository: If you are an open-source developer, visit our GitHub repository:
https://github.com/SoftEtherVPN/SoftEtherVPN/ https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/
You can download the up-to-date source-code tree of SoftEther VPN 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. from GitHub. You may make your own fork project from our project.
The download and build instruction is following: The download and build instruction is following:
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git $ git clone https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.git
$ cd SoftEtherVPN $ cd SoftEtherVPN
$ ./configure $ ./configure
$ make $ make
@ -121,25 +133,10 @@ SoftEther VPN Project distributes the up-to-date source-code
on all the following open-source repositories: on all the following open-source repositories:
- GitHub - GitHub
https://github.com/SoftEtherVPN/SoftEtherVPN/ https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/
- 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: To fetch the source code from GitHub:
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git $ git clone https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.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! We hope that you can reach one of the above URLs at least!
@ -218,10 +215,3 @@ SOME SOFTWARE PROGRAMS FROM THIRD PARTIES ARE INCLUDED ON THIS SOFTWARE
WITH LICENSE CONDITIONS WHICH ARE DESCRIBED ON THE 'THIRD_PARTY.TXT' FILE. 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/

View File

@ -2,7 +2,7 @@ THE IMPORTANT NOTICES ABOUT SOFTETHER VPN
FUNCTIONS OF VPN COMMUNICATIONS EMBEDDED ON THIS SOFTWARE ARE VERY POWERFUL FUNCTIONS OF VPN COMMUNICATIONS EMBEDDED ON THIS SOFTWARE ARE VERY POWERFUL
THAN EVER. THIS STRONG VPN ABILITY WILL BRING YOU HUGE BENEFITS. HOWEVER, IF THAN EVER. THIS STRONG VPN ABILITY WILL BRING YOU HUGE BENEFITS. HOWEVER, IF
YOU MISUSE THIS SOFTWARE, IT MIGHT DAMAGES YOURSELF. IN ORDER TO AVOID SUCH YOU MISUSE THIS SOFTWARE, IT MIGHT DAMAGE YOURSELF. IN ORDER TO AVOID SUCH
RISKS, THIS DOCUMENT ACCOUNTS IMPORTANT NOTICES FOR CUSTOMERS WHO ARE WILLING RISKS, THIS DOCUMENT ACCOUNTS IMPORTANT NOTICES FOR CUSTOMERS WHO ARE WILLING
TO USE THIS SOFTWARE. THE FOLLOWING INSTRUCTIONS ARE VERY IMPORTANT. READ AND TO USE THIS SOFTWARE. THE FOLLOWING INSTRUCTIONS ARE VERY IMPORTANT. READ AND
UNDERSTAND IT CAREFULLY. ADDITIONALLY, IF YOU ARE PLANNING TO USE THE DYNAMIC UNDERSTAND IT CAREFULLY. ADDITIONALLY, IF YOU ARE PLANNING TO USE THE DYNAMIC

View File

@ -1,7 +1,7 @@
# SoftEther VPN Source Code # SoftEther VPN Source Code
# #
# Copyright (c) 2012-2015 SoftEther VPN Project at University of Tsukuba, Japan. # Copyright (c) SoftEther VPN Project at University of Tsukuba, Japan.
# Copyright (c) 2012-2015 Daiyuu Nobori. # Copyright (c) Daiyuu Nobori.
# All Rights Reserved. # All Rights Reserved.
# #
# http://www.softether.org/ # http://www.softether.org/
@ -51,7 +51,7 @@ HEADERS_MAYAQUA=src/Mayaqua/Cfg.h src/Mayaqua/cryptoki.h src/Mayaqua/Encrypt.h s
HEADERS_CEDAR=src/Cedar/Account.h src/Cedar/Admin.h src/Cedar/AzureClient.h src/Cedar/AzureServer.h src/Cedar/Bridge.h src/Cedar/BridgeUnix.h src/Cedar/BridgeWin32.h src/Cedar/Cedar.h src/Cedar/CedarPch.h src/Cedar/CedarType.h src/Cedar/Client.h src/Cedar/CM.h src/Cedar/CMInner.h src/Cedar/Command.h src/Cedar/Connection.h src/Cedar/Console.h src/Cedar/Database.h src/Cedar/DDNS.h src/Cedar/EM.h src/Cedar/EMInner.h src/Cedar/EtherLog.h src/Cedar/Hub.h src/Cedar/Interop_OpenVPN.h src/Cedar/Interop_SSTP.h src/Cedar/IPsec.h src/Cedar/IPsec_EtherIP.h src/Cedar/IPsec_IKE.h src/Cedar/IPsec_IkePacket.h src/Cedar/IPsec_IPC.h src/Cedar/IPsec_L2TP.h src/Cedar/IPsec_PPP.h src/Cedar/IPsec_Win7.h src/Cedar/IPsec_Win7Inner.h src/Cedar/Layer3.h src/Cedar/Link.h src/Cedar/Listener.h src/Cedar/Logging.h src/Cedar/Nat.h src/Cedar/NativeStack.h src/Cedar/netcfgn.h src/Cedar/netcfgx.h src/Cedar/NM.h src/Cedar/NMInner.h src/Cedar/NullLan.h src/Cedar/Protocol.h src/Cedar/Radius.h src/Cedar/Remote.h src/Cedar/Sam.h src/Cedar/SecureInfo.h src/Cedar/SecureNAT.h src/Cedar/SeLowUser.h src/Cedar/Server.h src/Cedar/Session.h src/Cedar/SM.h src/Cedar/SMInner.h src/Cedar/SW.h src/Cedar/SWInner.h src/Cedar/UdpAccel.h src/Cedar/UT.h src/Cedar/VG.h src/Cedar/Virtual.h src/Cedar/VLan.h src/Cedar/VLanUnix.h src/Cedar/VLanWin32.h src/Cedar/WaterMark.h src/Cedar/WebUI.h src/Cedar/Win32Com.h src/Cedar/winpcap/bittypes.h src/Cedar/winpcap/bucket_lookup.h src/Cedar/winpcap/count_packets.h src/Cedar/winpcap/Devioctl.h src/Cedar/winpcap/Gnuc.h src/Cedar/winpcap/ip6_misc.h src/Cedar/winpcap/memory_t.h src/Cedar/winpcap/normal_lookup.h src/Cedar/winpcap/Ntddndis.h src/Cedar/winpcap/Ntddpack.h src/Cedar/winpcap/Packet32.h src/Cedar/winpcap/pcap.h src/Cedar/winpcap/pcap-bpf.h src/Cedar/winpcap/pcap-int.h src/Cedar/winpcap/pcap-stdinc.h src/Cedar/winpcap/pthread.h src/Cedar/winpcap/remote-ext.h src/Cedar/winpcap/sched.h src/Cedar/winpcap/semaphore.h src/Cedar/winpcap/tcp_session.h src/Cedar/winpcap/time_calls.h src/Cedar/winpcap/tme.h src/Cedar/winpcap/Win32-Extensions.h src/Cedar/WinUi.h src/Cedar/Wpc.h HEADERS_CEDAR=src/Cedar/Account.h src/Cedar/Admin.h src/Cedar/AzureClient.h src/Cedar/AzureServer.h src/Cedar/Bridge.h src/Cedar/BridgeUnix.h src/Cedar/BridgeWin32.h src/Cedar/Cedar.h src/Cedar/CedarPch.h src/Cedar/CedarType.h src/Cedar/Client.h src/Cedar/CM.h src/Cedar/CMInner.h src/Cedar/Command.h src/Cedar/Connection.h src/Cedar/Console.h src/Cedar/Database.h src/Cedar/DDNS.h src/Cedar/EM.h src/Cedar/EMInner.h src/Cedar/EtherLog.h src/Cedar/Hub.h src/Cedar/Interop_OpenVPN.h src/Cedar/Interop_SSTP.h src/Cedar/IPsec.h src/Cedar/IPsec_EtherIP.h src/Cedar/IPsec_IKE.h src/Cedar/IPsec_IkePacket.h src/Cedar/IPsec_IPC.h src/Cedar/IPsec_L2TP.h src/Cedar/IPsec_PPP.h src/Cedar/IPsec_Win7.h src/Cedar/IPsec_Win7Inner.h src/Cedar/Layer3.h src/Cedar/Link.h src/Cedar/Listener.h src/Cedar/Logging.h src/Cedar/Nat.h src/Cedar/NativeStack.h src/Cedar/netcfgn.h src/Cedar/netcfgx.h src/Cedar/NM.h src/Cedar/NMInner.h src/Cedar/NullLan.h src/Cedar/Protocol.h src/Cedar/Radius.h src/Cedar/Remote.h src/Cedar/Sam.h src/Cedar/SecureInfo.h src/Cedar/SecureNAT.h src/Cedar/SeLowUser.h src/Cedar/Server.h src/Cedar/Session.h src/Cedar/SM.h src/Cedar/SMInner.h src/Cedar/SW.h src/Cedar/SWInner.h src/Cedar/UdpAccel.h src/Cedar/UT.h src/Cedar/VG.h src/Cedar/Virtual.h src/Cedar/VLan.h src/Cedar/VLanUnix.h src/Cedar/VLanWin32.h src/Cedar/WaterMark.h src/Cedar/WebUI.h src/Cedar/Win32Com.h src/Cedar/winpcap/bittypes.h src/Cedar/winpcap/bucket_lookup.h src/Cedar/winpcap/count_packets.h src/Cedar/winpcap/Devioctl.h src/Cedar/winpcap/Gnuc.h src/Cedar/winpcap/ip6_misc.h src/Cedar/winpcap/memory_t.h src/Cedar/winpcap/normal_lookup.h src/Cedar/winpcap/Ntddndis.h src/Cedar/winpcap/Ntddpack.h src/Cedar/winpcap/Packet32.h src/Cedar/winpcap/pcap.h src/Cedar/winpcap/pcap-bpf.h src/Cedar/winpcap/pcap-int.h src/Cedar/winpcap/pcap-stdinc.h src/Cedar/winpcap/pthread.h src/Cedar/winpcap/remote-ext.h src/Cedar/winpcap/sched.h src/Cedar/winpcap/semaphore.h src/Cedar/winpcap/tcp_session.h src/Cedar/winpcap/time_calls.h src/Cedar/winpcap/tme.h src/Cedar/winpcap/Win32-Extensions.h src/Cedar/WinUi.h src/Cedar/Wpc.h
OBJECTS_MAYAQUA=tmp/objs/Mayaqua/Cfg.o tmp/objs/Mayaqua/Encrypt.o tmp/objs/Mayaqua/FileIO.o tmp/objs/Mayaqua/Internat.o tmp/objs/Mayaqua/Kernel.o tmp/objs/Mayaqua/Mayaqua.o tmp/objs/Mayaqua/Memory.o tmp/objs/Mayaqua/Microsoft.o tmp/objs/Mayaqua/Network.o tmp/objs/Mayaqua/Object.o tmp/objs/Mayaqua/OS.o tmp/objs/Mayaqua/Pack.o tmp/objs/Mayaqua/Secure.o tmp/objs/Mayaqua/Str.o tmp/objs/Mayaqua/Table.o tmp/objs/Mayaqua/TcpIp.o tmp/objs/Mayaqua/Tick64.o tmp/objs/Mayaqua/Tracking.o tmp/objs/Mayaqua/Unix.o tmp/objs/Mayaqua/Win32.o OBJECTS_MAYAQUA=tmp/objs/Mayaqua/Cfg.o tmp/objs/Mayaqua/Encrypt.o tmp/objs/Mayaqua/FileIO.o tmp/objs/Mayaqua/Internat.o tmp/objs/Mayaqua/Kernel.o tmp/objs/Mayaqua/Mayaqua.o tmp/objs/Mayaqua/Memory.o tmp/objs/Mayaqua/Microsoft.o tmp/objs/Mayaqua/Network.o tmp/objs/Mayaqua/Object.o tmp/objs/Mayaqua/OS.o tmp/objs/Mayaqua/Pack.o tmp/objs/Mayaqua/Secure.o tmp/objs/Mayaqua/Str.o tmp/objs/Mayaqua/Table.o tmp/objs/Mayaqua/TcpIp.o tmp/objs/Mayaqua/Tick64.o tmp/objs/Mayaqua/Tracking.o tmp/objs/Mayaqua/Unix.o tmp/objs/Mayaqua/Win32.o
OBJECTS_CEDAR=tmp/objs/Cedar/Account.o tmp/objs/Cedar/Admin.o tmp/objs/Cedar/AzureClient.o tmp/objs/Cedar/AzureServer.o tmp/objs/Cedar/Bridge.o tmp/objs/Cedar/BridgeUnix.o tmp/objs/Cedar/BridgeWin32.o tmp/objs/Cedar/Cedar.o tmp/objs/Cedar/CedarPch.o tmp/objs/Cedar/Client.o tmp/objs/Cedar/CM.o tmp/objs/Cedar/Command.o tmp/objs/Cedar/Connection.o tmp/objs/Cedar/Console.o tmp/objs/Cedar/Database.o tmp/objs/Cedar/DDNS.o tmp/objs/Cedar/EM.o tmp/objs/Cedar/EtherLog.o tmp/objs/Cedar/Hub.o tmp/objs/Cedar/Interop_OpenVPN.o tmp/objs/Cedar/Interop_SSTP.o tmp/objs/Cedar/IPsec.o tmp/objs/Cedar/IPsec_EtherIP.o tmp/objs/Cedar/IPsec_IKE.o tmp/objs/Cedar/IPsec_IkePacket.o tmp/objs/Cedar/IPsec_IPC.o tmp/objs/Cedar/IPsec_L2TP.o tmp/objs/Cedar/IPsec_PPP.o tmp/objs/Cedar/IPsec_Win7.o tmp/objs/Cedar/Layer3.o tmp/objs/Cedar/Link.o tmp/objs/Cedar/Listener.o tmp/objs/Cedar/Logging.o tmp/objs/Cedar/Nat.o tmp/objs/Cedar/NativeStack.o tmp/objs/Cedar/NM.o tmp/objs/Cedar/NullLan.o tmp/objs/Cedar/Protocol.o tmp/objs/Cedar/Radius.o tmp/objs/Cedar/Remote.o tmp/objs/Cedar/Sam.o tmp/objs/Cedar/SecureInfo.o tmp/objs/Cedar/SecureNAT.o tmp/objs/Cedar/SeLowUser.o tmp/objs/Cedar/Server.o tmp/objs/Cedar/Session.o tmp/objs/Cedar/SM.o tmp/objs/Cedar/SW.o tmp/objs/Cedar/UdpAccel.o tmp/objs/Cedar/UT.o tmp/objs/Cedar/VG.o tmp/objs/Cedar/Virtual.o tmp/objs/Cedar/VLan.o tmp/objs/Cedar/VLanUnix.o tmp/objs/Cedar/VLanWin32.o tmp/objs/Cedar/WaterMark.o tmp/objs/Cedar/WebUI.o tmp/objs/Cedar/WinUi.o tmp/objs/Cedar/Wpc.o OBJECTS_CEDAR=tmp/objs/Cedar/Account.o tmp/objs/Cedar/Admin.o tmp/objs/Cedar/AzureClient.o tmp/objs/Cedar/AzureServer.o tmp/objs/Cedar/Bridge.o tmp/objs/Cedar/BridgeUnix.o tmp/objs/Cedar/BridgeWin32.o tmp/objs/Cedar/Cedar.o tmp/objs/Cedar/CedarPch.o tmp/objs/Cedar/Client.o tmp/objs/Cedar/CM.o tmp/objs/Cedar/Command.o tmp/objs/Cedar/Connection.o tmp/objs/Cedar/Console.o tmp/objs/Cedar/Database.o tmp/objs/Cedar/DDNS.o tmp/objs/Cedar/EM.o tmp/objs/Cedar/EtherLog.o tmp/objs/Cedar/Hub.o tmp/objs/Cedar/Interop_OpenVPN.o tmp/objs/Cedar/Interop_SSTP.o tmp/objs/Cedar/IPsec.o tmp/objs/Cedar/IPsec_EtherIP.o tmp/objs/Cedar/IPsec_IKE.o tmp/objs/Cedar/IPsec_IkePacket.o tmp/objs/Cedar/IPsec_IPC.o tmp/objs/Cedar/IPsec_L2TP.o tmp/objs/Cedar/IPsec_PPP.o tmp/objs/Cedar/IPsec_Win7.o tmp/objs/Cedar/Layer3.o tmp/objs/Cedar/Link.o tmp/objs/Cedar/Listener.o tmp/objs/Cedar/Logging.o tmp/objs/Cedar/Nat.o tmp/objs/Cedar/NativeStack.o tmp/objs/Cedar/NM.o tmp/objs/Cedar/NullLan.o tmp/objs/Cedar/Protocol.o tmp/objs/Cedar/Radius.o tmp/objs/Cedar/Remote.o tmp/objs/Cedar/Sam.o tmp/objs/Cedar/SecureInfo.o tmp/objs/Cedar/SecureNAT.o tmp/objs/Cedar/SeLowUser.o tmp/objs/Cedar/Server.o tmp/objs/Cedar/Session.o tmp/objs/Cedar/SM.o tmp/objs/Cedar/SW.o tmp/objs/Cedar/UdpAccel.o tmp/objs/Cedar/UT.o tmp/objs/Cedar/VG.o tmp/objs/Cedar/Virtual.o tmp/objs/Cedar/VLan.o tmp/objs/Cedar/VLanUnix.o tmp/objs/Cedar/VLanWin32.o tmp/objs/Cedar/WaterMark.o tmp/objs/Cedar/WebUI.o tmp/objs/Cedar/WinUi.o tmp/objs/Cedar/Wpc.o
HAMCORE_FILES=src/bin/hamcore/backup_dir_readme.txt src/bin/hamcore/empty.config src/bin/hamcore/empty_sevpnclient.config src/bin/hamcore/eula.txt src/bin/hamcore/install_src.dat src/bin/hamcore/lang.config src/bin/hamcore/languages.txt src/bin/hamcore/legal.txt src/bin/hamcore/openvpn_readme.pdf src/bin/hamcore/openvpn_readme.txt src/bin/hamcore/openvpn_sample.ovpn src/bin/hamcore/SOURCES_OF_BINARY_FILES.TXT src/bin/hamcore/strtable_cn.stb src/bin/hamcore/strtable_en.stb src/bin/hamcore/strtable_ja.stb src/bin/hamcore/vpnweb_sample_cn.htm src/bin/hamcore/vpnweb_sample_en.htm src/bin/hamcore/vpnweb_sample_ja.htm src/bin/hamcore/warning_cn.txt src/bin/hamcore/warning_en.txt src/bin/hamcore/warning_ja.txt src/bin/hamcore/webui/cryptcom.cgi src/bin/hamcore/webui/edituser.cgi src/bin/hamcore/webui/error.cgi src/bin/hamcore/webui/hub.cgi src/bin/hamcore/webui/license.cgi src/bin/hamcore/webui/listener.cgi src/bin/hamcore/webui/localbridge.cgi src/bin/hamcore/webui/login.cgi src/bin/hamcore/webui/newhub.cgi src/bin/hamcore/webui/redirect.cgi src/bin/hamcore/webui/securenat.cgi src/bin/hamcore/webui/server.cgi src/bin/hamcore/webui/session.cgi src/bin/hamcore/webui/user.cgi src/bin/hamcore/webui/webui.css HAMCORE_FILES=src/bin/hamcore/authors.txt src/bin/hamcore/backup_dir_readme.txt src/bin/hamcore/empty.config src/bin/hamcore/empty_sevpnclient.config src/bin/hamcore/eula.txt src/bin/hamcore/install_src.dat src/bin/hamcore/lang.config src/bin/hamcore/languages.txt src/bin/hamcore/legal.txt src/bin/hamcore/openvpn_readme.pdf src/bin/hamcore/openvpn_readme.txt src/bin/hamcore/openvpn_sample.ovpn src/bin/hamcore/root_certs.dat src/bin/hamcore/SOURCES_OF_BINARY_FILES.TXT src/bin/hamcore/strtable_cn.stb src/bin/hamcore/strtable_en.stb src/bin/hamcore/strtable_ja.stb src/bin/hamcore/vpnweb_sample_cn.htm src/bin/hamcore/vpnweb_sample_en.htm src/bin/hamcore/vpnweb_sample_ja.htm src/bin/hamcore/warning_cn.txt src/bin/hamcore/warning_en.txt src/bin/hamcore/warning_ja.txt src/bin/hamcore/webui/cryptcom.cgi src/bin/hamcore/webui/edituser.cgi src/bin/hamcore/webui/error.cgi src/bin/hamcore/webui/hub.cgi src/bin/hamcore/webui/license.cgi src/bin/hamcore/webui/listener.cgi src/bin/hamcore/webui/localbridge.cgi src/bin/hamcore/webui/login.cgi src/bin/hamcore/webui/newhub.cgi src/bin/hamcore/webui/redirect.cgi src/bin/hamcore/webui/securenat.cgi src/bin/hamcore/webui/server.cgi src/bin/hamcore/webui/session.cgi src/bin/hamcore/webui/user.cgi src/bin/hamcore/webui/webui.css
# Build Action # Build Action
default: build default: build

View File

@ -1,7 +1,7 @@
# SoftEther VPN Source Code # SoftEther VPN Source Code
# #
# Copyright (c) 2012-2015 SoftEther VPN Project at University of Tsukuba, Japan. # Copyright (c) SoftEther VPN Project at University of Tsukuba, Japan.
# Copyright (c) 2012-2015 Daiyuu Nobori. # Copyright (c) Daiyuu Nobori.
# All Rights Reserved. # All Rights Reserved.
# #
# http://www.softether.org/ # http://www.softether.org/
@ -51,7 +51,7 @@ HEADERS_MAYAQUA=src/Mayaqua/Cfg.h src/Mayaqua/cryptoki.h src/Mayaqua/Encrypt.h s
HEADERS_CEDAR=src/Cedar/Account.h src/Cedar/Admin.h src/Cedar/AzureClient.h src/Cedar/AzureServer.h src/Cedar/Bridge.h src/Cedar/BridgeUnix.h src/Cedar/BridgeWin32.h src/Cedar/Cedar.h src/Cedar/CedarPch.h src/Cedar/CedarType.h src/Cedar/Client.h src/Cedar/CM.h src/Cedar/CMInner.h src/Cedar/Command.h src/Cedar/Connection.h src/Cedar/Console.h src/Cedar/Database.h src/Cedar/DDNS.h src/Cedar/EM.h src/Cedar/EMInner.h src/Cedar/EtherLog.h src/Cedar/Hub.h src/Cedar/Interop_OpenVPN.h src/Cedar/Interop_SSTP.h src/Cedar/IPsec.h src/Cedar/IPsec_EtherIP.h src/Cedar/IPsec_IKE.h src/Cedar/IPsec_IkePacket.h src/Cedar/IPsec_IPC.h src/Cedar/IPsec_L2TP.h src/Cedar/IPsec_PPP.h src/Cedar/IPsec_Win7.h src/Cedar/IPsec_Win7Inner.h src/Cedar/Layer3.h src/Cedar/Link.h src/Cedar/Listener.h src/Cedar/Logging.h src/Cedar/Nat.h src/Cedar/NativeStack.h src/Cedar/netcfgn.h src/Cedar/netcfgx.h src/Cedar/NM.h src/Cedar/NMInner.h src/Cedar/NullLan.h src/Cedar/Protocol.h src/Cedar/Radius.h src/Cedar/Remote.h src/Cedar/Sam.h src/Cedar/SecureInfo.h src/Cedar/SecureNAT.h src/Cedar/SeLowUser.h src/Cedar/Server.h src/Cedar/Session.h src/Cedar/SM.h src/Cedar/SMInner.h src/Cedar/SW.h src/Cedar/SWInner.h src/Cedar/UdpAccel.h src/Cedar/UT.h src/Cedar/VG.h src/Cedar/Virtual.h src/Cedar/VLan.h src/Cedar/VLanUnix.h src/Cedar/VLanWin32.h src/Cedar/WaterMark.h src/Cedar/WebUI.h src/Cedar/Win32Com.h src/Cedar/winpcap/bittypes.h src/Cedar/winpcap/bucket_lookup.h src/Cedar/winpcap/count_packets.h src/Cedar/winpcap/Devioctl.h src/Cedar/winpcap/Gnuc.h src/Cedar/winpcap/ip6_misc.h src/Cedar/winpcap/memory_t.h src/Cedar/winpcap/normal_lookup.h src/Cedar/winpcap/Ntddndis.h src/Cedar/winpcap/Ntddpack.h src/Cedar/winpcap/Packet32.h src/Cedar/winpcap/pcap.h src/Cedar/winpcap/pcap-bpf.h src/Cedar/winpcap/pcap-int.h src/Cedar/winpcap/pcap-stdinc.h src/Cedar/winpcap/pthread.h src/Cedar/winpcap/remote-ext.h src/Cedar/winpcap/sched.h src/Cedar/winpcap/semaphore.h src/Cedar/winpcap/tcp_session.h src/Cedar/winpcap/time_calls.h src/Cedar/winpcap/tme.h src/Cedar/winpcap/Win32-Extensions.h src/Cedar/WinUi.h src/Cedar/Wpc.h HEADERS_CEDAR=src/Cedar/Account.h src/Cedar/Admin.h src/Cedar/AzureClient.h src/Cedar/AzureServer.h src/Cedar/Bridge.h src/Cedar/BridgeUnix.h src/Cedar/BridgeWin32.h src/Cedar/Cedar.h src/Cedar/CedarPch.h src/Cedar/CedarType.h src/Cedar/Client.h src/Cedar/CM.h src/Cedar/CMInner.h src/Cedar/Command.h src/Cedar/Connection.h src/Cedar/Console.h src/Cedar/Database.h src/Cedar/DDNS.h src/Cedar/EM.h src/Cedar/EMInner.h src/Cedar/EtherLog.h src/Cedar/Hub.h src/Cedar/Interop_OpenVPN.h src/Cedar/Interop_SSTP.h src/Cedar/IPsec.h src/Cedar/IPsec_EtherIP.h src/Cedar/IPsec_IKE.h src/Cedar/IPsec_IkePacket.h src/Cedar/IPsec_IPC.h src/Cedar/IPsec_L2TP.h src/Cedar/IPsec_PPP.h src/Cedar/IPsec_Win7.h src/Cedar/IPsec_Win7Inner.h src/Cedar/Layer3.h src/Cedar/Link.h src/Cedar/Listener.h src/Cedar/Logging.h src/Cedar/Nat.h src/Cedar/NativeStack.h src/Cedar/netcfgn.h src/Cedar/netcfgx.h src/Cedar/NM.h src/Cedar/NMInner.h src/Cedar/NullLan.h src/Cedar/Protocol.h src/Cedar/Radius.h src/Cedar/Remote.h src/Cedar/Sam.h src/Cedar/SecureInfo.h src/Cedar/SecureNAT.h src/Cedar/SeLowUser.h src/Cedar/Server.h src/Cedar/Session.h src/Cedar/SM.h src/Cedar/SMInner.h src/Cedar/SW.h src/Cedar/SWInner.h src/Cedar/UdpAccel.h src/Cedar/UT.h src/Cedar/VG.h src/Cedar/Virtual.h src/Cedar/VLan.h src/Cedar/VLanUnix.h src/Cedar/VLanWin32.h src/Cedar/WaterMark.h src/Cedar/WebUI.h src/Cedar/Win32Com.h src/Cedar/winpcap/bittypes.h src/Cedar/winpcap/bucket_lookup.h src/Cedar/winpcap/count_packets.h src/Cedar/winpcap/Devioctl.h src/Cedar/winpcap/Gnuc.h src/Cedar/winpcap/ip6_misc.h src/Cedar/winpcap/memory_t.h src/Cedar/winpcap/normal_lookup.h src/Cedar/winpcap/Ntddndis.h src/Cedar/winpcap/Ntddpack.h src/Cedar/winpcap/Packet32.h src/Cedar/winpcap/pcap.h src/Cedar/winpcap/pcap-bpf.h src/Cedar/winpcap/pcap-int.h src/Cedar/winpcap/pcap-stdinc.h src/Cedar/winpcap/pthread.h src/Cedar/winpcap/remote-ext.h src/Cedar/winpcap/sched.h src/Cedar/winpcap/semaphore.h src/Cedar/winpcap/tcp_session.h src/Cedar/winpcap/time_calls.h src/Cedar/winpcap/tme.h src/Cedar/winpcap/Win32-Extensions.h src/Cedar/WinUi.h src/Cedar/Wpc.h
OBJECTS_MAYAQUA=tmp/objs/Mayaqua/Cfg.o tmp/objs/Mayaqua/Encrypt.o tmp/objs/Mayaqua/FileIO.o tmp/objs/Mayaqua/Internat.o tmp/objs/Mayaqua/Kernel.o tmp/objs/Mayaqua/Mayaqua.o tmp/objs/Mayaqua/Memory.o tmp/objs/Mayaqua/Microsoft.o tmp/objs/Mayaqua/Network.o tmp/objs/Mayaqua/Object.o tmp/objs/Mayaqua/OS.o tmp/objs/Mayaqua/Pack.o tmp/objs/Mayaqua/Secure.o tmp/objs/Mayaqua/Str.o tmp/objs/Mayaqua/Table.o tmp/objs/Mayaqua/TcpIp.o tmp/objs/Mayaqua/Tick64.o tmp/objs/Mayaqua/Tracking.o tmp/objs/Mayaqua/Unix.o tmp/objs/Mayaqua/Win32.o OBJECTS_MAYAQUA=tmp/objs/Mayaqua/Cfg.o tmp/objs/Mayaqua/Encrypt.o tmp/objs/Mayaqua/FileIO.o tmp/objs/Mayaqua/Internat.o tmp/objs/Mayaqua/Kernel.o tmp/objs/Mayaqua/Mayaqua.o tmp/objs/Mayaqua/Memory.o tmp/objs/Mayaqua/Microsoft.o tmp/objs/Mayaqua/Network.o tmp/objs/Mayaqua/Object.o tmp/objs/Mayaqua/OS.o tmp/objs/Mayaqua/Pack.o tmp/objs/Mayaqua/Secure.o tmp/objs/Mayaqua/Str.o tmp/objs/Mayaqua/Table.o tmp/objs/Mayaqua/TcpIp.o tmp/objs/Mayaqua/Tick64.o tmp/objs/Mayaqua/Tracking.o tmp/objs/Mayaqua/Unix.o tmp/objs/Mayaqua/Win32.o
OBJECTS_CEDAR=tmp/objs/Cedar/Account.o tmp/objs/Cedar/Admin.o tmp/objs/Cedar/AzureClient.o tmp/objs/Cedar/AzureServer.o tmp/objs/Cedar/Bridge.o tmp/objs/Cedar/BridgeUnix.o tmp/objs/Cedar/BridgeWin32.o tmp/objs/Cedar/Cedar.o tmp/objs/Cedar/CedarPch.o tmp/objs/Cedar/Client.o tmp/objs/Cedar/CM.o tmp/objs/Cedar/Command.o tmp/objs/Cedar/Connection.o tmp/objs/Cedar/Console.o tmp/objs/Cedar/Database.o tmp/objs/Cedar/DDNS.o tmp/objs/Cedar/EM.o tmp/objs/Cedar/EtherLog.o tmp/objs/Cedar/Hub.o tmp/objs/Cedar/Interop_OpenVPN.o tmp/objs/Cedar/Interop_SSTP.o tmp/objs/Cedar/IPsec.o tmp/objs/Cedar/IPsec_EtherIP.o tmp/objs/Cedar/IPsec_IKE.o tmp/objs/Cedar/IPsec_IkePacket.o tmp/objs/Cedar/IPsec_IPC.o tmp/objs/Cedar/IPsec_L2TP.o tmp/objs/Cedar/IPsec_PPP.o tmp/objs/Cedar/IPsec_Win7.o tmp/objs/Cedar/Layer3.o tmp/objs/Cedar/Link.o tmp/objs/Cedar/Listener.o tmp/objs/Cedar/Logging.o tmp/objs/Cedar/Nat.o tmp/objs/Cedar/NativeStack.o tmp/objs/Cedar/NM.o tmp/objs/Cedar/NullLan.o tmp/objs/Cedar/Protocol.o tmp/objs/Cedar/Radius.o tmp/objs/Cedar/Remote.o tmp/objs/Cedar/Sam.o tmp/objs/Cedar/SecureInfo.o tmp/objs/Cedar/SecureNAT.o tmp/objs/Cedar/SeLowUser.o tmp/objs/Cedar/Server.o tmp/objs/Cedar/Session.o tmp/objs/Cedar/SM.o tmp/objs/Cedar/SW.o tmp/objs/Cedar/UdpAccel.o tmp/objs/Cedar/UT.o tmp/objs/Cedar/VG.o tmp/objs/Cedar/Virtual.o tmp/objs/Cedar/VLan.o tmp/objs/Cedar/VLanUnix.o tmp/objs/Cedar/VLanWin32.o tmp/objs/Cedar/WaterMark.o tmp/objs/Cedar/WebUI.o tmp/objs/Cedar/WinUi.o tmp/objs/Cedar/Wpc.o OBJECTS_CEDAR=tmp/objs/Cedar/Account.o tmp/objs/Cedar/Admin.o tmp/objs/Cedar/AzureClient.o tmp/objs/Cedar/AzureServer.o tmp/objs/Cedar/Bridge.o tmp/objs/Cedar/BridgeUnix.o tmp/objs/Cedar/BridgeWin32.o tmp/objs/Cedar/Cedar.o tmp/objs/Cedar/CedarPch.o tmp/objs/Cedar/Client.o tmp/objs/Cedar/CM.o tmp/objs/Cedar/Command.o tmp/objs/Cedar/Connection.o tmp/objs/Cedar/Console.o tmp/objs/Cedar/Database.o tmp/objs/Cedar/DDNS.o tmp/objs/Cedar/EM.o tmp/objs/Cedar/EtherLog.o tmp/objs/Cedar/Hub.o tmp/objs/Cedar/Interop_OpenVPN.o tmp/objs/Cedar/Interop_SSTP.o tmp/objs/Cedar/IPsec.o tmp/objs/Cedar/IPsec_EtherIP.o tmp/objs/Cedar/IPsec_IKE.o tmp/objs/Cedar/IPsec_IkePacket.o tmp/objs/Cedar/IPsec_IPC.o tmp/objs/Cedar/IPsec_L2TP.o tmp/objs/Cedar/IPsec_PPP.o tmp/objs/Cedar/IPsec_Win7.o tmp/objs/Cedar/Layer3.o tmp/objs/Cedar/Link.o tmp/objs/Cedar/Listener.o tmp/objs/Cedar/Logging.o tmp/objs/Cedar/Nat.o tmp/objs/Cedar/NativeStack.o tmp/objs/Cedar/NM.o tmp/objs/Cedar/NullLan.o tmp/objs/Cedar/Protocol.o tmp/objs/Cedar/Radius.o tmp/objs/Cedar/Remote.o tmp/objs/Cedar/Sam.o tmp/objs/Cedar/SecureInfo.o tmp/objs/Cedar/SecureNAT.o tmp/objs/Cedar/SeLowUser.o tmp/objs/Cedar/Server.o tmp/objs/Cedar/Session.o tmp/objs/Cedar/SM.o tmp/objs/Cedar/SW.o tmp/objs/Cedar/UdpAccel.o tmp/objs/Cedar/UT.o tmp/objs/Cedar/VG.o tmp/objs/Cedar/Virtual.o tmp/objs/Cedar/VLan.o tmp/objs/Cedar/VLanUnix.o tmp/objs/Cedar/VLanWin32.o tmp/objs/Cedar/WaterMark.o tmp/objs/Cedar/WebUI.o tmp/objs/Cedar/WinUi.o tmp/objs/Cedar/Wpc.o
HAMCORE_FILES=src/bin/hamcore/backup_dir_readme.txt src/bin/hamcore/empty.config src/bin/hamcore/empty_sevpnclient.config src/bin/hamcore/eula.txt src/bin/hamcore/install_src.dat src/bin/hamcore/lang.config src/bin/hamcore/languages.txt src/bin/hamcore/legal.txt src/bin/hamcore/openvpn_readme.pdf src/bin/hamcore/openvpn_readme.txt src/bin/hamcore/openvpn_sample.ovpn src/bin/hamcore/SOURCES_OF_BINARY_FILES.TXT src/bin/hamcore/strtable_cn.stb src/bin/hamcore/strtable_en.stb src/bin/hamcore/strtable_ja.stb src/bin/hamcore/vpnweb_sample_cn.htm src/bin/hamcore/vpnweb_sample_en.htm src/bin/hamcore/vpnweb_sample_ja.htm src/bin/hamcore/warning_cn.txt src/bin/hamcore/warning_en.txt src/bin/hamcore/warning_ja.txt src/bin/hamcore/webui/cryptcom.cgi src/bin/hamcore/webui/edituser.cgi src/bin/hamcore/webui/error.cgi src/bin/hamcore/webui/hub.cgi src/bin/hamcore/webui/license.cgi src/bin/hamcore/webui/listener.cgi src/bin/hamcore/webui/localbridge.cgi src/bin/hamcore/webui/login.cgi src/bin/hamcore/webui/newhub.cgi src/bin/hamcore/webui/redirect.cgi src/bin/hamcore/webui/securenat.cgi src/bin/hamcore/webui/server.cgi src/bin/hamcore/webui/session.cgi src/bin/hamcore/webui/user.cgi src/bin/hamcore/webui/webui.css HAMCORE_FILES=src/bin/hamcore/authors.txt src/bin/hamcore/backup_dir_readme.txt src/bin/hamcore/empty.config src/bin/hamcore/empty_sevpnclient.config src/bin/hamcore/eula.txt src/bin/hamcore/install_src.dat src/bin/hamcore/lang.config src/bin/hamcore/languages.txt src/bin/hamcore/legal.txt src/bin/hamcore/openvpn_readme.pdf src/bin/hamcore/openvpn_readme.txt src/bin/hamcore/openvpn_sample.ovpn src/bin/hamcore/root_certs.dat src/bin/hamcore/SOURCES_OF_BINARY_FILES.TXT src/bin/hamcore/strtable_cn.stb src/bin/hamcore/strtable_en.stb src/bin/hamcore/strtable_ja.stb src/bin/hamcore/vpnweb_sample_cn.htm src/bin/hamcore/vpnweb_sample_en.htm src/bin/hamcore/vpnweb_sample_ja.htm src/bin/hamcore/warning_cn.txt src/bin/hamcore/warning_en.txt src/bin/hamcore/warning_ja.txt src/bin/hamcore/webui/cryptcom.cgi src/bin/hamcore/webui/edituser.cgi src/bin/hamcore/webui/error.cgi src/bin/hamcore/webui/hub.cgi src/bin/hamcore/webui/license.cgi src/bin/hamcore/webui/listener.cgi src/bin/hamcore/webui/localbridge.cgi src/bin/hamcore/webui/login.cgi src/bin/hamcore/webui/newhub.cgi src/bin/hamcore/webui/redirect.cgi src/bin/hamcore/webui/securenat.cgi src/bin/hamcore/webui/server.cgi src/bin/hamcore/webui/session.cgi src/bin/hamcore/webui/user.cgi src/bin/hamcore/webui/webui.css
# Build Action # Build Action
default: build default: build

View File

@ -1,16 +1,18 @@
%define majorversion 4.04 %define majorversion 4
%define minorversion 9412 %define minorversion 19
%define dateversion 2014.01.15 %define buildversion 9582
%define dateversion 2015.10.06
%define buildrelease beta
Name: softethervpn Name: softethervpn
Version: %{majorversion}.%{minorversion} Version: %{majorversion}.%{minorversion}.%{buildversion}
Release: 2%{?dist} Release: 1%{?dist}
Summary: An Open-Source Free Cross-platform Multi-protocol VPN Program Summary: An Open-Source Free Cross-platform Multi-protocol VPN Program
Group: Applications/Internet Group: Applications/Internet
License: GPLv2 License: GPLv2
URL: http://www.softether.org/ URL: http://www.softether.org/
Source0: http://www.softether-download.com/files/softether/v%{majorversion}-%{minorversion}-rtm-%{dateversion}-tree/Source%20Code/softether-src-v%{majorversion}-%{minorversion}-rtm.tar.gz Source0: http://www.softether-download.com/files/softether/v%{majorversion}.%{minorversion}-%{buildversion}-%{buildrelease}-%{dateversion}-tree/Source_Code/softether-src-v%{majorversion}.%{minorversion}-%{buildversion}-%{buildrelease}.tar.gz
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
@ -25,7 +27,7 @@ Requires(preun): initscripts
SoftEther VPN is one of the world's most powerful and easy-to-use multi-protocol VPN software. It runs on Windows, Linux, Mac, FreeBSD, and Solaris. SoftEther VPN is one of the world's most powerful and easy-to-use multi-protocol VPN software. It runs on Windows, Linux, Mac, FreeBSD, and Solaris.
%prep %prep
%setup -q -n v%{majorversion}-%{minorversion} %setup -q -n v%{majorversion}.%{minorversion}-%{buildversion}
%build %build
%ifarch i386 i686 %ifarch i386 i686
@ -85,6 +87,12 @@ if [ $1 -eq 0 ]; then
fi fi
%changelog %changelog
* Wed Sep 30 2015 Jeff Tang <mrjefftang@gmail.com> - 4.19.9582-1
- Update upstream to 4.19.9582-beta
* Wed Sep 30 2015 Jeff Tang <mrjefftang@gmail.com> - 4.19.9577-1
- Update upstream to 4.19.9577
* Wed Jan 29 2014 Dexter Ang <thepoch@gmail.com> - 4.04.9412-2 * Wed Jan 29 2014 Dexter Ang <thepoch@gmail.com> - 4.04.9412-2
- Made initscript more Fedora/RH-like. - Made initscript more Fedora/RH-like.
- initscript currently using killall. Need to fix this. - initscript currently using killall. Need to fix this.
@ -92,4 +100,3 @@ fi
* Tue Jan 21 2014 Dexter Ang <thepoch@gmail.com> * Tue Jan 21 2014 Dexter Ang <thepoch@gmail.com>
- Initial release - Initial release

119
configure vendored
View File

@ -16,68 +16,97 @@ echo
echo 'Welcome to the corner-cutting configure script !' echo 'Welcome to the corner-cutting configure script !'
echo echo
echo 'Select your operating system below:'
echo ' 1: Linux'
echo ' 2: FreeBSD'
echo ' 3: Solaris'
echo ' 4: Mac OS X'
echo ' 5: OpenBSD'
echo
echo -n 'Which is your operating system (1 - 5) ? : '
read TMP
echo
OS="" OS=""
if test "$TMP" = "1" case "`uname -s`" in
then Linux)
OS="linux" OS="linux"
fi ;;
if test "$TMP" = "2" FreeBSD)
then
OS="freebsd" OS="freebsd"
fi ;;
if test "$TMP" = "3" SunOS)
then
OS="solaris" OS="solaris"
fi ;;
if test "$TMP" = "4" Darwin)
then
OS="macos" OS="macos"
fi ;;
if test "$TMP" = "5" OpenBSD)
then
OS="openbsd" OS="openbsd"
fi ;;
*)
echo 'Select your operating system below:'
echo ' 1: Linux'
echo ' 2: FreeBSD'
echo ' 3: Solaris'
echo ' 4: Mac OS X'
echo ' 5: OpenBSD'
echo
echo -n 'Which is your operating system (1 - 5) ? : '
read TMP
echo
if test "$TMP" = "1"
then
OS="linux"
fi
if test "$TMP" = "2"
then
OS="freebsd"
fi
if test "$TMP" = "3"
then
OS="solaris"
fi
if test "$TMP" = "4"
then
OS="macos"
fi
if test "$TMP" = "5"
then
OS="openbsd"
fi
if test "$OS" = "" if test "$OS" = ""
then then
echo "Wrong number." echo "Wrong number."
exit 1 exit 1
fi fi
;;
esac
echo 'Select your CPU bits below:'
echo ' 1: 32-bit'
echo ' 2: 64-bit'
echo
echo -n 'Which is the type of your CPU (1 - 2) ? : '
read TMP
echo
CPU="" CPU=""
if test "$TMP" = "1" case "`uname -m`" in
then x86_64|amd64|aarch64|arm64|armv8*|mips64|ppc64|sparc64|alpha|ia64)
CPU=64bit
;;
i?86|x86pc|i86pc|armv4*|armv5*|armv6*|armv7*)
CPU=32bit
;;
*)
echo 'Select your CPU bits below:'
echo ' 1: 32-bit'
echo ' 2: 64-bit'
echo
echo -n 'Which is the type of your CPU (1 - 2) ? : '
read TMP
echo
if test "$TMP" = "1"
then
CPU="32bit" CPU="32bit"
fi fi
if test "$TMP" = "2" if test "$TMP" = "2"
then then
CPU="64bit" CPU="64bit"
fi fi
if test "$CPU" = "" if test "$CPU" = ""
then then
echo "Wrong number." echo "Wrong number."
exit 1 exit 1
fi fi
;;
esac
cp src/makefiles/${OS}_${CPU}.mak Makefile cp src/makefiles/${OS}_${CPU}.mak Makefile
echo "The Makefile is generated. Run 'make' to build SoftEther VPN." echo "The Makefile is generated. Run 'make' to build SoftEther VPN."

9
debian/rules vendored
View File

@ -18,7 +18,10 @@ override_dh_auto_install:
make install make install
configure_config: configure_config:
if [ $(shell uname -m) = 'x86_64' ]; then echo "1\n2\n" | ./configure; fi if [ $(shell uname -m) = 'x86_64' ]; then echo -e "1\n2\n" | ./configure; fi
if [ $(shell uname -m) = 'i686' ]; then echo "1\n1\n" | ./configure; fi if [ $(shell uname -m) = 'i686' ]; then echo -e "1\n1\n" | ./configure; fi
if [ $(shell uname -m) = 'armv6l' ]; then echo "1\n1\n" | ./configure; fi if [ $(shell uname -m) = 'armv6l' ]; then echo -e "1\n1\n" | ./configure; fi
if [ $(shell uname -m) = 'armv5tel' ]; then echo -e "1\n1\n" | ./configure; fi
if [ $(shell uname -m) = 'aarch64' ]; then echo -e "1\n2\n" | ./configure; fi
if [ $(shell uname -m) = 'armv7l' ]; then echo -e "1\n1\n" | ./configure; fi

View File

@ -1,4 +1,18 @@
#! /bin/sh #! /bin/sh
### BEGIN INIT INFO
# Provides: softether-vpnserver
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $network $remote_fs $syslog
# Should-Start: network-manager
# Should-Stop: network-manager
# X-Start-Before: $x-display-manager gdm kdm xdm wdm ldm sdm nodm
# X-Interactive: true
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SoftEther VPN service
### END INIT INFO
# #
# Author: Dmitry Orlov <me@mosquito.su> # Author: Dmitry Orlov <me@mosquito.su>
# From Debian skeleton (Tom deLombarde) # From Debian skeleton (Tom deLombarde)

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Build Utility // Build Utility
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -1346,7 +1346,3 @@ namespace BuildUtil
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Build Utility // Build Utility
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -217,7 +217,3 @@ namespace BuildUtil
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Build Utility // Build Utility
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -299,7 +299,3 @@ namespace BuildUtil
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -212,7 +212,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -697,7 +697,3 @@ namespace CoreUtil
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -344,7 +344,3 @@ namespace CoreUtil
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -206,7 +206,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -2204,7 +2204,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -521,7 +521,3 @@ namespace CoreUtil
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -596,7 +596,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1726,7 +1726,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -257,7 +257,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -194,7 +194,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -963,7 +963,3 @@ public class MultiLanguageFilterStream : Stream
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -226,7 +226,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -249,7 +249,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -330,7 +330,3 @@ namespace CoreUtil
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -561,7 +561,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1053,7 +1053,3 @@ namespace CoreUtil
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -376,7 +376,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -4401,7 +4401,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -454,7 +454,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -566,7 +566,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -198,7 +198,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1058,7 +1058,3 @@ namespace CoreUtil
public string XsdFileName; public string XsdFileName;
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -327,7 +327,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -506,7 +506,3 @@ namespace CoreUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Build Utility // Build Utility
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -255,7 +255,3 @@ namespace BuildUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1073,7 +1073,3 @@ namespace BuildUtil.Properties {
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -139,7 +139,3 @@ namespace BuildUtil.Properties {
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Build Utility // Build Utility
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -143,7 +143,3 @@ namespace BuildUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Build Utility // Build Utility
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -690,7 +690,30 @@ namespace BuildUtil
#else #else
sr.WriteLine("\t@echo \"And please execute './vpncmd' to run the SoftEther VPN Command-Line Utility to configure {0}.\"", BuildHelper.GetSoftwareTitle(this.Software)); sr.WriteLine("\t@echo \"And please execute './vpncmd' to run the SoftEther VPN Command-Line Utility to configure {0}.\"", BuildHelper.GetSoftwareTitle(this.Software));
#endif #endif
sr.WriteLine("\t@echo");
#if !BU_SOFTETHER
sr.WriteLine("\t@echo \"Of course, you can use the VPN Server Manager GUI Application for Windows on the other Windows PC in order to configure the {0} remotely.\"", BuildHelper.GetSoftwareTitle(this.Software)); sr.WriteLine("\t@echo \"Of course, you can use the VPN Server Manager GUI Application for Windows on the other Windows PC in order to configure the {0} remotely.\"", BuildHelper.GetSoftwareTitle(this.Software));
#else
sr.WriteLine("\t@echo \"Of course, you can use the VPN Server Manager GUI Application for Windows / Mac OS X on the other Windows / Mac OS X computers in order to configure the {0} remotely.\"", BuildHelper.GetSoftwareTitle(this.Software));
#endif
#if !BU_SOFTETHER
#else
sr.WriteLine("\t@echo");
sr.WriteLine("\t@echo");
sr.WriteLine("\t@echo \"*** For Windows users ***\"");
sr.WriteLine("\t@echo \"You can download the SoftEther VPN Server Manager for Windows\"");
sr.WriteLine("\t@echo \"from the http://www.softether-download.com/ web site.\"");
sr.WriteLine("\t@echo \"This manager application helps you to completely and easily manage the VPN server services running in remote hosts.\"");
sr.WriteLine("\t@echo");
sr.WriteLine("\t@echo");
sr.WriteLine("\t@echo \"*** For Mac OS X users ***\"");
sr.WriteLine("\t@echo \"In April 2016 we released the SoftEther VPN Server Manager for Mac OS X.\"");
sr.WriteLine("\t@echo \"You can download it from the http://www.softether-download.com/ web site.\"");
sr.WriteLine("\t@echo \"VPN Server Manager for Mac OS X works perfectly as same as the traditional Windows versions. It helps you to completely and easily manage the VPN server services running in remote hosts.\"");
sr.WriteLine("\t@echo");
#endif
sr.WriteLine("\t@echo \"--------------------------------------------------------------------\""); sr.WriteLine("\t@echo \"--------------------------------------------------------------------\"");
sr.WriteLine("\t@echo"); sr.WriteLine("\t@echo");
@ -1059,7 +1082,3 @@ namespace BuildUtil
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Build Utility // Build Utility
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -689,7 +689,3 @@ namespace BuildUtil
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Build Utility // Build Utility
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -430,7 +430,7 @@ namespace BuildUtil
{ {
// Windows // Windows
public static readonly OS Windows = new OS("windows", "Windows", public static readonly OS Windows = new OS("windows", "Windows",
"Windows 98 / 98 SE / ME / NT 4.0 SP6a / 2000 SP4 / XP SP2, SP3 / Vista SP1, SP2 / 7 SP1 / 8 / 8.1 / 10 / Server 2003 SP2 / Server 2008 SP1, SP2 / Hyper-V Server 2008 / Server 2008 R2 SP1 / Hyper-V Server 2008 R2 / Server 2012 / Hyper-V Server 2012 / Server 2012 R2 / Hyper-V Server 2012 R2", "Windows 98 / 98 SE / ME / NT 4.0 SP6a / 2000 SP4 / XP SP2, SP3 / Vista SP1, SP2 / 7 SP1 / 8 / 8.1 / 10 / Server 2003 SP2 / Server 2008 SP1, SP2 / Hyper-V Server 2008 / Server 2008 R2 SP1 / Hyper-V Server 2008 R2 / Server 2012 / Hyper-V Server 2012 / Server 2012 R2 / Hyper-V Server 2012 R2 / Server 2016",
new Cpu[] new Cpu[]
{ {
CpuList.intel, CpuList.intel,
@ -438,7 +438,7 @@ namespace BuildUtil
// Linux // Linux
public static readonly OS Linux = new OS("linux", "Linux", public static readonly OS Linux = new OS("linux", "Linux",
"Linux Kernel 2.4 / 2.6 / 3.x", "Linux Kernel 2.4 / 2.6 / 3.x / 4.x",
new Cpu[] new Cpu[]
{ {
CpuList.x86, CpuList.x86,
@ -564,7 +564,3 @@ namespace BuildUtil
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Build Utility // Build Utility
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -327,7 +327,3 @@ namespace BuildUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -375,6 +375,3 @@ namespace BuildUtil.HvSignService {
} }
#pragma warning restore 1591 #pragma warning restore 1591
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -306,6 +306,3 @@ namespace BuildUtil.SignService {
} }
#pragma warning restore 1591 #pragma warning restore 1591
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Build Utility // Build Utility
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -184,7 +184,3 @@ namespace BuildUtil
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Build Utility // Build Utility
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -1448,7 +1448,3 @@ namespace BuildUtil
} }
} }
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -1448,7 +1448,3 @@ int CompareUserName(void *p1, void *p2)
return StrCmpi(u1->Name, u2->Name); return StrCmpi(u1->Name, u2->Name);
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -317,7 +317,3 @@ char *NormalizePolicyName(char *name);
#endif // ACCOUNT_H #endif // ACCOUNT_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Contributors: // Contributors:
// - ELIN (https://github.com/el1n) // - ELIN (https://github.com/el1n)
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
@ -1166,7 +1166,7 @@ UINT StMakeOpenVpnConfigFile(ADMIN *a, RPC_READ_LOG_FILE *t)
name = NewName(cn, cn, cn, L"US", NULL, NULL); name = NewName(cn, cn, cn, L"US", NULL, NULL);
dummy_x = NewRootX(dummy_public_k, dummy_private_k, name, MAX(GetDaysUntil2038(), SERVER_DEFAULT_CERT_DAYS), NULL); dummy_x = NewRootX(dummy_public_k, dummy_private_k, name, GetDaysUntil2038Ex(), NULL);
FreeName(name); FreeName(name);
@ -6739,7 +6739,7 @@ UINT StAddCa(ADMIN *a, RPC_HUB_ADD_CA *t)
if (t->Cert == NULL) if (t->Cert == NULL)
{ {
ERR_INVALID_PARAMETER; return ERR_INVALID_PARAMETER;
} }
if (t->Cert->is_compatible_bit == false) if (t->Cert->is_compatible_bit == false)
@ -11840,12 +11840,12 @@ void InRpcHubEnumCa(RPC_HUB_ENUM_CA *t, PACK *p)
void OutRpcHubEnumCa(PACK *p, RPC_HUB_ENUM_CA *t) void OutRpcHubEnumCa(PACK *p, RPC_HUB_ENUM_CA *t)
{ {
UINT i; UINT i;
PackAddStr(p, "HubName", t->HubName);
// Validate arguments // Validate arguments
if (t == NULL || p == NULL) if (t == NULL || p == NULL)
{ {
return; return;
} }
PackAddStr(p, "HubName", t->HubName);
for (i = 0;i < t->NumCa;i++) for (i = 0;i < t->NumCa;i++)
{ {
@ -12313,12 +12313,12 @@ void InRpcEnumAccessList(RPC_ENUM_ACCESS_LIST *a, PACK *p)
void OutRpcEnumAccessList(PACK *p, RPC_ENUM_ACCESS_LIST *a) void OutRpcEnumAccessList(PACK *p, RPC_ENUM_ACCESS_LIST *a)
{ {
UINT i; UINT i;
PackAddStr(p, "HubName", a->HubName);
// Validate arguments // Validate arguments
if (a == NULL || p == NULL) if (a == NULL || p == NULL)
{ {
return; return;
} }
PackAddStr(p, "HubName", a->HubName);
for (i = 0;i < a->NumAccess;i++) for (i = 0;i < a->NumAccess;i++)
{ {
@ -12573,12 +12573,12 @@ void InRpcEnumUser(RPC_ENUM_USER *t, PACK *p)
void OutRpcEnumUser(PACK *p, RPC_ENUM_USER *t) void OutRpcEnumUser(PACK *p, RPC_ENUM_USER *t)
{ {
UINT i; UINT i;
PackAddStr(p, "HubName", t->HubName);
// Validate arguments // Validate arguments
if (t == NULL || p == NULL) if (t == NULL || p == NULL)
{ {
return; return;
} }
PackAddStr(p, "HubName", t->HubName);
for (i = 0;i < t->NumUser;i++) for (i = 0;i < t->NumUser;i++)
{ {
@ -12787,12 +12787,12 @@ void InRpcEnumSession(RPC_ENUM_SESSION *t, PACK *p)
void OutRpcEnumSession(PACK *p, RPC_ENUM_SESSION *t) void OutRpcEnumSession(PACK *p, RPC_ENUM_SESSION *t)
{ {
UINT i; UINT i;
PackAddStr(p, "HubName", t->HubName);
// Validate arguments // Validate arguments
if (t == NULL || p == NULL) if (t == NULL || p == NULL)
{ {
return; return;
} }
PackAddStr(p, "HubName", t->HubName);
for (i = 0;i < t->NumSession;i++) for (i = 0;i < t->NumSession;i++)
{ {
@ -13907,7 +13907,3 @@ bool SiIsEmptyPassword(void *hash_password)
return false; return false;
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -1533,7 +1533,3 @@ void OutRpcInternetSetting(PACK *p, INTERNET_SETTING *t);
#endif // ADMIN_H #endif // ADMIN_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -683,7 +683,3 @@ AZURE_CLIENT *NewAzureClient(CEDAR *cedar, SERVER *server)
return ac; return ac;
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -173,7 +173,3 @@ void AcWaitForRequest(AZURE_CLIENT *ac, SOCK *s, AZURE_PARAM *param);
#endif // AZURE_CLIENT_H #endif // AZURE_CLIENT_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -114,7 +114,3 @@
#include "CedarPch.h" #include "CedarPch.h"
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -118,7 +118,3 @@
#endif // AZURE_SERVER_H #endif // AZURE_SERVER_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -566,7 +566,3 @@ bool IsRawIpBridgeSupported()
#endif // UNIX_LINUX #endif // UNIX_LINUX
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -180,7 +180,3 @@ bool IsRawIpBridgeSupported();
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -2808,7 +2808,3 @@ void EthPutPacketLinuxIpRaw(ETH *e, void *data, UINT size)
#endif // BRIDGE_C #endif // BRIDGE_C
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -238,7 +238,3 @@ int UnixEthOpenRawSocket();
#endif // BRIDGEUNIX_H #endif // BRIDGEUNIX_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -2243,7 +2243,3 @@ void GetEthNetworkConnectionName(wchar_t *dst, UINT size, char *device_name)
#endif // BRIDGE_C #endif // BRIDGE_C
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -266,7 +266,3 @@ bool Win32GetEnableSeLow();
#endif // BRIDGEWIN32_H #endif // BRIDGEWIN32_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Contributors: // Contributors:
// - ELIN (https://github.com/el1n) // - ELIN (https://github.com/el1n)
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
@ -12526,7 +12526,3 @@ void *CmUpdateJumpList(UINT start_id)
#endif // WIN32 #endif // WIN32
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -156,7 +156,3 @@ UINT CmGetSecureBitmapId(char *dest_hostname);
#endif // CM_H #endif // CM_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Contributors: // Contributors:
// - ELIN (https://github.com/el1n) // - ELIN (https://github.com/el1n)
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
@ -639,7 +639,3 @@ bool CmGetProxyServerNameAndPortFromIeProxyRegStr(char *name, UINT name_size, UI
void *CmUpdateJumpList(UINT start_id); void *CmUpdateJumpList(UINT start_id);
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -274,6 +274,15 @@ bool IsSupportedWinVer(RPC_WINVER *v)
return true; return true;
} }
} }
else
{
// Windows Server 2016
if (v->ServicePack <= 0)
{
// SP0 only
return true;
}
}
} }
return false; return false;
@ -1750,7 +1759,7 @@ CEDAR *NewCedar(X *server_x, K *server_k)
c->TrafficDiffList = NewList(NULL); c->TrafficDiffList = NewList(NULL);
SetCedarCipherList(c, "RC4-MD5"); SetCedarCipherList(c, SERVER_DEFAULT_CIPHER_NAME);
c->ClientId = _II("CLIENT_ID"); c->ClientId = _II("CLIENT_ID");
@ -1905,7 +1914,3 @@ void FreeCedar()
FreeProtocol(); FreeProtocol();
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -135,10 +135,10 @@
// Version number // Version number
#define CEDAR_VER 420 #define CEDAR_VER 425
// Build Number // Build Number
#define CEDAR_BUILD 9608 #define CEDAR_BUILD 9656
// Beta number // Beta number
//#define BETA_NUMBER 3 //#define BETA_NUMBER 3
@ -153,16 +153,16 @@
// Specify the location to build // Specify the location to build
#ifndef BUILD_PLACE #ifndef BUILD_PLACE
#define BUILD_PLACE "pc30" #define BUILD_PLACE "pc33"
#endif // BUILD_PLACE #endif // BUILD_PLACE
// Specifies the build date // Specifies the build date
#define BUILD_DATE_Y 2016 #define BUILD_DATE_Y 2018
#define BUILD_DATE_M 4 #define BUILD_DATE_M 1
#define BUILD_DATE_D 17 #define BUILD_DATE_D 15
#define BUILD_DATE_HO 20 #define BUILD_DATE_HO 9
#define BUILD_DATE_MI 58 #define BUILD_DATE_MI 33
#define BUILD_DATE_SE 26 #define BUILD_DATE_SE 22
// Tolerable time difference // Tolerable time difference
#define ALLOW_TIMESTAMP_DIFF (UINT64)(3 * 24 * 60 * 60 * 1000) #define ALLOW_TIMESTAMP_DIFF (UINT64)(3 * 24 * 60 * 60 * 1000)
@ -670,7 +670,7 @@
#define ARP_ENTRY_EXPIRES (30 * 1000) // ARP table expiration date #define ARP_ENTRY_EXPIRES (30 * 1000) // ARP table expiration date
#define ARP_ENTRY_POLLING_TIME (1 * 1000) // ARP table cleaning timer #define ARP_ENTRY_POLLING_TIME (1 * 1000) // ARP table cleaning timer
#define ARP_REQUEST_TIMEOUT (200) // ARP request time-out period #define ARP_REQUEST_TIMEOUT (1000) // ARP request time-out period
#define ARP_REQUEST_GIVEUP (5 * 1000) // Time to give up sending the ARP request #define ARP_REQUEST_GIVEUP (5 * 1000) // Time to give up sending the ARP request
#define IP_WAIT_FOR_ARP_TIMEOUT (5 * 1000) // Total time that an IP packet waiting for ARP table #define IP_WAIT_FOR_ARP_TIMEOUT (5 * 1000) // Total time that an IP packet waiting for ARP table
#define IP_COMBINE_TIMEOUT (10 * 1000) // Time-out of IP packet combining #define IP_COMBINE_TIMEOUT (10 * 1000) // Time-out of IP packet combining
@ -1052,7 +1052,7 @@ typedef struct CEDAR
UINT QueueBudget; // Queue budget UINT QueueBudget; // Queue budget
LOCK *FifoBudgetLock; // Fifo budget lock LOCK *FifoBudgetLock; // Fifo budget lock
UINT FifoBudget; // Fifo budget UINT FifoBudget; // Fifo budget
bool AcceptOnlyTls; // Accept only TLS (Disable SSL) SSL_ACCEPT_SETTINGS SslAcceptSettings; // SSL Accept Settings
char OpenVPNDefaultClientOption[MAX_SIZE]; // OpenVPN Default Client Option String char OpenVPNDefaultClientOption[MAX_SIZE]; // OpenVPN Default Client Option String
} CEDAR; } CEDAR;
@ -1265,7 +1265,3 @@ bool CedarIsThereAnyEapEnabledRadiusConfig(CEDAR *c);
#endif // CEDAR_H #endif // CEDAR_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -46,7 +46,7 @@
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir);WinPcap" AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir);WinPcap"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_USE_32BIT_TIME_T" PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
MinimalRebuild="true" MinimalRebuild="true"
ExceptionHandling="0" ExceptionHandling="0"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
@ -188,7 +188,7 @@
EnableIntrinsicFunctions="false" EnableIntrinsicFunctions="false"
FavorSizeOrSpeed="0" FavorSizeOrSpeed="0"
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir);WinPcap" AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir);WinPcap"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_USE_32BIT_TIME_T;VPN_SPEED" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;VPN_SPEED"
StringPooling="false" StringPooling="false"
ExceptionHandling="0" ExceptionHandling="0"
RuntimeLibrary="0" RuntimeLibrary="0"

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -113,7 +113,3 @@
#include "CedarPch.h" #include "CedarPch.h"
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -124,7 +124,3 @@
#include <Mayaqua/Mayaqua.h> #include <Mayaqua/Mayaqua.h>
#include <Cedar/Cedar.h> #include <Cedar/Cedar.h>
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -538,6 +538,8 @@ typedef struct CTC CTC;
typedef struct CTR CTR; typedef struct CTR CTR;
typedef struct TTC TTC; typedef struct TTC TTC;
typedef struct TTS TTS; typedef struct TTS TTS;
typedef struct TTS_WORKER TTS_WORKER;
typedef struct TTC_WORKER TTC_WORKER;
typedef struct TT_RESULT TT_RESULT; typedef struct TT_RESULT TT_RESULT;
typedef struct TTS_SOCK TTS_SOCK; typedef struct TTS_SOCK TTS_SOCK;
typedef struct TTC_SOCK TTC_SOCK; typedef struct TTC_SOCK TTC_SOCK;
@ -763,7 +765,3 @@ typedef struct SU_ADAPTER_LIST SU_ADAPTER_LIST;
#endif // CEDARTYPE_H #endif // CEDARTYPE_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Contributors: // Contributors:
// - nattoheaven (https://github.com/nattoheaven) // - nattoheaven (https://github.com/nattoheaven)
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
@ -2181,13 +2181,14 @@ BUF *CiAccountToCfg(RPC_CLIENT_CREATE_ACCOUNT *t)
// RPC dispatch routine // RPC dispatch routine
PACK *CiRpcDispatch(RPC *rpc, char *name, PACK *p) PACK *CiRpcDispatch(RPC *rpc, char *name, PACK *p)
{ {
CLIENT *c = rpc->Param;
PACK *ret; PACK *ret;
CLIENT *c;
// Validate arguments // Validate arguments
if (rpc == NULL || name == NULL || p == NULL) if (rpc == NULL || name == NULL || p == NULL)
{ {
return NULL; return NULL;
} }
c = rpc->Param;
ret = NewPack(); ret = NewPack();
@ -6029,12 +6030,13 @@ L_TRY:
ReleaseSock(s); ReleaseSock(s);
ret = ZeroMalloc(sizeof(REMOTE_CLIENT)); ret = ZeroMalloc(sizeof(REMOTE_CLIENT));
ret->Rpc = rpc;
rpc->Param = ret; rpc->Param = ret;
if (ret != NULL) if (ret != NULL)
{ {
RPC_CLIENT_VERSION t; RPC_CLIENT_VERSION t;
ret->Rpc = rpc;
Zero(&t, sizeof(t)); Zero(&t, sizeof(t));
CcGetClientVersion(ret, &t); CcGetClientVersion(ret, &t);
ret->OsType = t.OsType; ret->OsType = t.OsType;
@ -6487,7 +6489,7 @@ bool Win32CiSecureSign(SECURE_SIGN *sign)
// Success // Success
ret = true; ret = true;
sign->ClientCert = batch[0].OutputX; sign->ClientCert = batch[0].OutputX;
Copy(sign->Signature, batch[1].OutputSign, 128); Copy(sign->Signature, batch[1].OutputSign, MIN(sizeof(sign->Signature),sizeof(batch[1].OutputSign)));
} }
} }
@ -6661,7 +6663,7 @@ bool CtConnect(CLIENT *c, RPC_CLIENT_CONNECT *connect)
CiSetError(c, ERR_ACCOUNT_ACTIVE); CiSetError(c, ERR_ACCOUNT_ACTIVE);
} }
else if (r->ClientAuth->AuthType == CLIENT_AUTHTYPE_SECURE && else if (r->ClientAuth->AuthType == CLIENT_AUTHTYPE_SECURE &&
client->UseSecureDeviceId == 0) c->UseSecureDeviceId == 0)
{ {
// Secure device is not specified // Secure device is not specified
CiSetError(c, ERR_NO_SECURE_DEVICE_SPECIFIED); CiSetError(c, ERR_NO_SECURE_DEVICE_SPECIFIED);
@ -11110,7 +11112,3 @@ void CiClientStatusPrinter(SESSION *s, wchar_t *status)
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -878,7 +878,3 @@ void CiInitDriverVerStruct(MS_DRIVER_VER *ver);
#endif // CLIENT_H #endif // CLIENT_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -1166,6 +1166,7 @@ void TtGenerateRandomData(UCHAR **buf, UINT *size)
void TtsWorkerThread(THREAD *thread, void *param) void TtsWorkerThread(THREAD *thread, void *param)
{ {
TTS *tts; TTS *tts;
TTS_WORKER *w;
UINT buf_size; UINT buf_size;
UCHAR *send_buf_data, *recv_buf_data; UCHAR *send_buf_data, *recv_buf_data;
bool all_sockets_blocked = false; bool all_sockets_blocked = false;
@ -1185,14 +1186,15 @@ void TtsWorkerThread(THREAD *thread, void *param)
TtGenerateRandomData(&send_buf_data, &buf_size); TtGenerateRandomData(&send_buf_data, &buf_size);
TtGenerateRandomData(&recv_buf_data, &buf_size); TtGenerateRandomData(&recv_buf_data, &buf_size);
tts = (TTS *)param; w = (TTS_WORKER *)param;
tts = (TTS *)w->Tts;
// Preparation of socket events // Preparation of socket events
tts->SockEvent = NewSockEvent(); w->SockEvent = NewSockEvent();
AddRef(tts->SockEvent->ref); AddRef(w->SockEvent->ref);
// Preparing the Server socket list // Preparing the Server socket list
tts->TtsSockList = NewList(NULL); w->TtsSockList = NewList(NULL);
// Notify completion of preparation to parent thread // Notify completion of preparation to parent thread
NoticeThreadInit(thread); NoticeThreadInit(thread);
@ -1206,12 +1208,12 @@ void TtsWorkerThread(THREAD *thread, void *param)
// Wait for all sockets // Wait for all sockets
if (dont_block_next_time == false) if (dont_block_next_time == false)
{ {
WaitSockEvent(tts->SockEvent, 50); WaitSockEvent(w->SockEvent, 50);
} }
dont_block_next_time = false; dont_block_next_time = false;
// Process for sockets that are currently registered // Process for sockets that are currently registered
LockList(tts->TtsSockList); LockList(w->TtsSockList);
{ {
UINT i; UINT i;
@ -1223,17 +1225,17 @@ void TtsWorkerThread(THREAD *thread, void *param)
{ {
all_sockets_blocked = true; all_sockets_blocked = true;
for (i = 0;i < LIST_NUM(tts->TtsSockList);i++) for (i = 0;i < LIST_NUM(w->TtsSockList);i++)
{ {
UINT ret = SOCK_LATER; UINT ret = SOCK_LATER;
UCHAR *send_data = NULL, *recv_data = NULL; UCHAR *send_data = NULL, *recv_data = NULL;
UINT send_size = 0, recv_size = 0; UINT send_size = 0, recv_size = 0;
TTS_SOCK *ts = LIST_DATA(tts->TtsSockList, i); TTS_SOCK *ts = LIST_DATA(w->TtsSockList, i);
bool blocked_for_this_socket = false; bool blocked_for_this_socket = false;
if (ts->SockJoined == false) if (ts->SockJoined == false)
{ {
JoinSockToSockEvent(ts->Sock, tts->SockEvent); JoinSockToSockEvent(ts->Sock, w->SockEvent);
ts->SockJoined = true; ts->SockJoined = true;
} }
@ -1245,6 +1247,7 @@ void TtsWorkerThread(THREAD *thread, void *param)
if (ret != 0 && ret != SOCK_LATER) if (ret != 0 && ret != SOCK_LATER)
{ {
ts->State = 5; ts->State = 5;
ts->LastCommTime = now;
} }
break; break;
@ -1255,6 +1258,8 @@ void TtsWorkerThread(THREAD *thread, void *param)
{ {
UCHAR c; UCHAR c;
ts->LastCommTime = now;
// Direction of the data is in the first byte that is received // Direction of the data is in the first byte that is received
c = recv_buf_data[0]; c = recv_buf_data[0];
@ -1276,6 +1281,8 @@ void TtsWorkerThread(THREAD *thread, void *param)
// Span // Span
ts->Span = READ_UINT64(recv_buf_data + sizeof(UINT64) + 1); ts->Span = READ_UINT64(recv_buf_data + sizeof(UINT64) + 1);
ts->GiveupSpan = ts->Span * 3ULL + 180000ULL;
} }
} }
break; break;
@ -1289,6 +1296,8 @@ void TtsWorkerThread(THREAD *thread, void *param)
// Checking the first byte of received // Checking the first byte of received
UCHAR c = recv_buf_data[0]; UCHAR c = recv_buf_data[0];
ts->LastCommTime = now;
if (ts->FirstRecvTick == 0) if (ts->FirstRecvTick == 0)
{ {
// Record the time at which the data has been received for the first // Record the time at which the data has been received for the first
@ -1326,11 +1335,42 @@ void TtsWorkerThread(THREAD *thread, void *param)
if (ts->NoMoreSendData == false) if (ts->NoMoreSendData == false)
{ {
ret = Send(ts->Sock, send_buf_data, buf_size, false); ret = Send(ts->Sock, send_buf_data, buf_size, false);
if (ret != 0 && ret != SOCK_LATER)
{
ts->LastCommTime = now;
}
} }
else else
{ {
ret = Recv(ts->Sock, recv_buf_data, buf_size, false); ret = Recv(ts->Sock, recv_buf_data, buf_size, false);
if (ret != 0 && ret != SOCK_LATER)
{
ts->LastCommTime = now;
} }
}
if (ts->FirstSendTick == 0)
{
ts->FirstSendTick = now;
}
else
{
if (ts->FirstSendTick <= now)
{
if (ts->Span != 0)
{
UINT64 giveup_tick = ts->FirstSendTick + ts->Span * 3ULL + 180000ULL;
if (now > giveup_tick)
{
ret = 0;
}
}
}
}
break; break;
case 3: case 3:
@ -1343,6 +1383,11 @@ void TtsWorkerThread(THREAD *thread, void *param)
{ {
ret = Send(ts->Sock, &tmp64, sizeof(tmp64), false); ret = Send(ts->Sock, &tmp64, sizeof(tmp64), false);
if (ret != 0 && ret != SOCK_LATER)
{
ts->LastCommTime = now;
}
if (ret != SOCK_LATER) if (ret != SOCK_LATER)
{ {
UINT j; UINT j;
@ -1353,9 +1398,9 @@ void TtsWorkerThread(THREAD *thread, void *param)
{ {
// Not to send more data to the socket of the // Not to send more data to the socket of the
// transmission direction in the same session ID // transmission direction in the same session ID
for (j = 0;j < LIST_NUM(tts->TtsSockList);j++) for (j = 0;j < LIST_NUM(w->TtsSockList);j++)
{ {
TTS_SOCK *ts2 = LIST_DATA(tts->TtsSockList, j); TTS_SOCK *ts2 = LIST_DATA(w->TtsSockList, j);
if (ts2->SessionId == ts->SessionId && if (ts2->SessionId == ts->SessionId &&
ts2 != ts) ts2 != ts)
@ -1369,6 +1414,12 @@ void TtsWorkerThread(THREAD *thread, void *param)
break; break;
} }
if (now > (ts->LastCommTime + ts->GiveupSpan))
{
// Timeout: disconnect orphan sessions
ret = 0;
}
if (ret == 0) if (ret == 0)
{ {
// Mark as deleting the socket because it is disconnected // Mark as deleting the socket because it is disconnected
@ -1408,7 +1459,7 @@ void TtsWorkerThread(THREAD *thread, void *param)
Disconnect(ts->Sock); Disconnect(ts->Sock);
ReleaseSock(ts->Sock); ReleaseSock(ts->Sock);
Delete(tts->TtsSockList, ts); Delete(w->TtsSockList, ts);
Free(ts); Free(ts);
} }
@ -1416,23 +1467,23 @@ void TtsWorkerThread(THREAD *thread, void *param)
DeleteAll(o); DeleteAll(o);
} }
if (tts->NewSocketArrived || tts->Halt) if (w->NewSocketArrived || tts->Halt)
{ {
tts->NewSocketArrived = false; w->NewSocketArrived = false;
all_sockets_blocked = true; all_sockets_blocked = true;
dont_block_next_time = true; dont_block_next_time = true;
} }
} }
} }
UnlockList(tts->TtsSockList); UnlockList(w->TtsSockList);
} }
LockList(tts->TtsSockList); LockList(w->TtsSockList);
{ {
// Release the sockets of all remaining // Release the sockets of all remaining
for (i = 0;i < LIST_NUM(tts->TtsSockList);i++) for (i = 0;i < LIST_NUM(w->TtsSockList);i++)
{ {
TTS_SOCK *ts = LIST_DATA(tts->TtsSockList, i); TTS_SOCK *ts = LIST_DATA(w->TtsSockList, i);
UniFormat(tmp, sizeof(tmp), _UU("TTS_DISCONNECT"), ts->Id, ts->Sock->RemoteHostname); UniFormat(tmp, sizeof(tmp), _UU("TTS_DISCONNECT"), ts->Id, ts->Sock->RemoteHostname);
TtPrint(tts->Param, tts->Print, tmp); TtPrint(tts->Param, tts->Print, tmp);
@ -1443,12 +1494,12 @@ void TtsWorkerThread(THREAD *thread, void *param)
Free(ts); Free(ts);
} }
} }
UnlockList(tts->TtsSockList); UnlockList(w->TtsSockList);
// Cleanup // Cleanup
ReleaseList(o); ReleaseList(o);
ReleaseList(tts->TtsSockList); ReleaseList(w->TtsSockList);
ReleaseSockEvent(tts->SockEvent); ReleaseSockEvent(w->SockEvent);
Free(send_buf_data); Free(send_buf_data);
Free(recv_buf_data); Free(recv_buf_data);
} }
@ -1470,6 +1521,7 @@ void TtsIPv6AcceptThread(THREAD *thread, void *param)
void TtsAcceptProc(TTS *tts, SOCK *listen_socket) void TtsAcceptProc(TTS *tts, SOCK *listen_socket)
{ {
wchar_t tmp[MAX_SIZE]; wchar_t tmp[MAX_SIZE];
UINT seed = 0;
// Validate arguments // Validate arguments
if (tts == NULL || listen_socket == NULL) if (tts == NULL || listen_socket == NULL)
{ {
@ -1492,26 +1544,42 @@ void TtsAcceptProc(TTS *tts, SOCK *listen_socket)
} }
else else
{ {
UINT num, i;
TTS_WORKER *w;
// Connected from the client // Connected from the client
AcceptInit(s); AcceptInitEx(s, true);
tts->NewSocketArrived = true;
LockList(tts->TtsSockList); // Choose a worker thread
num = LIST_NUM(tts->WorkerList);
i = seed % num;
seed++;
w = LIST_DATA(tts->WorkerList, i);
w->NewSocketArrived = true;
LockList(w->TtsSockList);
{ {
TTS_SOCK *ts = ZeroMalloc(sizeof(TTS_SOCK)); TTS_SOCK *ts = ZeroMalloc(sizeof(TTS_SOCK));
ts->Id = (++tts->IdSeed); ts->Id = (++tts->IdSeed);
ts->Sock = s; ts->Sock = s;
ts->GiveupSpan = (UINT64)(10 * 60 * 1000);
ts->LastCommTime = Tick64();
UniFormat(tmp, sizeof(tmp), _UU("TTS_ACCEPTED"), ts->Id, UniFormat(tmp, sizeof(tmp), _UU("TTS_ACCEPTED"), ts->Id,
s->RemoteHostname, s->RemotePort); s->RemoteHostname, s->RemotePort);
TtPrint(tts->Param, tts->Print, tmp); TtPrint(tts->Param, tts->Print, tmp);
Insert(tts->TtsSockList, ts); Insert(w->TtsSockList, ts);
tts->NewSocketArrived = true; w->NewSocketArrived = true;
} }
UnlockList(tts->TtsSockList); UnlockList(w->TtsSockList);
SetSockEvent(tts->SockEvent); SetSockEvent(w->SockEvent);
} }
} }
} }
@ -1546,6 +1614,8 @@ void TtsListenThread(THREAD *thread, void *param)
} }
else else
{ {
UINT i, num_worker_threads;
UniFormat(tmp, sizeof(tmp), _UU("TTS_LISTEN_STARTED"), tts->Port); UniFormat(tmp, sizeof(tmp), _UU("TTS_LISTEN_STARTED"), tts->Port);
TtPrint(tts->Param, tts->Print, tmp); TtPrint(tts->Param, tts->Print, tmp);
@ -1569,9 +1639,19 @@ void TtsListenThread(THREAD *thread, void *param)
AddRef(tts->ListenSocketV6->ref); AddRef(tts->ListenSocketV6->ref);
} }
// Start the worker thread num_worker_threads = GetNumberOfCpu();
tts->WorkThread = NewThread(TtsWorkerThread, tts);
WaitThreadInit(tts->WorkThread); // Start the worker threads
for (i = 0;i < num_worker_threads;i++)
{
TTS_WORKER *w = ZeroMalloc(sizeof(TTS_WORKER));
w->Tts = tts;
w->WorkThread = NewThread(TtsWorkerThread, w);
WaitThreadInit(w->WorkThread);
Add(tts->WorkerList, w);
}
// Notify completion of preparation to parent thread // Notify completion of preparation to parent thread
NoticeThreadInit(thread); NoticeThreadInit(thread);
@ -1595,12 +1675,20 @@ void TtsListenThread(THREAD *thread, void *param)
ReleaseSock(tts->ListenSocket); ReleaseSock(tts->ListenSocket);
ReleaseSock(tts->ListenSocketV6); ReleaseSock(tts->ListenSocketV6);
SetSockEvent(tts->SockEvent);
for (i = 0;i < LIST_NUM(tts->WorkerList);i++)
{
TTS_WORKER *w = LIST_DATA(tts->WorkerList, i);
SetSockEvent(w->SockEvent);
// Wait for stopping the worker thread // Wait for stopping the worker thread
WaitThread(tts->WorkThread, INFINITE); WaitThread(w->WorkThread, INFINITE);
ReleaseThread(tts->WorkThread); ReleaseThread(w->WorkThread);
ReleaseSockEvent(tts->SockEvent); ReleaseSockEvent(w->SockEvent);
Free(w);
}
} }
} }
@ -1685,7 +1773,6 @@ void StopTtc(TTC *ttc)
TtPrint(ttc->Param, ttc->Print, _UU("TTC_STOPPING")); TtPrint(ttc->Param, ttc->Print, _UU("TTC_STOPPING"));
ttc->Halt = true; ttc->Halt = true;
SetSockEvent(ttc->SockEvent);
} }
// Generate a result // Generate a result
@ -1748,136 +1835,36 @@ void TtcGenerateResult(TTC *ttc)
res->BpsTotal = res->BpsUpload + res->BpsDownload; res->BpsTotal = res->BpsUpload + res->BpsDownload;
} }
// Client thread // Client worker thread
void TtcThread(THREAD *thread, void *param) void TtcWorkerThread(THREAD *thread, void *param)
{ {
TTC_WORKER *w;
TTC *ttc; TTC *ttc;
UINT i; bool dont_block_next_time = false;
bool halting = false;
UINT64 halt_timeout = 0;
bool all_sockets_blocked;
wchar_t tmp[MAX_SIZE]; wchar_t tmp[MAX_SIZE];
bool ok = false;
UINT buf_size;
UCHAR *send_buf_data, *recv_buf_data; UCHAR *send_buf_data, *recv_buf_data;
// Validate arguments UINT buf_size;
UINT64 tmp64;
if (thread == NULL || param == NULL) if (thread == NULL || param == NULL)
{ {
return; return;
} }
w = (TTC_WORKER *)param;
ttc = w->Ttc;
// Allocate the data area // Allocate the data area
TtGenerateRandomData(&send_buf_data, &buf_size); TtGenerateRandomData(&send_buf_data, &buf_size);
TtGenerateRandomData(&recv_buf_data, &buf_size); TtGenerateRandomData(&recv_buf_data, &buf_size);
ttc = (TTC *)param;
ttc->SockEvent = NewSockEvent();
AddRef(ttc->SockEvent->ref);
// Ready
NoticeThreadInit(thread); NoticeThreadInit(thread);
TtcPrintSummary(ttc); // Wait for start
Wait(w->StartEvent, INFINITE);
UniFormat(tmp, sizeof(tmp), _UU("TTC_CONNECT_START"),
ttc->Host, ttc->Port, ttc->NumTcp);
TtPrint(ttc->Param, ttc->Print, tmp);
// Establish all connections to the client
ttc->ItcSockList = NewList(NULL);
ok = true;
for (i = 0;i < ttc->NumTcp;i++)
{
SOCK *s;
TTC_SOCK *ts = ZeroMalloc(sizeof(TTC_SOCK));
ts->Id = i + 1;
if (ttc->Type == TRAFFIC_TYPE_DOWNLOAD)
{
ts->Download = true;
}
else if (ttc->Type == TRAFFIC_TYPE_UPLOAD)
{
ts->Download = false;
}
else
{
ts->Download = ((i % 2) == 0) ? true : false;
}
s = ConnectEx2(ttc->Host, ttc->Port, 0, ttc->Cancel);
if (s == NULL)
{
UniFormat(tmp, sizeof(tmp), _UU("TTC_CONNECT_FAILED"), i + 1);
TtPrint(ttc->Param, ttc->Print, tmp);
ok = false;
Free(ts);
break;
}
else
{
char buffer[TRAFFIC_VER_STR_SIZE];
SetTimeout(s, 5000);
Zero(buffer, sizeof(buffer));
if (Recv(s, buffer, sizeof(buffer), false) != sizeof(buffer) || Cmp(buffer, TRAFFIC_VER_STR, TRAFFIC_VER_STR_SIZE) != 0)
{
TtPrint(ttc->Param, ttc->Print, _UU("TTC_CONNECT_NOT_SERVER"));
ok = false;
ReleaseSock(s);
Free(ts);
break;
}
UniFormat(tmp, sizeof(tmp), _UU("TTC_CONNECT_OK"), i + 1);
TtPrint(ttc->Param, ttc->Print, tmp);
UniFormat(tmp, sizeof(tmp), _UU("TTC_CONNECT_OK_2"), GetTtcTypeStr(ts->Download ? TRAFFIC_TYPE_DOWNLOAD : TRAFFIC_TYPE_UPLOAD));
TtPrint(ttc->Param, ttc->Print, tmp);
ts->Sock = s;
SetTimeout(s, TIMEOUT_INFINITE);
JoinSockToSockEvent(s, ttc->SockEvent);
}
Insert(ttc->ItcSockList, ts);
}
Set(ttc->InitedEvent);
if (ttc->StartEvent != NULL)
{
Wait(ttc->StartEvent, INFINITE);
SleepThread(500);
}
if (ok)
{
bool all_sockets_blocked;
bool dont_block_next_time = false;
bool halt_flag = false;
UINT64 start_tick, end_tick;
UINT64 halt_timeout = 0;
wchar_t tmp1[MAX_SIZE], tmp2[MAX_SIZE];
UINT check_clock_seed = 0;
bool halting = false;
UINT64 tmp64;
UINT64 session_id = Rand64();
// Record the current time
start_tick = Tick64();
end_tick = start_tick + ttc->Span;
// Show start message
GetDateTimeStrEx64(tmp1, sizeof(tmp1), SystemToLocal64(TickToTime(start_tick)), NULL);
GetDateTimeStrEx64(tmp2, sizeof(tmp2), SystemToLocal64(TickToTime(end_tick)), NULL);
UniFormat(tmp, sizeof(tmp), _UU("TTC_COMM_START"), tmp1, tmp2);
TtPrint(ttc->Param, ttc->Print, tmp);
// Main loop // Main loop
while (true) while (true)
@ -1886,7 +1873,7 @@ void TtcThread(THREAD *thread, void *param)
if (dont_block_next_time == false) if (dont_block_next_time == false)
{ {
WaitSockEvent(ttc->SockEvent, 50); WaitSockEvent(w->SockEvent, 50);
} }
dont_block_next_time = false; dont_block_next_time = false;
@ -1897,25 +1884,34 @@ void TtcThread(THREAD *thread, void *param)
break; break;
} }
if (ttc->Halt || end_tick <= Tick64() || (ttc->Cancel != NULL && (*ttc->Cancel))) if (ttc->Halt || ttc->end_tick <= Tick64() || (ttc->Cancel != NULL && (*ttc->Cancel)))
{ {
// End measurement // End measurement
if (halting == false) if (halting == false)
{ {
if (ttc->Halt || (ttc->Cancel != NULL && (*ttc->Cancel))) if (ttc->Halt || (ttc->Cancel != NULL && (*ttc->Cancel)))
{
if ((ttc->flag1++) == 0)
{ {
// User cancel // User cancel
TtPrint(ttc->Param, ttc->Print, _UU("TTC_COMM_USER_CANCEL")); TtPrint(ttc->Param, ttc->Print, _UU("TTC_COMM_USER_CANCEL"));
} }
}
else else
{ {
// Time elapsed // Time elapsed
if ((ttc->flag2++) == 0)
{
UniFormat(tmp, sizeof(tmp), _UU("TTC_COMM_END"), UniFormat(tmp, sizeof(tmp), _UU("TTC_COMM_END"),
(double)ttc->Span / 1000.0); (double)ttc->Span / 1000.0);
TtPrint(ttc->Param, ttc->Print, tmp); TtPrint(ttc->Param, ttc->Print, tmp);
} }
}
ttc->RealSpan = Tick64() - start_tick; if (ttc->RealSpan == 0)
{
ttc->RealSpan = Tick64() - ttc->start_tick;
}
halting = true; halting = true;
@ -1929,9 +1925,9 @@ void TtcThread(THREAD *thread, void *param)
bool ok = true; bool ok = true;
// Wait that all TCP connections to finish processing // Wait that all TCP connections to finish processing
for (i = 0;i < LIST_NUM(ttc->ItcSockList);i++) for (i = 0;i < LIST_NUM(w->SockList);i++)
{ {
TTC_SOCK *ts = LIST_DATA(ttc->ItcSockList, i); TTC_SOCK *ts = LIST_DATA(w->SockList, i);
if (ts->Download == false) if (ts->Download == false)
{ {
@ -1945,8 +1941,7 @@ void TtcThread(THREAD *thread, void *param)
if (ok) if (ok)
{ {
// Measurement completed // Measurement completed
// Show the result w->Ok = true;
TtcGenerateResult(ttc);
break; break;
} }
else else
@ -1969,10 +1964,10 @@ void TtcThread(THREAD *thread, void *param)
{ {
all_sockets_blocked = true; all_sockets_blocked = true;
for (i = 0;i < LIST_NUM(ttc->ItcSockList);i++) for (i = 0;i < LIST_NUM(w->SockList);i++)
{ {
UINT ret = SOCK_LATER; UINT ret = SOCK_LATER;
TTC_SOCK *ts = LIST_DATA(ttc->ItcSockList, i); TTC_SOCK *ts = LIST_DATA(w->SockList, i);
bool blocked_for_this_socket = false; bool blocked_for_this_socket = false;
UCHAR c = 0; UCHAR c = 0;
UCHAR c_and_session_id[1 + sizeof(UINT64) + sizeof(UINT64)]; UCHAR c_and_session_id[1 + sizeof(UINT64) + sizeof(UINT64)];
@ -2015,7 +2010,7 @@ void TtcThread(THREAD *thread, void *param)
} }
c_and_session_id[0] = c; c_and_session_id[0] = c;
WRITE_UINT64(c_and_session_id + 1, session_id); WRITE_UINT64(c_and_session_id + 1, ttc->session_id);
WRITE_UINT64(c_and_session_id + sizeof(UINT64) + 1, ttc->Span); WRITE_UINT64(c_and_session_id + sizeof(UINT64) + 1, ttc->Span);
ret = Send(ts->Sock, c_and_session_id, 1 + sizeof(UINT64) + sizeof(UINT64), false); ret = Send(ts->Sock, c_and_session_id, 1 + sizeof(UINT64) + sizeof(UINT64), false);
@ -2123,13 +2118,231 @@ void TtcThread(THREAD *thread, void *param)
dont_block_next_time = true; dont_block_next_time = true;
} }
if (end_tick <= Tick64()) if (ttc->end_tick <= Tick64())
{ {
all_sockets_blocked = true; all_sockets_blocked = true;
dont_block_next_time = true; dont_block_next_time = true;
} }
} }
} }
Free(send_buf_data);
Free(recv_buf_data);
}
// Client thread
void TtcThread(THREAD *thread, void *param)
{
TTC *ttc;
UINT i;
wchar_t tmp[MAX_SIZE];
bool ok = false;
IP ip_ret;
// Validate arguments
if (thread == NULL || param == NULL)
{
return;
}
ttc = (TTC *)param;
// Ready
NoticeThreadInit(thread);
TtcPrintSummary(ttc);
UniFormat(tmp, sizeof(tmp), _UU("TTC_CONNECT_START"),
ttc->Host, ttc->Port, ttc->NumTcp);
TtPrint(ttc->Param, ttc->Print, tmp);
// Establish all connections to the client
ttc->ItcSockList = NewList(NULL);
ok = true;
Zero(&ip_ret, sizeof(ip_ret));
for (i = 0;i < ttc->NumTcp;i++)
{
SOCK *s;
TTC_SOCK *ts = ZeroMalloc(sizeof(TTC_SOCK));
char target_host[MAX_SIZE];
ts->Id = i + 1;
if (ttc->Type == TRAFFIC_TYPE_DOWNLOAD)
{
ts->Download = true;
}
else if (ttc->Type == TRAFFIC_TYPE_UPLOAD)
{
ts->Download = false;
}
else
{
ts->Download = ((i % 2) == 0) ? true : false;
}
StrCpy(target_host, sizeof(target_host), ttc->Host);
if (IsZeroIp(&ip_ret) == false)
{
IPToStr(target_host, sizeof(target_host), &ip_ret);
}
s = ConnectEx4(target_host, ttc->Port, 0, ttc->Cancel, NULL, NULL, false, false, true, &ip_ret);
if (s == NULL)
{
UniFormat(tmp, sizeof(tmp), _UU("TTC_CONNECT_FAILED"), i + 1);
TtPrint(ttc->Param, ttc->Print, tmp);
ok = false;
Free(ts);
break;
}
else
{
char buffer[TRAFFIC_VER_STR_SIZE];
SetTimeout(s, 5000);
Zero(buffer, sizeof(buffer));
if (Recv(s, buffer, sizeof(buffer), false) != sizeof(buffer) || Cmp(buffer, TRAFFIC_VER_STR, TRAFFIC_VER_STR_SIZE) != 0)
{
TtPrint(ttc->Param, ttc->Print, _UU("TTC_CONNECT_NOT_SERVER"));
ok = false;
ReleaseSock(s);
Free(ts);
break;
}
UniFormat(tmp, sizeof(tmp), _UU("TTC_CONNECT_OK"), i + 1);
TtPrint(ttc->Param, ttc->Print, tmp);
UniFormat(tmp, sizeof(tmp), _UU("TTC_CONNECT_OK_2"), GetTtcTypeStr(ts->Download ? TRAFFIC_TYPE_DOWNLOAD : TRAFFIC_TYPE_UPLOAD));
TtPrint(ttc->Param, ttc->Print, tmp);
ts->Sock = s;
SetTimeout(s, TIMEOUT_INFINITE);
}
Insert(ttc->ItcSockList, ts);
}
Set(ttc->InitedEvent);
if (ttc->StartEvent != NULL)
{
Wait(ttc->StartEvent, INFINITE);
SleepThread(500);
}
if (ok)
{
UINT64 start_tick, end_tick;
UINT64 halt_timeout = 0;
wchar_t tmp1[MAX_SIZE], tmp2[MAX_SIZE];
UINT check_clock_seed = 0;
bool halting = false;
UINT64 session_id = Rand64();
UINT i, num_cpu;
bool all_ok = false;
ttc->session_id = session_id;
num_cpu = GetNumberOfCpu();
ttc->WorkerThreadList = NewList(NULL);
for (i = 0;i < num_cpu;i++)
{
TTC_WORKER *w = ZeroMalloc(sizeof(TTC_WORKER));
w->Ttc = ttc;
w->SockList = NewList(NULL);
w->StartEvent = NewEvent();
w->SockEvent = NewSockEvent();
w->WorkerThread = NewThread(TtcWorkerThread, w);
WaitThreadInit(w->WorkerThread);
Add(ttc->WorkerThreadList, w);
}
// Assign each of sockets to each of worker threads
for (i = 0;i < LIST_NUM(ttc->ItcSockList);i++)
{
TTC_SOCK *ts = LIST_DATA(ttc->ItcSockList, i);
UINT num = LIST_NUM(ttc->WorkerThreadList);
UINT j = i % num;
TTC_WORKER *w = LIST_DATA(ttc->WorkerThreadList, j);
Add(w->SockList, ts);
JoinSockToSockEvent(ts->Sock, w->SockEvent);
}
// Record the current time
start_tick = Tick64();
end_tick = start_tick + ttc->Span;
ttc->start_tick = start_tick;
ttc->end_tick = end_tick;
// Set the start event for all worker threads
for (i = 0;i < LIST_NUM(ttc->WorkerThreadList);i++)
{
TTC_WORKER *w = LIST_DATA(ttc->WorkerThreadList, i);
Set(w->StartEvent);
}
// Show start message
GetDateTimeStrEx64(tmp1, sizeof(tmp1), SystemToLocal64(TickToTime(start_tick)), NULL);
GetDateTimeStrEx64(tmp2, sizeof(tmp2), SystemToLocal64(TickToTime(end_tick)), NULL);
UniFormat(tmp, sizeof(tmp), _UU("TTC_COMM_START"), tmp1, tmp2);
TtPrint(ttc->Param, ttc->Print, tmp);
// Wait for all worker threads finish
all_ok = true;
for (i = 0;i < LIST_NUM(ttc->WorkerThreadList);i++)
{
TTC_WORKER *w = LIST_DATA(ttc->WorkerThreadList, i);
WaitThread(w->WorkerThread, INFINITE);
if (w->Ok == false)
{
all_ok = false;
}
}
if (all_ok)
{
// Measurement completed
// Show the result
TtcGenerateResult(ttc);
}
// Release worker threads
for (i = 0;i < LIST_NUM(ttc->WorkerThreadList);i++)
{
TTC_WORKER *w = LIST_DATA(ttc->WorkerThreadList, i);
ReleaseThread(w->WorkerThread);
ReleaseEvent(w->StartEvent);
ReleaseList(w->SockList);
ReleaseSockEvent(w->SockEvent);
Free(w);
}
ReleaseList(ttc->WorkerThreadList);
ttc->WorkerThreadList = NULL;
} }
else else
{ {
@ -2148,10 +2361,7 @@ void TtcThread(THREAD *thread, void *param)
Free(ts); Free(ts);
} }
ReleaseSockEvent(ttc->SockEvent);
ReleaseList(ttc->ItcSockList); ReleaseList(ttc->ItcSockList);
Free(send_buf_data);
Free(recv_buf_data);
} }
// Start the communication throughput measurement client // Start the communication throughput measurement client
@ -2217,7 +2427,6 @@ UINT FreeTtc(TTC *ttc, TT_RESULT *result)
} }
} }
ReleaseSockEvent(ttc->SockEvent);
ReleaseEvent(ttc->InitedEvent); ReleaseEvent(ttc->InitedEvent);
Free(ttc); Free(ttc);
@ -2238,6 +2447,8 @@ TTS *NewTts(UINT port, void *param, TT_PRINT_PROC *print_proc)
TtPrint(param, print_proc, _UU("TTS_INIT")); TtPrint(param, print_proc, _UU("TTS_INIT"));
tts->WorkerList = NewList(NULL);
// Creating a thread // Creating a thread
t = NewThread(TtsListenThread, tts); t = NewThread(TtsListenThread, tts);
WaitThreadInit(t); WaitThreadInit(t);
@ -2274,6 +2485,8 @@ UINT FreeTts(TTS *tts)
ret = tts->ErrorCode; ret = tts->ErrorCode;
ReleaseList(tts->WorkerList);
Free(tts); Free(tts);
return ret; return ret;
@ -2292,6 +2505,8 @@ void PtTrafficPrintProc(void *param, wchar_t *str)
c = (CONSOLE *)param; c = (CONSOLE *)param;
if (c->ConsoleType == CONSOLE_LOCAL) if (c->ConsoleType == CONSOLE_LOCAL)
{
Lock(c->OutputLock);
{ {
wchar_t tmp[MAX_SIZE]; wchar_t tmp[MAX_SIZE];
@ -2304,6 +2519,8 @@ void PtTrafficPrintProc(void *param, wchar_t *str)
} }
UniPrint(L"%s", tmp); UniPrint(L"%s", tmp);
} }
Unlock(c->OutputLock);
}
} }
// Display the communication throughput results // Display the communication throughput results
@ -8047,7 +8264,7 @@ UINT PsServerCipherGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
RPC_STR t; RPC_STR t;
TOKEN_LIST *ciphers; TOKEN_LIST *ciphers;
UINT i; UINT i;
wchar_t tmp[MAX_SIZE]; wchar_t tmp[4096];
o = ParseCommandList(c, cmd_name, str, NULL, 0); o = ParseCommandList(c, cmd_name, str, NULL, 0);
if (o == NULL) if (o == NULL)
@ -10008,6 +10225,10 @@ UINT PsLogFileGet(CONSOLE *c, char *cmd_name, wchar_t *str, void *param)
} }
filename = GetParamStr(o, "SAVE"); filename = GetParamStr(o, "SAVE");
if (IsEmptyStr(filename))
{
filename = GetParamStr(o, "SAVEPATH");
}
c->Write(c, _UU("CMD_LogFileGet_START")); c->Write(c, _UU("CMD_LogFileGet_START"));
@ -23783,7 +24004,3 @@ LABEL_CLEANUP:
#endif // OS_WIN32 #endif // OS_WIN32
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -181,13 +181,30 @@ struct TTC
THREAD *Thread; // Thread THREAD *Thread; // Thread
volatile bool Halt; // Halting flag volatile bool Halt; // Halting flag
bool *Cancel; // Halting flag 2 bool *Cancel; // Halting flag 2
SOCK_EVENT *SockEvent; // Socket event
LIST *ItcSockList; // Client socket list LIST *ItcSockList; // Client socket list
TT_RESULT Result; // Result TT_RESULT Result; // Result
UINT ErrorCode; // Error code UINT ErrorCode; // Error code
bool AbnormalTerminated; // Abnormal termination bool AbnormalTerminated; // Abnormal termination
EVENT *StartEvent; // Start event EVENT *StartEvent; // Start event
EVENT *InitedEvent; // Initialize completion notification event EVENT *InitedEvent; // Initialize completion notification event
LIST *WorkerThreadList; // List of worker threads
UINT flag1, flag2;
UINT64 session_id;
UINT64 end_tick;
UINT64 start_tick;
};
// Traffic test worker thread
struct TTC_WORKER
{
THREAD *WorkerThread;
TTC *Ttc;
LIST *SockList; // Client socket list
SOCK_EVENT *SockEvent; // Socket event
EVENT *StartEvent; // Start event
bool Ok; // The result
}; };
// Server side socket // Server side socket
@ -202,7 +219,10 @@ struct TTS_SOCK
UINT64 SessionId; // Session ID UINT64 SessionId; // Session ID
bool NoMoreSendData; // Flag not to send more data bool NoMoreSendData; // Flag not to send more data
UINT64 FirstRecvTick; // Time which the data has been received last UINT64 FirstRecvTick; // Time which the data has been received last
UINT64 FirstSendTick; // Time which the data has been sent last
UINT64 Span; // Period UINT64 Span; // Period
UINT64 GiveupSpan;
UINT64 LastCommTime;
}; };
// Traffic test server // Traffic test server
@ -213,15 +233,22 @@ struct TTS
volatile bool Halt; // Halting flag volatile bool Halt; // Halting flag
UINT Port; // Port number UINT Port; // Port number
THREAD *Thread; // Thread THREAD *Thread; // Thread
THREAD *WorkThread; // Worker thread
THREAD *IPv6AcceptThread; // IPv6 Accept thread THREAD *IPv6AcceptThread; // IPv6 Accept thread
SOCK *ListenSocket; // Socket to wait SOCK *ListenSocket; // Socket to wait
SOCK *ListenSocketV6; // Socket to wait (IPv6) SOCK *ListenSocketV6; // Socket to wait (IPv6)
UINT ErrorCode; // Error code UINT ErrorCode; // Error code
UINT IdSeed; // ID value
LIST *WorkerList; // Worker threads list
};
// Traffic test worker thread
struct TTS_WORKER
{
TTS *Tts; // TTS
THREAD *WorkThread; // Worker thread
SOCK_EVENT *SockEvent; // Socket event SOCK_EVENT *SockEvent; // Socket event
LIST *TtsSockList; // Server socket list LIST *TtsSockList; // Server socket list
bool NewSocketArrived; // New socket has arrived bool NewSocketArrived; // New socket has arrived
UINT IdSeed; // ID value
}; };
// VPN Tools context // VPN Tools context
@ -673,7 +700,3 @@ UINT PsVpnAzureGetStatus(CONSOLE *c, char *cmd_name, wchar_t *str, void *param);
#endif // COMMAND_H #endif // COMMAND_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -1030,7 +1030,7 @@ void ConnectionSend(CONNECTION *c, UINT64 now)
UINT size; UINT size;
SESSION *s; SESSION *s;
HUB *hub = NULL; HUB *hub = NULL;
bool use_qos; bool use_qos = false;
// Validate arguments // Validate arguments
if (c == NULL) if (c == NULL)
{ {
@ -1038,11 +1038,11 @@ void ConnectionSend(CONNECTION *c, UINT64 now)
} }
s = c->Session; s = c->Session;
use_qos = s->QoS;
if (s != NULL) if (s != NULL)
{ {
hub = s->Hub; hub = s->Hub;
use_qos = s->QoS;
} }
// Protocol // Protocol
@ -3137,10 +3137,7 @@ void ConnectionAccept(CONNECTION *c)
// Start the SSL communication // Start the SSL communication
Debug("StartSSL()\n"); Debug("StartSSL()\n");
if (c->Cedar->AcceptOnlyTls) Copy(&s->SslAcceptSettings, &c->Cedar->SslAcceptSettings, sizeof(SSL_ACCEPT_SETTINGS));
{
s->AcceptOnlyTls = true;
}
if (StartSSL(s, x, k) == false) if (StartSSL(s, x, k) == false)
{ {
// Failed // Failed
@ -3672,6 +3669,3 @@ CONNECTION *NewClientConnectionEx(SESSION *s, char *client_str, UINT client_ver,
return c; return c;
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -144,7 +144,7 @@ struct SECURE_SIGN
char SecurePrivateKeyName[MAX_SECURE_DEVICE_FILE_LEN + 1]; // Secure device secret key name char SecurePrivateKeyName[MAX_SECURE_DEVICE_FILE_LEN + 1]; // Secure device secret key name
X *ClientCert; // Client certificate X *ClientCert; // Client certificate
UCHAR Random[SHA1_SIZE]; // Random value for signature UCHAR Random[SHA1_SIZE]; // Random value for signature
UCHAR Signature[128]; // Signed data UCHAR Signature[4096 / 8]; // Signed data
UINT UseSecureDeviceId; UINT UseSecureDeviceId;
UINT BitmapId; // Bitmap ID UINT BitmapId; // Bitmap ID
}; };
@ -372,7 +372,3 @@ UINT GetMachineRand();
#endif // CONNECTION_H #endif // CONNECTION_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -2237,6 +2237,7 @@ CONSOLE *NewLocalConsole(wchar_t *infile, wchar_t *outfile)
c->ReadPassword = ConsoleLocalReadPassword; c->ReadPassword = ConsoleLocalReadPassword;
c->Write = ConsoleLocalWrite; c->Write = ConsoleLocalWrite;
c->GetWidth = ConsoleLocalGetWidth; c->GetWidth = ConsoleLocalGetWidth;
c->OutputLock = NewLock();
if (UniIsEmptyStr(infile) == false) if (UniIsEmptyStr(infile) == false)
{ {
@ -2348,6 +2349,8 @@ void ConsoleLocalFree(CONSOLE *c)
Free(p); Free(p);
} }
DeleteLock(c->OutputLock);
// Memory release // Memory release
Free(c); Free(c);
} }
@ -2558,7 +2561,3 @@ void ConsoleWriteOutFile(CONSOLE *c, wchar_t *str, bool add_last_crlf)
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -161,6 +161,7 @@ struct CONSOLE
bool (*Write)(CONSOLE *c, wchar_t *str); // Function to write a string bool (*Write)(CONSOLE *c, wchar_t *str); // Function to write a string
UINT (*GetWidth)(CONSOLE *c); // Get the width of the screen UINT (*GetWidth)(CONSOLE *c); // Get the width of the screen
bool ProgrammingMode; // Programming Mode bool ProgrammingMode; // Programming Mode
LOCK *OutputLock; // Output Lock
}; };
// Local console parameters // Local console parameters
@ -247,7 +248,3 @@ UINT ConsoleLocalGetWidth(CONSOLE *c);
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -670,9 +670,12 @@ UINT DCRegister(DDNS_CLIENT *c, bool ipv6, DDNS_REGISTER_PARAM *p, char *replace
if (ret == NULL) if (ret == NULL)
{ {
Debug("WpcCall: %s\n", url3); Debug("WpcCall: %s\n", url3);
ret = WpcCallEx(url3, &t, DDNS_CONNECT_TIMEOUT, DDNS_COMM_TIMEOUT, "register", req, ret = WpcCallEx2(url3, &t, DDNS_CONNECT_TIMEOUT, DDNS_COMM_TIMEOUT, "register", req,
NULL, NULL, ((cert_hash != NULL && cert_hash->Size == SHA1_SIZE) ? cert_hash->Buf : NULL), NULL, DDNS_RPC_MAX_RECV_SIZE, NULL, NULL, ((cert_hash != NULL && ((cert_hash->Size % SHA1_SIZE) == 0)) ? cert_hash->Buf : NULL),
add_header_name, add_header_value); (cert_hash != NULL ? cert_hash->Size / SHA1_SIZE : 0),
NULL, DDNS_RPC_MAX_RECV_SIZE,
add_header_name, add_header_value,
DDNS_SNI_VER_STRING);
Debug("WpcCall Ret: %u\n", ret); Debug("WpcCall Ret: %u\n", ret);
} }
@ -874,8 +877,11 @@ UINT DCGetMyIpMain(DDNS_CLIENT *c, bool ipv6, char *dst, UINT dst_size, bool use
} }
recv = HttpRequest(&data, (ipv6 ? NULL : &c->InternetSetting), DDNS_CONNECT_TIMEOUT, DDNS_COMM_TIMEOUT, &ret, false, NULL, NULL, StrCpy(data.SniString, sizeof(data.SniString), DDNS_SNI_VER_STRING);
NULL, ((cert_hash != NULL && cert_hash->Size == SHA1_SIZE) ? cert_hash->Buf : NULL));
recv = HttpRequestEx3(&data, (ipv6 ? NULL : &c->InternetSetting), DDNS_CONNECT_TIMEOUT, DDNS_COMM_TIMEOUT, &ret, false, NULL, NULL,
NULL, ((cert_hash != NULL && (cert_hash->Size % SHA1_SIZE) == 0) ? cert_hash->Buf : NULL),
(cert_hash != NULL ? cert_hash->Size / SHA1_SIZE : 0), NULL, 0, NULL, NULL);
FreeBuf(cert_hash); FreeBuf(cert_hash);
@ -1040,7 +1046,3 @@ void DCGenNewKey(UCHAR *key)
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -115,7 +115,14 @@
#define DDNS_H #define DDNS_H
// Certificate hash // Certificate hash
#define DDNS_CERT_HASH "EFAC5FA0CDD14E0F864EED58A73C35D7E33B62F3" #define DDNS_CERT_HASH "78BF0499A99396907C9F49DD13571C81FE26E6F5" \
"439BAFA75A6EE5671FC9F9A02D34FF29881761A0" \
"EFAC5FA0CDD14E0F864EED58A73C35D7E33B62F3" \
"74DF99D4B1B5F0488A388B50D347D26013DC67A5" \
"6EBB39AFCA8C900635CFC11218CF293A612457E4"
#define DDNS_SNI_VER_STRING "DDNS"
// Destination URL // Destination URL
#define DDNS_URL_V4_GLOBAL "https://x%c.x%c.servers.ddns.softether-network.net/ddns/ddns.aspx" #define DDNS_URL_V4_GLOBAL "https://x%c.x%c.servers.ddns.softether-network.net/ddns/ddns.aspx"
@ -241,7 +248,3 @@ void DCGetInternetSetting(DDNS_CLIENT *c, INTERNET_SETTING *t);
#endif // DDNS_H #endif // DDNS_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -263,7 +263,3 @@ bool LiIsLicenseKey(char *str)
return true; return true;
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -122,7 +122,3 @@ bool LiStrToKeyBit(UCHAR *keybit, char *keystr);
#endif // DATABASE_H #endif // DATABASE_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -1500,7 +1500,3 @@ RETRY:
} }
#endif // WIN32 #endif // WIN32
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -120,7 +120,3 @@ void EMExec();
#endif // EM_H #endif // EM_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -147,6 +147,3 @@ void EmLicenseAddDlgUpdate(HWND hWnd, RPC *s);
void EmLicenseAddDlgShiftTextItem(HWND hWnd, UINT id1, UINT id2, UINT *next_focus); void EmLicenseAddDlgShiftTextItem(HWND hWnd, UINT id1, UINT id2, UINT *next_focus);
void EmLicenseAddDlgGetText(HWND hWnd, char *str, UINT size); void EmLicenseAddDlgGetText(HWND hWnd, char *str, UINT size);
void EmLicenseAddDlgOnOk(HWND hWnd, RPC *s); void EmLicenseAddDlgOnOk(HWND hWnd, RPC *s);
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -1380,7 +1380,3 @@ void ElFree()
el_lock = NULL; el_lock = NULL;
} }
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

View File

@ -1,17 +1,17 @@
// SoftEther VPN Source Code // SoftEther VPN Source Code - Stable Edition Repository
// Cedar Communication Module // Cedar Communication Module
// //
// SoftEther VPN Server, Client and Bridge are free software under GPLv2. // SoftEther VPN Server, Client and Bridge are free software under GPLv2.
// //
// Copyright (c) 2012-2016 Daiyuu Nobori. // Copyright (c) Daiyuu Nobori.
// Copyright (c) 2012-2016 SoftEther VPN Project, University of Tsukuba, Japan. // Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
// Copyright (c) 2012-2016 SoftEther Corporation. // Copyright (c) SoftEther Corporation.
// //
// All Rights Reserved. // All Rights Reserved.
// //
// http://www.softether.org/ // http://www.softether.org/
// //
// Author: Daiyuu Nobori // Author: Daiyuu Nobori, Ph.D.
// Comments: Tetsuo Sugiyama, Ph.D. // Comments: Tetsuo Sugiyama, Ph.D.
// //
// This program is free software; you can redistribute it and/or // This program is free software; you can redistribute it and/or
@ -279,7 +279,3 @@ void OutRpcElLicenseStatus(PACK *p, RPC_EL_LICENSE_STATUS *t);
#endif // ETHERLOG_H #endif // ETHERLOG_H
// Developed by SoftEther VPN Project at University of Tsukuba in Japan.
// Department of Computer Science has dozens of overly-enthusiastic geeks.
// Join us: http://www.tsukuba.ac.jp/english/admission/

Some files were not shown because too many files have changed in this diff Show More