1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-11-26 03:19:52 +03:00

v4.23-9647-beta

This commit is contained in:
dnobori 2017-10-18 18:24:21 +09:00
parent acf49ad536
commit faee11ff09
301 changed files with 1695 additions and 2645 deletions

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:
@ -118,6 +118,26 @@ CONTRIBUTORS on GitHub:
- Sacha Bernstein - Sacha Bernstein
https://github.com/sacha 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
---------------------------------- ----------------------------------
@ -127,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-2016 Daiyuu Nobori. Copyright (c) Daiyuu Nobori.
Copyright (c) 2012-2016 SoftEther Project at University of Tsukuba, Japan. Copyright (c) SoftEther Project at 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/

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-2016 Daiyuu Nobori. Copyright (c) Daiyuu Nobori.
Copyright (c) 2012-2016 SoftEther Project at University of Tsukuba, Japan. Copyright (c) SoftEther Project at 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/

24
README
View File

@ -10,7 +10,7 @@ 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-2016 SoftEther Project at University of Tsukuba, Japan. Copyright (c) SoftEther Project at University of Tsukuba, Japan.
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
@ -123,24 +123,9 @@ on all the following open-source repositories:
- GitHub - GitHub
https://github.com/SoftEtherVPN/SoftEtherVPN/ https://github.com/SoftEtherVPN/SoftEtherVPN/
- SourceForge
https://sourceforge.net/p/softethervpn/code/ci/master/tree/
- Google Code
https://code.google.com/p/softether/source/browse/
To fetch the source code from GitHub: To fetch the source code from GitHub:
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git $ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
To fetch the source code from SourceForge:
$ git clone http://git.code.sf.net/p/softethervpn/code
- or -
$ git clone git://git.code.sf.net/p/softethervpn/code
To fetch the source code from Google Code:
$ git clone https://code.google.com/p/softether/
We hope that you can reach one of the above URLs at least! We hope that you can reach one of the above URLs at least!
@ -218,10 +203,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

@ -10,7 +10,7 @@ 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-2016 SoftEther Project at University of Tsukuba, Japan. Copyright (c) SoftEther Project at University of Tsukuba, Japan.
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
@ -123,24 +123,9 @@ on all the following open-source repositories:
- GitHub - GitHub
https://github.com/SoftEtherVPN/SoftEtherVPN/ https://github.com/SoftEtherVPN/SoftEtherVPN/
- SourceForge
https://sourceforge.net/p/softethervpn/code/ci/master/tree/
- Google Code
https://code.google.com/p/softether/source/browse/
To fetch the source code from GitHub: To fetch the source code from GitHub:
$ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git $ git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
To fetch the source code from SourceForge:
$ git clone http://git.code.sf.net/p/softethervpn/code
- or -
$ git clone git://git.code.sf.net/p/softethervpn/code
To fetch the source code from Google Code:
$ git clone https://code.google.com/p/softether/
We hope that you can reach one of the above URLs at least! We hope that you can reach one of the above URLs at least!
@ -218,10 +203,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,7 +1,7 @@
# SoftEther VPN Source Code # SoftEther VPN Source Code
# #
# Copyright (c) 2012-2016 SoftEther VPN Project at University of Tsukuba, Japan. # Copyright (c) SoftEther VPN Project at University of Tsukuba, Japan.
# Copyright (c) 2012-2016 Daiyuu Nobori. # Copyright (c) Daiyuu Nobori.
# All Rights Reserved. # All Rights Reserved.
# #
# http://www.softether.org/ # http://www.softether.org/

View File

@ -1,7 +1,7 @@
# SoftEther VPN Source Code # SoftEther VPN Source Code
# #
# Copyright (c) 2012-2016 SoftEther VPN Project at University of Tsukuba, Japan. # Copyright (c) SoftEther VPN Project at University of Tsukuba, Japan.
# Copyright (c) 2012-2016 Daiyuu Nobori. # Copyright (c) Daiyuu Nobori.
# All Rights Reserved. # All Rights Reserved.
# #
# http://www.softether.org/ # http://www.softether.org/

View File

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -1082,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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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)
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -1914,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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -135,10 +135,10 @@
// Version number // Version number
#define CEDAR_VER 422 #define CEDAR_VER 423
// Build Number // Build Number
#define CEDAR_BUILD 9634 #define CEDAR_BUILD 9647
// 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 2017
#define BUILD_DATE_M 11 #define BUILD_DATE_M 10
#define BUILD_DATE_D 27 #define BUILD_DATE_D 18
#define BUILD_DATE_HO 14 #define BUILD_DATE_HO 16
#define BUILD_DATE_MI 33 #define BUILD_DATE_MI 30
#define BUILD_DATE_SE 59 #define BUILD_DATE_SE 44
// 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)
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -11112,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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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;
} }
@ -1396,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)
@ -1457,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);
} }
@ -1465,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);
@ -1492,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);
} }
@ -1519,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)
{ {
@ -1541,10 +1544,23 @@ void TtsAcceptProc(TTS *tts, SOCK *listen_socket)
} }
else else
{ {
UINT num, i;
TTS_WORKER *w;
// Connected from the client // Connected from the client
AcceptInitEx(s, true); 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));
@ -1558,12 +1574,12 @@ void TtsAcceptProc(TTS *tts, SOCK *listen_socket)
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);
} }
} }
} }
@ -1598,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);
@ -1621,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);
@ -1647,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);
}
} }
} }
@ -1737,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
@ -1800,147 +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;
IP ip_ret; UINT buf_size;
// Validate arguments 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;
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);
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)
@ -1949,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;
@ -1960,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;
@ -1992,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)
{ {
@ -2008,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
@ -2032,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)];
@ -2078,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);
@ -2186,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
{ {
@ -2211,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
@ -2280,7 +2427,6 @@ UINT FreeTtc(TTC *ttc, TT_RESULT *result)
} }
} }
ReleaseSockEvent(ttc->SockEvent);
ReleaseEvent(ttc->InitedEvent); ReleaseEvent(ttc->InitedEvent);
Free(ttc); Free(ttc);
@ -2301,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);
@ -2337,6 +2485,8 @@ UINT FreeTts(TTS *tts)
ret = tts->ErrorCode; ret = tts->ErrorCode;
ReleaseList(tts->WorkerList);
Free(tts); Free(tts);
return ret; return ret;
@ -2355,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];
@ -2367,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
@ -23850,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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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
@ -216,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
@ -676,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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -3669,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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -1046,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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -248,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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -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/

View File

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -1227,12 +1227,6 @@ bool IsValidCertInHub(HUB *h, X *x)
return false; return false;
} }
if (IsXRevoked(x))
{
// Disabled by the CRL stored in the file
return false;
}
LockList(h->HubDb->CrlList); LockList(h->HubDb->CrlList);
{ {
ret = IsCertMatchCrlList(x, h->HubDb->CrlList); ret = IsCertMatchCrlList(x, h->HubDb->CrlList);
@ -7440,7 +7434,3 @@ HUBDB *NewHubDb()
} }
// 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 @@
// //
// 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, Ph.D..
// 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.
// //
@ -648,7 +648,3 @@ EAP_CLIENT *HubNewEapClient(CEDAR *cedar, char *hubname, char *client_ip_str, ch
#endif // HUB_H #endif // HUB_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

@ -3,9 +3,9 @@
// //
// 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, Ph.D..
// 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.
// //
@ -793,7 +793,3 @@ IPSEC_SERVER *NewIPsecServer(CEDAR *cedar)
return s; return 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/

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