mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2024-12-26 18:19:53 +03:00
Merge PR #1267: Improve versioning by setting the version in a single place and automatically increasing the build number
This commit is contained in:
commit
2981a44de3
@ -1,4 +1,4 @@
|
||||
jobs:
|
||||
- template: .ci/azure-pipelines-linux.yml
|
||||
- template: .ci/azure-pipelines-win.yml
|
||||
- template: .ci/azure-pipelines-macos.yml
|
||||
- template: .ci/azure-pipelines/linux.yml
|
||||
- template: .ci/azure-pipelines/windows.yml
|
||||
- template: .ci/azure-pipelines/macos.yml
|
||||
|
@ -1,13 +0,0 @@
|
||||
jobs:
|
||||
- job: macOS
|
||||
displayName: 'macOS'
|
||||
pool:
|
||||
vmImage: macOS-latest
|
||||
steps:
|
||||
- script: brew install cmake ninja ncurses readline openssl zlib
|
||||
displayName: 'Install packages'
|
||||
- script: |
|
||||
cd $BUILD_BINARIESDIRECTORY
|
||||
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl $BUILD_SOURCESDIRECTORY
|
||||
cmake --build .
|
||||
displayName: 'Build'
|
@ -4,12 +4,11 @@ jobs:
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
steps:
|
||||
- script: |
|
||||
cd $BUILD_BINARIESDIRECTORY
|
||||
sudo apt -y install cmake gcc g++ ninja-build libncurses5-dev libreadline-dev libssl-dev make zlib1g-dev
|
||||
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo $BUILD_SOURCESDIRECTORY
|
||||
cmake --build .
|
||||
cpack -C Release -G DEB
|
||||
- script: sudo apt-get -y install cmake gcc g++ ninja-build libncurses5-dev libreadline-dev libssl-dev make zlib1g-dev
|
||||
displayName: 'Prepare environment'
|
||||
- script: "$(Build.SourcesDirectory)/.ci/azure-pipelines/linux_build.sh"
|
||||
env:
|
||||
SE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN)
|
||||
displayName: 'Build'
|
||||
- script: |
|
||||
.ci/appveyor-deb-install-test.sh
|
15
.ci/azure-pipelines/linux_build.sh
Executable file
15
.ci/azure-pipelines/linux_build.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "${#SE_BUILD_NUMBER_TOKEN}" -eq 64 ]]; then
|
||||
VERSION=$(python3 "version.py")
|
||||
BUILD_NUMBER=$(curl "https://softether.network/get-build-number?commit=${BUILD_SOURCEVERSION}&version=${VERSION}&token=${SE_BUILD_NUMBER_TOKEN}")
|
||||
else
|
||||
BUILD_NUMBER=0
|
||||
fi
|
||||
|
||||
cd ${BUILD_BINARIESDIRECTORY}
|
||||
|
||||
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_NUMBER=${BUILD_NUMBER} ${BUILD_SOURCESDIRECTORY}
|
||||
cmake --build .
|
||||
|
||||
cpack -C Release -G DEB
|
11
.ci/azure-pipelines/macos.yml
Normal file
11
.ci/azure-pipelines/macos.yml
Normal file
@ -0,0 +1,11 @@
|
||||
jobs:
|
||||
- job: macOS
|
||||
pool:
|
||||
vmImage: macOS-latest
|
||||
steps:
|
||||
- script: brew install cmake ninja ncurses readline openssl zlib
|
||||
displayName: 'Prepare environment'
|
||||
- script: '$(Build.SourcesDirectory)/.ci/azure-pipelines/macos_build.sh'
|
||||
env:
|
||||
SE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN)
|
||||
displayName: 'Build'
|
13
.ci/azure-pipelines/macos_build.sh
Executable file
13
.ci/azure-pipelines/macos_build.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "${#SE_BUILD_NUMBER_TOKEN}" -eq 64 ]]; then
|
||||
VERSION=$(python "version.py")
|
||||
BUILD_NUMBER=$(curl "https://softether.network/get-build-number?commit=${BUILD_SOURCEVERSION}&version=${VERSION}&token=${SE_BUILD_NUMBER_TOKEN}")
|
||||
else
|
||||
BUILD_NUMBER=0
|
||||
fi
|
||||
|
||||
cd ${BUILD_BINARIESDIRECTORY}
|
||||
|
||||
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_NUMBER=${BUILD_NUMBER} -DOPENSSL_ROOT_DIR="/usr/local/opt/openssl" ${BUILD_SOURCESDIRECTORY}
|
||||
cmake --build .
|
@ -18,18 +18,14 @@ steps:
|
||||
vcpkg install openssl zlib --triplet ${{parameters.vcpkgTriplet}}
|
||||
workingDirectory: C:/vcpkg
|
||||
displayName: 'Prepare environment'
|
||||
- script: |
|
||||
call "${{parameters.vcvarsPath}}"
|
||||
cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=${{parameters.vcpkgTriplet}} -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER="${{parameters.compilerPath}}" -DCMAKE_CXX_COMPILER="${{parameters.compilerPath}}" $(Build.SourcesDirectory)
|
||||
cmake --build .
|
||||
workingDirectory: $(Build.BinariesDirectory)
|
||||
- script: '$(Build.SourcesDirectory)/.ci/azure-pipelines/windows_build.bat'
|
||||
env:
|
||||
ARCHITECTURE: ${{parameters.architecture}}
|
||||
COMPILER_PATH: ${{parameters.compilerPath}}
|
||||
VCPKG_TRIPLET: ${{parameters.vcpkgTriplet}}
|
||||
VCVARS_PATH: ${{parameters.vcvarsPath}}
|
||||
SE_BUILD_NUMBER_TOKEN: $(BUILD_NUMBER_TOKEN)
|
||||
displayName: 'Build'
|
||||
- script: |
|
||||
mkdir "$(Build.StagingDirectory)/installers"
|
||||
vpnsetup /SFXMODE:vpnclient /SFXOUT:"$(Build.StagingDirectory)/installers/softether-vpnclient-$(Build.SourceVersion)-${{parameters.architecture}}.exe"
|
||||
vpnsetup /SFXMODE:vpnserver_vpnbridge /SFXOUT:"$(Build.StagingDirectory)/installers/softether-vpnserver_vpnbridge-$(Build.SourceVersion)-${{parameters.architecture}}.exe"
|
||||
workingDirectory: $(Build.BinariesDirectory)
|
||||
displayName: 'Build installers'
|
||||
- powershell: |
|
||||
. .ci/appveyor-vpntest.ps1
|
||||
displayName: 'Test'
|
@ -4,7 +4,7 @@ jobs:
|
||||
pool:
|
||||
vmImage: windows-latest
|
||||
steps:
|
||||
- template: "azure-pipelines-win-steps.yml"
|
||||
- template: "windows-steps.yml"
|
||||
parameters:
|
||||
architecture: "x86_64"
|
||||
compilerPath: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/Llvm/x64/bin/clang-cl.exe"
|
||||
@ -15,7 +15,7 @@ jobs:
|
||||
pool:
|
||||
vmImage: windows-latest
|
||||
steps:
|
||||
- template: "azure-pipelines-win-steps.yml"
|
||||
- template: "windows-steps.yml"
|
||||
parameters:
|
||||
architecture: "x86"
|
||||
compilerPath: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/Llvm/bin/clang-cl.exe"
|
26
.ci/azure-pipelines/windows_build.bat
Normal file
26
.ci/azure-pipelines/windows_build.bat
Normal file
@ -0,0 +1,26 @@
|
||||
@echo on
|
||||
|
||||
:: The method we use to store a command's output into a variable:
|
||||
:: https://stackoverflow.com/a/6362922
|
||||
for /f "tokens=* USEBACKQ" %%g in (`python "version.py"`) do (set "VERSION=%%g")
|
||||
|
||||
:: https://stackoverflow.com/a/8566001
|
||||
echo %SE_BUILD_NUMBER_TOKEN%> "%tmp%\length.txt"
|
||||
for %%? in ("%tmp%\length.txt") do ( set /A SE_BUILD_NUMBER_TOKEN_LENGTH=%%~z? - 2 )
|
||||
|
||||
if %SE_BUILD_NUMBER_TOKEN_LENGTH% equ 64 (
|
||||
for /f "tokens=* USEBACKQ" %%g in (`curl "https://softether.network/get-build-number?commit=%BUILD_SOURCEVERSION%&version=%VERSION%&token=%SE_BUILD_NUMBER_TOKEN%"`) do (set "BUILD_NUMBER=%%g")
|
||||
) else (
|
||||
set BUILD_NUMBER=0
|
||||
)
|
||||
|
||||
cd %BUILD_BINARIESDIRECTORY%
|
||||
|
||||
call "%VCVARS_PATH%"
|
||||
|
||||
cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=%VCPKG_TRIPLET% -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER="%COMPILER_PATH%" -DCMAKE_CXX_COMPILER="%COMPILER_PATH%" -DBUILD_NUMBER=%BUILD_NUMBER% "%BUILD_SOURCESDIRECTORY%"
|
||||
cmake --build .
|
||||
|
||||
mkdir "%BUILD_STAGINGDIRECTORY%\installers"
|
||||
vpnsetup /SFXMODE:vpnclient /SFXOUT:"%BUILD_STAGINGDIRECTORY%\installers\softether-vpnclient-%VERSION%.%BUILD_NUMBER%.%ARCHITECTURE%.exe"
|
||||
vpnsetup /SFXMODE:vpnserver_vpnbridge /SFXOUT:"%BUILD_STAGINGDIRECTORY%\installers\softether-vpnserver_vpnbridge-%VERSION%.%BUILD_NUMBER%.%ARCHITECTURE%.exe"
|
@ -1,7 +1,13 @@
|
||||
cmake_minimum_required(VERSION 3.7)
|
||||
|
||||
set(BUILD_NUMBER CACHE STRING "The number of the current build.")
|
||||
|
||||
if ("${BUILD_NUMBER}" STREQUAL "")
|
||||
set(BUILD_NUMBER "0")
|
||||
endif()
|
||||
|
||||
project("SoftEther VPN"
|
||||
VERSION 5.01.9674
|
||||
VERSION "5.01.${BUILD_NUMBER}"
|
||||
LANGUAGES C
|
||||
)
|
||||
|
||||
@ -21,20 +27,6 @@ if(EXISTS "${TOP_DIRECTORY}/.git" AND NOT EXISTS "${TOP_DIRECTORY}/src/Mayaqua/3
|
||||
message (FATAL_ERROR "Submodules are not initialized. Run\n\tgit submodule update --init --recursive")
|
||||
endif()
|
||||
|
||||
# Compare ${PROJECT_VERSION} and src/CurrentBuild.txt
|
||||
file(READ ${TOP_DIRECTORY}/src/CurrentBuild.txt CurrentBuild)
|
||||
|
||||
string(REGEX MATCH "VERSION_MAJOR ([0-9]+)" temp ${CurrentBuild})
|
||||
string(REGEX REPLACE "VERSION_MAJOR ([0-9]+)" "\\1" CurrentBuild_MAJOR ${temp})
|
||||
string(REGEX MATCH "VERSION_MINOR ([0-9]+)" temp ${CurrentBuild})
|
||||
string(REGEX REPLACE "VERSION_MINOR ([0-9]+)" "\\1" CurrentBuild_MINOR ${temp})
|
||||
string(REGEX MATCH "VERSION_BUILD ([0-9]+)" temp ${CurrentBuild})
|
||||
string(REGEX REPLACE "VERSION_BUILD ([0-9]+)" "\\1" CurrentBuild_BUILD ${temp})
|
||||
|
||||
if(NOT ${PROJECT_VERSION} VERSION_EQUAL "${CurrentBuild_MAJOR}.${CurrentBuild_MINOR}.${CurrentBuild_BUILD}")
|
||||
message (FATAL_ERROR "PROJECT_VERSION does not match to src/CurrentBuild.txt")
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
|
@ -1,59 +1,18 @@
|
||||
How to build SoftEther VPN for Windows
|
||||
======================================
|
||||
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
You need to install the following software to run a full release build of SoftEther VPN for Windows.
|
||||
|
||||
- Microsoft Windows XP, Vista, 7, 8 or later.
|
||||
- Microsoft Visual Studio 2008 with the latest SP (SP1 9.0.30729.4462 QFE).
|
||||
Make sure that you installed the x64 compiler and build tools.
|
||||
- Microsoft Windows Driver Kit 7.1.0.
|
||||
|
||||
|
||||
Full Build Instructions
|
||||
-----------------------
|
||||
|
||||
The following steps will build all SoftEther VPN program files, and also build
|
||||
the installer packages of SoftEther VPN. It is very easy.
|
||||
|
||||
1. Run the "BuildAll.cmd" batch file in the "src" directory.
|
||||
2. Wait until the building process will complete.
|
||||
3. The built files are stored on the "output" directory.
|
||||
|
||||
|
||||
Partly Build, Debug, or Development Instructions on Visual Studio 2008
|
||||
---------------------------------------------------------------------
|
||||
|
||||
If you are a programmer, you can open the SoftEther VPN solution file
|
||||
with Visual Studio 2008 to customize. Open "src\SEVPN.sln" and enjoy it.
|
||||
|
||||
Visual Studio 2008 is required as to maintain compatibility with Windows 9x, due to Visual C++ 2008 being the last version compatibile with Windows 9x and Windows NT 4.x binary linking.
|
||||
|
||||
- Visual Studio 2008's installer ISO can be found on Microsoft's site here: https://download.microsoft.com/download/E/8/E/E8EEB394-7F42-4963-A2D8-29559B738298/VS2008ExpressWithSP1ENUX1504728.iso
|
||||
|
||||
- The Microsoft Windows Driver Kit 7.1.0 can be found here: https://download.microsoft.com/download/4/A/2/4A25C7D5-EFBE-4182-B6A9-AE6850409A78/GRMWDK_EN_7600_1.ISO
|
||||
|
||||
If using anything else other than Visual Studio 2008 for development, your code **MUST** support Microsoft Visual C++ 2008 due to aforementioned reasons.
|
||||
|
||||
It is OK to add newer Visual Studio (2015, 2017) solution files to the project, but there then must be dual solution files for both Visual C++ 2008 and the latest Visual Studio.
|
||||
|
||||
Build and Development Instructions with Visual Studio 2017 & CMake
|
||||
---------------------------------------------------------------------
|
||||
|
||||
An alternative method for development of the SoftEtherVPN project on Windows is through CMake.
|
||||
|
||||
There are several methods for using CMake but the easiest by far is through Visual Studio 2017 by importing the CMake project directly
|
||||
There are several methods for using CMake but the easiest by far is through Visual Studio 2019 by importing the CMake project directly
|
||||
into it. So that is what will be described below.
|
||||
|
||||
Requirements:
|
||||
|
||||
1. Download Visual Studio 2017 (Community Edition is fine).
|
||||
1. Download Visual Studio 2019 (Community Edition is fine).
|
||||
2. During install, make sure to check "Desktop development with C++" under "Workloads".
|
||||
3. Click on individual components and scroll until you see "Visual C++ tools for CMake" under the compilers section. Make sure this is checked.
|
||||
4. Proceed with and finish Visual Studio 2017 install.
|
||||
4. Proceed with and finish Visual Studio 2019 installation.
|
||||
5. Install the needed submodules to build the project, avoiding CMake telling you to do so with: `git submodule update --init --recursive`
|
||||
|
||||
Building:
|
||||
@ -69,9 +28,4 @@ of all the SoftEtherVPN components.
|
||||
Congrats, you now have a complete CMake development environment for SoftEtherVPN on Windows, enjoy and happy contributing!
|
||||
|
||||
Download Links:
|
||||
- Visual Studio 2017 from Microsoft: https://visualstudio.microsoft.com/downloads
|
||||
|
||||
************************************
|
||||
Thank You Using SoftEther VPN !
|
||||
By SoftEther VPN Open-Source Project
|
||||
https://www.softether.org/
|
||||
- Visual Studio 2019 from Microsoft: https://visualstudio.microsoft.com/downloads
|
||||
|
@ -1,38 +0,0 @@
|
||||
SETLOCAL
|
||||
SET BATCH_FILE_NAME=%0
|
||||
SET BATCH_DIR_PATH=%~dp0
|
||||
SET NOW_TMP=%time:~0,2%
|
||||
SET NOW=%date:~0,4%%date:~5,2%%date:~8,2%_%NOW_TMP: =0%%time:~3,2%%time:~6,2%
|
||||
|
||||
if exist "C:\Program Files\Microsoft Visual Studio 9.0" (
|
||||
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
|
||||
) else if exist "C:\Program Files (x86)\Microsoft Visual Studio 9.0" (
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
|
||||
) else (
|
||||
echo "Visual Studio 2008 not found!"
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
if not exist "C:\windows\Microsoft.NET\Framework\v3.5" (
|
||||
echo ".NET Framework 3.5 not found!"
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo on
|
||||
|
||||
copy "%BATCH_DIR_PATH%..\AUTHORS.TXT" "%BATCH_DIR_PATH%bin\hamcore\authors.txt"
|
||||
|
||||
echo f | xcopy "%BATCH_DIR_PATH%BuildFiles\Library\vs2008\Win32_Release\ossl_static.pdb" "%BATCH_DIR_PATH%DebugFiles\pdb\Win32_Release\ossl_static.pdb"
|
||||
echo f | xcopy "%BATCH_DIR_PATH%BuildFiles\Library\vs2008\x64_Release\ossl_static.pdb" "%BATCH_DIR_PATH%DebugFiles\pdb\x64_Release\ossl_static.pdb"
|
||||
|
||||
if exist "%BATCH_DIR_PATH%bin\BuildUtil.exe" (
|
||||
del "%BATCH_DIR_PATH%bin\BuildUtil.exe"
|
||||
)
|
||||
|
||||
C:\windows\Microsoft.NET\Framework\v3.5\MSBuild.exe /toolsversion:3.5 /target:Clean;Rebuild /property:Configuration=Debug "%BATCH_DIR_PATH%BuildUtil\BuildUtil.csproj"
|
||||
|
||||
cd "%BATCH_DIR_PATH%bin"
|
||||
|
||||
BuildUtil.exe /CMD:All
|
||||
|
||||
if errorlevel 1 exit /b %errorlevel%
|
@ -1,214 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{384815C3-333C-4CEC-9DCD-B6AB2602EBB9}</ProjectGuid>
|
||||
<OutputType>Exe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>BuildUtil</RootNamespace>
|
||||
<AssemblyName>BuildUtilTmp</AssemblyName>
|
||||
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ApplicationIcon>BuildUtilIcon.ico</ApplicationIcon>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<StartupObject>BuildUtil.BuildUtilMain</StartupObject>
|
||||
<NoWin32Manifest>true</NoWin32Manifest>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\bin\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;BU_SOFTETHER;BU_OSS</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.DirectoryServices" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="System.Runtime.Serialization.Formatters.Soap" />
|
||||
<Reference Include="System.Transactions" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="BuildUtilCommands.cs" />
|
||||
<Compile Include="BuildUtilMain.cs" />
|
||||
<Compile Include="CodeSign.cs" />
|
||||
<Compile Include="CoreUtil\Bmp.cs" />
|
||||
<Compile Include="CoreUtil\Buf.cs" />
|
||||
<Compile Include="CoreUtil\Cache.cs" />
|
||||
<Compile Include="CoreUtil\Compress.cs" />
|
||||
<Compile Include="CoreUtil\Console.cs" />
|
||||
<Compile Include="CoreUtil\Csv.cs" />
|
||||
<Compile Include="CoreUtil\Env.cs" />
|
||||
<Compile Include="CoreUtil\FileIO.cs" />
|
||||
<Compile Include="CoreUtil\GZip.cs" />
|
||||
<Compile Include="CoreUtil\Kernel.cs" />
|
||||
<Compile Include="CoreUtil\MultiLang.cs" />
|
||||
<Compile Include="CoreUtil\Packer.cs" />
|
||||
<Compile Include="CoreUtil\RC4.cs" />
|
||||
<Compile Include="CoreUtil\ReadIni.cs" />
|
||||
<Compile Include="CoreUtil\Reg.cs" />
|
||||
<Compile Include="CoreUtil\Secure.cs" />
|
||||
<Compile Include="CoreUtil\Stb.cs" />
|
||||
<Compile Include="CoreUtil\Str.cs" />
|
||||
<Compile Include="CoreUtil\Tar.cs" />
|
||||
<Compile Include="CoreUtil\Thread.cs" />
|
||||
<Compile Include="CoreUtil\Time.cs" />
|
||||
<Compile Include="CoreUtil\Util.cs" />
|
||||
<Compile Include="CoreUtil\Win32.cs" />
|
||||
<Compile Include="CoreUtil\Zip.cs" />
|
||||
<Compile Include="CoreUtil\ZLib.cs" />
|
||||
|
||||
<Compile Include="PEUtil.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Test.cs" />
|
||||
<Compile Include="UnixBuildSoftwares.cs" />
|
||||
<Compile Include="VpnBuilder.cs" />
|
||||
<Compile Include="VpnBuilderConfig.cs" />
|
||||
<Compile Include="VpnBuilderConfigTypes.cs" />
|
||||
<Compile Include="Web References\HvSignService\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Web References\SignService\Reference.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Reference.map</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Win32BuildSoftware.cs" />
|
||||
<Compile Include="Win32BuildUtil.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WebReferences Include="Web References\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WebReferenceUrl Include="http://dv/Sign/Sign.asmx">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\SignService\</RelPath>
|
||||
<UpdateFromURL>http://dv/Sign/Sign.asmx</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>Settings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>BuildUtil_SignService_Sign</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
<WebReferenceUrl Include="http://hvsigncode/Sign.asmx">
|
||||
<UrlBehavior>Dynamic</UrlBehavior>
|
||||
<RelPath>Web References\HvSignService\</RelPath>
|
||||
<UpdateFromURL>http://hvsigncode/Sign.asmx</UpdateFromURL>
|
||||
<ServiceLocationURL>
|
||||
</ServiceLocationURL>
|
||||
<CachedDynamicPropName>
|
||||
</CachedDynamicPropName>
|
||||
<CachedAppSettingsObjectName>Settings</CachedAppSettingsObjectName>
|
||||
<CachedSettingsPropName>BuildUtilTmp_HvSignService_Sign</CachedSettingsPropName>
|
||||
</WebReferenceUrl>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\HvSignService\Sign.wsdl" />
|
||||
<None Include="Web References\SignService\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\SignService\Sign.disco" />
|
||||
<None Include="Web References\SignService\Sign.wsdl" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="BuildUtilIcon.ico" />
|
||||
<None Include="Web References\HvSignService\Reference.map">
|
||||
<Generator>MSDiscoCodeGenerator</Generator>
|
||||
<LastGenOutput>Reference.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Web References\HvSignService\Sign.disco" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>$(ProjectDir)CopyBuildUtil.cmd</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Before Width: | Height: | Size: 30 KiB |
@ -1,113 +0,0 @@
|
||||
// SoftEther VPN Source Code - Developer Edition Master Branch
|
||||
// Build Utility
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using CoreUtil;
|
||||
|
||||
namespace BuildUtil
|
||||
{
|
||||
public class BuildUtilMain
|
||||
{
|
||||
public static bool pause = false;
|
||||
|
||||
// Main function
|
||||
public static int Main(string[] args)
|
||||
{
|
||||
string errMsg = "";
|
||||
|
||||
int ret = 0;
|
||||
|
||||
ret = ConsoleService.EntryPoint("BuildUtil " + Env.CommandLine, "BuildUtil", typeof(BuildUtilMain), out errMsg);
|
||||
|
||||
if (ret != 0)
|
||||
{
|
||||
Con.WriteLine("{0}: fatal error C0001: {1}", Path.GetFileNameWithoutExtension(Env.ExeFileName), errMsg);
|
||||
|
||||
if (pause)
|
||||
{
|
||||
Console.Write("Press any key to exit...");
|
||||
Console.ReadKey();
|
||||
}
|
||||
|
||||
Environment.Exit(1);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// Command execution
|
||||
[ConsoleCommandMethod(
|
||||
"VPN Build Utility",
|
||||
"[/IN:infile] [/OUT:outfile] [/CSV] [/PAUSEIFERROR:yes|no] [/CMD command_line...]",
|
||||
"VPN Build Utility",
|
||||
"IN:This will specify the text file 'infile' that contains the list of commands that are automatically executed after the connection is completed. If the /IN parameter is specified, the vpncmd program will terminate automatically after the execution of all commands in the file are finished. If the file contains multiple-byte characters, the encoding must be Unicode (UTF-8). This cannot be specified together with /CMD (if /CMD is specified, /IN will be ignored).",
|
||||
"OUT:You can specify the text file 'outfile' to write all strings such as onscreen prompts, message, error and execution results. Note that if the specified file already exists, the contents of the existing file will be overwritten. Output strings will be recorded using Unicode (UTF-8) encoding.",
|
||||
"CMD:If the optional command 'command_line...' is included after /CMD, that command will be executed after the connection is complete and the vpncmd program will terminate after that. This cannot be specified together with /IN (if specified together with /IN, /IN will be ignored). Specify the /CMD parameter after all other vpncmd parameters.",
|
||||
"CSV:Enable CSV Mode.",
|
||||
"PAUSEIFERROR:Specify yes if you'd like to pause before exiting the process if there are any errors."
|
||||
)]
|
||||
public static int BuildUtil(ConsoleService c, string cmdName, string str)
|
||||
{
|
||||
Con.WriteLine("");
|
||||
Con.WriteLine("Copyright (c) SoftEther VPN Project. All Rights Reserved.");
|
||||
Con.WriteLine("");
|
||||
|
||||
ConsoleParam[] args =
|
||||
{
|
||||
new ConsoleParam("IN", null, null, null, null),
|
||||
new ConsoleParam("OUT", null, null, null, null),
|
||||
new ConsoleParam("CMD", null, null, null, null),
|
||||
new ConsoleParam("CSV", null, null, null, null),
|
||||
new ConsoleParam("PAUSEIFERROR", null, null, null, null),
|
||||
new ConsoleParam("DT", null, null, null, null),
|
||||
};
|
||||
|
||||
ConsoleParamValueList vl = c.ParseCommandList(cmdName, str, args);
|
||||
|
||||
pause = vl["PAUSEIFERROR"].BoolValue;
|
||||
|
||||
string cmdline = vl["CMD"].StrValue;
|
||||
|
||||
if (vl["DT"].IsEmpty == false)
|
||||
{
|
||||
BuildSoftwareList.ListCreatedDateTime = Str.StrToDateTime(vl["DT"].StrValue);
|
||||
}
|
||||
|
||||
ConsoleService cs = c;
|
||||
|
||||
while (cs.DispatchCommand(cmdline, "BuildUtil>", typeof(BuildUtilCommands), null))
|
||||
{
|
||||
if (Str.IsEmptyStr(cmdline) == false)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return cs.RetCode;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,195 +0,0 @@
|
||||
// SoftEther VPN Source Code - Developer Edition Master Branch
|
||||
// Build Utility
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using CoreUtil;
|
||||
using BuildUtil.HvSignService;
|
||||
|
||||
namespace BuildUtil
|
||||
{
|
||||
public static class CodeSign
|
||||
{
|
||||
public const int NumRetries = 1;
|
||||
public const int RetryIntervals = 200;
|
||||
|
||||
public const int NumRetriesForCopy = 50;
|
||||
public const int RetryIntervalsForCopy = 10;
|
||||
|
||||
const string in_dir = @"\\hvsigncode\SIGN\IN";
|
||||
const string out_dir = @"\\hvsigncode\SIGN\OUT";
|
||||
|
||||
#if !BU_SOFTETHER
|
||||
public static int UsingCertId = 1;
|
||||
#else
|
||||
public static int UsingCertId = 2;
|
||||
#endif
|
||||
|
||||
static object lockObj = new object();
|
||||
|
||||
// Digital-sign the data on the memory
|
||||
public static byte[] SignMemory(byte[] srcData, string comment, bool kernelModeDriver, int cert_id, int sha_mode)
|
||||
{
|
||||
#if !BU_OSS
|
||||
int i;
|
||||
string out_filename = null;
|
||||
byte[] ret = null;
|
||||
|
||||
string in_tmp_filename = Path.Combine(in_dir,
|
||||
Str.DateTimeToStrShortWithMilliSecs(DateTime.Now) + "_" +
|
||||
Env.MachineName + "_" +
|
||||
Secure.Rand63i().ToString() + ".dat");
|
||||
|
||||
IO.SaveFile(in_tmp_filename, srcData);
|
||||
|
||||
for (i = 0; i < NumRetries; i++)
|
||||
{
|
||||
Sign sign = new Sign();
|
||||
sign.Proxy = new WebProxy();
|
||||
|
||||
try
|
||||
{
|
||||
out_filename = sign.ExecSignEx(Path.GetFileName(in_tmp_filename),
|
||||
kernelModeDriver,
|
||||
comment,
|
||||
cert_id,
|
||||
sha_mode);
|
||||
break;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (i != (NumRetries - 1))
|
||||
{
|
||||
Kernel.SleepThread(RetryIntervals);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < NumRetriesForCopy; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
ret = IO.ReadFile(Path.Combine(out_dir, out_filename));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (i != (NumRetriesForCopy - 1))
|
||||
{
|
||||
Kernel.SleepThread(RetryIntervalsForCopy);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
string tmpFileName = IO.CreateTempFileNameByExt(".exe");
|
||||
try
|
||||
{
|
||||
File.Delete(tmpFileName);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
File.WriteAllBytes(tmpFileName, ret);
|
||||
|
||||
lock (lockObj)
|
||||
{
|
||||
if (ExeSignChecker.CheckFileDigitalSignature(tmpFileName) == false)
|
||||
{
|
||||
throw new ApplicationException("CheckFileDigitalSignature failed.");
|
||||
}
|
||||
|
||||
if (kernelModeDriver)
|
||||
{
|
||||
if (ExeSignChecker.IsKernelModeSignedFile(tmpFileName) == false)
|
||||
{
|
||||
throw new ApplicationException("IsKernelModeSignedFile failed.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
}
|
||||
catch
|
||||
{
|
||||
File.Delete(tmpFileName);
|
||||
}
|
||||
|
||||
return ret;
|
||||
#else // BU_OSS
|
||||
return srcData;
|
||||
#endif // BU_OSS
|
||||
}
|
||||
|
||||
// Digital-sign the data on the file
|
||||
public static void SignFile(string destFileName, string srcFileName, string comment, bool kernelModeDriver)
|
||||
{
|
||||
int cert_id = UsingCertId;
|
||||
|
||||
SignFile(destFileName, srcFileName, comment, kernelModeDriver, cert_id, 0);
|
||||
}
|
||||
public static void SignFile(string destFileName, string srcFileName, string comment, bool kernelModeDriver, int cert_id, int sha_mode)
|
||||
{
|
||||
#if !BU_OSS
|
||||
if (cert_id == 0)
|
||||
{
|
||||
cert_id = UsingCertId;
|
||||
}
|
||||
|
||||
Con.WriteLine("Signing for '{0}'...", Path.GetFileName(destFileName));
|
||||
byte[] srcData = File.ReadAllBytes(srcFileName);
|
||||
|
||||
if (srcFileName.EndsWith(".msi", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
sha_mode = 1;
|
||||
// todo: Set 2 in future !!!
|
||||
}
|
||||
|
||||
byte[] destData = SignMemory(srcData, comment, kernelModeDriver, cert_id, sha_mode);
|
||||
|
||||
try
|
||||
{
|
||||
File.Delete(destFileName);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
File.WriteAllBytes(destFileName, destData);
|
||||
|
||||
Con.WriteLine("Done.");
|
||||
#else // BU_OSS
|
||||
Con.WriteLine("Skipping the code signing for '{0}' in the build process. You can insert your own authenticode sign process here.", srcFileName);
|
||||
#endif // BU_OSS
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,2 +0,0 @@
|
||||
copy "%0\..\..\bin\BuildUtilTmp.exe" "%0\..\..\bin\BuildUtil.exe"
|
||||
exit /b 0
|
@ -1,117 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Mail;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public static class Bmp
|
||||
{
|
||||
public static Bitmap Load(string filename)
|
||||
{
|
||||
return Load(IO.ReadFile(filename));
|
||||
}
|
||||
public static Bitmap Load(byte[] data)
|
||||
{
|
||||
MemoryStream ms = new MemoryStream();
|
||||
ms.Write(data, 0, data.Length);
|
||||
ms.Seek(0, SeekOrigin.Begin);
|
||||
|
||||
return new Bitmap(ms);
|
||||
}
|
||||
|
||||
public static void SaveAsBitmap(Bitmap bmp, string filename)
|
||||
{
|
||||
IO.SaveFile(filename, SaveAsBitmap(bmp));
|
||||
}
|
||||
public static byte[] SaveAsBitmap(Bitmap bmp)
|
||||
{
|
||||
MemoryStream ms = new MemoryStream();
|
||||
|
||||
bmp.Save(ms, ImageFormat.Bmp);
|
||||
|
||||
return ms.ToArray();
|
||||
}
|
||||
|
||||
public static void SaveAsJpeg(Bitmap bmp, string filename)
|
||||
{
|
||||
IO.SaveFile(filename, SaveAsJpeg(bmp));
|
||||
}
|
||||
public static byte[] SaveAsJpeg(Bitmap bmp)
|
||||
{
|
||||
return SaveAsJpeg(bmp, 100);
|
||||
}
|
||||
public static void SaveAsJpeg(Bitmap bmp, string filename, int quality)
|
||||
{
|
||||
IO.SaveFile(filename, SaveAsJpeg(bmp, quality));
|
||||
}
|
||||
public static byte[] SaveAsJpeg(Bitmap bmp, int quality)
|
||||
{
|
||||
EncoderParameters eps = new EncoderParameters(1);
|
||||
EncoderParameter ep = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
|
||||
eps.Param[0] = ep;
|
||||
|
||||
ImageCodecInfo info = getEncoderInfo("image/jpeg");
|
||||
|
||||
MemoryStream ms = new MemoryStream();
|
||||
bmp.Save(ms, info, eps);
|
||||
|
||||
return ms.ToArray();
|
||||
}
|
||||
|
||||
static ImageCodecInfo getEncoderInfo(string type)
|
||||
{
|
||||
ImageCodecInfo[] encs = ImageCodecInfo.GetImageEncoders();
|
||||
|
||||
foreach (ImageCodecInfo enc in encs)
|
||||
{
|
||||
if (Str.StrCmpi(enc.MimeType, type))
|
||||
{
|
||||
return enc;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Bitmap ResizeBitmap(Bitmap bmp, int width, int height)
|
||||
{
|
||||
Bitmap dst = new Bitmap(width, height, PixelFormat.Format24bppRgb);
|
||||
Graphics g = Graphics.FromImage(dst);
|
||||
g.SmoothingMode = SmoothingMode.HighQuality;
|
||||
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
|
||||
|
||||
Rectangle r = new Rectangle(0, 0, width, height);
|
||||
|
||||
g.DrawImage(bmp, r);
|
||||
|
||||
return dst;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,602 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Web.Mail;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
// FIFO
|
||||
public class Fifo
|
||||
{
|
||||
byte[] p;
|
||||
int pos, size;
|
||||
public int Size
|
||||
{
|
||||
get { return size; }
|
||||
}
|
||||
public byte[] Data
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.p;
|
||||
}
|
||||
}
|
||||
public int DataOffset
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.pos;
|
||||
}
|
||||
}
|
||||
public int PhysicalSize
|
||||
{
|
||||
get
|
||||
{
|
||||
return p.Length;
|
||||
}
|
||||
}
|
||||
|
||||
int reallocMemSize;
|
||||
public const int FifoInitMemSize = 4096;
|
||||
public const int FifoReallocMemSize = 65536;
|
||||
public const int FifoReallocMemSizeSmall = 65536;
|
||||
|
||||
long totalWriteSize = 0, totalReadSize = 0;
|
||||
|
||||
public long TotalReadSize
|
||||
{
|
||||
get { return totalReadSize; }
|
||||
}
|
||||
public long TotalWriteSize
|
||||
{
|
||||
get { return totalWriteSize; }
|
||||
}
|
||||
|
||||
public Fifo()
|
||||
{
|
||||
init(0);
|
||||
}
|
||||
public Fifo(int reallocMemSize)
|
||||
{
|
||||
init(reallocMemSize);
|
||||
}
|
||||
|
||||
void init(int reallocMemSize)
|
||||
{
|
||||
if (reallocMemSize == 0)
|
||||
{
|
||||
reallocMemSize = FifoReallocMemSize;
|
||||
}
|
||||
|
||||
this.size = this.pos = 0;
|
||||
this.reallocMemSize = reallocMemSize;
|
||||
|
||||
this.p = new byte[FifoInitMemSize];
|
||||
}
|
||||
|
||||
public void Write(Buf buf)
|
||||
{
|
||||
Write(buf.ByteData);
|
||||
}
|
||||
public void Write(byte[] src)
|
||||
{
|
||||
Write(src, src.Length);
|
||||
}
|
||||
public void SkipWrite(int size)
|
||||
{
|
||||
Write(null, size);
|
||||
}
|
||||
public void Write(byte[] src, int size)
|
||||
{
|
||||
Write(src, 0, size);
|
||||
}
|
||||
public void Write(byte[] src, int offset, int size)
|
||||
{
|
||||
int i, need_size;
|
||||
bool realloc_flag;
|
||||
|
||||
i = this.size;
|
||||
this.size += size;
|
||||
need_size = this.pos + this.size;
|
||||
realloc_flag = false;
|
||||
|
||||
int memsize = p.Length;
|
||||
while (need_size > memsize)
|
||||
{
|
||||
memsize = Math.Max(memsize, FifoInitMemSize) * 3;
|
||||
realloc_flag = true;
|
||||
}
|
||||
|
||||
if (realloc_flag)
|
||||
{
|
||||
byte[] new_p = new byte[memsize];
|
||||
Util.CopyByte(new_p, 0, this.p, 0, this.p.Length);
|
||||
this.p = new_p;
|
||||
}
|
||||
|
||||
if (src != null)
|
||||
{
|
||||
Util.CopyByte(this.p, this.pos + i, src, offset, size);
|
||||
}
|
||||
|
||||
totalWriteSize += size;
|
||||
}
|
||||
|
||||
public byte[] Read()
|
||||
{
|
||||
return Read(this.Size);
|
||||
}
|
||||
public void ReadToBuf(Buf buf, int size)
|
||||
{
|
||||
byte[] data = Read(size);
|
||||
|
||||
buf.Write(data);
|
||||
}
|
||||
public Buf ReadToBuf(int size)
|
||||
{
|
||||
byte[] data = Read(size);
|
||||
|
||||
return new Buf(data);
|
||||
}
|
||||
public byte[] Read(int size)
|
||||
{
|
||||
byte[] ret = new byte[size];
|
||||
int read_size = Read(ret);
|
||||
Array.Resize<byte>(ref ret, read_size);
|
||||
|
||||
return ret;
|
||||
}
|
||||
public int Read(byte[] dst)
|
||||
{
|
||||
return Read(dst, dst.Length);
|
||||
}
|
||||
public int SkipRead(int size)
|
||||
{
|
||||
return Read(null, size);
|
||||
}
|
||||
public int Read(byte[] dst, int size)
|
||||
{
|
||||
return Read(dst, 0, size);
|
||||
}
|
||||
public int Read(byte[] dst, int offset, int size)
|
||||
{
|
||||
int read_size;
|
||||
|
||||
read_size = Math.Min(size, this.size);
|
||||
if (read_size == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (dst != null)
|
||||
{
|
||||
Util.CopyByte(dst, offset, this.p, this.pos, size);
|
||||
}
|
||||
this.pos += read_size;
|
||||
this.size -= read_size;
|
||||
|
||||
if (this.size == 0)
|
||||
{
|
||||
this.pos = 0;
|
||||
}
|
||||
|
||||
if (this.pos >= FifoInitMemSize &&
|
||||
this.p.Length >= this.reallocMemSize &&
|
||||
(this.p.Length / 2) > this.size)
|
||||
{
|
||||
byte[] new_p;
|
||||
int new_size;
|
||||
|
||||
new_size = Math.Max(this.p.Length / 2, FifoInitMemSize);
|
||||
new_p = new byte[new_size];
|
||||
Util.CopyByte(new_p, 0, this.p, this.pos, this.size);
|
||||
|
||||
this.p = new_p;
|
||||
|
||||
this.pos = 0;
|
||||
}
|
||||
|
||||
totalReadSize += read_size;
|
||||
|
||||
return read_size;
|
||||
}
|
||||
}
|
||||
|
||||
public class Buf
|
||||
{
|
||||
MemoryStream buf;
|
||||
|
||||
public Buf()
|
||||
{
|
||||
init(new byte[0]);
|
||||
}
|
||||
public Buf(byte[] data)
|
||||
{
|
||||
init(data);
|
||||
}
|
||||
void init(byte[] data)
|
||||
{
|
||||
buf = new MemoryStream();
|
||||
Write(data);
|
||||
SeekToBegin();
|
||||
}
|
||||
|
||||
public void Clear()
|
||||
{
|
||||
buf.SetLength(0);
|
||||
}
|
||||
|
||||
public void WriteByte(byte data)
|
||||
{
|
||||
byte[] a = new byte[1] { data };
|
||||
|
||||
Write(a);
|
||||
}
|
||||
public void Write(byte[] data)
|
||||
{
|
||||
buf.Write(data, 0, data.Length);
|
||||
}
|
||||
public void Write(byte[] data, int pos, int len)
|
||||
{
|
||||
buf.Write(data, pos, len);
|
||||
}
|
||||
|
||||
public uint Size
|
||||
{
|
||||
get
|
||||
{
|
||||
return (uint)buf.Length;
|
||||
}
|
||||
}
|
||||
|
||||
public uint Pos
|
||||
{
|
||||
get
|
||||
{
|
||||
return (uint)buf.Position;
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] ByteData
|
||||
{
|
||||
get
|
||||
{
|
||||
return buf.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public byte this[uint i]
|
||||
{
|
||||
get
|
||||
{
|
||||
return buf.GetBuffer()[i];
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
buf.GetBuffer()[i] = value;
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] Read()
|
||||
{
|
||||
return Read(this.Size);
|
||||
}
|
||||
public byte[] Read(uint size)
|
||||
{
|
||||
byte[] tmp = new byte[size];
|
||||
int i = buf.Read(tmp, 0, (int)size);
|
||||
|
||||
byte[] ret = new byte[i];
|
||||
Array.Copy(tmp, 0, ret, 0, i);
|
||||
|
||||
return ret;
|
||||
}
|
||||
public byte ReadByte()
|
||||
{
|
||||
byte[] a = Read(1);
|
||||
|
||||
return a[0];
|
||||
}
|
||||
|
||||
public void SeekToBegin()
|
||||
{
|
||||
Seek(0);
|
||||
}
|
||||
public void SeekToEnd()
|
||||
{
|
||||
Seek(0, SeekOrigin.End);
|
||||
}
|
||||
public void Seek(uint offset)
|
||||
{
|
||||
Seek(offset, SeekOrigin.Begin);
|
||||
}
|
||||
public void Seek(uint offset, SeekOrigin mode)
|
||||
{
|
||||
buf.Seek(offset, mode);
|
||||
}
|
||||
|
||||
public ushort ReadShort()
|
||||
{
|
||||
byte[] data = Read(2);
|
||||
if (data.Length != 2)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (Env.IsLittleEndian)
|
||||
{
|
||||
Array.Reverse(data);
|
||||
}
|
||||
return BitConverter.ToUInt16(data, 0);
|
||||
}
|
||||
public ushort RawReadShort()
|
||||
{
|
||||
byte[] data = Read(2);
|
||||
if (data.Length != 2)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return BitConverter.ToUInt16(data, 0);
|
||||
}
|
||||
|
||||
public uint ReadInt()
|
||||
{
|
||||
byte[] data = Read(4);
|
||||
if (data.Length != 4)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (Env.IsLittleEndian)
|
||||
{
|
||||
Array.Reverse(data);
|
||||
}
|
||||
return BitConverter.ToUInt32(data, 0);
|
||||
}
|
||||
public uint RawReadInt()
|
||||
{
|
||||
byte[] data = Read(4);
|
||||
if (data.Length != 4)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return BitConverter.ToUInt32(data, 0);
|
||||
}
|
||||
|
||||
public ulong ReadInt64()
|
||||
{
|
||||
byte[] data = Read(8);
|
||||
if (data.Length != 8)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (Env.IsLittleEndian)
|
||||
{
|
||||
Array.Reverse(data);
|
||||
}
|
||||
return BitConverter.ToUInt64(data, 0);
|
||||
}
|
||||
public ulong RawReadInt64()
|
||||
{
|
||||
byte[] data = Read(8);
|
||||
if (data.Length != 8)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return BitConverter.ToUInt64(data, 0);
|
||||
}
|
||||
|
||||
public string ReadStr()
|
||||
{
|
||||
return ReadStr(false);
|
||||
}
|
||||
public string ReadStr(bool include_null)
|
||||
{
|
||||
uint len = ReadInt();
|
||||
byte[] data = Read(len - (uint)(include_null ? 1 : 0));
|
||||
return Str.ShiftJisEncoding.GetString(data);
|
||||
}
|
||||
|
||||
public string ReadUniStr()
|
||||
{
|
||||
return ReadUniStr(false);
|
||||
}
|
||||
public string ReadUniStr(bool include_null)
|
||||
{
|
||||
uint len = ReadInt();
|
||||
if (len == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
byte[] data = Read(len - (uint)(include_null ? 2 : 0));
|
||||
return Str.Utf8Encoding.GetString(data);
|
||||
}
|
||||
public void WriteShort(ushort shortValue)
|
||||
{
|
||||
byte[] data = BitConverter.GetBytes(shortValue);
|
||||
if (Env.IsLittleEndian)
|
||||
{
|
||||
Array.Reverse(data);
|
||||
}
|
||||
Write(data);
|
||||
}
|
||||
public void RawWriteShort(ushort shortValue)
|
||||
{
|
||||
byte[] data = BitConverter.GetBytes(shortValue);
|
||||
Write(data);
|
||||
}
|
||||
|
||||
public void WriteInt(uint intValue)
|
||||
{
|
||||
byte[] data = BitConverter.GetBytes(intValue);
|
||||
if (Env.IsLittleEndian)
|
||||
{
|
||||
Array.Reverse(data);
|
||||
}
|
||||
Write(data);
|
||||
}
|
||||
public void RawWriteInt(uint intValue)
|
||||
{
|
||||
byte[] data = BitConverter.GetBytes(intValue);
|
||||
Write(data);
|
||||
}
|
||||
|
||||
public void WriteInt64(ulong int64Value)
|
||||
{
|
||||
byte[] data = BitConverter.GetBytes(int64Value);
|
||||
if (Env.IsLittleEndian)
|
||||
{
|
||||
Array.Reverse(data);
|
||||
}
|
||||
Write(data);
|
||||
}
|
||||
public void RawWriteInt64(ulong int64Value)
|
||||
{
|
||||
byte[] data = BitConverter.GetBytes(int64Value);
|
||||
Write(data);
|
||||
}
|
||||
|
||||
public string ReadNextLineAsString()
|
||||
{
|
||||
return ReadNextLineAsString(Str.Utf8Encoding);
|
||||
}
|
||||
public string ReadNextLineAsString(Encoding encoding)
|
||||
{
|
||||
byte[] ret = ReadNextLineAsData();
|
||||
if (ret == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return encoding.GetString(ret);
|
||||
}
|
||||
|
||||
public byte[] ReadNextLineAsData()
|
||||
{
|
||||
if (this.Size <= this.Pos)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
long pos = buf.Position;
|
||||
|
||||
long i;
|
||||
byte[] tmp = new byte[1];
|
||||
for (i = pos; i < buf.Length; i++)
|
||||
{
|
||||
buf.Read(tmp, 0, 1);
|
||||
|
||||
if (tmp[0] == 13 || tmp[0] == 10)
|
||||
{
|
||||
if (tmp[0] == 13)
|
||||
{
|
||||
if ((i + 2) < buf.Length)
|
||||
{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
long len = i - pos;
|
||||
|
||||
buf.Position = pos;
|
||||
|
||||
byte[] ret = Read((uint)((int)len));
|
||||
|
||||
try
|
||||
{
|
||||
Seek(1, SeekOrigin.Current);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
if (ret.Length >= 1 && ret[ret.Length - 1] == 13)
|
||||
{
|
||||
Array.Resize<byte>(ref ret, ret.Length - 1);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public void WriteStr(string strValue)
|
||||
{
|
||||
WriteStr(strValue, false);
|
||||
}
|
||||
public void WriteStr(string strValue, bool include_null)
|
||||
{
|
||||
byte[] data = Str.ShiftJisEncoding.GetBytes(strValue);
|
||||
WriteInt((uint)data.Length + (uint)(include_null ? 1 : 0));
|
||||
Write(data);
|
||||
}
|
||||
|
||||
public void WriteUniStr(string strValue)
|
||||
{
|
||||
WriteUniStr(strValue, false);
|
||||
}
|
||||
public void WriteUniStr(string strValue, bool include_null)
|
||||
{
|
||||
byte[] data = Str.Utf8Encoding.GetBytes(strValue);
|
||||
WriteInt((uint)data.Length + (uint)(include_null ? 2 : 0));
|
||||
Write(data);
|
||||
}
|
||||
|
||||
public static Buf ReadFromFile(string filename)
|
||||
{
|
||||
return new Buf(IO.ReadFile(filename));
|
||||
}
|
||||
|
||||
public void WriteToFile(string filename)
|
||||
{
|
||||
IO.SaveFile(filename, this.ByteData);
|
||||
}
|
||||
|
||||
public static Buf ReadFromStream(Stream st)
|
||||
{
|
||||
Buf ret = new Buf();
|
||||
int size = 32767;
|
||||
|
||||
while (true)
|
||||
{
|
||||
byte[] tmp = new byte[size];
|
||||
int i = st.Read(tmp, 0, tmp.Length);
|
||||
|
||||
if (i <= 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
Array.Resize<byte>(ref tmp, i);
|
||||
|
||||
ret.Write(tmp);
|
||||
}
|
||||
|
||||
ret.SeekToBegin();
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,249 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Mail;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Net.NetworkInformation;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public enum CacheType
|
||||
{
|
||||
UpdateExpiresWhenAccess = 0,
|
||||
DoNotUpdateExpiresWhenAccess = 1,
|
||||
}
|
||||
|
||||
public class Cache<TKey, TValue>
|
||||
{
|
||||
class Entry
|
||||
{
|
||||
DateTime createdDateTime;
|
||||
public DateTime CreatedDateTime
|
||||
{
|
||||
get { return createdDateTime; }
|
||||
}
|
||||
DateTime updatedDateTime;
|
||||
public DateTime UpdatedDateTime
|
||||
{
|
||||
get { return updatedDateTime; }
|
||||
}
|
||||
DateTime lastAccessedDateTime;
|
||||
public DateTime LastAccessedDateTime
|
||||
{
|
||||
get { return lastAccessedDateTime; }
|
||||
}
|
||||
|
||||
TKey key;
|
||||
public TKey Key
|
||||
{
|
||||
get
|
||||
{
|
||||
return key;
|
||||
}
|
||||
}
|
||||
|
||||
TValue value;
|
||||
public TValue Value
|
||||
{
|
||||
get
|
||||
{
|
||||
lastAccessedDateTime = Time.NowDateTime;
|
||||
return this.value;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.value = value;
|
||||
updatedDateTime = Time.NowDateTime;
|
||||
lastAccessedDateTime = Time.NowDateTime;
|
||||
}
|
||||
}
|
||||
|
||||
public Entry(TKey key, TValue value)
|
||||
{
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
lastAccessedDateTime = updatedDateTime = createdDateTime = Time.NowDateTime;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return key.GetHashCode();
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return key.ToString() + "," + value.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public static readonly TimeSpan DefaultExpireSpan = new TimeSpan(0, 5, 0);
|
||||
public const CacheType DefaultCacheType = CacheType.UpdateExpiresWhenAccess;
|
||||
|
||||
TimeSpan expireSpan;
|
||||
public TimeSpan ExpireSpan
|
||||
{
|
||||
get { return expireSpan; }
|
||||
}
|
||||
CacheType type;
|
||||
public CacheType Type
|
||||
{
|
||||
get { return type; }
|
||||
}
|
||||
Dictionary<TKey, Entry> list;
|
||||
object lockObj;
|
||||
|
||||
public Cache()
|
||||
{
|
||||
init(DefaultExpireSpan, DefaultCacheType);
|
||||
}
|
||||
public Cache(CacheType type)
|
||||
{
|
||||
init(DefaultExpireSpan, type);
|
||||
}
|
||||
public Cache(TimeSpan expireSpan)
|
||||
{
|
||||
init(expireSpan, DefaultCacheType);
|
||||
}
|
||||
public Cache(TimeSpan expireSpan, CacheType type)
|
||||
{
|
||||
init(expireSpan, type);
|
||||
}
|
||||
void init(TimeSpan expireSpan, CacheType type)
|
||||
{
|
||||
this.expireSpan = expireSpan;
|
||||
this.type = type;
|
||||
|
||||
list = new Dictionary<TKey, Entry>();
|
||||
lockObj = new object();
|
||||
}
|
||||
|
||||
public void Add(TKey key, TValue value)
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
Entry e;
|
||||
|
||||
deleteExpired();
|
||||
|
||||
if (list.ContainsKey(key) == false)
|
||||
{
|
||||
e = new Entry(key, value);
|
||||
|
||||
list.Add(e.Key, e);
|
||||
|
||||
deleteExpired();
|
||||
}
|
||||
else
|
||||
{
|
||||
e = list[key];
|
||||
e.Value = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Delete(TKey key)
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
if (list.ContainsKey(key))
|
||||
{
|
||||
list.Remove(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public TValue this[TKey key]
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
deleteExpired();
|
||||
|
||||
if (list.ContainsKey(key) == false)
|
||||
{
|
||||
return default(TValue);
|
||||
}
|
||||
|
||||
return list[key].Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static long last_deleted = 0;
|
||||
|
||||
void deleteExpired()
|
||||
{
|
||||
bool do_delete = false;
|
||||
long now = Tick64.Value;
|
||||
long delete_interval = expireSpan.Milliseconds / 10;
|
||||
|
||||
lock (lockObj)
|
||||
{
|
||||
if (last_deleted == 0 || now > (last_deleted + delete_interval))
|
||||
{
|
||||
last_deleted = now;
|
||||
do_delete = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (do_delete == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
lock (lockObj)
|
||||
{
|
||||
List<Entry> o = new List<Entry>();
|
||||
DateTime expire = Time.NowDateTime - this.expireSpan;
|
||||
|
||||
foreach (Entry e in list.Values)
|
||||
{
|
||||
if (this.type == CacheType.UpdateExpiresWhenAccess)
|
||||
{
|
||||
if (e.LastAccessedDateTime < expire)
|
||||
{
|
||||
o.Add(e);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (e.UpdatedDateTime < expire)
|
||||
{
|
||||
o.Add(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (Entry e in o)
|
||||
{
|
||||
list.Remove(e.Key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,111 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Web.Mail;
|
||||
using CoreUtil.Internal;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public static class ZLib
|
||||
{
|
||||
public static byte[] Compress(byte[] src)
|
||||
{
|
||||
return Compress(src, zlibConst.Z_DEFAULT_COMPRESSION);
|
||||
}
|
||||
public static byte[] Compress(byte[] src, int level)
|
||||
{
|
||||
return Compress(src, level, false);
|
||||
}
|
||||
public static byte[] Compress(byte[] src, int level, bool noHeader)
|
||||
{
|
||||
int dstSize = src.Length * 2 + 100;
|
||||
byte[] dst = new byte[dstSize];
|
||||
|
||||
compress2(ref dst, src, level, noHeader);
|
||||
|
||||
return dst;
|
||||
}
|
||||
|
||||
public static byte[] Uncompress(byte[] src, int originalSize)
|
||||
{
|
||||
byte[] dst = new byte[originalSize];
|
||||
|
||||
uncompress(ref dst, src);
|
||||
|
||||
return dst;
|
||||
}
|
||||
|
||||
static void compress2(ref byte[] dest, byte[] src, int level, bool noHeader)
|
||||
{
|
||||
ZStream stream = new ZStream();
|
||||
|
||||
stream.next_in = src;
|
||||
stream.avail_in = src.Length;
|
||||
|
||||
stream.next_out = dest;
|
||||
stream.avail_out = dest.Length;
|
||||
|
||||
if (noHeader == false)
|
||||
{
|
||||
stream.deflateInit(level);
|
||||
}
|
||||
else
|
||||
{
|
||||
stream.deflateInit(level, -15);
|
||||
}
|
||||
|
||||
stream.deflate(zlibConst.Z_FINISH);
|
||||
|
||||
Array.Resize<byte>(ref dest, (int)stream.total_out);
|
||||
}
|
||||
|
||||
static void uncompress(ref byte[] dest, byte[] src)
|
||||
{
|
||||
ZStream stream = new ZStream();
|
||||
|
||||
stream.next_in = src;
|
||||
stream.avail_in = src.Length;
|
||||
|
||||
stream.next_out = dest;
|
||||
stream.avail_out = dest.Length;
|
||||
|
||||
stream.inflateInit();
|
||||
|
||||
int err = stream.inflate(zlibConst.Z_FINISH);
|
||||
if (err != zlibConst.Z_STREAM_END)
|
||||
{
|
||||
stream.inflateEnd();
|
||||
throw new ApplicationException();
|
||||
}
|
||||
|
||||
Array.Resize<byte>(ref dest, (int)stream.total_out);
|
||||
|
||||
err = stream.inflateEnd();
|
||||
if (err != zlibConst.Z_OK)
|
||||
{
|
||||
throw new ApplicationException();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,426 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Web.Mail;
|
||||
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
class CsvTimeSpan
|
||||
{
|
||||
public DateTime StartDateTime;
|
||||
public DateTime EndDateTime;
|
||||
public int StartIndex;
|
||||
public int NumIndex;
|
||||
|
||||
public CsvTimeSpan(DateTime startDateTime, DateTime endDateTime, int startIndex, int numIndex)
|
||||
{
|
||||
StartDateTime = startDateTime;
|
||||
EndDateTime = endDateTime;
|
||||
StartIndex = startIndex;
|
||||
NumIndex = numIndex;
|
||||
}
|
||||
}
|
||||
|
||||
public class Csv
|
||||
{
|
||||
List<CsvEntry> entryList;
|
||||
Encoding encoding;
|
||||
static Encoding defaultEncoding = Str.ShiftJisEncoding;
|
||||
|
||||
public Encoding Encoding
|
||||
{
|
||||
get
|
||||
{
|
||||
return encoding;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.encoding = value;
|
||||
}
|
||||
}
|
||||
|
||||
public CsvEntry First
|
||||
{
|
||||
get
|
||||
{
|
||||
return entryList[0];
|
||||
}
|
||||
}
|
||||
|
||||
public CsvEntry Last
|
||||
{
|
||||
get
|
||||
{
|
||||
return entryList[entryList.Count - 1];
|
||||
}
|
||||
}
|
||||
|
||||
public Csv()
|
||||
: this(defaultEncoding)
|
||||
{
|
||||
}
|
||||
public Csv(Encoding encoding)
|
||||
{
|
||||
init(null, encoding);
|
||||
}
|
||||
|
||||
public Csv(string filename)
|
||||
: this(filename, defaultEncoding)
|
||||
{
|
||||
}
|
||||
public Csv(string filename, Encoding encoding)
|
||||
{
|
||||
init(Buf.ReadFromFile(filename), encoding);
|
||||
}
|
||||
|
||||
public Csv(Buf data)
|
||||
{
|
||||
byte[] src = data.ByteData;
|
||||
int bomSize;
|
||||
|
||||
Encoding enc = Str.CheckBOM(src, out bomSize);
|
||||
|
||||
if (bomSize >= 1)
|
||||
{
|
||||
src = Util.RemoveStartByteArray(src, bomSize);
|
||||
}
|
||||
|
||||
init(new Buf(src), enc);
|
||||
}
|
||||
public Csv(Buf data, Encoding encoding)
|
||||
{
|
||||
init(data, encoding);
|
||||
}
|
||||
|
||||
void init(Buf data, Encoding encoding)
|
||||
{
|
||||
if (encoding == null)
|
||||
{
|
||||
encoding = defaultEncoding;
|
||||
}
|
||||
|
||||
int bomSize = 0;
|
||||
Encoding enc2 = null;
|
||||
if (data != null)
|
||||
{
|
||||
enc2 = Str.CheckBOM(data.ByteData, out bomSize);
|
||||
}
|
||||
if (bomSize >= 1)
|
||||
{
|
||||
data = new Buf(Util.RemoveStartByteArray(data.ByteData, bomSize));
|
||||
}
|
||||
if (enc2 != null)
|
||||
{
|
||||
encoding = enc2;
|
||||
}
|
||||
this.encoding = encoding;
|
||||
|
||||
entryList = new List<CsvEntry>();
|
||||
|
||||
if (data != null)
|
||||
{
|
||||
MemoryStream ms = new MemoryStream(data.ByteData);
|
||||
StreamReader sr = new StreamReader(ms, this.encoding);
|
||||
|
||||
while (true)
|
||||
{
|
||||
string s = sr.ReadLine();
|
||||
|
||||
if (s == null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
char[] sep = { ',' };
|
||||
string[] strings = s.Trim().Split(sep, StringSplitOptions.None);
|
||||
|
||||
CsvEntry e = new CsvEntry(strings);
|
||||
Add(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
StringBuilder b = new StringBuilder();
|
||||
|
||||
foreach (CsvEntry e in entryList)
|
||||
{
|
||||
b.AppendLine(e.ToString());
|
||||
}
|
||||
|
||||
return b.ToString();
|
||||
}
|
||||
|
||||
public Buf ToBuf()
|
||||
{
|
||||
string s = ToString();
|
||||
|
||||
Buf b = new Buf();
|
||||
|
||||
byte[] bom = Str.GetBOM(this.Encoding);
|
||||
|
||||
if (bom != null)
|
||||
{
|
||||
b.Write(bom);
|
||||
}
|
||||
|
||||
b.Write(encoding.GetBytes(s));
|
||||
|
||||
b.SeekToBegin();
|
||||
|
||||
return b;
|
||||
}
|
||||
|
||||
public void SaveToFile(string filename)
|
||||
{
|
||||
File.WriteAllBytes(filename, ToBuf().ByteData);
|
||||
}
|
||||
|
||||
public void Add(CsvEntry e)
|
||||
{
|
||||
entryList.Add(e);
|
||||
}
|
||||
|
||||
public int Count
|
||||
{
|
||||
get
|
||||
{
|
||||
return entryList.Count;
|
||||
}
|
||||
}
|
||||
|
||||
public CsvEntry this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
return entryList[index];
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable Items
|
||||
{
|
||||
get
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < entryList.Count; i++)
|
||||
{
|
||||
yield return entryList[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CsvCompare csvCompareMethod;
|
||||
int csvCompareIndex;
|
||||
Type csvCompareType;
|
||||
bool csvCompareReverse;
|
||||
|
||||
int sortInternal(CsvEntry e1, CsvEntry e2)
|
||||
{
|
||||
if (csvCompareMethod != null)
|
||||
{
|
||||
object o1 = e1.Convert(csvCompareType, csvCompareIndex);
|
||||
object o2 = e2.Convert(csvCompareType, csvCompareIndex);
|
||||
|
||||
return csvCompareMethod(o1, o2) * (csvCompareReverse ? -1 : 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
IComparable o1 = (IComparable)e1.Convert(csvCompareType, csvCompareIndex);
|
||||
IComparable o2 = (IComparable)e2.Convert(csvCompareType, csvCompareIndex);
|
||||
|
||||
return o1.CompareTo(o2) * (csvCompareReverse ? -1 : 1);
|
||||
}
|
||||
}
|
||||
|
||||
public void Sort(Type type)
|
||||
{
|
||||
Sort(null, type);
|
||||
}
|
||||
public void Sort(CsvCompare cmp, Type type)
|
||||
{
|
||||
Sort(cmp, type, false);
|
||||
}
|
||||
public void Sort(Type type, bool reverse)
|
||||
{
|
||||
Sort(null, type, reverse);
|
||||
}
|
||||
public void Sort(CsvCompare cmp, Type type, bool reverse)
|
||||
{
|
||||
Sort(cmp, 0, type, reverse);
|
||||
}
|
||||
public void Sort(int index, Type type)
|
||||
{
|
||||
Sort(null, index, type);
|
||||
}
|
||||
public void Sort(CsvCompare cmp, int index, Type type)
|
||||
{
|
||||
Sort(cmp, 0, type, false);
|
||||
}
|
||||
public void Sort(int index, Type type, bool reverse)
|
||||
{
|
||||
Sort(null, index, type, reverse);
|
||||
}
|
||||
public void Sort(CsvCompare cmp, int index, Type type, bool reverse)
|
||||
{
|
||||
csvCompareMethod = cmp;
|
||||
csvCompareIndex = index;
|
||||
csvCompareType = type;
|
||||
csvCompareReverse = reverse;
|
||||
|
||||
entryList.Sort(new Comparison<CsvEntry>(sortInternal));
|
||||
}
|
||||
|
||||
public static int CompareString(object o1, object o2)
|
||||
{
|
||||
string s1 = (string)o1;
|
||||
string s2 = (string)o2;
|
||||
return s1.CompareTo(s2);
|
||||
}
|
||||
|
||||
public static int CompareDatetime(object o1, object o2)
|
||||
{
|
||||
DateTime d1 = (DateTime)o1;
|
||||
DateTime d2 = (DateTime)o2;
|
||||
|
||||
return d1.CompareTo(d2);
|
||||
}
|
||||
|
||||
public void SetEncoding(Encoding e)
|
||||
{
|
||||
this.encoding = e;
|
||||
}
|
||||
|
||||
public Csv Clone()
|
||||
{
|
||||
Csv csv = new Csv(this.encoding);
|
||||
|
||||
foreach (CsvEntry e in entryList)
|
||||
{
|
||||
csv.Add(e.Clone());
|
||||
}
|
||||
|
||||
return csv;
|
||||
}
|
||||
}
|
||||
|
||||
public delegate int CsvCompare(object o1, object o2);
|
||||
|
||||
public class CsvEntry
|
||||
{
|
||||
List<string> strings;
|
||||
|
||||
public CsvEntry Clone()
|
||||
{
|
||||
string[] array = (string[])strings.ToArray().Clone();
|
||||
|
||||
CsvEntry e = new CsvEntry(array);
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
public CsvEntry(params string[] elements)
|
||||
{
|
||||
strings = new List<string>();
|
||||
foreach (string s in elements)
|
||||
{
|
||||
string str = s;
|
||||
|
||||
if (str.StartsWith("\"") && str.EndsWith("\"") && str.Length >= 2)
|
||||
{
|
||||
str = str.Substring(1, str.Length - 2);
|
||||
}
|
||||
|
||||
strings.Add(str);
|
||||
}
|
||||
}
|
||||
|
||||
public string this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
return strings[index];
|
||||
}
|
||||
}
|
||||
|
||||
public int Count
|
||||
{
|
||||
get
|
||||
{
|
||||
return strings.Count;
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
int i, num;
|
||||
string ret = "";
|
||||
|
||||
num = strings.Count;
|
||||
for (i = 0; i < num; i++)
|
||||
{
|
||||
string s = strings[i];
|
||||
|
||||
s = Str.ReplaceStr(s, ",", ".", false);
|
||||
s = Str.ReplaceStr(s, "\r\n", " ", false);
|
||||
s = Str.ReplaceStr(s, "\r", " ", false);
|
||||
s = Str.ReplaceStr(s, "\n", " ", false);
|
||||
|
||||
ret += s;
|
||||
|
||||
if ((i + 1) < num)
|
||||
{
|
||||
ret += ",";
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Type lastType = null;
|
||||
object lastObject = null;
|
||||
int lastIndex = -1;
|
||||
|
||||
public object Convert(Type type, int index)
|
||||
{
|
||||
if (lastType == type && lastIndex == index)
|
||||
{
|
||||
return lastObject;
|
||||
}
|
||||
|
||||
lastType = type;
|
||||
lastIndex = index;
|
||||
lastObject = System.Convert.ChangeType(strings[index], type);
|
||||
|
||||
return lastObject;
|
||||
}
|
||||
|
||||
public DateTime ToDateTime(int index)
|
||||
{
|
||||
return (DateTime)Convert(typeof(DateTime), index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,501 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Mail;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Net.Mail;
|
||||
using System.Net.Mime;
|
||||
using System.Reflection;
|
||||
using CoreUtil;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public static class Env
|
||||
{
|
||||
static object lockObj = new object();
|
||||
static bool inited = false;
|
||||
|
||||
static Env()
|
||||
{
|
||||
initCache();
|
||||
}
|
||||
|
||||
static void initCache()
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
if (inited == false)
|
||||
{
|
||||
initValues();
|
||||
inited = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static string homeDir;
|
||||
static public string HomeDir
|
||||
{
|
||||
get { return homeDir; }
|
||||
}
|
||||
static string exeFileName;
|
||||
static public string ExeFileName
|
||||
{
|
||||
get { return exeFileName; }
|
||||
}
|
||||
static string exeFileDir;
|
||||
static public string ExeFileDir
|
||||
{
|
||||
get { return exeFileDir; }
|
||||
}
|
||||
static string windowsDir;
|
||||
static public string WindowsDir
|
||||
{
|
||||
get { return windowsDir; }
|
||||
}
|
||||
static string systemDir;
|
||||
static public string SystemDir
|
||||
{
|
||||
get { return systemDir; }
|
||||
}
|
||||
static string tempDir;
|
||||
static public string TempDir
|
||||
{
|
||||
get { return tempDir; }
|
||||
}
|
||||
static string winTempDir;
|
||||
static public string WinTempDir
|
||||
{
|
||||
get { return winTempDir; }
|
||||
}
|
||||
static string windowsDrive;
|
||||
static public string WindowsDrive
|
||||
{
|
||||
get { return windowsDrive; }
|
||||
}
|
||||
static string programFilesDir;
|
||||
static public string ProgramFilesDir
|
||||
{
|
||||
get { return programFilesDir; }
|
||||
}
|
||||
static string personalStartMenuDir;
|
||||
static public string PersonalStartMenuDir
|
||||
{
|
||||
get { return personalStartMenuDir; }
|
||||
}
|
||||
static string personalProgramsDir;
|
||||
static public string PersonalProgramsDir
|
||||
{
|
||||
get { return personalProgramsDir; }
|
||||
}
|
||||
static string personalStartupDir;
|
||||
static public string PersonalStartupDir
|
||||
{
|
||||
get { return personalStartupDir; }
|
||||
}
|
||||
static string personalAppDataDir;
|
||||
static public string PersonalAppDataDir
|
||||
{
|
||||
get { return personalAppDataDir; }
|
||||
}
|
||||
static string personalDesktopDir;
|
||||
static public string PersonalDesktopDir
|
||||
{
|
||||
get { return personalDesktopDir; }
|
||||
}
|
||||
static string myDocumentsDir;
|
||||
static public string MyDocumentsDir
|
||||
{
|
||||
get { return myDocumentsDir; }
|
||||
}
|
||||
static string localAppDataDir;
|
||||
static public string LocalAppDataDir
|
||||
{
|
||||
get { return localAppDataDir; }
|
||||
}
|
||||
static string userName;
|
||||
static public string UserName
|
||||
{
|
||||
get { return userName; }
|
||||
}
|
||||
static string userNameEx;
|
||||
static public string UserNameEx
|
||||
{
|
||||
get { return userNameEx; }
|
||||
}
|
||||
static string machineName;
|
||||
static public string MachineName
|
||||
{
|
||||
get { return machineName; }
|
||||
}
|
||||
static string commandLine;
|
||||
public static string CommandLine
|
||||
{
|
||||
get { return commandLine; }
|
||||
}
|
||||
public static StrToken CommandLineList
|
||||
{
|
||||
get
|
||||
{
|
||||
return new StrToken(CommandLine);
|
||||
}
|
||||
}
|
||||
static OperatingSystem osInfo;
|
||||
public static OperatingSystem OsInfo
|
||||
{
|
||||
get { return osInfo; }
|
||||
}
|
||||
static bool isNt;
|
||||
public static bool IsNt
|
||||
{
|
||||
get { return isNt; }
|
||||
}
|
||||
static bool is9x;
|
||||
public static bool Is9x
|
||||
{
|
||||
get { return is9x; }
|
||||
}
|
||||
static bool isCe;
|
||||
public static bool IsCe
|
||||
{
|
||||
get { return isCe; }
|
||||
}
|
||||
static bool isLittleEndian;
|
||||
public static bool IsLittleEndian
|
||||
{
|
||||
get { return Env.isLittleEndian; }
|
||||
}
|
||||
public static bool IsBigEndian
|
||||
{
|
||||
get { return !IsLittleEndian; }
|
||||
}
|
||||
static bool isAdmin;
|
||||
public static bool IsAdmin
|
||||
{
|
||||
get { return Env.isAdmin; }
|
||||
}
|
||||
static int processId;
|
||||
public static int ProcessId
|
||||
{
|
||||
get { return Env.processId; }
|
||||
}
|
||||
static string myTempDir;
|
||||
public static string MyTempDir
|
||||
{
|
||||
get { return myTempDir; }
|
||||
}
|
||||
static IO lockFile;
|
||||
|
||||
public static bool Is64BitProcess
|
||||
{
|
||||
get
|
||||
{
|
||||
return (IntPtr.Size == 8);
|
||||
}
|
||||
}
|
||||
|
||||
public static bool Is64BitWindows
|
||||
{
|
||||
get
|
||||
{
|
||||
return Is64BitProcess || Kernel.InternalCheckIsWow64();
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsWow64
|
||||
{
|
||||
get
|
||||
{
|
||||
return Kernel.InternalCheckIsWow64();
|
||||
}
|
||||
}
|
||||
|
||||
static void initValues()
|
||||
{
|
||||
exeFileName = IO.RemoteLastEnMark(getMyExeFileName());
|
||||
if (Str.IsEmptyStr(exeFileName) == false)
|
||||
{
|
||||
exeFileDir = IO.RemoteLastEnMark(Path.GetDirectoryName(exeFileName));
|
||||
}
|
||||
else
|
||||
{
|
||||
exeFileDir = "";
|
||||
}
|
||||
homeDir = IO.RemoteLastEnMark(Kernel.GetEnvStr("HOME"));
|
||||
if (Str.IsEmptyStr(homeDir))
|
||||
{
|
||||
homeDir = IO.RemoteLastEnMark(Kernel.GetEnvStr("HOMEDRIVE") + Kernel.GetEnvStr("HOMEPATH"));
|
||||
}
|
||||
if (Str.IsEmptyStr(homeDir))
|
||||
{
|
||||
homeDir = CurrentDir;
|
||||
}
|
||||
systemDir = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.System));
|
||||
windowsDir = IO.RemoteLastEnMark(Path.GetDirectoryName(systemDir));
|
||||
tempDir = IO.RemoteLastEnMark(Path.GetTempPath());
|
||||
winTempDir = IO.RemoteLastEnMark(Path.Combine(windowsDir, "Temp"));
|
||||
IO.MakeDir(winTempDir);
|
||||
if (windowsDir.Length >= 2 && windowsDir[1] == ':')
|
||||
{
|
||||
windowsDrive = windowsDir.Substring(0, 2).ToUpper();
|
||||
}
|
||||
else
|
||||
{
|
||||
windowsDrive = "C:";
|
||||
}
|
||||
programFilesDir = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles));
|
||||
personalStartMenuDir = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.StartMenu));
|
||||
personalProgramsDir = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.Programs));
|
||||
personalStartupDir = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.Startup));
|
||||
personalAppDataDir = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
|
||||
personalDesktopDir = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory));
|
||||
myDocumentsDir = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
|
||||
localAppDataDir = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
|
||||
userName = Environment.UserName;
|
||||
try
|
||||
{
|
||||
userNameEx = Environment.UserDomainName + "\\" + userName;
|
||||
}
|
||||
catch
|
||||
{
|
||||
userNameEx = userName;
|
||||
}
|
||||
machineName = Environment.MachineName;
|
||||
commandLine = initCommandLine(Environment.CommandLine);
|
||||
osInfo = Environment.OSVersion;
|
||||
isNt = (osInfo.Platform == PlatformID.Win32NT);
|
||||
isCe = (osInfo.Platform == PlatformID.WinCE);
|
||||
is9x = !(isNt || isCe);
|
||||
isLittleEndian = BitConverter.IsLittleEndian;
|
||||
processId = System.Diagnostics.Process.GetCurrentProcess().Id;
|
||||
isAdmin = checkIsAdmin();
|
||||
initMyTempDir();
|
||||
}
|
||||
|
||||
static void deleteUnusedTempDir()
|
||||
{
|
||||
DirEntry[] files;
|
||||
|
||||
files = IO.EnumDir(Env.tempDir);
|
||||
|
||||
foreach (DirEntry e in files)
|
||||
{
|
||||
if (e.IsFolder)
|
||||
{
|
||||
if (e.FileName.StartsWith("NET_", StringComparison.CurrentCultureIgnoreCase) && e.FileName.Length == 8)
|
||||
{
|
||||
string dirFullName = Path.Combine(Env.tempDir, e.fileName);
|
||||
string lockFileName = Path.Combine(dirFullName, "LockFile.dat");
|
||||
bool deleteNow = false;
|
||||
|
||||
try
|
||||
{
|
||||
IO io = IO.FileOpen(lockFileName);
|
||||
io.Close();
|
||||
|
||||
try
|
||||
{
|
||||
io = IO.FileOpen(lockFileName, true);
|
||||
deleteNow = true;
|
||||
io.Close();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
DirEntry[] files2;
|
||||
|
||||
deleteNow = true;
|
||||
|
||||
try
|
||||
{
|
||||
files2 = IO.EnumDir(dirFullName);
|
||||
|
||||
foreach (DirEntry e2 in files2)
|
||||
{
|
||||
if (e2.IsFolder == false)
|
||||
{
|
||||
string fullPath = Path.Combine(dirFullName, e2.fileName);
|
||||
|
||||
try
|
||||
{
|
||||
IO io2 = IO.FileOpen(fullPath, true);
|
||||
io2.Close();
|
||||
}
|
||||
catch
|
||||
{
|
||||
deleteNow = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
deleteNow = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (deleteNow)
|
||||
{
|
||||
IO.DeleteDir(dirFullName, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void initMyTempDir()
|
||||
{
|
||||
try
|
||||
{
|
||||
deleteUnusedTempDir();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
int num = 0;
|
||||
|
||||
while (true)
|
||||
{
|
||||
byte[] rand = Secure.Rand(2);
|
||||
string tmp2 = Str.ByteToStr(rand);
|
||||
|
||||
string tmp = Path.Combine(Env.tempDir, "NET_" + tmp2);
|
||||
|
||||
if (IO.IsDirExists(tmp) == false && IO.MakeDir(tmp))
|
||||
{
|
||||
Env.myTempDir = tmp;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if ((num++) >= 100)
|
||||
{
|
||||
throw new SystemException();
|
||||
}
|
||||
}
|
||||
|
||||
string lockFileName = Path.Combine(Env.myTempDir, "LockFile.dat");
|
||||
lockFile = IO.FileCreate(lockFileName);
|
||||
}
|
||||
|
||||
static bool checkIsAdmin()
|
||||
{
|
||||
try
|
||||
{
|
||||
string name = "Vpn_Check_Admin_Key_NET_" + processId.ToString();
|
||||
string teststr = Str.GenRandStr();
|
||||
|
||||
if (Reg.WriteStr(RegRoot.LocalMachine, "", name, teststr) == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
string ret = Reg.ReadStr(RegRoot.LocalMachine, "", name);
|
||||
|
||||
if (ret == teststr)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
Reg.DeleteValue(RegRoot.LocalMachine, "", name);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
static string initCommandLine(string src)
|
||||
{
|
||||
try
|
||||
{
|
||||
int i;
|
||||
if (src.Length >= 1 && src[0] == '\"')
|
||||
{
|
||||
i = src.IndexOf('\"', 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
i = src.IndexOf(' ');
|
||||
}
|
||||
|
||||
if (i == -1)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
else
|
||||
{
|
||||
return src.Substring(i + 1).TrimStart(' ');
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
static string getMyExeFileName()
|
||||
{
|
||||
try
|
||||
{
|
||||
Assembly mainAssembly = Assembly.GetEntryAssembly();
|
||||
Module[] modules = mainAssembly.GetModules();
|
||||
return modules[0].FullyQualifiedName;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
static public string CurrentDir
|
||||
{
|
||||
get
|
||||
{
|
||||
return IO.RemoteLastEnMark(Environment.CurrentDirectory);
|
||||
}
|
||||
}
|
||||
static public string NewLine
|
||||
{
|
||||
get
|
||||
{
|
||||
return Environment.NewLine;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,162 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Runtime.InteropServices;
|
||||
using CoreUtil.Internal;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct GZipHeader
|
||||
{
|
||||
public byte ID1, ID2, CM, FLG;
|
||||
public uint MTIME;
|
||||
public byte XFL, OS;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct GZipFooter
|
||||
{
|
||||
public uint CRC32;
|
||||
public uint ISIZE;
|
||||
}
|
||||
|
||||
public static class GZipUtil
|
||||
{
|
||||
public static byte[] Decompress(byte[] gzip)
|
||||
{
|
||||
using (GZipStream stream = new GZipStream(new MemoryStream(gzip), CompressionMode.Decompress))
|
||||
{
|
||||
const int size = 4096;
|
||||
byte[] buffer = new byte[size];
|
||||
using (MemoryStream memory = new MemoryStream())
|
||||
{
|
||||
int count = 0;
|
||||
do
|
||||
{
|
||||
count = stream.Read(buffer, 0, size);
|
||||
if (count > 0)
|
||||
{
|
||||
memory.Write(buffer, 0, count);
|
||||
}
|
||||
}
|
||||
while (count > 0);
|
||||
return memory.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class GZipPacker
|
||||
{
|
||||
Fifo fifo;
|
||||
ZStream zs;
|
||||
long currentSize;
|
||||
uint crc32;
|
||||
bool finished;
|
||||
|
||||
public bool Finished
|
||||
{
|
||||
get { return finished; }
|
||||
}
|
||||
|
||||
public Fifo GeneratedData
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.fifo;
|
||||
}
|
||||
}
|
||||
|
||||
public GZipPacker()
|
||||
{
|
||||
fifo = new Fifo();
|
||||
|
||||
zs = new ZStream();
|
||||
zs.deflateInit(-1, -15);
|
||||
|
||||
this.currentSize = 0;
|
||||
this.crc32 = 0xffffffff;
|
||||
this.finished = false;
|
||||
|
||||
GZipHeader h = new GZipHeader();
|
||||
h.ID1 = 0x1f;
|
||||
h.ID2 = 0x8b;
|
||||
h.FLG = 0;
|
||||
h.MTIME = Util.DateTimeToUnixTime(DateTime.Now.ToUniversalTime());
|
||||
h.XFL = 0;
|
||||
h.OS = 3;
|
||||
h.CM = 8;
|
||||
|
||||
fifo.Write(Util.StructToByte(h));
|
||||
}
|
||||
|
||||
public void Write(byte[] data, int pos, int len, bool finish)
|
||||
{
|
||||
byte[] srcData = Util.ExtractByteArray(data, pos, len);
|
||||
byte[] dstData = new byte[srcData.Length * 2 + 100];
|
||||
|
||||
if (this.finished)
|
||||
{
|
||||
throw new ApplicationException("already finished");
|
||||
}
|
||||
|
||||
zs.next_in = srcData;
|
||||
zs.avail_in = srcData.Length;
|
||||
zs.next_in_index = 0;
|
||||
|
||||
zs.next_out = dstData;
|
||||
zs.avail_out = dstData.Length;
|
||||
zs.next_out_index = 0;
|
||||
|
||||
if (finish)
|
||||
{
|
||||
zs.deflate(zlibConst.Z_FINISH);
|
||||
}
|
||||
else
|
||||
{
|
||||
zs.deflate(zlibConst.Z_SYNC_FLUSH);
|
||||
}
|
||||
|
||||
fifo.Write(dstData, 0, dstData.Length - zs.avail_out);
|
||||
|
||||
currentSize += len;
|
||||
|
||||
this.crc32 = ZipUtil.Crc32Next(data, pos, len, this.crc32);
|
||||
|
||||
if (finish)
|
||||
{
|
||||
this.finished = true;
|
||||
this.crc32 = ~this.crc32;
|
||||
|
||||
GZipFooter f = new GZipFooter();
|
||||
f.CRC32 = this.crc32;
|
||||
f.ISIZE = (uint)(this.currentSize % 0x100000000);
|
||||
|
||||
fifo.Write(Util.StructToByte(f));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,99 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Mail;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Net.Mail;
|
||||
using System.Net.Mime;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public static class Kernel
|
||||
{
|
||||
[DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)]
|
||||
[return: MarshalAs(UnmanagedType.Bool)]
|
||||
private static extern bool IsWow64Process(
|
||||
[In] IntPtr hProcess,
|
||||
[Out] out bool wow64Process
|
||||
);
|
||||
|
||||
public static bool InternalCheckIsWow64()
|
||||
{
|
||||
if ((Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor >= 1) ||
|
||||
Environment.OSVersion.Version.Major >= 6)
|
||||
{
|
||||
using (Process p = Process.GetCurrentProcess())
|
||||
{
|
||||
bool retVal;
|
||||
if (!IsWow64Process(p.Handle, out retVal))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return retVal;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static void SleepThread(int millisec)
|
||||
{
|
||||
ThreadObj.Sleep(millisec);
|
||||
}
|
||||
|
||||
public static string GetEnvStr(string name)
|
||||
{
|
||||
string ret = Environment.GetEnvironmentVariable(name);
|
||||
|
||||
if (ret == null)
|
||||
{
|
||||
ret = "";
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static public void SelfKill()
|
||||
{
|
||||
System.Diagnostics.Process.GetCurrentProcess().Kill();
|
||||
}
|
||||
|
||||
public static Process Run(string exeName, string args)
|
||||
{
|
||||
Process p = new Process();
|
||||
p.StartInfo.FileName = IO.InnerFilePath(exeName);
|
||||
p.StartInfo.Arguments = args;
|
||||
|
||||
p.Start();
|
||||
|
||||
return p;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,868 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Web.Mail;
|
||||
using System.Threading;
|
||||
using System.Xml;
|
||||
using System.Xml.Schema;
|
||||
using System.Xml.Serialization;
|
||||
using CoreUtil;
|
||||
|
||||
public static class AspUtil
|
||||
{
|
||||
public static void Redirect(Page page, string url)
|
||||
{
|
||||
Redirect(page, url, true);
|
||||
}
|
||||
public static void Redirect(Page page, string url, bool endSession)
|
||||
{
|
||||
MultiLang ml = new MultiLang(page, true);
|
||||
|
||||
ml.Redirect(url, true);
|
||||
}
|
||||
|
||||
public static string GetCurrentRequestUrl(Page page)
|
||||
{
|
||||
string s = (string)page.Request.Headers["SEISAPI_PHYSICAL_URL"];
|
||||
if (Str.IsEmptyStr(s) == false)
|
||||
{
|
||||
string[] tokens = s.Split('?');
|
||||
return tokens[0];
|
||||
}
|
||||
return page.Request.Path;
|
||||
}
|
||||
|
||||
public static string GetCurrentPhysicalFilePathForUser(Page page)
|
||||
{
|
||||
string s = (string)page.Request.Headers["SEISAPI_ORIGINAL_FILEPATH"];
|
||||
if (Str.IsEmptyStr(s) == false)
|
||||
{
|
||||
return s;
|
||||
}
|
||||
return page.Request.PhysicalPath;
|
||||
}
|
||||
|
||||
public static string RemoveDefaultHtml(string url)
|
||||
{
|
||||
string tmp = url.ToLower();
|
||||
if (tmp.EndsWith("/default.asp") || tmp.EndsWith("/default.aspx") || tmp.EndsWith("/default.htm") || tmp.EndsWith("/default.html"))
|
||||
{
|
||||
return GetUrlDirNameFromPath(url);
|
||||
}
|
||||
else
|
||||
{
|
||||
return url;
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetUrlDirNameFromPath(string url)
|
||||
{
|
||||
string ret = "";
|
||||
string[] strs = url.Split('/');
|
||||
int i;
|
||||
if (strs.Length >= 1)
|
||||
{
|
||||
for (i = 0; i < strs.Length - 1; i++)
|
||||
{
|
||||
ret += strs[i] + "/";
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static string WebPathToFilePath(System.Web.UI.Page page, string path)
|
||||
{
|
||||
string appRootFilePath = page.Request.PhysicalApplicationPath;
|
||||
string appRootVirtualPath = page.Request.ApplicationPath;
|
||||
string ret;
|
||||
|
||||
path = RemoveDefaultHtml(path);
|
||||
if (path.ToUpper().StartsWith(appRootVirtualPath.ToUpper()) == false)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
path = path.Substring(appRootVirtualPath.Length).Replace("/", "\\");
|
||||
|
||||
if (path.StartsWith("\\"))
|
||||
{
|
||||
path = path.Substring(1);
|
||||
}
|
||||
|
||||
ret = appRootFilePath + path;
|
||||
|
||||
if (ret.IndexOf("..") != -1)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (ret.EndsWith("\\"))
|
||||
{
|
||||
ret = GetDefaultDocumentIfExists(ret);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static string GetDefaultDocumentIfExists(string dir)
|
||||
{
|
||||
string[] targets =
|
||||
{
|
||||
"default.aspx",
|
||||
"default.asp",
|
||||
"default.html",
|
||||
"default.htm",
|
||||
"index.html",
|
||||
"index.htm",
|
||||
};
|
||||
|
||||
foreach (string s in targets)
|
||||
{
|
||||
string name = dir + s;
|
||||
|
||||
if (IsFileExists(name))
|
||||
{
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static bool IsFileExists(string name)
|
||||
{
|
||||
return File.Exists(name);
|
||||
}
|
||||
}
|
||||
|
||||
public class MultiLang
|
||||
{
|
||||
public readonly Page Page;
|
||||
public readonly HttpRequest Request;
|
||||
public readonly HttpResponse Response;
|
||||
public readonly bool IsUrlModified;
|
||||
public readonly string OriginalUrl;
|
||||
public readonly string PhysicalUrl;
|
||||
public readonly bool IsFilenameModified;
|
||||
public readonly string OriginalFileName;
|
||||
public readonly string OriginalFilePath;
|
||||
public readonly string Args;
|
||||
public readonly CoreLanguageClass CurrentLanguage;
|
||||
public readonly CoreLanguageClass ContentsPrintLanguage;
|
||||
public readonly string CurrentLanguageCode;
|
||||
public readonly bool IsCurrentLanguageSupported;
|
||||
public readonly string GoogleTranslateUrl;
|
||||
public readonly string OriginalFullUrl;
|
||||
public readonly bool IsSSL;
|
||||
public readonly string Host;
|
||||
public readonly string BasicHostName;
|
||||
MultiLanguageFilterStream mfs;
|
||||
public readonly List<KeyValuePair<string, string>> ReplaceList;
|
||||
|
||||
public bool DisableFilter
|
||||
{
|
||||
get
|
||||
{
|
||||
return mfs.DisableFilter;
|
||||
}
|
||||
set
|
||||
{
|
||||
mfs.DisableFilter = value;
|
||||
}
|
||||
}
|
||||
|
||||
public readonly string HtmlBody = "";
|
||||
public readonly string HtmlFileName = "";
|
||||
|
||||
static MultiLang()
|
||||
{
|
||||
CoreLanguageList.RegardsJapanAsJP = true;
|
||||
}
|
||||
|
||||
public bool IsJapanese
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.CurrentLanguage == CoreLanguageList.Japanese)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsJapanesePrinting
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.ContentsPrintLanguage == CoreLanguageList.Japanese)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public void Redirect(string url, bool endSession)
|
||||
{
|
||||
url = ConvertPath(url);
|
||||
if (url.StartsWith("http://") || url.StartsWith("https://") || url.StartsWith("ftp://") ||
|
||||
url.StartsWith("/"))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
string originalUrl = OriginalUrl;
|
||||
if (originalUrl.EndsWith("/"))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
int i;
|
||||
for (i = originalUrl.Length - 1; i >= 0; i--)
|
||||
{
|
||||
if (originalUrl[i] == '/' || originalUrl[i] == '\\')
|
||||
{
|
||||
originalUrl = originalUrl.Substring(0, i + 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
url = originalUrl + url;
|
||||
}
|
||||
Response.Redirect(url, endSession);
|
||||
}
|
||||
|
||||
public MultiLang(Page currentPage)
|
||||
: this(currentPage, false)
|
||||
{
|
||||
}
|
||||
public MultiLang(Page currentPage, bool fast) : this(currentPage, fast, null)
|
||||
{
|
||||
}
|
||||
public MultiLang(Page currentPage, bool fast, string basicHostName)
|
||||
: this(currentPage, fast, basicHostName, new List<KeyValuePair<string, string>>())
|
||||
{
|
||||
}
|
||||
public MultiLang(Page currentPage, bool fast, string basicHostName, List<KeyValuePair<string, string>> replaceList)
|
||||
{
|
||||
this.Page = currentPage;
|
||||
|
||||
this.Request = Page.Request;
|
||||
this.Response = Page.Response;
|
||||
this.BasicHostName = basicHostName;
|
||||
string tmp = Page.Request.ServerVariables["HTTPS"];
|
||||
string hostRaw = Page.Request.Headers["Host"];
|
||||
this.ReplaceList = replaceList;
|
||||
bool isSsl = false;
|
||||
string[] tokens;
|
||||
string host = "";
|
||||
|
||||
tokens = hostRaw.Split(':');
|
||||
if (tokens.Length >= 1)
|
||||
{
|
||||
host = tokens[0];
|
||||
}
|
||||
|
||||
host = host.ToLower();
|
||||
|
||||
if (tmp != null)
|
||||
{
|
||||
if (tmp.Equals("on", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
isSsl = true;
|
||||
}
|
||||
}
|
||||
|
||||
this.IsSSL = isSsl;
|
||||
this.Host = host;
|
||||
|
||||
this.IsUrlModified = Str.StrToBool((string)Request.Headers["SEISAPI_MODIFIED_URL"]);
|
||||
this.OriginalUrl = (string)Request.Headers["SEISAPI_ORIGINAL_URL"];
|
||||
|
||||
int i;
|
||||
i = this.OriginalUrl.IndexOf("?");
|
||||
if (i != -1)
|
||||
{
|
||||
this.OriginalUrl = this.OriginalUrl.Substring(0, i);
|
||||
}
|
||||
|
||||
if (Str.IsEmptyStr(this.OriginalUrl) || this.IsUrlModified == false)
|
||||
{
|
||||
this.OriginalUrl = AspUtil.RemoveDefaultHtml(AspUtil.GetCurrentRequestUrl(Page));
|
||||
}
|
||||
|
||||
string s = (string)Request.Headers["SEISAPI_ORIGINAL_FILENAME"];
|
||||
if (Str.IsEmptyStr(s) == false)
|
||||
{
|
||||
this.IsFilenameModified = true;
|
||||
this.OriginalFileName = s;
|
||||
this.OriginalFilePath = (string)Request.Headers["SEISAPI_ORIGINAL_FILEPATH"];
|
||||
}
|
||||
|
||||
string langCode = GetCurrentLangCodeFromPath(this.OriginalUrl);
|
||||
|
||||
this.CurrentLanguage = CoreLanguageList.GetLanguageClassByName(langCode);
|
||||
this.CurrentLanguageCode = CurrentLanguage.Name;
|
||||
|
||||
try
|
||||
{
|
||||
HtmlFileName = AspUtil.WebPathToFilePath(currentPage, AspUtil.GetCurrentRequestUrl(currentPage));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
if (this.IsFilenameModified)
|
||||
{
|
||||
HtmlFileName = Path.Combine(Path.GetDirectoryName(HtmlFileName), Path.GetFileName(OriginalFilePath));
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (fast == false)
|
||||
{
|
||||
HtmlBody = File.ReadAllText(HtmlFileName, Str.Utf8Encoding);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
PhysicalUrl = AspUtil.RemoveDefaultHtml(AspUtil.GetCurrentRequestUrl((currentPage)));
|
||||
|
||||
Args = currentPage.Request.ServerVariables["QUERY_STRING"];
|
||||
|
||||
if (CurrentLanguage == CoreLanguageList.Japanese)
|
||||
{
|
||||
IsCurrentLanguageSupported = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
IsCurrentLanguageSupported = Str.SearchStr(HtmlBody, string.Format("<!-- ml:{0} -->", CurrentLanguage.Name), 0, false) != -1;
|
||||
}
|
||||
|
||||
GoogleTranslateUrl = string.Format("http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=ja&tl={1}&u={0}",
|
||||
HttpUtility.UrlEncode((isSsl ? "https://" : "http://") + host + this.OriginalUrl, Str.Utf8Encoding),
|
||||
this.CurrentLanguageCode);
|
||||
|
||||
OriginalFullUrl = (isSsl ? "https://" : "http://") + host + this.OriginalUrl;
|
||||
|
||||
ContentsPrintLanguage = this.CurrentLanguage;
|
||||
if (IsCurrentLanguageSupported == false)
|
||||
{
|
||||
ContentsPrintLanguage = CoreLanguageList.Japanese;
|
||||
}
|
||||
|
||||
if (fast == false)
|
||||
{
|
||||
mfs = new MultiLanguageFilterStream(Response.Filter, ContentsPrintLanguage, this.CurrentLanguage, this.BasicHostName, this.ReplaceList);
|
||||
mfs.Page = Page;
|
||||
Response.Filter = mfs;
|
||||
}
|
||||
}
|
||||
|
||||
public string ConvertPath(string url)
|
||||
{
|
||||
return ConvertPath(url, this.CurrentLanguage);
|
||||
}
|
||||
public string ConvertPath(string url, CoreLanguageClass lang)
|
||||
{
|
||||
string ja = CoreLanguageList.Japanese.Name;
|
||||
|
||||
if (url.StartsWith("/" + ja, StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
url = "/" + lang.Name + url.Substring(ja.Length + 1);
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
|
||||
public string GetPathForLanguage(CoreLanguageClass lang)
|
||||
{
|
||||
string url = PhysicalUrl;
|
||||
|
||||
return ConvertPath(url, lang);
|
||||
}
|
||||
|
||||
public string GetFullUrlForLanguage(CoreLanguageClass lang)
|
||||
{
|
||||
string url = (IsSSL ? "https://" : "http://") + Host + GetPathForLanguage(lang);
|
||||
|
||||
if (Str.IsEmptyStr(Args) == false)
|
||||
{
|
||||
url += "?" + Args;
|
||||
}
|
||||
|
||||
return url;
|
||||
}
|
||||
|
||||
public string ProcStr(string str)
|
||||
{
|
||||
return ProcStr(str, ContentsPrintLanguage);
|
||||
}
|
||||
|
||||
public static string ProcStrDefault(string str)
|
||||
{
|
||||
return ProcStr(str, CoreLanguageClass.CurrentThreadLanguageClass);
|
||||
}
|
||||
|
||||
public static string ProcStr(string str, CoreLanguageClass lang)
|
||||
{
|
||||
return ProcStr(str, lang, lang);
|
||||
}
|
||||
|
||||
public static string ProcStr(string str, CoreLanguageClass lang, CoreLanguageClass langPure)
|
||||
{
|
||||
MultiLanguageFilterStream st = new MultiLanguageFilterStream(null, lang, langPure, null, null);
|
||||
|
||||
return st.FilterString(str);
|
||||
}
|
||||
|
||||
public static string GetCurrentLangCodeFromPath(string str)
|
||||
{
|
||||
char[] sps =
|
||||
{
|
||||
'/', '?',
|
||||
};
|
||||
string[] tokens = str.Split(sps, StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
if (tokens.Length >= 1)
|
||||
{
|
||||
return tokens[0].ToLower();
|
||||
}
|
||||
|
||||
return CoreLanguageList.Japanese.Name;
|
||||
}
|
||||
}
|
||||
|
||||
public static class MultiString
|
||||
{
|
||||
public const string ChangeLanguage = "[j]Select Language[e]Select Language[/]";
|
||||
public const string LanguageNotSupported = "[j]申し訳ございませんが、以下のコンテンツは現在日本語で公開されていません。[e]Unfortunately, following contents are not published in English yet. [/]";
|
||||
public const string ThisIsTranslatedByMachine = "Following contents are translated automatically by Google Translate.";
|
||||
public const string GoogleTranslate = "[j]Google で翻訳[e]Click here to translate the contents into English by Google Now[/]";
|
||||
public const string ShowSrc = "Show the original page";
|
||||
|
||||
public static string GetStr(string srcStr, CoreLanguageClass lang)
|
||||
{
|
||||
return MultiLang.ProcStr(srcStr, lang);
|
||||
}
|
||||
}
|
||||
|
||||
public class MultiLanguageFilterStream : Stream
|
||||
{
|
||||
public static readonly List<KeyValuePair<string, CoreLanguageClass>> langKeys = new List<KeyValuePair<string, CoreLanguageClass>>();
|
||||
public readonly List<KeyValuePair<string, string>> ReplaceList = null;
|
||||
public const string TagPure = "<!-- ml:pure -->";
|
||||
public const string TagEndPure = "<!-- ml:endpure -->";
|
||||
public bool DisableFilter = false;
|
||||
public Page Page;
|
||||
|
||||
static MultiLanguageFilterStream()
|
||||
{
|
||||
langKeys.Add(new KeyValuePair<string, CoreLanguageClass>("[j]", CoreLanguageList.Japanese));
|
||||
langKeys.Add(new KeyValuePair<string, CoreLanguageClass>("[e]", CoreLanguageList.English));
|
||||
langKeys.Add(new KeyValuePair<string, CoreLanguageClass>("[/]", null));
|
||||
}
|
||||
|
||||
Stack<CoreLanguageClass> stack = new Stack<CoreLanguageClass>();
|
||||
CoreLanguageClass currentBodyLanguage
|
||||
{
|
||||
get
|
||||
{
|
||||
if (stack.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return stack.ToArray()[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
bool isLang(CoreLanguageClass lang)
|
||||
{
|
||||
CoreLanguageClass[] langList = stack.ToArray();
|
||||
|
||||
foreach (CoreLanguageClass c in langList)
|
||||
{
|
||||
if (c != lang)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
CoreLanguageClass lastBodyLanguage
|
||||
{
|
||||
get
|
||||
{
|
||||
if (stack.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
return stack.Peek();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string FilterString(string src)
|
||||
{
|
||||
string[] strList = Str.DivideStringMulti(src, true,
|
||||
TagPure, TagEndPure);
|
||||
|
||||
bool b = false;
|
||||
|
||||
StringBuilder ret = new StringBuilder();
|
||||
|
||||
foreach (string str in strList)
|
||||
{
|
||||
if (str == TagPure)
|
||||
{
|
||||
b = true;
|
||||
}
|
||||
else if (str == TagEndPure)
|
||||
{
|
||||
b = false;
|
||||
}
|
||||
|
||||
ret.Append(filterStringInner(str, b ? this.currentLanguagePure : this.currentLanguage, this.currentLanguagePure));
|
||||
}
|
||||
|
||||
return ret.ToString();
|
||||
}
|
||||
|
||||
string filterStringInner(string src, CoreLanguageClass useLang, CoreLanguageClass useLangPure)
|
||||
{
|
||||
int i;
|
||||
string ret = src;
|
||||
|
||||
if (Str.IsEmptyStr(basicHostName) == false)
|
||||
{
|
||||
ret = Str.ReplaceStr(ret, "=\"/\"", "=\"http://" + basicHostName + "/\"", false);
|
||||
ret = Str.ReplaceStr(ret, "=\'/\'", "=\'http://" + basicHostName + "/\'", false);
|
||||
|
||||
ret = Str.ReplaceStr(ret, "=\"/" + CoreLanguageList.Japanese.Name + "/\"", "=\"http://" + basicHostName + "/" + useLangPure.Name + "/\"", false);
|
||||
ret = Str.ReplaceStr(ret, "=\'/" + CoreLanguageList.Japanese.Name + "/\'", "=\'http://" + basicHostName + "/" + useLangPure.Name + "/\'", false);
|
||||
}
|
||||
|
||||
ret = Str.ReplaceStr(ret, "=\"/" + CoreLanguageList.Japanese.Name + "/", "=\"/" + useLangPure.Name + "/", false);
|
||||
ret = Str.ReplaceStr(ret, "=\'/" + CoreLanguageList.Japanese.Name + "/", "=\'/" + useLangPure.Name + "/", false);
|
||||
|
||||
ret = Str.ReplaceStr(ret, "_lm_" + CoreLanguageList.Japanese.Name, "_lm_" + useLang.Name, false);
|
||||
|
||||
if (this.ReplaceList != null)
|
||||
{
|
||||
foreach (KeyValuePair<string, string> p in this.ReplaceList)
|
||||
{
|
||||
ret = Str.ReplaceStr(ret, p.Key, p.Value, false);
|
||||
}
|
||||
}
|
||||
|
||||
StringBuilder ret2 = new StringBuilder();
|
||||
|
||||
int next = 0;
|
||||
while (true)
|
||||
{
|
||||
int min = int.MaxValue;
|
||||
int j = -1;
|
||||
for (i = 0; i < langKeys.Count; i++)
|
||||
{
|
||||
int r = Str.SearchStr(ret, langKeys[i].Key, next, false);
|
||||
if (r != -1)
|
||||
{
|
||||
if (r < min)
|
||||
{
|
||||
j = i;
|
||||
min = r;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (j != -1)
|
||||
{
|
||||
KeyValuePair<string, CoreLanguageClass> v = langKeys[j];
|
||||
|
||||
if (currentBodyLanguage == null || isLang(useLang))
|
||||
{
|
||||
ret2.Append(ret.Substring(next, min - next));
|
||||
}
|
||||
|
||||
if (v.Value != null)
|
||||
{
|
||||
if (lastBodyLanguage == null || v.Value.Id <= lastBodyLanguage.Id)
|
||||
{
|
||||
stack.Push(v.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
stack.Pop();
|
||||
stack.Push(v.Value);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
stack.Pop();
|
||||
}
|
||||
|
||||
next = min + v.Key.Length;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (currentBodyLanguage == null || isLang(useLang))
|
||||
{
|
||||
ret2.Append(ret.Substring(next, ret.Length - next));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ret = ret2.ToString();
|
||||
|
||||
string lang = useLangPure != CoreLanguageList.Japanese ? useLangPure.Name : "ja";
|
||||
|
||||
if (useLangPure != CoreLanguageList.Japanese)
|
||||
{
|
||||
ret = Str.ReplaceStr(ret, "<meta http-equiv=\"Content-Language\" content=\"ja\" />",
|
||||
string.Format("<meta http-equiv=\"Content-Language\" content=\"{0}\" />", lang), false);
|
||||
}
|
||||
|
||||
ret = Str.ReplaceStr(ret, "<html>", string.Format("<html lang=\"{0}\">", lang), false);
|
||||
|
||||
next = 0;
|
||||
while (true)
|
||||
{
|
||||
i = Str.SearchStr(ret, "<link rel=\"stylesheet\" href=\"", next, false);
|
||||
if (i == -1)
|
||||
{
|
||||
break;
|
||||
}
|
||||
next = i + 1;
|
||||
int j = Str.SearchStr(ret, "/>", next, false);
|
||||
if (j == -1)
|
||||
{
|
||||
break;
|
||||
}
|
||||
string linkStr = ret.Substring(i, j - i + 2 - 1);
|
||||
int k = Str.SearchStr(linkStr, "href=\"", 0, false);
|
||||
if (k != -1)
|
||||
{
|
||||
int m = Str.SearchStr(linkStr, "\"", k + 6, false);
|
||||
if (m != -1)
|
||||
{
|
||||
string fileName = linkStr.Substring(k + 6, m - k - 6);
|
||||
fileName = Str.ReplaceStr(fileName, ".css", "_" + lang + ".css", false);
|
||||
string linkStr2 = string.Format("<link rel=\"stylesheet\" href=\"{0}\" type=\"text/css\" />", fileName);
|
||||
|
||||
ret = ret.Substring(0, j + 2) + linkStr2 + ret.Substring(j + 2);
|
||||
next = j + 2 + linkStr2.Length;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
Stream baseStream;
|
||||
long position;
|
||||
CoreLanguageClass currentLanguage;
|
||||
CoreLanguageClass currentLanguagePure;
|
||||
string basicHostName;
|
||||
|
||||
public override bool CanRead
|
||||
{
|
||||
get { return true; }
|
||||
}
|
||||
|
||||
public override bool CanSeek
|
||||
{
|
||||
get { return true; }
|
||||
}
|
||||
|
||||
public override bool CanWrite
|
||||
{
|
||||
get { return true; }
|
||||
}
|
||||
|
||||
public override void Flush()
|
||||
{
|
||||
baseStream.Flush();
|
||||
}
|
||||
|
||||
public override long Length
|
||||
{
|
||||
get { return 0; }
|
||||
}
|
||||
|
||||
public override long Position
|
||||
{
|
||||
get
|
||||
{
|
||||
return position;
|
||||
}
|
||||
set
|
||||
{
|
||||
position = value;
|
||||
}
|
||||
}
|
||||
|
||||
public override long Seek(long offset, SeekOrigin origin)
|
||||
{
|
||||
return baseStream.Seek(offset, origin);
|
||||
}
|
||||
|
||||
public override void SetLength(long value)
|
||||
{
|
||||
baseStream.SetLength(value);
|
||||
}
|
||||
|
||||
public MultiLanguageFilterStream(Stream baseStream, CoreLanguageClass currentLanguage, CoreLanguageClass currentLanguagePure, string basicHostName, List<KeyValuePair<string, string>> replaceList)
|
||||
{
|
||||
this.baseStream = baseStream;
|
||||
this.currentLanguage = currentLanguage;
|
||||
this.currentLanguagePure = currentLanguagePure;
|
||||
this.basicHostName = basicHostName;
|
||||
this.ReplaceList = replaceList;
|
||||
}
|
||||
|
||||
public override int Read(byte[] buffer, int offset, int count)
|
||||
{
|
||||
return baseStream.Read(buffer, offset, count);
|
||||
}
|
||||
|
||||
string savedString = "";
|
||||
|
||||
public override void Write(byte[] buffer, int offset, int count)
|
||||
{
|
||||
if (DisableFilter)
|
||||
{
|
||||
baseStream.Write(buffer, offset, count);
|
||||
return;
|
||||
}
|
||||
byte[] data = new byte[count];
|
||||
Buffer.BlockCopy(buffer, offset, data, 0, count);
|
||||
|
||||
string inSrc = savedString + ByteDataToString(data);// Str.Utf8Encoding.GetString(data);
|
||||
|
||||
savedString = "";
|
||||
|
||||
if (inSrc.Length >= 2)
|
||||
{
|
||||
int len = inSrc.Length;
|
||||
string last2 = inSrc.Substring(len - 2, 2);
|
||||
string last1 = inSrc.Substring(len - 1, 1);
|
||||
|
||||
if (last1 == "[")
|
||||
{
|
||||
inSrc = inSrc.Substring(0, len - 1);
|
||||
|
||||
savedString = last1;
|
||||
}
|
||||
else if (Str.InStr(last2, "["))
|
||||
{
|
||||
inSrc = inSrc.Substring(0, len - 2);
|
||||
|
||||
savedString = last2;
|
||||
}
|
||||
}
|
||||
|
||||
string inStr = FilterString(inSrc);
|
||||
|
||||
data = StringToByteData(inStr);// Str.Utf8Encoding.GetBytes(inStr);
|
||||
|
||||
if (data.Length >= 1)
|
||||
{
|
||||
baseStream.Write(data, 0, data.Length);
|
||||
//byte[] t = Str.Utf8Encoding.GetBytes("" + count.ToString() + "");
|
||||
//baseStream.Write(t, 0, t.Length);
|
||||
}
|
||||
}
|
||||
|
||||
public static string ByteDataToString(byte[] data)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
foreach (byte b in data)
|
||||
{
|
||||
if (b <= 0x7f && b != (byte)('\\'))
|
||||
{
|
||||
sb.Append((char)b);
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append("\\" + ((uint)b).ToString("X2"));
|
||||
}
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
public byte[] StringToByteData(string str)
|
||||
{
|
||||
int i, len;
|
||||
|
||||
len = str.Length;
|
||||
Buf b = new Buf();
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
char c = str[i];
|
||||
if (c == '\\')
|
||||
{
|
||||
string tmp = "";
|
||||
|
||||
//try
|
||||
{
|
||||
tmp = "" + str[i + 1] + str[i + 2];
|
||||
}
|
||||
/*catch (Exception ex)
|
||||
{
|
||||
tmp += "|err=" + ex.Message + ",len=" + len + ",i=" + i + "|src=" + str + "|";
|
||||
byte[] aa = Str.Utf8Encoding.GetBytes(tmp);
|
||||
b.Write(aa);
|
||||
}*/
|
||||
|
||||
i += 2;
|
||||
|
||||
//try
|
||||
{
|
||||
b.WriteByte(byte.Parse(tmp, System.Globalization.NumberStyles.HexNumber));
|
||||
}
|
||||
//catch
|
||||
{
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
b.WriteByte((byte)c);
|
||||
}
|
||||
}
|
||||
|
||||
return b.ByteData;
|
||||
}
|
||||
}
|
||||
|
@ -1,131 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public enum PackerFileFormat
|
||||
{
|
||||
ZipRaw,
|
||||
ZipCompressed,
|
||||
Tar,
|
||||
TarGZip,
|
||||
}
|
||||
|
||||
public delegate bool ProgressDelegate(string fileNameFullPath, string fileNameRelative, int currentFileNum, int totalFileNum);
|
||||
|
||||
public static class Packer
|
||||
{
|
||||
public static byte[] PackDir(PackerFileFormat format, string rootDirPath, string appendPrefixDirName)
|
||||
{
|
||||
return PackDir(format, rootDirPath, appendPrefixDirName, null);
|
||||
}
|
||||
public static byte[] PackDir(PackerFileFormat format, string topDirPath, string appendPrefixDirName, ProgressDelegate proc)
|
||||
{
|
||||
string[] fileList = Directory.GetFiles(topDirPath, "*", SearchOption.AllDirectories);
|
||||
List<string> relativeFileList = new List<string>();
|
||||
|
||||
foreach (string fileName in fileList)
|
||||
{
|
||||
string relativePath = IO.GetRelativeFileName(fileName, topDirPath);
|
||||
|
||||
if (Str.IsEmptyStr(appendPrefixDirName) == false)
|
||||
{
|
||||
relativePath = IO.RemoteLastEnMark(appendPrefixDirName) + "\\" + relativePath;
|
||||
}
|
||||
|
||||
relativeFileList.Add(relativePath);
|
||||
}
|
||||
|
||||
return PackFiles(format, fileList, relativeFileList.ToArray(), proc);
|
||||
}
|
||||
|
||||
public static byte[] PackFiles(PackerFileFormat format, string[] srcFileNameList, string[] relativeNameList)
|
||||
{
|
||||
return PackFiles(format, srcFileNameList, relativeNameList, null);
|
||||
}
|
||||
public static byte[] PackFiles(PackerFileFormat format, string[] srcFileNameList, string[] relativeNameList, ProgressDelegate proc)
|
||||
{
|
||||
if (srcFileNameList.Length != relativeNameList.Length)
|
||||
{
|
||||
throw new ApplicationException("srcFileNameList.Length != relativeNameList.Length");
|
||||
}
|
||||
|
||||
int num = srcFileNameList.Length;
|
||||
int i;
|
||||
|
||||
ZipPacker zip = new ZipPacker();
|
||||
TarPacker tar = new TarPacker();
|
||||
|
||||
for (i = 0; i < num; i++)
|
||||
{
|
||||
if (proc != null)
|
||||
{
|
||||
bool ret = proc(srcFileNameList[i], relativeNameList[i], i, num);
|
||||
|
||||
if (ret == false)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
byte[] srcData = File.ReadAllBytes(srcFileNameList[i]);
|
||||
DateTime date = File.GetLastWriteTime(srcFileNameList[i]);
|
||||
|
||||
switch (format)
|
||||
{
|
||||
case PackerFileFormat.Tar:
|
||||
case PackerFileFormat.TarGZip:
|
||||
tar.AddFileSimple(relativeNameList[i], srcData, 0, srcData.Length, date);
|
||||
break;
|
||||
|
||||
case PackerFileFormat.ZipRaw:
|
||||
case PackerFileFormat.ZipCompressed:
|
||||
zip.AddFileSimple(relativeNameList[i], date, FileAttributes.Normal, srcData, (format == PackerFileFormat.ZipCompressed));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch (format)
|
||||
{
|
||||
case PackerFileFormat.Tar:
|
||||
tar.Finish();
|
||||
return tar.GeneratedData.Read();
|
||||
|
||||
case PackerFileFormat.TarGZip:
|
||||
tar.Finish();
|
||||
return tar.CompressToGZip();
|
||||
|
||||
case PackerFileFormat.ZipCompressed:
|
||||
case PackerFileFormat.ZipRaw:
|
||||
zip.Finish();
|
||||
return zip.GeneratedData.Read();
|
||||
|
||||
default:
|
||||
throw new ApplicationException("format");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,154 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Mail;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Net.NetworkInformation;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public class RC4 : ICloneable
|
||||
{
|
||||
uint x, y;
|
||||
uint[] state;
|
||||
|
||||
public RC4(byte[] key)
|
||||
{
|
||||
state = new uint[256];
|
||||
|
||||
uint i, t, u, ki, si;
|
||||
|
||||
x = 0;
|
||||
y = 0;
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
{
|
||||
state[i] = i;
|
||||
}
|
||||
|
||||
ki = si = 0;
|
||||
for (i = 0; i < 256; i++)
|
||||
{
|
||||
t = state[i];
|
||||
|
||||
si = (si + key[ki] + t) & 0xff;
|
||||
u = state[si];
|
||||
state[si] = t;
|
||||
state[i] = u;
|
||||
if (++ki >= key.Length)
|
||||
{
|
||||
ki = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private RC4()
|
||||
{
|
||||
}
|
||||
|
||||
public object Clone()
|
||||
{
|
||||
RC4 rc4 = new RC4();
|
||||
|
||||
rc4.x = this.x;
|
||||
rc4.y = this.y;
|
||||
rc4.state = (uint[])this.state.Clone();
|
||||
|
||||
return rc4;
|
||||
}
|
||||
|
||||
public byte[] Encrypt(byte[] src)
|
||||
{
|
||||
return Encrypt(src, src.Length);
|
||||
}
|
||||
public byte[] Encrypt(byte[] src, int len)
|
||||
{
|
||||
return Encrypt(src, 0, len);
|
||||
}
|
||||
public byte[] Encrypt(byte[] src, int offset, int len)
|
||||
{
|
||||
byte[] dst = new byte[len];
|
||||
|
||||
uint x, y, sx, sy;
|
||||
x = this.x;
|
||||
y = this.y;
|
||||
|
||||
int src_i = 0, dst_i = 0, end_src_i;
|
||||
|
||||
for (end_src_i = src_i + len; src_i != end_src_i; src_i++, dst_i++)
|
||||
{
|
||||
x = (x + 1) & 0xff;
|
||||
sx = state[x];
|
||||
y = (sx + y) & 0xff;
|
||||
state[x] = sy = state[y];
|
||||
state[y] = sx;
|
||||
dst[dst_i] = (byte)(src[src_i + offset] ^ state[(sx + sy) & 0xff]);
|
||||
}
|
||||
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
|
||||
return dst;
|
||||
}
|
||||
public void SkipDecrypt(int len)
|
||||
{
|
||||
SkipEncrypt(len);
|
||||
}
|
||||
public void SkipEncrypt(int len)
|
||||
{
|
||||
uint x, y, sx, sy;
|
||||
x = this.x;
|
||||
y = this.y;
|
||||
|
||||
int src_i = 0, dst_i = 0, end_src_i;
|
||||
|
||||
for (end_src_i = src_i + len; src_i != end_src_i; src_i++, dst_i++)
|
||||
{
|
||||
x = (x + 1) & 0xff;
|
||||
sx = state[x];
|
||||
y = (sx + y) & 0xff;
|
||||
state[x] = sy = state[y];
|
||||
state[y] = sx;
|
||||
}
|
||||
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
public byte[] Decrypt(byte[] src)
|
||||
{
|
||||
return Decrypt(src, src.Length);
|
||||
}
|
||||
public byte[] Decrypt(byte[] src, int len)
|
||||
{
|
||||
return Decrypt(src, 0, len);
|
||||
}
|
||||
public byte[] Decrypt(byte[] src, int offset, int len)
|
||||
{
|
||||
return Encrypt(src, offset, len);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,235 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Web.Mail;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
class IniCache
|
||||
{
|
||||
static Dictionary<string, IniCacheEntry> caches = new Dictionary<string, IniCacheEntry>();
|
||||
|
||||
class IniCacheEntry
|
||||
{
|
||||
DateTime lastUpdate;
|
||||
public DateTime LastUpdate
|
||||
{
|
||||
get { return lastUpdate; }
|
||||
}
|
||||
|
||||
Dictionary<string, string> datas;
|
||||
public Dictionary<string, string> Datas
|
||||
{
|
||||
get { return datas; }
|
||||
}
|
||||
|
||||
public IniCacheEntry(DateTime lastUpdate, Dictionary<string, string> datas)
|
||||
{
|
||||
this.lastUpdate = lastUpdate;
|
||||
this.datas = datas;
|
||||
}
|
||||
}
|
||||
|
||||
public static Dictionary<string, string> GetCache(string filename, DateTime lastUpdate)
|
||||
{
|
||||
lock (caches)
|
||||
{
|
||||
try
|
||||
{
|
||||
IniCacheEntry e = caches[filename];
|
||||
if (e.LastUpdate == lastUpdate || lastUpdate.Ticks == 0)
|
||||
{
|
||||
return e.Datas;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void AddCache(string filename, DateTime lastUpdate, Dictionary<string, string> datas)
|
||||
{
|
||||
lock (caches)
|
||||
{
|
||||
if (caches.ContainsKey(filename))
|
||||
{
|
||||
caches.Remove(filename);
|
||||
}
|
||||
|
||||
caches.Add(filename, new IniCacheEntry(lastUpdate, datas));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class ReadIni
|
||||
{
|
||||
Dictionary<string, string> datas;
|
||||
bool updated;
|
||||
|
||||
public bool Updated
|
||||
{
|
||||
get
|
||||
{
|
||||
return updated;
|
||||
}
|
||||
}
|
||||
|
||||
public StrData this[string key]
|
||||
{
|
||||
get
|
||||
{
|
||||
string s;
|
||||
try
|
||||
{
|
||||
s = datas[key.ToUpper()];
|
||||
}
|
||||
catch
|
||||
{
|
||||
s = null;
|
||||
}
|
||||
|
||||
return new StrData(s);
|
||||
}
|
||||
}
|
||||
|
||||
public string[] GetKeys()
|
||||
{
|
||||
List<string> ret = new List<string>();
|
||||
|
||||
foreach (string s in datas.Keys)
|
||||
{
|
||||
ret.Add(s);
|
||||
}
|
||||
|
||||
return ret.ToArray();
|
||||
}
|
||||
|
||||
public ReadIni(string filename)
|
||||
{
|
||||
init(null, filename);
|
||||
}
|
||||
|
||||
void init(byte[] data)
|
||||
{
|
||||
init(data, null);
|
||||
}
|
||||
void init(byte[] data, string filename)
|
||||
{
|
||||
updated = false;
|
||||
|
||||
lock (typeof(ReadIni))
|
||||
{
|
||||
string[] lines;
|
||||
string srcstr;
|
||||
DateTime lastUpdate = new DateTime(0);
|
||||
|
||||
if (filename != null)
|
||||
{
|
||||
lastUpdate = IO.GetLastWriteTimeUtc(filename);
|
||||
|
||||
datas = IniCache.GetCache(filename, lastUpdate);
|
||||
}
|
||||
|
||||
if (datas == null)
|
||||
{
|
||||
if (data == null)
|
||||
{
|
||||
try
|
||||
{
|
||||
data = Buf.ReadFromFile(filename).ByteData;
|
||||
}
|
||||
catch
|
||||
{
|
||||
data = new byte[0];
|
||||
datas = IniCache.GetCache(filename, new DateTime());
|
||||
}
|
||||
}
|
||||
|
||||
if (datas == null)
|
||||
{
|
||||
datas = new Dictionary<string, string>();
|
||||
Encoding currentEncoding = Str.Utf8Encoding;
|
||||
srcstr = currentEncoding.GetString(data);
|
||||
|
||||
lines = Str.GetLines(srcstr);
|
||||
|
||||
foreach (string s in lines)
|
||||
{
|
||||
string line = s.Trim();
|
||||
|
||||
if (Str.IsEmptyStr(line) == false)
|
||||
{
|
||||
if (line.StartsWith("#") == false &&
|
||||
line.StartsWith("//") == false &&
|
||||
line.StartsWith(";") == false)
|
||||
{
|
||||
string key, value;
|
||||
|
||||
if (Str.GetKeyAndValue(line, out key, out value))
|
||||
{
|
||||
key = key.ToUpper();
|
||||
|
||||
if (datas.ContainsKey(key) == false)
|
||||
{
|
||||
datas.Add(key, value);
|
||||
}
|
||||
else
|
||||
{
|
||||
int i;
|
||||
for (i = 1; ; i++)
|
||||
{
|
||||
string key2 = string.Format("{0}({1})", key, i).ToUpper();
|
||||
|
||||
if (datas.ContainsKey(key2) == false)
|
||||
{
|
||||
datas.Add(key2, value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (filename != null)
|
||||
{
|
||||
IniCache.AddCache(filename, lastUpdate, datas);
|
||||
}
|
||||
|
||||
updated = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,466 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Mail;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Net.NetworkInformation;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public class AppReg
|
||||
{
|
||||
string appSubKey;
|
||||
public string AppSubKey
|
||||
{
|
||||
get { return appSubKey; }
|
||||
}
|
||||
RegRoot rootKey;
|
||||
public RegRoot RootKey
|
||||
{
|
||||
get { return rootKey; }
|
||||
}
|
||||
|
||||
public AppReg(RegRoot root, string subkey)
|
||||
{
|
||||
subkey = subkey.TrimEnd('\\');
|
||||
this.rootKey = root;
|
||||
this.appSubKey = subkey;
|
||||
}
|
||||
|
||||
public AppReg GetSubReg(string subKeyName)
|
||||
{
|
||||
return new AppReg(rootKey, appSubKey + "\\" + subKeyName);
|
||||
}
|
||||
|
||||
public bool WriteStr(string name, string value)
|
||||
{
|
||||
return Reg.WriteStr(rootKey, appSubKey, name, value);
|
||||
}
|
||||
|
||||
public bool WriteInt(string name, int value)
|
||||
{
|
||||
return Reg.WriteInt(rootKey, appSubKey, name, value);
|
||||
}
|
||||
|
||||
public bool WriteStrList(string name, string[] values)
|
||||
{
|
||||
return Reg.WriteStrList(rootKey, appSubKey, name, values);
|
||||
}
|
||||
|
||||
public bool WriteByte(string name, byte[] data)
|
||||
{
|
||||
return Reg.WriteByte(rootKey, appSubKey, name, data);
|
||||
}
|
||||
|
||||
public bool DeleteValue(string name)
|
||||
{
|
||||
return Reg.DeleteValue(rootKey, appSubKey, name);
|
||||
}
|
||||
|
||||
public string ReadStr(string name)
|
||||
{
|
||||
return Reg.ReadStr(rootKey, appSubKey, name);
|
||||
}
|
||||
|
||||
public int ReadInt(string name)
|
||||
{
|
||||
return Reg.ReadInt(rootKey, appSubKey, name);
|
||||
}
|
||||
|
||||
public string[] ReadStrList(string name)
|
||||
{
|
||||
return Reg.ReadStrList(rootKey, appSubKey, name);
|
||||
}
|
||||
|
||||
public byte[] ReadByte(string name)
|
||||
{
|
||||
return Reg.ReadByte(rootKey, appSubKey, name);
|
||||
}
|
||||
}
|
||||
|
||||
public enum RegRoot
|
||||
{
|
||||
LocalMachine = 0,
|
||||
CurrentUser = 1,
|
||||
Users = 2,
|
||||
}
|
||||
|
||||
public static class Reg
|
||||
{
|
||||
static RegistryKey rootKey(RegRoot r)
|
||||
{
|
||||
switch (r)
|
||||
{
|
||||
case RegRoot.LocalMachine:
|
||||
return Registry.LocalMachine;
|
||||
|
||||
case RegRoot.CurrentUser:
|
||||
return Registry.CurrentUser;
|
||||
|
||||
case RegRoot.Users:
|
||||
return Registry.Users;
|
||||
}
|
||||
|
||||
throw new ArgumentException();
|
||||
}
|
||||
|
||||
public static string[] EnumValue(RegRoot root, string keyname)
|
||||
{
|
||||
try
|
||||
{
|
||||
RegistryKey key = rootKey(root).OpenSubKey(keyname);
|
||||
|
||||
if (key == null)
|
||||
{
|
||||
return new string[0];
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return key.GetValueNames();
|
||||
}
|
||||
finally
|
||||
{
|
||||
key.Close();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new string[0];
|
||||
}
|
||||
}
|
||||
|
||||
public static string[] EnumKey(RegRoot root, string keyname)
|
||||
{
|
||||
try
|
||||
{
|
||||
RegistryKey key = rootKey(root).OpenSubKey(keyname);
|
||||
|
||||
if (key == null)
|
||||
{
|
||||
return new string[0];
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return key.GetSubKeyNames();
|
||||
}
|
||||
finally
|
||||
{
|
||||
key.Close();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new string[0];
|
||||
}
|
||||
}
|
||||
|
||||
public static bool WriteByte(RegRoot root, string keyname, string valuename, byte[] data)
|
||||
{
|
||||
return WriteValue(root, keyname, valuename, data);
|
||||
}
|
||||
|
||||
public static byte[] ReadByte(RegRoot root, string keyname, string valuename)
|
||||
{
|
||||
object o = ReadValue(root, keyname, valuename);
|
||||
if (o == null)
|
||||
{
|
||||
return new byte[0];
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return (byte[])o;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new byte[0];
|
||||
}
|
||||
}
|
||||
|
||||
public static bool WriteInt(RegRoot root, string keyname, string valuename, int value)
|
||||
{
|
||||
return WriteValue(root, keyname, valuename, value);
|
||||
}
|
||||
|
||||
public static int ReadInt(RegRoot root, string keyname, string valuename)
|
||||
{
|
||||
object o = ReadValue(root, keyname, valuename);
|
||||
if (o == null)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return (int)o;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool WriteStrList(RegRoot root, string keyname, string valuename, string[] value)
|
||||
{
|
||||
return WriteValue(root, keyname, valuename, value);
|
||||
}
|
||||
|
||||
public static string[] ReadStrList(RegRoot root, string keyname, string valuename)
|
||||
{
|
||||
object o = ReadValue(root, keyname, valuename);
|
||||
if (o == null)
|
||||
{
|
||||
return new string[0];
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return (string[])o;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new string[0];
|
||||
}
|
||||
}
|
||||
|
||||
public static bool WriteStr(RegRoot root, string keyname, string valuename, string value)
|
||||
{
|
||||
return WriteValue(root, keyname, valuename, value);
|
||||
}
|
||||
|
||||
public static string ReadStr(RegRoot root, string keyname, string valuename)
|
||||
{
|
||||
object o = ReadValue(root, keyname, valuename);
|
||||
if (o == null)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return (string)o;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
public static bool WriteValue(RegRoot root, string keyname, string valuename, object o)
|
||||
{
|
||||
try
|
||||
{
|
||||
RegistryKey key = rootKey(root).OpenSubKey(keyname, true);
|
||||
|
||||
if (key == null)
|
||||
{
|
||||
key = rootKey(root).CreateSubKey(keyname);
|
||||
|
||||
if (key == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
key.SetValue(valuename, o);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
key.Close();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static object ReadValue(RegRoot root, string keyname, string valuename)
|
||||
{
|
||||
try
|
||||
{
|
||||
RegistryKey key = rootKey(root).OpenSubKey(keyname);
|
||||
|
||||
if (key == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return key.GetValue(valuename);
|
||||
}
|
||||
finally
|
||||
{
|
||||
key.Close();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsValue(RegRoot root, string keyname, string valuename)
|
||||
{
|
||||
try
|
||||
{
|
||||
RegistryKey key = rootKey(root).OpenSubKey(keyname);
|
||||
|
||||
try
|
||||
{
|
||||
object o = key.GetValue(valuename);
|
||||
|
||||
if (o == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
key.Close();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool DeleteValue(RegRoot root, string keyname, string valuename)
|
||||
{
|
||||
try
|
||||
{
|
||||
RegistryKey key = rootKey(root).OpenSubKey(keyname, true);
|
||||
|
||||
if (key == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
key.DeleteValue(valuename);
|
||||
|
||||
return true;
|
||||
}
|
||||
finally
|
||||
{
|
||||
key.Close();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool DeleteKey(RegRoot root, string keyname)
|
||||
{
|
||||
return DeleteKey(root, keyname, false);
|
||||
}
|
||||
public static bool DeleteKey(RegRoot root, string keyname, bool deleteAll)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (deleteAll == false)
|
||||
{
|
||||
rootKey(root).DeleteSubKey(keyname);
|
||||
}
|
||||
else
|
||||
{
|
||||
rootKey(root).DeleteSubKeyTree(keyname);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool NewKey(RegRoot root, string keyname)
|
||||
{
|
||||
if (IsKey(root, keyname))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
RegistryKey key = rootKey(root).CreateSubKey(keyname);
|
||||
|
||||
if (key == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
key.Close();
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsKey(RegRoot root, string name)
|
||||
{
|
||||
try
|
||||
{
|
||||
RegistryKey key = rootKey(root).OpenSubKey(name);
|
||||
|
||||
if (key == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
key.Close();
|
||||
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,958 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Web.Mail;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public class CommonSign
|
||||
{
|
||||
byte[] keyData;
|
||||
static uint init_dummy = CryptoConfigHelper.Init();
|
||||
|
||||
public CommonSign(byte[] key)
|
||||
{
|
||||
init(key);
|
||||
}
|
||||
public CommonSign(Buf buf)
|
||||
{
|
||||
init(buf.ByteData);
|
||||
}
|
||||
public CommonSign(string filename)
|
||||
{
|
||||
init(Buf.ReadFromFile(filename).ByteData);
|
||||
}
|
||||
void init(byte[] key)
|
||||
{
|
||||
keyData = (byte[])key.Clone();
|
||||
}
|
||||
|
||||
public byte[] Sign(byte[] data)
|
||||
{
|
||||
Buf b = new Buf(data);
|
||||
b.SeekToEnd();
|
||||
b.Write(keyData);
|
||||
|
||||
return Secure.HashSHA1(b.ByteData);
|
||||
}
|
||||
public bool Verify(byte[] data, byte[] sign)
|
||||
{
|
||||
byte[] sign2 = Sign(data);
|
||||
|
||||
return Util.CompareByte(sign, sign2);
|
||||
}
|
||||
}
|
||||
|
||||
public class Rsa
|
||||
{
|
||||
byte[] data;
|
||||
Cert cert;
|
||||
static uint init_dummy = CryptoConfigHelper.Init();
|
||||
static object lockObj = new object();
|
||||
|
||||
public Rsa(byte[] data)
|
||||
{
|
||||
init(data);
|
||||
}
|
||||
public Rsa(string filename)
|
||||
{
|
||||
Buf b = Buf.ReadFromFile(filename);
|
||||
init(b.ByteData);
|
||||
}
|
||||
public Rsa(Buf b)
|
||||
{
|
||||
init(b.ByteData);
|
||||
}
|
||||
void init(byte[] data)
|
||||
{
|
||||
this.data = (byte[])data.Clone();
|
||||
this.cert = null;
|
||||
|
||||
Cert.deleteOldTempFiles();
|
||||
}
|
||||
|
||||
public Rsa(Cert cert)
|
||||
{
|
||||
init(cert);
|
||||
}
|
||||
void init(Cert cert)
|
||||
{
|
||||
this.cert = (Cert)cert.Clone();
|
||||
this.data = null;
|
||||
|
||||
Cert.deleteOldTempFiles();
|
||||
}
|
||||
|
||||
public byte[] SignData(byte[] data)
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
byte[] ret;
|
||||
using (RsaInner rsa = new RsaInner(this.data, this.cert))
|
||||
{
|
||||
ret = rsa.SignData(data);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] SignHash(byte[] hash)
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
byte[] ret;
|
||||
using (RsaInner rsa = new RsaInner(this.data, this.cert))
|
||||
{
|
||||
ret = rsa.SignHash(hash);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public bool VerifyData(byte[] data, byte[] sign)
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
bool ret;
|
||||
using (RsaInner rsa = new RsaInner(this.data, this.cert))
|
||||
{
|
||||
ret = rsa.VerifyData(data, sign);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public bool VerifyHash(byte[] hash, byte[] sign)
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
bool ret;
|
||||
using (RsaInner rsa = new RsaInner(this.data, this.cert))
|
||||
{
|
||||
ret = rsa.VerifyHash(hash, sign);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] Encrypt(byte[] data)
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
using (RsaInner rsa = new RsaInner(this.data, this.cert))
|
||||
{
|
||||
return rsa.Encrypt(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] Decrypt(byte[] data)
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
using (RsaInner rsa = new RsaInner(this.data, this.cert))
|
||||
{
|
||||
return rsa.Decrypt(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int KeySizeBit
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
using (RsaInner rsa = new RsaInner(this.data, this.cert))
|
||||
{
|
||||
return rsa.KeySizeBit;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class RsaInner : IDisposable
|
||||
{
|
||||
static string sha1rsa = CryptoConfig.MapNameToOID("SHA1");
|
||||
RSACryptoServiceProvider rsa;
|
||||
static object lockObj = new Object();
|
||||
static LocalDataStoreSlot slot = Thread.AllocateDataSlot();
|
||||
static LocalDataStoreSlot slot2 = Thread.AllocateDataSlot();
|
||||
static uint init_dummy = CryptoConfigHelper.Init();
|
||||
|
||||
public static void Lock()
|
||||
{
|
||||
}
|
||||
|
||||
public static void Unlock()
|
||||
{
|
||||
}
|
||||
|
||||
public RsaInner(byte[] data, Cert cert)
|
||||
{
|
||||
if (data != null)
|
||||
{
|
||||
init(data);
|
||||
}
|
||||
else
|
||||
{
|
||||
init(cert);
|
||||
}
|
||||
}
|
||||
public RsaInner(byte[] data)
|
||||
{
|
||||
init(data);
|
||||
}
|
||||
public RsaInner(string filename)
|
||||
{
|
||||
Buf b = Buf.ReadFromFile(filename);
|
||||
init(b.ByteData);
|
||||
}
|
||||
public RsaInner(Buf b)
|
||||
{
|
||||
init(b.ByteData);
|
||||
}
|
||||
void init(byte[] data)
|
||||
{
|
||||
Lock();
|
||||
rsa = readRsaPrivate(data);
|
||||
}
|
||||
|
||||
public RsaInner(Cert cert)
|
||||
{
|
||||
init(cert);
|
||||
}
|
||||
void init(Cert cert)
|
||||
{
|
||||
Lock();
|
||||
string text1 = cert.X509Cert.GetKeyAlgorithm();
|
||||
byte[] buffer1 = cert.X509Cert.GetKeyAlgorithmParameters();
|
||||
byte[] buffer2 = cert.X509Cert.GetPublicKey();
|
||||
Oid oid1 = new Oid("1.2.840.113549.1.1.1", "RSA");
|
||||
|
||||
rsa = (RSACryptoServiceProvider)(new PublicKey(oid1, new AsnEncodedData(oid1, buffer1), new AsnEncodedData(oid1, buffer2))).Key;
|
||||
}
|
||||
|
||||
public byte[] SignData(byte[] data)
|
||||
{
|
||||
byte[] hash = Secure.HashSHA1(data);
|
||||
return SignHash(hash);
|
||||
}
|
||||
|
||||
public byte[] SignHash(byte[] hash)
|
||||
{
|
||||
byte[] ret = null;
|
||||
ret = rsa.SignHash(hash, sha1rsa);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public bool VerifyData(byte[] data, byte[] sign)
|
||||
{
|
||||
byte[] hash = Secure.HashSHA1(data);
|
||||
return VerifyHash(hash, sign);
|
||||
}
|
||||
|
||||
public bool VerifyHash(byte[] hash, byte[] sign)
|
||||
{
|
||||
return rsa.VerifyHash(hash, sha1rsa, sign);
|
||||
}
|
||||
|
||||
public byte[] Encrypt(byte[] data)
|
||||
{
|
||||
return rsa.Encrypt(data, false);
|
||||
}
|
||||
|
||||
public byte[] Decrypt(byte[] data)
|
||||
{
|
||||
return rsa.Decrypt(data, false);
|
||||
}
|
||||
|
||||
static RSACryptoServiceProvider readRsaPrivate(byte[] data)
|
||||
{
|
||||
// From http://forums.l-space-design.com/blogs/day_of_the_developer/archive/2006/06/08/216.aspx
|
||||
string t = Str.AsciiEncoding.GetString(data);
|
||||
if (!t.StartsWith("-----BEGIN RSA PRIVATE KEY-----"))
|
||||
{
|
||||
throw new ArgumentException("Not an RSA Private Key");
|
||||
}
|
||||
t = t.Substring("-----BEGIN RSA PRIVATE KEY-----".Length);
|
||||
t = t.Substring(0, t.IndexOf("----"));
|
||||
t = t.Replace("\r", "").Replace("\n", "");
|
||||
byte[] byteArray = System.Convert.FromBase64String(t);
|
||||
System.IO.MemoryStream s = new MemoryStream(byteArray);
|
||||
BinaryReader binr = new BinaryReader(s, Str.AsciiEncoding);
|
||||
byte[] MODULUS, E, D, P, Q, DP, DQ, IQ;
|
||||
// --------- Set up stream to decode the asn.1 encoded RSA private key ------
|
||||
byte bt = 0;
|
||||
ushort twobytes = 0;
|
||||
int elems = 0;
|
||||
RSAParameters result = new RSAParameters();
|
||||
try
|
||||
{
|
||||
twobytes = binr.ReadUInt16();
|
||||
if (twobytes == 0x8130) //data read as little endian order (actual data order for Sequence is 30 81)
|
||||
binr.ReadByte(); //advance 1 byte
|
||||
else if (twobytes == 0x8230)
|
||||
binr.ReadInt16(); //advance 2 bytes
|
||||
else
|
||||
return null;
|
||||
twobytes = binr.ReadUInt16();
|
||||
if (twobytes != 0x0102) //version number
|
||||
return null;
|
||||
bt = binr.ReadByte();
|
||||
if (bt != 0x00)
|
||||
return null;
|
||||
//------ all private key components are Integer sequences ----
|
||||
elems = getIntegerSize(binr);
|
||||
MODULUS = binr.ReadBytes(elems);
|
||||
elems = getIntegerSize(binr);
|
||||
E = binr.ReadBytes(elems);
|
||||
elems = getIntegerSize(binr);
|
||||
D = binr.ReadBytes(elems);
|
||||
elems = getIntegerSize(binr);
|
||||
P = binr.ReadBytes(elems);
|
||||
elems = getIntegerSize(binr);
|
||||
Q = binr.ReadBytes(elems);
|
||||
elems = getIntegerSize(binr);
|
||||
DP = binr.ReadBytes(elems);
|
||||
elems = getIntegerSize(binr);
|
||||
DQ = binr.ReadBytes(elems);
|
||||
elems = getIntegerSize(binr);
|
||||
IQ = binr.ReadBytes(elems);
|
||||
result.Modulus = MODULUS;
|
||||
result.Exponent = E;
|
||||
result.D = D;
|
||||
result.P = P;
|
||||
result.Q = Q;
|
||||
result.DP = DP;
|
||||
result.DQ = DQ;
|
||||
result.InverseQ = IQ;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
finally
|
||||
{
|
||||
binr.Close();
|
||||
}
|
||||
CspParameters cp = new CspParameters();
|
||||
cp.Flags = CspProviderFlags.UseMachineKeyStore;
|
||||
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(cp);
|
||||
RSA.PersistKeyInCsp = false;
|
||||
RSA.ImportParameters(result);
|
||||
return RSA;
|
||||
}
|
||||
|
||||
static int getIntegerSize(BinaryReader binr)
|
||||
{
|
||||
byte bt = 0;
|
||||
byte lowbyte = 0x00;
|
||||
byte highbyte = 0x00;
|
||||
int count = 0;
|
||||
bt = binr.ReadByte();
|
||||
if (bt != 0x02) //expect integer
|
||||
return 0;
|
||||
bt = binr.ReadByte();
|
||||
if (bt == 0x81)
|
||||
count = binr.ReadByte(); // data size in next byte
|
||||
else
|
||||
if (bt == 0x82)
|
||||
{
|
||||
highbyte = binr.ReadByte(); // data size in next 2 bytes
|
||||
lowbyte = binr.ReadByte();
|
||||
byte[] modint = { lowbyte, highbyte, 0x00, 0x00 };
|
||||
count = BitConverter.ToInt32(modint, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
count = bt; // we already have the data size
|
||||
}
|
||||
while (binr.PeekChar() == 0x00)
|
||||
{ //remove high order zeros in data
|
||||
binr.ReadByte();
|
||||
count -= 1;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
rsa.Clear();
|
||||
rsa = null;
|
||||
Unlock();
|
||||
}
|
||||
|
||||
public int KeySizeBit
|
||||
{
|
||||
get
|
||||
{
|
||||
return rsa.KeySize;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class Cert
|
||||
{
|
||||
X509Certificate2 x509;
|
||||
static TimeSpan deleteOldCertSpan = new TimeSpan(0, 0, 30);
|
||||
static object lockObj = new Object();
|
||||
static RSACryptoServiceProvider rsaDummy = null;
|
||||
static uint init_dummy = CryptoConfigHelper.Init();
|
||||
|
||||
public int KeySizeBit
|
||||
{
|
||||
get
|
||||
{
|
||||
Rsa r = new Rsa(this);
|
||||
|
||||
return r.KeySizeBit;
|
||||
}
|
||||
}
|
||||
|
||||
public X509Certificate2 X509Cert
|
||||
{
|
||||
get { return x509; }
|
||||
}
|
||||
|
||||
public Rsa RsaPublicKey
|
||||
{
|
||||
get
|
||||
{
|
||||
return new Rsa(this);
|
||||
}
|
||||
}
|
||||
|
||||
public Cert(byte[] data)
|
||||
{
|
||||
init(data);
|
||||
}
|
||||
public Cert(string filename)
|
||||
{
|
||||
init(IO.ReadFile(filename));
|
||||
}
|
||||
public Cert(Buf buf)
|
||||
{
|
||||
init(buf.ByteData);
|
||||
}
|
||||
void init(byte[] data)
|
||||
{
|
||||
deleteOldTempFiles();
|
||||
x509 = new X509Certificate2(data);
|
||||
|
||||
if (rsaDummy == null)
|
||||
{
|
||||
rsaDummy = (RSACryptoServiceProvider)(new X509Certificate2(data).PublicKey.Key);
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] Hash
|
||||
{
|
||||
get
|
||||
{
|
||||
return x509.GetCertHash();
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] PublicKey
|
||||
{
|
||||
get
|
||||
{
|
||||
return x509.GetPublicKey();
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] ByteData
|
||||
{
|
||||
get
|
||||
{
|
||||
return x509.Export(X509ContentType.Cert);
|
||||
}
|
||||
}
|
||||
public Buf ToBuf()
|
||||
{
|
||||
return new Buf(ByteData);
|
||||
}
|
||||
public void ToFile(string filename)
|
||||
{
|
||||
ToBuf().WriteToFile(filename);
|
||||
}
|
||||
|
||||
public Cert Clone()
|
||||
{
|
||||
return new Cert(this.ByteData);
|
||||
}
|
||||
|
||||
static DateTime lastDeletedDateTime = new DateTime();
|
||||
static readonly TimeSpan deleteTimeSpan = new TimeSpan(0, 1, 0);
|
||||
internal static void deleteOldTempFiles()
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
DateTime now = Time.NowDateTime;
|
||||
|
||||
if (lastDeletedDateTime.Ticks == 0 ||
|
||||
now >= (lastDeletedDateTime + deleteTimeSpan))
|
||||
{
|
||||
lastDeletedDateTime = now;
|
||||
|
||||
string tempDir = Path.GetTempPath();
|
||||
string[] files = Directory.GetFiles(tempDir);
|
||||
|
||||
if (files != null)
|
||||
{
|
||||
foreach (string name in files)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (Str.StrCmpi(Path.GetExtension(name), ".tmp") && Path.GetFileName(name).StartsWith("tmp", StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
DateTime dt = File.GetLastWriteTimeUtc(name);
|
||||
if ((DateTime.UtcNow - dt) >= deleteOldCertSpan)
|
||||
{
|
||||
FileInfo info = new FileInfo(name);
|
||||
|
||||
if (info.Length == 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
File.Delete(name);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class Secure
|
||||
{
|
||||
static RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
|
||||
static MD5 md5 = new MD5CryptoServiceProvider();
|
||||
static uint init_dummy = CryptoConfigHelper.Init();
|
||||
public const uint SHA1Size = 20;
|
||||
public const uint MD5Size = 16;
|
||||
static object rand_lock = new object();
|
||||
|
||||
public static byte[] Rand(uint size)
|
||||
{
|
||||
lock (rand_lock)
|
||||
{
|
||||
byte[] ret = new byte[size];
|
||||
rng.GetBytes(ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
public static uint Rand32()
|
||||
{
|
||||
return BitConverter.ToUInt32(Rand(4), 0);
|
||||
}
|
||||
public static ulong Rand64()
|
||||
{
|
||||
return BitConverter.ToUInt64(Rand(8), 0);
|
||||
}
|
||||
public static ushort Rand16()
|
||||
{
|
||||
return BitConverter.ToUInt16(Rand(2), 0);
|
||||
}
|
||||
public static int Rand32i()
|
||||
{
|
||||
return BitConverter.ToInt32(Rand(4), 0);
|
||||
}
|
||||
public static long Rand64i()
|
||||
{
|
||||
return BitConverter.ToInt64(Rand(8), 0);
|
||||
}
|
||||
public static short Rand16i()
|
||||
{
|
||||
return BitConverter.ToInt16(Rand(2), 0);
|
||||
}
|
||||
public static int Rand31i()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
int i = Rand32i();
|
||||
if (i >= 0)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
}
|
||||
public static long Rand63i()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
long i = Rand64i();
|
||||
if (i >= 0)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
}
|
||||
public static short Rand15i()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
short i = Rand16i();
|
||||
if (i >= 0)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
}
|
||||
public static byte Rand8()
|
||||
{
|
||||
return Rand(1)[0];
|
||||
}
|
||||
public static bool Rand1()
|
||||
{
|
||||
return (Rand32() % 2) == 0;
|
||||
}
|
||||
|
||||
// MD5
|
||||
public static byte[] HashMD5(byte[] data)
|
||||
{
|
||||
byte[] ret;
|
||||
|
||||
RsaInner.Lock();
|
||||
try
|
||||
{
|
||||
ret = md5.ComputeHash(data);
|
||||
}
|
||||
finally
|
||||
{
|
||||
RsaInner.Unlock();
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// SHA1
|
||||
public static byte[] HashSHA1(byte[] data)
|
||||
{
|
||||
SHA1 sha1 = new SHA1Managed();
|
||||
|
||||
return sha1.ComputeHash(data);
|
||||
}
|
||||
|
||||
// SHA256
|
||||
public static byte[] HashSHA256(byte[] data)
|
||||
{
|
||||
SHA256 sha256 = new SHA256Managed();
|
||||
|
||||
return sha256.ComputeHash(data);
|
||||
}
|
||||
|
||||
public static byte[] PkcsPadding(byte[] srcData, int destSize)
|
||||
{
|
||||
int srcSize = srcData.Length;
|
||||
|
||||
if ((srcSize + 11) > destSize)
|
||||
{
|
||||
throw new OverflowException();
|
||||
}
|
||||
|
||||
int randSize = destSize - srcSize - 3;
|
||||
byte[] rand = Secure.Rand((uint)randSize);
|
||||
|
||||
Buf b = new Buf();
|
||||
b.WriteByte(0x00);
|
||||
b.WriteByte(0x02);
|
||||
b.Write(rand);
|
||||
b.WriteByte(0x00);
|
||||
b.Write(srcData);
|
||||
|
||||
return b.ByteData;
|
||||
}
|
||||
}
|
||||
|
||||
public class CryptoConfigHelper
|
||||
{
|
||||
static object objLock = new Object();
|
||||
static bool flag = false;
|
||||
|
||||
public static uint Init()
|
||||
{
|
||||
try
|
||||
{
|
||||
lock (objLock)
|
||||
{
|
||||
if (flag == false)
|
||||
{
|
||||
flag = true;
|
||||
Type t = typeof(CryptoConfig);
|
||||
Hashtable ht = (Hashtable)t.InvokeMember("DefaultOidHT", System.Reflection.BindingFlags.GetProperty | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static,
|
||||
null, null, null);
|
||||
List<string> values = new List<string>();
|
||||
|
||||
foreach (string key in ht.Keys)
|
||||
{
|
||||
string value = (string)ht[key];
|
||||
|
||||
values.Add(value);
|
||||
}
|
||||
|
||||
foreach (string s in values)
|
||||
{
|
||||
ht.Add(s, s);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static class ExeSignChecker
|
||||
{
|
||||
public static bool IsKernelModeSignedFile(string fileName)
|
||||
{
|
||||
return IsKernelModeSignedFile(File.ReadAllBytes(fileName));
|
||||
}
|
||||
|
||||
public static bool IsKernelModeSignedFile(byte[] data)
|
||||
{
|
||||
string str = Str.AsciiEncoding.GetString(data);
|
||||
|
||||
if (str.IndexOf("Microsoft Code Verification Root") != -1 &&
|
||||
str.IndexOf("http://crl.microsoft.com/pki/crl/products/MicrosoftCodeVerifRoot.crl") != -1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
enum SignChecker_MemoryAllocator { HGlobal, CoTaskMem };
|
||||
enum SignChecker_UiChoice { All = 1, NoUI, NoBad, NoGood };
|
||||
enum SignChecker_StateAction { Ignore = 0, Verify, Close, AutoCache, AutoCacheFlush };
|
||||
enum SignChecker_UnionChoice { File = 1, Catalog, Blob, Signer, Cert };
|
||||
enum SignChecker_RevocationCheckFlags { None = 0, WholeChain };
|
||||
enum SignChecker_TrustProviderFlags
|
||||
{
|
||||
UseIE4Trust = 1,
|
||||
NoIE4Chain = 2,
|
||||
NoPolicyUsage = 4,
|
||||
RevocationCheckNone = 16,
|
||||
RevocationCheckEndCert = 32,
|
||||
RevocationCheckChain = 64,
|
||||
RevocationCheckChainExcludeRoot = 128,
|
||||
Safer = 256,
|
||||
HashOnly = 512,
|
||||
UseDefaultOSVerCheck = 1024,
|
||||
LifetimeSigning = 2048
|
||||
};
|
||||
enum SignChecker_UIContext { Execute = 0, Install };
|
||||
|
||||
[DllImport("Wintrust.dll", PreserveSig = true, SetLastError = false)]
|
||||
static extern uint WinVerifyTrust(IntPtr hWnd, IntPtr pgActionID, IntPtr pWinTrustData);
|
||||
|
||||
sealed class SignCheckerUnmanagedPointer : IDisposable
|
||||
{
|
||||
private IntPtr m_ptr;
|
||||
private SignChecker_MemoryAllocator m_meth;
|
||||
public SignCheckerUnmanagedPointer(IntPtr ptr, SignChecker_MemoryAllocator method)
|
||||
{
|
||||
m_meth = method;
|
||||
m_ptr = ptr;
|
||||
}
|
||||
|
||||
~SignCheckerUnmanagedPointer()
|
||||
{
|
||||
Dispose(false);
|
||||
}
|
||||
|
||||
void Dispose(bool disposing)
|
||||
{
|
||||
if (m_ptr != IntPtr.Zero)
|
||||
{
|
||||
if (m_meth == SignChecker_MemoryAllocator.HGlobal)
|
||||
{
|
||||
Marshal.FreeHGlobal(m_ptr);
|
||||
}
|
||||
else if (m_meth == SignChecker_MemoryAllocator.CoTaskMem)
|
||||
{
|
||||
Marshal.FreeCoTaskMem(m_ptr);
|
||||
}
|
||||
m_ptr = IntPtr.Zero;
|
||||
}
|
||||
|
||||
if (disposing)
|
||||
{
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
}
|
||||
|
||||
public static implicit operator IntPtr(SignCheckerUnmanagedPointer ptr)
|
||||
{
|
||||
return ptr.m_ptr;
|
||||
}
|
||||
}
|
||||
|
||||
struct WINTRUST_FILE_INFO : IDisposable
|
||||
{
|
||||
public WINTRUST_FILE_INFO(string fileName, Guid subject)
|
||||
{
|
||||
cbStruct = (uint)Marshal.SizeOf(typeof(WINTRUST_FILE_INFO));
|
||||
pcwszFilePath = fileName;
|
||||
|
||||
if (subject != Guid.Empty)
|
||||
{
|
||||
tmp = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Guid)));
|
||||
Marshal.StructureToPtr(subject, tmp, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
tmp = IntPtr.Zero;
|
||||
}
|
||||
hFile = IntPtr.Zero;
|
||||
}
|
||||
public uint cbStruct;
|
||||
[MarshalAs(UnmanagedType.LPTStr)]
|
||||
public string pcwszFilePath;
|
||||
public IntPtr hFile;
|
||||
public IntPtr tmp;
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
}
|
||||
|
||||
private void Dispose(bool disposing)
|
||||
{
|
||||
if (tmp != IntPtr.Zero)
|
||||
{
|
||||
Marshal.DestroyStructure(this.tmp, typeof(Guid));
|
||||
Marshal.FreeHGlobal(this.tmp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
struct WINTRUST_DATA : IDisposable
|
||||
{
|
||||
public WINTRUST_DATA(WINTRUST_FILE_INFO fileInfo)
|
||||
{
|
||||
this.cbStruct = (uint)Marshal.SizeOf(typeof(WINTRUST_DATA));
|
||||
pInfoStruct = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(WINTRUST_FILE_INFO)));
|
||||
Marshal.StructureToPtr(fileInfo, pInfoStruct, false);
|
||||
dwUnionChoice = SignChecker_UnionChoice.File;
|
||||
pPolicyCallbackData = IntPtr.Zero;
|
||||
pSIPCallbackData = IntPtr.Zero;
|
||||
dwUIChoice = SignChecker_UiChoice.NoUI;
|
||||
fdwRevocationChecks = SignChecker_RevocationCheckFlags.WholeChain;
|
||||
dwStateAction = SignChecker_StateAction.Ignore;
|
||||
hWVTStateData = IntPtr.Zero;
|
||||
pwszURLReference = IntPtr.Zero;
|
||||
dwProvFlags = SignChecker_TrustProviderFlags.RevocationCheckChain;
|
||||
|
||||
dwUIContext = SignChecker_UIContext.Execute;
|
||||
}
|
||||
|
||||
public uint cbStruct;
|
||||
public IntPtr pPolicyCallbackData;
|
||||
public IntPtr pSIPCallbackData;
|
||||
public SignChecker_UiChoice dwUIChoice;
|
||||
public SignChecker_RevocationCheckFlags fdwRevocationChecks;
|
||||
public SignChecker_UnionChoice dwUnionChoice;
|
||||
public IntPtr pInfoStruct;
|
||||
public SignChecker_StateAction dwStateAction;
|
||||
public IntPtr hWVTStateData;
|
||||
private IntPtr pwszURLReference;
|
||||
public SignChecker_TrustProviderFlags dwProvFlags;
|
||||
public SignChecker_UIContext dwUIContext;
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
}
|
||||
|
||||
private void Dispose(bool disposing)
|
||||
{
|
||||
if (dwUnionChoice == SignChecker_UnionChoice.File)
|
||||
{
|
||||
WINTRUST_FILE_INFO info = new WINTRUST_FILE_INFO();
|
||||
Marshal.PtrToStructure(pInfoStruct, info);
|
||||
info.Dispose();
|
||||
Marshal.DestroyStructure(pInfoStruct, typeof(WINTRUST_FILE_INFO));
|
||||
}
|
||||
|
||||
Marshal.FreeHGlobal(pInfoStruct);
|
||||
}
|
||||
}
|
||||
|
||||
public static bool CheckFileDigitalSignature(string fileName)
|
||||
{
|
||||
Guid wintrust_action_generic_verify_v2 = new Guid("{00AAC56B-CD44-11d0-8CC2-00C04FC295EE}");
|
||||
WINTRUST_FILE_INFO fileInfo = new WINTRUST_FILE_INFO(fileName, Guid.Empty);
|
||||
WINTRUST_DATA data = new WINTRUST_DATA(fileInfo);
|
||||
|
||||
uint ret = 0;
|
||||
|
||||
using (SignCheckerUnmanagedPointer guidPtr = new SignCheckerUnmanagedPointer(Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Guid))), SignChecker_MemoryAllocator.HGlobal))
|
||||
using (SignCheckerUnmanagedPointer wvtDataPtr = new SignCheckerUnmanagedPointer(Marshal.AllocHGlobal(Marshal.SizeOf(typeof(WINTRUST_DATA))), SignChecker_MemoryAllocator.HGlobal))
|
||||
{
|
||||
IntPtr pGuid = guidPtr;
|
||||
IntPtr pData = wvtDataPtr;
|
||||
|
||||
Marshal.StructureToPtr(wintrust_action_generic_verify_v2, pGuid, false);
|
||||
Marshal.StructureToPtr(data, pData, false);
|
||||
|
||||
ret = WinVerifyTrust(IntPtr.Zero, pGuid, pData);
|
||||
}
|
||||
|
||||
if (ret != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,281 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Mail;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Net.Mail;
|
||||
using System.Net.Mime;
|
||||
using System.Reflection;
|
||||
using CoreUtil;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public class Stb
|
||||
{
|
||||
Dictionary<string, StbEntry> entryList;
|
||||
|
||||
public string this[string name]
|
||||
{
|
||||
get
|
||||
{
|
||||
if (entryList.ContainsKey(name.ToUpper()))
|
||||
{
|
||||
return entryList[name.ToUpper()].String;
|
||||
}
|
||||
else
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Stb(string filename)
|
||||
{
|
||||
init(IO.ReadFile(filename));
|
||||
}
|
||||
|
||||
public Stb(byte[] data)
|
||||
{
|
||||
init(data);
|
||||
}
|
||||
|
||||
void init(byte[] data)
|
||||
{
|
||||
entryList = new Dictionary<string, StbEntry>();
|
||||
MemoryStream ms = new MemoryStream(data);
|
||||
StreamReader sr = new StreamReader(ms);
|
||||
string prefix = "";
|
||||
|
||||
while (true)
|
||||
{
|
||||
string tmp = sr.ReadLine();
|
||||
if (tmp == null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
StbEntry t = StbEntry.ParseTableLine(tmp, ref prefix);
|
||||
if (t != null)
|
||||
{
|
||||
if (entryList.ContainsKey(t.Name.ToUpper()) == false)
|
||||
{
|
||||
entryList.Add(t.Name.ToUpper(), t);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const string standardStbFileName = "|strtable.stb";
|
||||
static string defaultStbFileName = standardStbFileName;
|
||||
static object lockObj = new object();
|
||||
static Stb defaultStb = null;
|
||||
public static string DefaultStbFileName
|
||||
{
|
||||
set
|
||||
{
|
||||
defaultStbFileName = value;
|
||||
}
|
||||
|
||||
get
|
||||
{
|
||||
return defaultStbFileName;
|
||||
}
|
||||
}
|
||||
public static Stb DefaultStb
|
||||
{
|
||||
get
|
||||
{
|
||||
lock (lockObj)
|
||||
{
|
||||
if (defaultStb == null)
|
||||
{
|
||||
defaultStb = new Stb(Stb.DefaultStbFileName);
|
||||
}
|
||||
|
||||
return defaultStb;
|
||||
}
|
||||
}
|
||||
}
|
||||
public static string SS(string name)
|
||||
{
|
||||
return DefaultStb[name];
|
||||
}
|
||||
public static uint II(string name)
|
||||
{
|
||||
return Str.StrToUInt(SS(name));
|
||||
}
|
||||
}
|
||||
|
||||
public class StbEntry
|
||||
{
|
||||
string name;
|
||||
public string Name
|
||||
{
|
||||
get { return name; }
|
||||
}
|
||||
|
||||
string str;
|
||||
public string String
|
||||
{
|
||||
get { return str; }
|
||||
}
|
||||
|
||||
public StbEntry(string name, string str)
|
||||
{
|
||||
this.name = name;
|
||||
this.str = str;
|
||||
}
|
||||
public static StbEntry ParseTableLine(string line, ref string prefix)
|
||||
{
|
||||
int i, len;
|
||||
int string_start;
|
||||
int len_name;
|
||||
string name, name2;
|
||||
|
||||
line = line.TrimStart(' ', '\t');
|
||||
len = line.Length;
|
||||
if (len == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (line[0] == '#' || (line[0] == '/' && line[1] == '/'))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
bool b = false;
|
||||
len_name = 0;
|
||||
for (i = 0; i < line.Length; i++)
|
||||
{
|
||||
if (line[i] == ' ' || line[i] == '\t')
|
||||
{
|
||||
b = true;
|
||||
break;
|
||||
}
|
||||
len_name++;
|
||||
}
|
||||
|
||||
if (b == false)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
name = line.Substring(0, len_name);
|
||||
|
||||
string_start = len_name;
|
||||
for (i = len_name; i < len; i++)
|
||||
{
|
||||
if (line[i] != ' ' && line[i] != '\t')
|
||||
{
|
||||
break;
|
||||
}
|
||||
string_start++;
|
||||
}
|
||||
if (i == len)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
string str = line.Substring(string_start);
|
||||
|
||||
str = UnescapeStr(str);
|
||||
|
||||
if (Str.StrCmpi(name, "PREFIX"))
|
||||
{
|
||||
prefix = str;
|
||||
prefix = prefix.TrimStart();
|
||||
|
||||
if (Str.StrCmpi(prefix, "$") || Str.StrCmpi(prefix, "NULL"))
|
||||
{
|
||||
prefix = "";
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
name2 = "";
|
||||
|
||||
if (prefix != "")
|
||||
{
|
||||
name2 += prefix + "@";
|
||||
}
|
||||
|
||||
name2 += name;
|
||||
|
||||
return new StbEntry(name2, str);
|
||||
}
|
||||
|
||||
public static string UnescapeStr(string str)
|
||||
{
|
||||
int i, len;
|
||||
string tmp;
|
||||
|
||||
len = str.Length;
|
||||
tmp = "";
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
if (str[i] == '\\')
|
||||
{
|
||||
i++;
|
||||
switch (str[i])
|
||||
{
|
||||
case '\\':
|
||||
tmp += '\\';
|
||||
break;
|
||||
|
||||
case ' ':
|
||||
tmp += ' ';
|
||||
break;
|
||||
|
||||
case 'n':
|
||||
case 'N':
|
||||
tmp += '\n';
|
||||
break;
|
||||
|
||||
case 'r':
|
||||
case 'R':
|
||||
tmp += '\r';
|
||||
break;
|
||||
|
||||
case 't':
|
||||
case 'T':
|
||||
tmp += '\t';
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
tmp += str[i];
|
||||
}
|
||||
}
|
||||
|
||||
return tmp;
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,359 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct TarHeader
|
||||
{
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 100)]
|
||||
public byte[] Name;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
|
||||
public byte[] Mode;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
|
||||
public byte[] UID;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
|
||||
public byte[] GID;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
|
||||
public byte[] Size;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
|
||||
public byte[] MTime;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
|
||||
public byte[] CheckSum;
|
||||
|
||||
public byte TypeFlag;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 100)]
|
||||
public byte[] LinkName;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
|
||||
public byte[] Magic;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
|
||||
public byte[] Version;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
|
||||
public byte[] UName;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
|
||||
public byte[] GName;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
|
||||
public byte[] DevMajor;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
|
||||
public byte[] DevMinor;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 155)]
|
||||
public byte[] Prefix;
|
||||
|
||||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
|
||||
public byte[] Padding;
|
||||
|
||||
public TarHeader(bool dummy)
|
||||
{
|
||||
this.Name = new byte[100];
|
||||
this.Mode = new byte[8];
|
||||
this.UID = new byte[8];
|
||||
this.GID = new byte[8];
|
||||
this.Size = new byte[12];
|
||||
this.MTime = new byte[12];
|
||||
this.CheckSum = new byte[8];
|
||||
this.LinkName = new byte[100];
|
||||
this.Magic = new byte[6];
|
||||
this.Version = new byte[2];
|
||||
this.UName = new byte[32];
|
||||
this.GName = new byte[32];
|
||||
this.DevMajor = new byte[8];
|
||||
this.DevMinor = new byte[8];
|
||||
this.Prefix = new byte[155];
|
||||
this.Padding = new byte[12];
|
||||
this.TypeFlag = 0;
|
||||
|
||||
this.Version[0] = 0x20;
|
||||
this.Version[1] = 0x00;
|
||||
|
||||
byte[] data = Str.ShiftJisEncoding.GetBytes("ustar ");
|
||||
Util.CopyByte(this.Magic, 0, data, 0, 6);
|
||||
}
|
||||
|
||||
public void SetName(string name, Encoding encoding)
|
||||
{
|
||||
byte[] data = encoding.GetBytes(name);
|
||||
if (data.Length <= 100)
|
||||
{
|
||||
Util.CopyByte(this.Name, 0, data, 0, data.Length);
|
||||
}
|
||||
else
|
||||
{
|
||||
Util.CopyByte(this.Name, 0, data, 0, 100);
|
||||
Util.CopyByte(this.Prefix, 0, data, 100, data.Length - 100);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetMode(string str)
|
||||
{
|
||||
StrToByteArray(this.Mode, str);
|
||||
}
|
||||
|
||||
public void SetUID(string str)
|
||||
{
|
||||
StrToByteArray(this.UID, str);
|
||||
}
|
||||
|
||||
public void SetGID(string str)
|
||||
{
|
||||
StrToByteArray(this.GID, str);
|
||||
}
|
||||
|
||||
public void SetSize(long size)
|
||||
{
|
||||
if (size >= 0x1FFFFFFFF || size < 0)
|
||||
{
|
||||
throw new InvalidDataException("size");
|
||||
}
|
||||
StrToByteArray(this.Size, Str.AppendZeroToNumString(Convert.ToString(size, 8), 11));
|
||||
}
|
||||
|
||||
public void SetMTime(DateTime dt)
|
||||
{
|
||||
uint t = Util.DateTimeToUnixTime(dt.ToUniversalTime());
|
||||
|
||||
StrToByteArray(this.MTime, Str.AppendZeroToNumString(Convert.ToString(t, 8), 11));
|
||||
}
|
||||
|
||||
public void CalcChecksum()
|
||||
{
|
||||
TarHeader h2 = this;
|
||||
Array.Clear(h2.CheckSum, 0, h2.CheckSum.Length);
|
||||
byte[] data = Util.StructToByte(h2);
|
||||
SetChecksum(data);
|
||||
}
|
||||
|
||||
public void SetChecksum(byte[] data)
|
||||
{
|
||||
ulong sum = 0;
|
||||
int i;
|
||||
for (i = 0; i < data.Length; i++)
|
||||
{
|
||||
sum += (ulong)data[i];
|
||||
}
|
||||
|
||||
sum += 0x100;
|
||||
|
||||
StrToByteArray(this.CheckSum, Str.AppendZeroToNumString(Convert.ToString((long)sum, 8), 6));
|
||||
this.CheckSum[7] = 0x20;
|
||||
}
|
||||
|
||||
public void SetTypeFlag(int flag)
|
||||
{
|
||||
this.TypeFlag = (byte)flag.ToString()[0];
|
||||
}
|
||||
|
||||
public void SetUName(string str)
|
||||
{
|
||||
StrToByteArray(this.UName, str);
|
||||
}
|
||||
|
||||
public void SetGName(string str)
|
||||
{
|
||||
StrToByteArray(this.GName, str);
|
||||
}
|
||||
|
||||
public static void StrToByteArray(byte[] dst, string str)
|
||||
{
|
||||
Encoding e = Str.ShiftJisEncoding;
|
||||
|
||||
byte[] d = e.GetBytes(str);
|
||||
|
||||
Array.Clear(dst, 0, dst.Length);
|
||||
Util.CopyByte(dst, 0, d, 0, Math.Min(d.Length, dst.Length - 1));
|
||||
}
|
||||
}
|
||||
|
||||
public static class TarUtil
|
||||
{
|
||||
public static TarHeader CreateTarHeader(string name, Encoding encoding, int type, long size, DateTime dt)
|
||||
{
|
||||
return CreateTarHeader(name, encoding, type, size, dt, "0000777");
|
||||
}
|
||||
|
||||
public static TarHeader CreateTarHeader(string name, Encoding encoding, int type, long size, DateTime dt, string mode)
|
||||
{
|
||||
TarHeader h = new TarHeader(false);
|
||||
|
||||
h.SetName(name, encoding);
|
||||
|
||||
h.SetMode(mode);
|
||||
h.SetMTime(dt);
|
||||
h.SetName(name, encoding);
|
||||
h.SetSize(size);
|
||||
h.SetTypeFlag(type);
|
||||
h.SetGID("0000000");
|
||||
h.SetUID("0000000");
|
||||
|
||||
h.CalcChecksum();
|
||||
|
||||
return h;
|
||||
}
|
||||
}
|
||||
|
||||
public class TarPacker
|
||||
{
|
||||
Fifo fifo;
|
||||
Dictionary<string, int> dirList;
|
||||
Encoding encoding;
|
||||
|
||||
public TarPacker()
|
||||
: this(Str.ShiftJisEncoding)
|
||||
{
|
||||
}
|
||||
public TarPacker(Encoding encoding)
|
||||
{
|
||||
fifo = new Fifo();
|
||||
dirList = new Dictionary<string, int>(new StrEqualityComparer(true));
|
||||
this.encoding = encoding;
|
||||
}
|
||||
|
||||
public void AddDirectory(string name, DateTime dt, string mode)
|
||||
{
|
||||
name = name.Replace('\\', '/');
|
||||
if (name.EndsWith("/") == false)
|
||||
{
|
||||
name = name + "/";
|
||||
}
|
||||
|
||||
if (dirList.ContainsKey(name) == false)
|
||||
{
|
||||
TarHeader h = TarUtil.CreateTarHeader(name, encoding, 5, 0, dt, mode);
|
||||
fifo.Write(Util.StructToByte(h));
|
||||
|
||||
dirList.Add(name, 0);
|
||||
}
|
||||
}
|
||||
|
||||
public void AddDirectory(string name, DateTime dt)
|
||||
{
|
||||
AddDirectory(name, dt, "0000777");
|
||||
}
|
||||
|
||||
long currentFileSize = 0;
|
||||
long currentPos = 0;
|
||||
|
||||
public void AddFileSimple(string name, byte[] data, int pos, int len, DateTime dt)
|
||||
{
|
||||
AddFileSimple(name, data, pos, len, dt, "0000777", "0000777");
|
||||
}
|
||||
|
||||
public void AddFileSimple(string name, byte[] data, int pos, int len, DateTime dt, string directory_mode, string mode)
|
||||
{
|
||||
AddFileStart(name, len, dt, directory_mode, mode);
|
||||
AddFileData(data, pos, len);
|
||||
}
|
||||
|
||||
public void AddFileStart(string name, long size, DateTime dt)
|
||||
{
|
||||
AddFileStart(name, size, dt, "0000777", "0000777");
|
||||
}
|
||||
|
||||
public void AddFileStart(string name, long size, DateTime dt, string directory_mode, string mode)
|
||||
{
|
||||
if (currentFileSize != 0 || currentPos != 0)
|
||||
{
|
||||
throw new ApplicationException("last file not completed.");
|
||||
}
|
||||
|
||||
name = name.Replace('\\', '/');
|
||||
if (Str.InStr(name, "/", true))
|
||||
{
|
||||
AddDirectory(Path.GetDirectoryName(name), dt, directory_mode);
|
||||
}
|
||||
|
||||
TarHeader h = TarUtil.CreateTarHeader(name, encoding, 0, size, dt, mode);
|
||||
fifo.Write(Util.StructToByte(h));
|
||||
|
||||
currentFileSize = size;
|
||||
currentPos = 0;
|
||||
}
|
||||
|
||||
public void AddFileData(byte[] data, int pos, int len)
|
||||
{
|
||||
long totalSize = currentPos + len;
|
||||
|
||||
if (totalSize > currentFileSize)
|
||||
{
|
||||
throw new ApplicationException("totalSize > currentFileSize");
|
||||
}
|
||||
|
||||
fifo.Write(data, pos, len);
|
||||
|
||||
currentPos += len;
|
||||
if (currentPos >= currentFileSize)
|
||||
{
|
||||
long padding = ((currentFileSize + 511) / 512) * 512 - currentFileSize;
|
||||
|
||||
byte[] pad = new byte[padding];
|
||||
Array.Clear(pad, 0, pad.Length);
|
||||
fifo.Write(pad, 0, pad.Length);
|
||||
|
||||
currentFileSize = 0;
|
||||
currentPos = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public Fifo GeneratedData
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.fifo;
|
||||
}
|
||||
}
|
||||
|
||||
public void Finish()
|
||||
{
|
||||
byte[] data = new byte[1024];
|
||||
Array.Clear(data, 0, data.Length);
|
||||
|
||||
fifo.Write(data);
|
||||
}
|
||||
|
||||
public byte[] CompressToGZip()
|
||||
{
|
||||
GZipPacker g = new GZipPacker();
|
||||
byte[] data = this.fifo.Read();
|
||||
|
||||
g.Write(data, 0, data.Length, true);
|
||||
|
||||
return g.GeneratedData.Read();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,471 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Mail;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Net.Mail;
|
||||
using System.Net.Mime;
|
||||
using CoreUtil;
|
||||
|
||||
#pragma warning disable 0618
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
class WorkerQueuePrivate
|
||||
{
|
||||
object lockObj = new object();
|
||||
|
||||
List<ThreadObj> thread_list;
|
||||
ThreadProc thread_proc;
|
||||
int num_worker_threads;
|
||||
Queue<object> taskQueue = new Queue<object>();
|
||||
Exception raised_exception = null;
|
||||
|
||||
void worker_thread(object param)
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
object task = null;
|
||||
|
||||
lock (lockObj)
|
||||
{
|
||||
if (taskQueue.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
task = taskQueue.Dequeue();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
this.thread_proc(task);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (raised_exception == null)
|
||||
{
|
||||
raised_exception = ex;
|
||||
}
|
||||
|
||||
Console.WriteLine(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public WorkerQueuePrivate(ThreadProc thread_proc, int num_worker_threads, object[] tasks)
|
||||
{
|
||||
thread_list = new List<ThreadObj>();
|
||||
int i;
|
||||
|
||||
this.thread_proc = thread_proc;
|
||||
this.num_worker_threads = num_worker_threads;
|
||||
|
||||
foreach (object task in tasks)
|
||||
{
|
||||
taskQueue.Enqueue(task);
|
||||
}
|
||||
|
||||
raised_exception = null;
|
||||
|
||||
for (i = 0; i < num_worker_threads; i++)
|
||||
{
|
||||
ThreadObj t = new ThreadObj(worker_thread);
|
||||
|
||||
thread_list.Add(t);
|
||||
}
|
||||
|
||||
foreach (ThreadObj t in thread_list)
|
||||
{
|
||||
t.WaitForEnd();
|
||||
}
|
||||
|
||||
if (raised_exception != null)
|
||||
{
|
||||
throw raised_exception;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class Tick64
|
||||
{
|
||||
static object lock_obj = new object();
|
||||
static uint last_value = 0;
|
||||
static bool is_first = true;
|
||||
static uint num_round = 0;
|
||||
|
||||
public static long Value
|
||||
{
|
||||
get
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
lock (lock_obj)
|
||||
{
|
||||
uint current_value = (uint)(System.Environment.TickCount + 3864700935);
|
||||
|
||||
if (is_first)
|
||||
{
|
||||
last_value = current_value;
|
||||
is_first = false;
|
||||
}
|
||||
|
||||
if (last_value > current_value)
|
||||
{
|
||||
num_round++;
|
||||
}
|
||||
|
||||
last_value = current_value;
|
||||
|
||||
ulong ret = 4294967296UL * (ulong)num_round + current_value;
|
||||
|
||||
return (long)ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static uint ValueUInt32
|
||||
{
|
||||
get
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
return (uint)((ulong)Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class Event
|
||||
{
|
||||
EventWaitHandle h;
|
||||
public const int Infinite = Timeout.Infinite;
|
||||
|
||||
public Event()
|
||||
{
|
||||
init(false);
|
||||
}
|
||||
|
||||
public Event(bool manualReset)
|
||||
{
|
||||
init(manualReset);
|
||||
}
|
||||
|
||||
void init(bool manualReset)
|
||||
{
|
||||
h = new EventWaitHandle(false, (manualReset ? EventResetMode.ManualReset : EventResetMode.AutoReset));
|
||||
}
|
||||
|
||||
public void Set()
|
||||
{
|
||||
h.Set();
|
||||
}
|
||||
|
||||
public bool Wait()
|
||||
{
|
||||
return Wait(Infinite);
|
||||
}
|
||||
public bool Wait(int millisecs)
|
||||
{
|
||||
return h.WaitOne(millisecs, false);
|
||||
}
|
||||
|
||||
static EventWaitHandle[] toArray(Event[] events)
|
||||
{
|
||||
List<EventWaitHandle> list = new List<EventWaitHandle>();
|
||||
|
||||
foreach (Event e in events)
|
||||
{
|
||||
list.Add(e.h);
|
||||
}
|
||||
|
||||
return list.ToArray();
|
||||
}
|
||||
|
||||
public static bool WaitAll(Event[] events)
|
||||
{
|
||||
return WaitAll(events, Infinite);
|
||||
}
|
||||
public static bool WaitAll(Event[] events, int millisecs)
|
||||
{
|
||||
if (events.Length <= 64)
|
||||
{
|
||||
return waitAllInner(events, millisecs);
|
||||
}
|
||||
else
|
||||
{
|
||||
return waitAllMulti(events, millisecs);
|
||||
}
|
||||
}
|
||||
|
||||
static bool waitAllMulti(Event[] events, int millisecs)
|
||||
{
|
||||
int numBlocks = (events.Length + 63) / 64;
|
||||
List<Event>[] list = new List<Event>[numBlocks];
|
||||
int i;
|
||||
for (i = 0; i < numBlocks; i++)
|
||||
{
|
||||
list[i] = new List<Event>();
|
||||
}
|
||||
for (i = 0; i < events.Length; i++)
|
||||
{
|
||||
list[i / 64].Add(events[i]);
|
||||
}
|
||||
|
||||
double start = Time.NowDouble;
|
||||
double giveup = start + (double)millisecs / 1000.0;
|
||||
foreach (List<Event> o in list)
|
||||
{
|
||||
double now = Time.NowDouble;
|
||||
if (now <= giveup || millisecs < 0)
|
||||
{
|
||||
int waitmsecs;
|
||||
if (millisecs >= 0)
|
||||
{
|
||||
waitmsecs = (int)((giveup - now) * 1000.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
waitmsecs = Timeout.Infinite;
|
||||
}
|
||||
|
||||
bool ret = waitAllInner(o.ToArray(), waitmsecs);
|
||||
if (ret == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool waitAllInner(Event[] events, int millisecs)
|
||||
{
|
||||
if (events.Length == 1)
|
||||
{
|
||||
return events[0].Wait(millisecs);
|
||||
}
|
||||
return EventWaitHandle.WaitAll(toArray(events), millisecs, false);
|
||||
}
|
||||
|
||||
public static bool WaitAny(Event[] events)
|
||||
{
|
||||
return WaitAny(events, Infinite);
|
||||
}
|
||||
public static bool WaitAny(Event[] events, int millisecs)
|
||||
{
|
||||
if (events.Length == 1)
|
||||
{
|
||||
return events[0].Wait(millisecs);
|
||||
}
|
||||
return ((WaitHandle.WaitTimeout == EventWaitHandle.WaitAny(toArray(events), millisecs, false)) ? false : true);
|
||||
}
|
||||
|
||||
public IntPtr Handle
|
||||
{
|
||||
get
|
||||
{
|
||||
return h.Handle;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class ThreadData
|
||||
{
|
||||
static LocalDataStoreSlot slot = Thread.AllocateDataSlot();
|
||||
|
||||
public readonly SortedDictionary<string, object> DataList = new SortedDictionary<string, object>();
|
||||
|
||||
public static ThreadData CurrentThreadData
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetCurrentThreadData();
|
||||
}
|
||||
}
|
||||
|
||||
public static ThreadData GetCurrentThreadData()
|
||||
{
|
||||
ThreadData t;
|
||||
|
||||
try
|
||||
{
|
||||
t = (ThreadData)Thread.GetData(slot);
|
||||
}
|
||||
catch
|
||||
{
|
||||
t = null;
|
||||
}
|
||||
|
||||
if (t == null)
|
||||
{
|
||||
t = new ThreadData();
|
||||
|
||||
Thread.SetData(slot, t);
|
||||
}
|
||||
|
||||
return t;
|
||||
}
|
||||
}
|
||||
|
||||
public delegate void ThreadProc(object userObject);
|
||||
|
||||
public class ThreadObj
|
||||
{
|
||||
static int defaultStackSize = 100000;
|
||||
|
||||
static LocalDataStoreSlot currentObjSlot = Thread.AllocateDataSlot();
|
||||
|
||||
public const int Infinite = Timeout.Infinite;
|
||||
|
||||
ThreadProc proc;
|
||||
Thread thread;
|
||||
EventWaitHandle waitInit;
|
||||
EventWaitHandle waitEnd;
|
||||
EventWaitHandle waitInitForUser;
|
||||
public Thread Thread
|
||||
{
|
||||
get { return thread; }
|
||||
}
|
||||
object userObject;
|
||||
|
||||
public ThreadObj(ThreadProc threadProc)
|
||||
{
|
||||
init(threadProc, null, 0);
|
||||
}
|
||||
|
||||
public ThreadObj(ThreadProc threadProc, int stacksize)
|
||||
{
|
||||
init(threadProc, null, stacksize);
|
||||
}
|
||||
|
||||
public ThreadObj(ThreadProc threadProc, object userObject)
|
||||
{
|
||||
init(threadProc, userObject, 0);
|
||||
}
|
||||
|
||||
public ThreadObj(ThreadProc threadProc, object userObject, int stacksize)
|
||||
{
|
||||
init(threadProc, userObject, stacksize);
|
||||
}
|
||||
|
||||
void init(ThreadProc threadProc, object userObject, int stacksize)
|
||||
{
|
||||
if (stacksize == 0)
|
||||
{
|
||||
stacksize = defaultStackSize;
|
||||
}
|
||||
|
||||
this.proc = threadProc;
|
||||
this.userObject = userObject;
|
||||
waitInit = new EventWaitHandle(false, EventResetMode.AutoReset);
|
||||
waitEnd = new EventWaitHandle(false, EventResetMode.ManualReset);
|
||||
waitInitForUser = new EventWaitHandle(false, EventResetMode.ManualReset);
|
||||
this.thread = new Thread(new ParameterizedThreadStart(commonThreadProc), stacksize);
|
||||
this.thread.Start(this);
|
||||
waitInit.WaitOne();
|
||||
}
|
||||
|
||||
public static int DefaultStackSize
|
||||
{
|
||||
get
|
||||
{
|
||||
return defaultStackSize;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
defaultStackSize = value;
|
||||
}
|
||||
}
|
||||
|
||||
void commonThreadProc(object obj)
|
||||
{
|
||||
Thread.SetData(currentObjSlot, this);
|
||||
|
||||
waitInit.Set();
|
||||
|
||||
try
|
||||
{
|
||||
this.proc(this.userObject);
|
||||
}
|
||||
finally
|
||||
{
|
||||
waitEnd.Set();
|
||||
}
|
||||
}
|
||||
|
||||
public static ThreadObj GetCurrentThreadObj()
|
||||
{
|
||||
return (ThreadObj)Thread.GetData(currentObjSlot);
|
||||
}
|
||||
|
||||
public static void NoticeInited()
|
||||
{
|
||||
GetCurrentThreadObj().waitInitForUser.Set();
|
||||
}
|
||||
|
||||
public void WaitForInit()
|
||||
{
|
||||
waitInitForUser.WaitOne();
|
||||
}
|
||||
|
||||
public void WaitForEnd(int timeout)
|
||||
{
|
||||
waitEnd.WaitOne(timeout, false);
|
||||
}
|
||||
public void WaitForEnd()
|
||||
{
|
||||
waitEnd.WaitOne();
|
||||
}
|
||||
|
||||
public static void Sleep(int millisec)
|
||||
{
|
||||
if (millisec == 0x7fffffff)
|
||||
{
|
||||
millisec = ThreadObj.Infinite;
|
||||
}
|
||||
|
||||
Thread.Sleep(millisec);
|
||||
}
|
||||
|
||||
public static void Yield()
|
||||
{
|
||||
Thread.Sleep(0);
|
||||
}
|
||||
|
||||
public static void ProcessWorkQueue(ThreadProc thread_proc, int num_worker_threads, object[] tasks)
|
||||
{
|
||||
WorkerQueuePrivate q = new WorkerQueuePrivate(thread_proc, num_worker_threads, tasks);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,103 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Web.Mail;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
class TimeHelper
|
||||
{
|
||||
internal Stopwatch Sw;
|
||||
internal long Freq;
|
||||
internal DateTime FirstDateTime;
|
||||
|
||||
public TimeHelper()
|
||||
{
|
||||
FirstDateTime = DateTime.Now;
|
||||
Sw = new Stopwatch();
|
||||
Sw.Start();
|
||||
Freq = Stopwatch.Frequency;
|
||||
}
|
||||
|
||||
public DateTime GetDateTime()
|
||||
{
|
||||
return FirstDateTime + this.Sw.Elapsed;
|
||||
}
|
||||
}
|
||||
|
||||
public static class Time
|
||||
{
|
||||
static TimeHelper h = new TimeHelper();
|
||||
static TimeSpan baseTimeSpan = new TimeSpan(0, 0, 1);
|
||||
|
||||
static public TimeSpan NowTimeSpan
|
||||
{
|
||||
get
|
||||
{
|
||||
return h.Sw.Elapsed.Add(baseTimeSpan);
|
||||
}
|
||||
}
|
||||
|
||||
static public long NowLong100Usecs
|
||||
{
|
||||
get
|
||||
{
|
||||
return NowTimeSpan.Ticks;
|
||||
}
|
||||
}
|
||||
|
||||
static public long NowLongMillisecs
|
||||
{
|
||||
get
|
||||
{
|
||||
return NowLong100Usecs / 10000;
|
||||
}
|
||||
}
|
||||
|
||||
static public long Tick64
|
||||
{
|
||||
get
|
||||
{
|
||||
return NowLongMillisecs;
|
||||
}
|
||||
}
|
||||
|
||||
static public double NowDouble
|
||||
{
|
||||
get
|
||||
{
|
||||
return (double)NowLong100Usecs / (double)10000000.0;
|
||||
}
|
||||
}
|
||||
|
||||
static public DateTime NowDateTime
|
||||
{
|
||||
get
|
||||
{
|
||||
return h.GetDateTime();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,963 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Web.Mail;
|
||||
using System.Xml;
|
||||
using System.Xml.Schema;
|
||||
using System.Xml.Serialization;
|
||||
using System.ComponentModel;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public enum CoreLanguage
|
||||
{
|
||||
Japanese = 0,
|
||||
English = 1,
|
||||
}
|
||||
|
||||
public class CoreLanguageClass
|
||||
{
|
||||
public readonly CoreLanguage Language;
|
||||
public readonly int Id;
|
||||
readonly string name;
|
||||
public string Name
|
||||
{
|
||||
get
|
||||
{
|
||||
if (name == "ja")
|
||||
{
|
||||
if (CoreLanguageList.RegardsJapanAsJP)
|
||||
{
|
||||
return "jp";
|
||||
}
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
}
|
||||
public readonly string TitleInEnglish;
|
||||
public readonly string TitleInNative;
|
||||
|
||||
public CoreLanguageClass(CoreLanguage lang, int id, string name,
|
||||
string titleInEnglish, string titleInNative)
|
||||
{
|
||||
this.Language = lang;
|
||||
this.Id = id;
|
||||
this.name = name;
|
||||
this.TitleInEnglish = titleInEnglish;
|
||||
this.TitleInNative = titleInNative;
|
||||
}
|
||||
|
||||
public static void SetCurrentThreadLanguageClass(CoreLanguageClass lang)
|
||||
{
|
||||
ThreadData.CurrentThreadData.DataList["current_thread_language"] = lang;
|
||||
}
|
||||
|
||||
public static CoreLanguageClass CurrentThreadLanguageClass
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetCurrentThreadLanguageClass();
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
SetCurrentThreadLanguageClass(value);
|
||||
}
|
||||
}
|
||||
|
||||
public static CoreLanguage CurrentThreadLanguage
|
||||
{
|
||||
get
|
||||
{
|
||||
return CurrentThreadLanguageClass.Language;
|
||||
}
|
||||
}
|
||||
|
||||
public static CoreLanguageClass GetCurrentThreadLanguageClass()
|
||||
{
|
||||
CoreLanguageClass lang = null;
|
||||
|
||||
try
|
||||
{
|
||||
lang = (CoreLanguageClass)ThreadData.CurrentThreadData.DataList["current_thread_language"];
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
if (lang == null)
|
||||
{
|
||||
lang = CoreLanguageList.DefaultLanguage;
|
||||
|
||||
SetCurrentThreadLanguageClass(lang);
|
||||
}
|
||||
|
||||
return lang;
|
||||
}
|
||||
}
|
||||
|
||||
public static class CoreLanguageList
|
||||
{
|
||||
public static readonly CoreLanguageClass DefaultLanguage;
|
||||
public static readonly CoreLanguageClass Japanese;
|
||||
public static readonly CoreLanguageClass English;
|
||||
public static bool RegardsJapanAsJP = false;
|
||||
|
||||
public static readonly List<CoreLanguageClass> LanguageList = new List<CoreLanguageClass>();
|
||||
|
||||
static CoreLanguageList()
|
||||
{
|
||||
CoreLanguageList.LanguageList = new List<CoreLanguageClass>();
|
||||
|
||||
CoreLanguageList.Japanese = new CoreLanguageClass(CoreLanguage.Japanese,
|
||||
0, "ja", "Japanese", "日本語");
|
||||
CoreLanguageList.English = new CoreLanguageClass(CoreLanguage.English,
|
||||
1, "en", "English", "English");
|
||||
|
||||
CoreLanguageList.DefaultLanguage = CoreLanguageList.Japanese;
|
||||
|
||||
CoreLanguageList.LanguageList.Add(CoreLanguageList.Japanese);
|
||||
CoreLanguageList.LanguageList.Add(CoreLanguageList.English);
|
||||
}
|
||||
|
||||
public static CoreLanguageClass GetLanguageClassByName(string name)
|
||||
{
|
||||
Str.NormalizeStringStandard(ref name);
|
||||
|
||||
foreach (CoreLanguageClass c in LanguageList)
|
||||
{
|
||||
if (Str.StrCmpi(c.Name, name))
|
||||
{
|
||||
return c;
|
||||
}
|
||||
}
|
||||
|
||||
return DefaultLanguage;
|
||||
}
|
||||
|
||||
public static CoreLanguageClass GetLanguageClassByEnum(CoreLanguage lang)
|
||||
{
|
||||
foreach (CoreLanguageClass c in LanguageList)
|
||||
{
|
||||
if (c.Language == lang)
|
||||
{
|
||||
return c;
|
||||
}
|
||||
}
|
||||
|
||||
return DefaultLanguage;
|
||||
}
|
||||
}
|
||||
|
||||
public static class Util
|
||||
{
|
||||
public const int SizeOfInt32 = 4;
|
||||
public const int SizeOfInt16 = 2;
|
||||
public const int SizeOfInt64 = 8;
|
||||
public const int SizeOfInt8 = 1;
|
||||
|
||||
public static byte[] ToByte(ushort i)
|
||||
{
|
||||
byte[] ret = BitConverter.GetBytes(i);
|
||||
Endian(ret);
|
||||
return ret;
|
||||
}
|
||||
public static byte[] ToByte(short i)
|
||||
{
|
||||
byte[] ret = BitConverter.GetBytes(i);
|
||||
Endian(ret);
|
||||
return ret;
|
||||
}
|
||||
public static byte[] ToByte(uint i)
|
||||
{
|
||||
byte[] ret = BitConverter.GetBytes(i);
|
||||
Endian(ret);
|
||||
return ret;
|
||||
}
|
||||
public static byte[] ToByte(int i)
|
||||
{
|
||||
byte[] ret = BitConverter.GetBytes(i);
|
||||
Endian(ret);
|
||||
return ret;
|
||||
}
|
||||
public static byte[] ToByte(ulong i)
|
||||
{
|
||||
byte[] ret = BitConverter.GetBytes(i);
|
||||
Endian(ret);
|
||||
return ret;
|
||||
}
|
||||
public static byte[] ToByte(long i)
|
||||
{
|
||||
byte[] ret = BitConverter.GetBytes(i);
|
||||
Endian(ret);
|
||||
return ret;
|
||||
}
|
||||
public static ushort ByteToUShort(byte[] b)
|
||||
{
|
||||
byte[] c = CloneByteArray(b);
|
||||
Endian(c);
|
||||
return BitConverter.ToUInt16(c, 0);
|
||||
}
|
||||
public static short ByteToShort(byte[] b)
|
||||
{
|
||||
byte[] c = CloneByteArray(b);
|
||||
Endian(c);
|
||||
return BitConverter.ToInt16(c, 0);
|
||||
}
|
||||
public static uint ByteToUInt(byte[] b)
|
||||
{
|
||||
byte[] c = CloneByteArray(b);
|
||||
Endian(c);
|
||||
return BitConverter.ToUInt32(c, 0);
|
||||
}
|
||||
public static int ByteToInt(byte[] b)
|
||||
{
|
||||
byte[] c = CloneByteArray(b);
|
||||
Endian(c);
|
||||
return BitConverter.ToInt32(c, 0);
|
||||
}
|
||||
public static ulong ByteToULong(byte[] b)
|
||||
{
|
||||
byte[] c = CloneByteArray(b);
|
||||
Endian(c);
|
||||
return BitConverter.ToUInt64(c, 0);
|
||||
}
|
||||
public static long ByteToLong(byte[] b)
|
||||
{
|
||||
byte[] c = CloneByteArray(b);
|
||||
Endian(c);
|
||||
return BitConverter.ToInt64(c, 0);
|
||||
}
|
||||
|
||||
public static byte[] ReadAllFromStream(Stream st)
|
||||
{
|
||||
byte[] tmp = new byte[32 * 1024];
|
||||
Buf b = new Buf();
|
||||
|
||||
while (true)
|
||||
{
|
||||
int r = st.Read(tmp, 0, tmp.Length);
|
||||
|
||||
if (r == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
b.Write(tmp, 0, r);
|
||||
}
|
||||
|
||||
return b.ByteData;
|
||||
}
|
||||
|
||||
public static List<T> CloneList<T>(List<T> src)
|
||||
{
|
||||
List<T> ret = new List<T>();
|
||||
foreach (T t in src)
|
||||
{
|
||||
ret.Add(t);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static byte[] ExtractByteArray(byte[] data, int pos, int len)
|
||||
{
|
||||
byte[] ret = new byte[len];
|
||||
|
||||
Util.CopyByte(ret, 0, data, pos, len);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static T[] CombineArray<T>(params T[][] arrays)
|
||||
{
|
||||
List<T> o = new List<T>();
|
||||
foreach (T[] array in arrays)
|
||||
{
|
||||
foreach (T element in array)
|
||||
{
|
||||
o.Add(element);
|
||||
}
|
||||
}
|
||||
return o.ToArray();
|
||||
}
|
||||
|
||||
public static byte[] CombineByteArray(byte[] b1, byte[] b2)
|
||||
{
|
||||
Buf b = new Buf();
|
||||
|
||||
if (b1 != null)
|
||||
{
|
||||
b.Write(b1);
|
||||
}
|
||||
|
||||
if (b2 != null)
|
||||
{
|
||||
b.Write(b2);
|
||||
}
|
||||
|
||||
return b.ByteData;
|
||||
}
|
||||
|
||||
public static byte[] RemoveStartByteArray(byte[] src, int numBytes)
|
||||
{
|
||||
if (numBytes == 0)
|
||||
{
|
||||
return src;
|
||||
}
|
||||
int num = src.Length - numBytes;
|
||||
byte[] ret = new byte[num];
|
||||
Util.CopyByte(ret, 0, src, numBytes, num);
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static DateTime[] GetYearNendoList(DateTime startYear, DateTime endYear)
|
||||
{
|
||||
startYear = GetStartOfNendo(startYear);
|
||||
endYear = GetEndOfNendo(endYear);
|
||||
|
||||
if (startYear > endYear)
|
||||
{
|
||||
throw new ArgumentException();
|
||||
}
|
||||
|
||||
List<DateTime> ret = new List<DateTime>();
|
||||
|
||||
DateTime dt;
|
||||
for (dt = startYear; dt <= endYear; dt = GetStartOfNendo(dt.AddYears(1)))
|
||||
{
|
||||
ret.Add(dt);
|
||||
}
|
||||
|
||||
return ret.ToArray();
|
||||
}
|
||||
|
||||
public static DateTime[] GetYearList(DateTime startYear, DateTime endYear)
|
||||
{
|
||||
startYear = GetStartOfYear(startYear);
|
||||
endYear = GetEndOfYear(endYear);
|
||||
|
||||
if (startYear > endYear)
|
||||
{
|
||||
throw new ArgumentException();
|
||||
}
|
||||
|
||||
List<DateTime> ret = new List<DateTime>();
|
||||
|
||||
DateTime dt;
|
||||
for (dt = startYear; dt <= endYear; dt = GetStartOfYear(dt.AddYears(1)))
|
||||
{
|
||||
ret.Add(dt);
|
||||
}
|
||||
|
||||
return ret.ToArray();
|
||||
}
|
||||
|
||||
public static DateTime[] GetMonthList(DateTime startMonth, DateTime endMonth)
|
||||
{
|
||||
startMonth = GetStartOfMonth(startMonth);
|
||||
endMonth = GetEndOfMonth(endMonth);
|
||||
|
||||
if (startMonth > endMonth)
|
||||
{
|
||||
throw new ArgumentException();
|
||||
}
|
||||
|
||||
List<DateTime> ret = new List<DateTime>();
|
||||
|
||||
DateTime dt;
|
||||
for (dt = startMonth; dt <= endMonth; dt = GetStartOfMonth(dt.AddMonths(1)))
|
||||
{
|
||||
ret.Add(dt);
|
||||
}
|
||||
|
||||
return ret.ToArray();
|
||||
}
|
||||
|
||||
public static int GetAge(DateTime birthDay, DateTime now)
|
||||
{
|
||||
birthDay = birthDay.Date;
|
||||
now = now.Date;
|
||||
|
||||
DateTime dayBirthDay = new DateTime(2000, birthDay.Month, birthDay.Day);
|
||||
DateTime dayNow = new DateTime(2000, now.Month, now.Day);
|
||||
|
||||
int ret = now.Year - birthDay.Year;
|
||||
|
||||
if (dayBirthDay > dayNow)
|
||||
{
|
||||
ret -= 1;
|
||||
}
|
||||
|
||||
return Math.Max(ret, 0);
|
||||
}
|
||||
|
||||
public static int GetNumOfDaysInMonth(DateTime dt)
|
||||
{
|
||||
DateTime dt1 = new DateTime(dt.Year, dt.Month, dt.Day);
|
||||
DateTime dt2 = dt1.AddMonths(1);
|
||||
TimeSpan span = dt2 - dt1;
|
||||
|
||||
return span.Days;
|
||||
}
|
||||
|
||||
public static int GetNumMonthSpan(DateTime dt1, DateTime dt2, bool kiriage)
|
||||
{
|
||||
if (dt1 > dt2)
|
||||
{
|
||||
DateTime dtt = dt2;
|
||||
dt2 = dt1;
|
||||
dt1 = dtt;
|
||||
}
|
||||
|
||||
int i;
|
||||
DateTime dt = dt1;
|
||||
for (i = 0; ; i++)
|
||||
{
|
||||
if (kiriage)
|
||||
{
|
||||
if (dt >= dt2)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dt >= dt2.AddMonths(1).AddTicks(-1))
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
dt = dt.AddMonths(1);
|
||||
}
|
||||
}
|
||||
|
||||
public static DateTime GetStartOfMonth(DateTime dt)
|
||||
{
|
||||
return new DateTime(dt.Year, dt.Month, 1);
|
||||
}
|
||||
|
||||
public static DateTime GetEndOfMonth(DateTime dt)
|
||||
{
|
||||
return new DateTime(dt.Year, dt.Month, 1).AddMonths(1).AddSeconds(-1).Date;
|
||||
}
|
||||
|
||||
public static DateTime GetStartOfYear(DateTime dt)
|
||||
{
|
||||
return new DateTime(dt.Year, 1, 1, 0, 0, 0);
|
||||
}
|
||||
|
||||
public static DateTime GetEndOfYear(DateTime dt)
|
||||
{
|
||||
return GetStartOfYear(dt).AddYears(1).AddSeconds(-1).Date;
|
||||
}
|
||||
|
||||
public static DateTime GetEndOfMonthForSettle(DateTime dt)
|
||||
{
|
||||
dt = new DateTime(dt.Year, dt.Month, 1).AddMonths(1).AddSeconds(-1).Date;
|
||||
if (dt.Month == 4 && (new DateTime(dt.Year, 4, 29).DayOfWeek == DayOfWeek.Sunday))
|
||||
{
|
||||
dt = dt.AddDays(1);
|
||||
}
|
||||
while ((dt.DayOfWeek == DayOfWeek.Sunday || dt.DayOfWeek == DayOfWeek.Saturday) ||
|
||||
(dt.Month == 12 && dt.Day >= 29) ||
|
||||
(dt.Month == 1 && dt.Day <= 3))
|
||||
{
|
||||
dt = dt.AddDays(1);
|
||||
}
|
||||
return dt;
|
||||
}
|
||||
|
||||
public static DateTime GetStartOfDay(DateTime dt)
|
||||
{
|
||||
return dt.Date;
|
||||
}
|
||||
|
||||
public static DateTime GetEndOfDate(DateTime dt)
|
||||
{
|
||||
return GetStartOfDay(dt).AddDays(1).AddTicks(-1);
|
||||
}
|
||||
|
||||
public static int GetNendo(DateTime dt)
|
||||
{
|
||||
if (dt.Month >= 4)
|
||||
{
|
||||
return dt.Year;
|
||||
}
|
||||
else
|
||||
{
|
||||
return dt.Year - 1;
|
||||
}
|
||||
}
|
||||
|
||||
public static DateTime GetStartOfNendo(DateTime dt)
|
||||
{
|
||||
return GetStartOfNendo(GetNendo(dt));
|
||||
}
|
||||
public static DateTime GetStartOfNendo(int nendo)
|
||||
{
|
||||
return new DateTime(nendo, 4, 1, 0, 0, 0).Date;
|
||||
}
|
||||
|
||||
public static DateTime GetEndOfNendo(DateTime dt)
|
||||
{
|
||||
return GetEndOfNendo(GetNendo(dt));
|
||||
}
|
||||
public static DateTime GetEndOfNendo(int nendo)
|
||||
{
|
||||
return new DateTime(nendo + 1, 3, 31, 0, 0, 0).Date;
|
||||
}
|
||||
|
||||
public static void Endian(byte[] b)
|
||||
{
|
||||
if (Env.IsLittleEndian)
|
||||
{
|
||||
Array.Reverse(b);
|
||||
}
|
||||
}
|
||||
public static byte[] EndianRetByte(byte[] b)
|
||||
{
|
||||
b = Util.CloneByteArray(b);
|
||||
|
||||
Endian(b);
|
||||
|
||||
return b;
|
||||
}
|
||||
public static UInt16 Endian(UInt16 v)
|
||||
{
|
||||
return Util.ByteToUShort(Util.EndianRetByte(Util.ToByte(v)));
|
||||
}
|
||||
public static UInt32 Endian(UInt32 v)
|
||||
{
|
||||
return Util.ByteToUInt(Util.EndianRetByte(Util.ToByte(v)));
|
||||
}
|
||||
public static UInt64 Endian(UInt64 v)
|
||||
{
|
||||
return Util.ByteToULong(Util.EndianRetByte(Util.ToByte(v)));
|
||||
}
|
||||
|
||||
public static string SafeDomainStr(string str)
|
||||
{
|
||||
string ret = str.Replace("(", "").Replace(")", "").Replace(" ", "").Replace("-", "").Replace("#", "")
|
||||
.Replace("%", "").Replace("%", "").Replace("&", "").Replace(".", "");
|
||||
if (ret == "")
|
||||
{
|
||||
ret = "host";
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static byte[] CopyByte(byte[] src)
|
||||
{
|
||||
return (byte[])src.Clone();
|
||||
}
|
||||
public static byte[] CopyByte(byte[] src, int srcOffset)
|
||||
{
|
||||
return CopyByte(src, srcOffset, src.Length - srcOffset);
|
||||
}
|
||||
public static byte[] CopyByte(byte[] src, int srcOffset, int size)
|
||||
{
|
||||
byte[] ret = new byte[size];
|
||||
CopyByte(ret, 0, src, srcOffset, size);
|
||||
return ret;
|
||||
}
|
||||
public static void CopyByte(byte[] dst, byte[] src, int srcOffset, int size)
|
||||
{
|
||||
CopyByte(dst, 0, src, srcOffset, size);
|
||||
}
|
||||
public static void CopyByte(byte[] dst, int dstOffset, byte[] src)
|
||||
{
|
||||
CopyByte(dst, dstOffset, src, 0, src.Length);
|
||||
}
|
||||
public static void CopyByte(byte[] dst, int dstOffset, byte[] src, int srcOffset, int size)
|
||||
{
|
||||
Array.Copy(src, srcOffset, dst, dstOffset, size);
|
||||
}
|
||||
|
||||
public static bool IsZero(byte[] data)
|
||||
{
|
||||
return IsZero(data, 0, data.Length);
|
||||
}
|
||||
public static bool IsZero(byte[] data, int offset, int size)
|
||||
{
|
||||
int i;
|
||||
for (i = offset; i < offset + size; i++)
|
||||
{
|
||||
if (data[i] != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static bool CompareByte(byte[] b1, byte[] b2)
|
||||
{
|
||||
if (b1.Length != b2.Length)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
int i, len;
|
||||
len = b1.Length;
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
if (b1[i] != b2[i])
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static int CompareByteRetInt(byte[] b1, byte[] b2)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; ; i++)
|
||||
{
|
||||
int a1 = -1, a2 = -1;
|
||||
if (b1.Length < i)
|
||||
{
|
||||
a1 = (int)b1[i];
|
||||
}
|
||||
if (b2.Length < i)
|
||||
{
|
||||
a2 = (int)b2[i];
|
||||
}
|
||||
|
||||
if (a1 > a2)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else if (a1 < a2)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
if (a1 == -1 && a2 == -1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static byte[] CloneByteArray(byte[] src)
|
||||
{
|
||||
byte[] ret = new byte[src.Length];
|
||||
|
||||
Util.CopyByte(ret, src, 0, src.Length);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static DateTime UnixTimeToDateTime(uint t)
|
||||
{
|
||||
return new DateTime(1970, 1, 1).AddSeconds(t);
|
||||
}
|
||||
|
||||
public static uint DateTimeToUnixTime(DateTime dt)
|
||||
{
|
||||
TimeSpan ts = dt - new DateTime(1970, 1, 1);
|
||||
if (ts.Ticks < 0)
|
||||
{
|
||||
throw new InvalidDataException("dt");
|
||||
}
|
||||
|
||||
return (uint)ts.TotalSeconds;
|
||||
}
|
||||
|
||||
public static DateTime ConvertDateTime(ulong time64)
|
||||
{
|
||||
if (time64 == 0)
|
||||
{
|
||||
return new DateTime(0);
|
||||
}
|
||||
return new DateTime(((long)time64 + 62135629200000) * 10000);
|
||||
}
|
||||
|
||||
public static ulong ConvertDateTime(DateTime dt)
|
||||
{
|
||||
if (dt.Ticks == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return (ulong)dt.Ticks / 10000 - 62135629200000;
|
||||
}
|
||||
|
||||
public static TimeSpan ConvertTimeSpan(ulong tick)
|
||||
{
|
||||
return new TimeSpan((long)tick * 10000);
|
||||
}
|
||||
|
||||
public static ulong ConvertTimeSpan(TimeSpan span)
|
||||
{
|
||||
return (ulong)span.Ticks / 10000;
|
||||
}
|
||||
|
||||
public static ushort DateTimeToDosDate(DateTime dt)
|
||||
{
|
||||
return (ushort)(
|
||||
((uint)(dt.Year - 1980) << 9) |
|
||||
((uint)dt.Month << 5) |
|
||||
(uint)dt.Day);
|
||||
}
|
||||
|
||||
public static ushort DateTimeToDosTime(DateTime dt)
|
||||
{
|
||||
return (ushort)(
|
||||
((uint)dt.Hour << 11) |
|
||||
((uint)dt.Minute << 5) |
|
||||
((uint)dt.Second >> 1));
|
||||
}
|
||||
|
||||
public static bool IsNullOrEmpty(object o)
|
||||
{
|
||||
if (o == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (o is string)
|
||||
{
|
||||
string s = (string)o;
|
||||
|
||||
return Str.IsEmptyStr(s);
|
||||
}
|
||||
|
||||
if (o is Array)
|
||||
{
|
||||
Array a = (Array)o;
|
||||
if (a.Length == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static byte[] GetXmlSchemaFromType(Type type)
|
||||
{
|
||||
XmlSchemas sms = new XmlSchemas();
|
||||
XmlSchemaExporter ex = new XmlSchemaExporter(sms);
|
||||
XmlReflectionImporter im = new XmlReflectionImporter();
|
||||
XmlTypeMapping map = im.ImportTypeMapping(type);
|
||||
ex.ExportTypeMapping(map);
|
||||
sms.Compile(null, false);
|
||||
|
||||
MemoryStream ms = new MemoryStream();
|
||||
StreamWriter sw = new StreamWriter(ms);
|
||||
foreach (System.Xml.Schema.XmlSchema sm in sms)
|
||||
{
|
||||
sm.Write(sw);
|
||||
}
|
||||
sw.Close();
|
||||
ms.Flush();
|
||||
|
||||
byte[] data = ms.ToArray();
|
||||
return data;
|
||||
}
|
||||
public static string GetXmlSchemaFromTypeString(Type type)
|
||||
{
|
||||
byte[] data = GetXmlSchemaFromType(type);
|
||||
|
||||
return Str.Utf8Encoding.GetString(data);
|
||||
}
|
||||
|
||||
public static string ObjectToXmlString(object o)
|
||||
{
|
||||
byte[] data = ObjectToXml(o);
|
||||
|
||||
return Str.Utf8Encoding.GetString(data);
|
||||
}
|
||||
public static byte[] ObjectToXml(object o)
|
||||
{
|
||||
if (o == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
Type t = o.GetType();
|
||||
|
||||
return ObjectToXml(o, t);
|
||||
}
|
||||
public static string ObjectToXmlString(object o, Type t)
|
||||
{
|
||||
byte[] data = ObjectToXml(o, t);
|
||||
|
||||
return Str.Utf8Encoding.GetString(data);
|
||||
}
|
||||
public static byte[] ObjectToXml(object o, Type t)
|
||||
{
|
||||
if (o == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
MemoryStream ms = new MemoryStream();
|
||||
XmlSerializer x = new XmlSerializer(t);
|
||||
|
||||
x.Serialize(ms, o);
|
||||
|
||||
return ms.ToArray();
|
||||
}
|
||||
|
||||
public static object XmlToObject(string str, Type t)
|
||||
{
|
||||
if (Str.IsEmptyStr(str))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
byte[] data = Str.Utf8Encoding.GetBytes(str);
|
||||
|
||||
return XmlToObject(data, t);
|
||||
}
|
||||
public static object XmlToObject(byte[] data, Type t)
|
||||
{
|
||||
if (data == null || data.Length == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
MemoryStream ms = new MemoryStream();
|
||||
ms.Write(data, 0, data.Length);
|
||||
ms.Position = 0;
|
||||
|
||||
XmlSerializer x = new XmlSerializer(t);
|
||||
|
||||
return x.Deserialize(ms);
|
||||
}
|
||||
|
||||
public static void NoOP(object o)
|
||||
{
|
||||
}
|
||||
public static void NoOP()
|
||||
{
|
||||
}
|
||||
|
||||
public static bool False
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool True
|
||||
{
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static int Zero
|
||||
{
|
||||
get
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static object ByteToStruct(byte[] src, Type type)
|
||||
{
|
||||
int size = src.Length;
|
||||
if (size != SizeOfStruct(type))
|
||||
{
|
||||
throw new SystemException("size error");
|
||||
}
|
||||
|
||||
IntPtr p = Marshal.AllocHGlobal(size);
|
||||
|
||||
try
|
||||
{
|
||||
Marshal.Copy(src, 0, p, size);
|
||||
|
||||
return Marshal.PtrToStructure(p, type);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Marshal.FreeHGlobal(p);
|
||||
}
|
||||
}
|
||||
|
||||
public static byte[] StructToByte(object obj)
|
||||
{
|
||||
int size = SizeOfStruct(obj);
|
||||
IntPtr p = Marshal.AllocHGlobal(size);
|
||||
try
|
||||
{
|
||||
Marshal.StructureToPtr(obj, p, false);
|
||||
|
||||
byte[] ret = new byte[size];
|
||||
|
||||
Marshal.Copy(p, ret, 0, size);
|
||||
|
||||
return ret;
|
||||
}
|
||||
finally
|
||||
{
|
||||
Marshal.FreeHGlobal(p);
|
||||
}
|
||||
}
|
||||
|
||||
public static int SizeOfStruct(object obj)
|
||||
{
|
||||
return Marshal.SizeOf(obj);
|
||||
}
|
||||
public static int SizeOfStruct(Type type)
|
||||
{
|
||||
return Marshal.SizeOf(type);
|
||||
}
|
||||
|
||||
public static XmlAndXsd GenerateXmlAndXsd(object obj)
|
||||
{
|
||||
XmlAndXsd ret = new XmlAndXsd();
|
||||
Type type = obj.GetType();
|
||||
|
||||
ret.XsdFileName = Str.MakeSafeFileName(type.Name + ".xsd");
|
||||
ret.XsdData = GetXmlSchemaFromType(type);
|
||||
|
||||
ret.XmlFileName = Str.MakeSafeFileName(type.Name + ".xml");
|
||||
string str = Util.ObjectToXmlString(obj);
|
||||
str = str.Replace(
|
||||
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"",
|
||||
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xsi:noNamespaceSchemaLocation=\""
|
||||
+ ret.XsdFileName
|
||||
+ "\"");
|
||||
ret.XmlData = Str.Utf8Encoding.GetBytes(str);
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
public class XmlAndXsd
|
||||
{
|
||||
public byte[] XmlData;
|
||||
public byte[] XsdData;
|
||||
public string XmlFileName;
|
||||
public string XsdFileName;
|
||||
}
|
||||
}
|
@ -1,232 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Web.Mail;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Xml.Serialization;
|
||||
using System.DirectoryServices;
|
||||
using CoreUtil;
|
||||
using CoreUtil.Internal;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
public static class Win32
|
||||
{
|
||||
static Win32()
|
||||
{
|
||||
}
|
||||
|
||||
public static void CreateUser(string machineName, string userName, string password, string description)
|
||||
{
|
||||
Str.NormalizeString(ref userName);
|
||||
Str.NormalizeString(ref password);
|
||||
Str.NormalizeString(ref description);
|
||||
|
||||
using (DirectoryEntry sam = OpenSam(machineName))
|
||||
{
|
||||
using (DirectoryEntry newUser = sam.Children.Add(userName, "user"))
|
||||
{
|
||||
newUser.Invoke("SetPassword", new object[] { password });
|
||||
newUser.Invoke("Put", new object[] { "Description", description });
|
||||
newUser.CommitChanges();
|
||||
Console.WriteLine(newUser.Path);
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
AddUserToGroup(machineName, userName, "Users");
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public static void ChangeUserPassword(string machineName, string userName, string oldPassword, string newPassword)
|
||||
{
|
||||
Str.NormalizeString(ref userName);
|
||||
Str.NormalizeString(ref oldPassword);
|
||||
Str.NormalizeString(ref newPassword);
|
||||
|
||||
using (DirectoryEntry sam = OpenSam(machineName))
|
||||
{
|
||||
using (DirectoryEntry user = sam.Children.Find(userName, "user"))
|
||||
{
|
||||
user.Invoke("ChangePassword", oldPassword, newPassword);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void SetUserPassword(string machineName, string userName, string password)
|
||||
{
|
||||
Str.NormalizeString(ref userName);
|
||||
Str.NormalizeString(ref password);
|
||||
|
||||
using (DirectoryEntry sam = OpenSam(machineName))
|
||||
{
|
||||
using (DirectoryEntry user = sam.Children.Find(userName, "user"))
|
||||
{
|
||||
user.Invoke("SetPassword", password);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static string[] GetMembersOfGroup(string machineName, string groupName)
|
||||
{
|
||||
List<string> ret = new List<string>();
|
||||
|
||||
Str.NormalizeString(ref groupName);
|
||||
|
||||
using (DirectoryEntry sam = OpenSam(machineName))
|
||||
{
|
||||
using (DirectoryEntry g = sam.Children.Find(groupName, "group"))
|
||||
{
|
||||
object members = g.Invoke("Members", null);
|
||||
|
||||
foreach (object member in (IEnumerable)members)
|
||||
{
|
||||
using (DirectoryEntry e = new DirectoryEntry(member))
|
||||
{
|
||||
ret.Add(e.Name);
|
||||
}
|
||||
}
|
||||
|
||||
return ret.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsUserMemberOfGroup(string machineName, string userName, string groupName)
|
||||
{
|
||||
Str.NormalizeString(ref userName);
|
||||
Str.NormalizeString(ref groupName);
|
||||
|
||||
using (DirectoryEntry sam = OpenSam(machineName))
|
||||
{
|
||||
using (DirectoryEntry g = sam.Children.Find(groupName, "group"))
|
||||
{
|
||||
using (DirectoryEntry u = sam.Children.Find(userName, "user"))
|
||||
{
|
||||
return (bool)g.Invoke("IsMember", u.Path);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void DeleteUserFromGroup(string machineName, string userName, string groupName)
|
||||
{
|
||||
Str.NormalizeString(ref userName);
|
||||
Str.NormalizeString(ref groupName);
|
||||
|
||||
using (DirectoryEntry sam = OpenSam(machineName))
|
||||
{
|
||||
using (DirectoryEntry g = sam.Children.Find(groupName, "group"))
|
||||
{
|
||||
using (DirectoryEntry u = sam.Children.Find(userName, "user"))
|
||||
{
|
||||
g.Invoke("Remove", u.Path);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void AddUserToGroup(string machineName, string userName, string groupName)
|
||||
{
|
||||
Str.NormalizeString(ref userName);
|
||||
Str.NormalizeString(ref groupName);
|
||||
|
||||
using (DirectoryEntry sam = OpenSam(machineName))
|
||||
{
|
||||
using (DirectoryEntry g = sam.Children.Find(groupName, "group"))
|
||||
{
|
||||
using (DirectoryEntry u = sam.Children.Find(userName, "user"))
|
||||
{
|
||||
g.Invoke("Add", u.Path);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void DeleteUser(string machineName, string userName)
|
||||
{
|
||||
Str.NormalizeString(ref userName);
|
||||
|
||||
using (DirectoryEntry sam = OpenSam(machineName))
|
||||
{
|
||||
using (DirectoryEntry u = sam.Children.Find(userName, "user"))
|
||||
{
|
||||
sam.Children.Remove(u);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsUserExists(string machineName, string userName)
|
||||
{
|
||||
Str.NormalizeString(ref userName);
|
||||
|
||||
using (DirectoryEntry sam = OpenSam(machineName))
|
||||
{
|
||||
try
|
||||
{
|
||||
using (DirectoryEntry user = sam.Children.Find(userName, "user"))
|
||||
{
|
||||
if (user == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (COMException ce)
|
||||
{
|
||||
if ((uint)ce.ErrorCode == 0x800708AD)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static DirectoryEntry OpenSam()
|
||||
{
|
||||
return OpenSam(null);
|
||||
}
|
||||
public static DirectoryEntry OpenSam(string machineName)
|
||||
{
|
||||
if (Str.IsEmptyStr(machineName))
|
||||
{
|
||||
machineName = Env.MachineName;
|
||||
}
|
||||
|
||||
return new DirectoryEntry(string.Format("WinNT://{0},computer",
|
||||
machineName));
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,411 +0,0 @@
|
||||
// CoreUtil
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Data;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace CoreUtil
|
||||
{
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct ZipDataHeader
|
||||
{
|
||||
public uint Signature;
|
||||
public ushort NeedVer;
|
||||
public ushort Option;
|
||||
public ushort CompType;
|
||||
public ushort FileTime;
|
||||
public ushort FileDate;
|
||||
public uint Crc32;
|
||||
public uint CompSize;
|
||||
public uint UncompSize;
|
||||
public ushort FileNameLen;
|
||||
public ushort ExtraLen;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct ZipDataFooter
|
||||
{
|
||||
public uint Signature;
|
||||
public uint Crc32;
|
||||
public uint CompSize;
|
||||
public uint UncompSize;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct ZipDirHeader
|
||||
{
|
||||
public uint Signature;
|
||||
public ushort MadeVer;
|
||||
public ushort NeedVer;
|
||||
public ushort Option;
|
||||
public ushort CompType;
|
||||
public ushort FileTime;
|
||||
public ushort FileDate;
|
||||
public uint Crc32;
|
||||
public uint CompSize;
|
||||
public uint UncompSize;
|
||||
public ushort FileNameLen;
|
||||
public ushort ExtraLen;
|
||||
public ushort CommentLen;
|
||||
public ushort DiskNum;
|
||||
public ushort InAttr;
|
||||
public uint OutAttr;
|
||||
public uint HeaderPos;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct ZipEndHeader
|
||||
{
|
||||
public uint Signature;
|
||||
public ushort DiskNum;
|
||||
public ushort StartDiskNum;
|
||||
public ushort DiskDirEntry;
|
||||
public ushort DirEntry;
|
||||
public uint DirSize;
|
||||
public uint StartPos;
|
||||
public ushort CommentLen;
|
||||
}
|
||||
|
||||
public static class ZipUtil
|
||||
{
|
||||
static ZipUtil()
|
||||
{
|
||||
initCrc32();
|
||||
}
|
||||
|
||||
static uint[] table;
|
||||
const int crcTableSize = 256;
|
||||
|
||||
static void initCrc32()
|
||||
{
|
||||
table = new uint[crcTableSize];
|
||||
|
||||
uint poly = 0xEDB88320;
|
||||
uint u, i, j;
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
{
|
||||
u = i;
|
||||
|
||||
for (j = 0; j < 8; j++)
|
||||
{
|
||||
if ((u & 0x1) != 0)
|
||||
{
|
||||
u = (u >> 1) ^ poly;
|
||||
}
|
||||
else
|
||||
{
|
||||
u >>= 1;
|
||||
}
|
||||
}
|
||||
|
||||
table[i] = u;
|
||||
}
|
||||
}
|
||||
|
||||
public static uint Crc32(byte[] buf)
|
||||
{
|
||||
return Crc32(buf, 0, buf.Length);
|
||||
}
|
||||
public static uint Crc32(byte[] buf, int pos, int len)
|
||||
{
|
||||
return Crc32Finish(Crc32First(buf, pos, len));
|
||||
}
|
||||
public static uint Crc32First(byte[] buf, int pos, int len)
|
||||
{
|
||||
return Crc32Next(buf, pos, len, 0xffffffff);
|
||||
}
|
||||
public static uint Crc32Next(byte[] buf, int pos, int len, uint lastCrc32)
|
||||
{
|
||||
uint ret = lastCrc32;
|
||||
for (uint i = 0; i < len; i++)
|
||||
{
|
||||
ret = (ret >> 8) ^ table[buf[pos + i] ^ (ret & 0xff)];
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
public static uint Crc32Finish(uint lastCrc32)
|
||||
{
|
||||
return ~lastCrc32;
|
||||
}
|
||||
}
|
||||
|
||||
public class ZipPacker
|
||||
{
|
||||
public const uint Signature = 0x04034B50;
|
||||
public const uint SignatureEnd = 0x06054B50;
|
||||
public const ushort Version = 10;
|
||||
public const ushort VersionWithCompress = 20;
|
||||
public Encoding Encoding = Str.ShiftJisEncoding;
|
||||
|
||||
class File
|
||||
{
|
||||
public string Name;
|
||||
public long Size;
|
||||
public DateTime DateTime;
|
||||
public FileAttributes Attributes;
|
||||
public long CurrentSize;
|
||||
public long CompressSize;
|
||||
public uint Crc32;
|
||||
public uint HeaderPos;
|
||||
public Encoding Encoding;
|
||||
public bool Compress;
|
||||
public CoreUtil.Internal.ZStream ZStream;
|
||||
|
||||
public void WriteZipDataHeader(ref ZipDataHeader h, bool writeSizes)
|
||||
{
|
||||
h.Signature = Signature;
|
||||
h.NeedVer = Version;
|
||||
h.CompType = 0;
|
||||
h.FileTime = Util.DateTimeToDosTime(this.DateTime);
|
||||
h.FileDate = Util.DateTimeToDosDate(this.DateTime);
|
||||
h.Option = 8;
|
||||
|
||||
if (writeSizes == false)
|
||||
{
|
||||
h.CompSize = h.UncompSize = 0;
|
||||
h.Crc32 = 0;
|
||||
|
||||
if (this.Compress)
|
||||
{
|
||||
h.NeedVer = VersionWithCompress;
|
||||
h.CompType = 8;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
h.CompSize = h.UncompSize = (uint)this.Size;
|
||||
if (this.Compress)
|
||||
{
|
||||
h.CompSize = (uint)this.CompressSize;
|
||||
h.CompType = 8;
|
||||
}
|
||||
h.Crc32 = this.Crc32;
|
||||
}
|
||||
|
||||
h.FileNameLen = (ushort)this.Encoding.GetByteCount(this.Name);
|
||||
h.ExtraLen = 0;
|
||||
}
|
||||
|
||||
public void WriteZipDataFooter(ref ZipDataFooter h)
|
||||
{
|
||||
h.Signature = 0x08074B50;
|
||||
|
||||
if (this.Compress == false)
|
||||
{
|
||||
h.CompSize = h.UncompSize = (uint)this.Size;
|
||||
}
|
||||
else
|
||||
{
|
||||
h.CompSize = (uint)this.CompressSize;
|
||||
h.UncompSize = (uint)this.Size;
|
||||
}
|
||||
h.Crc32 = this.Crc32;
|
||||
}
|
||||
}
|
||||
|
||||
Fifo fifo;
|
||||
List<File> fileList;
|
||||
|
||||
public Fifo GeneratedData
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.fifo;
|
||||
}
|
||||
}
|
||||
|
||||
public ZipPacker()
|
||||
{
|
||||
fifo = new Fifo();
|
||||
fileList = new List<File>();
|
||||
}
|
||||
|
||||
File currentFile = null;
|
||||
|
||||
public void AddFileSimple(string name, DateTime dt, FileAttributes attribute, byte[] data)
|
||||
{
|
||||
AddFileSimple(name, dt, attribute, data, false);
|
||||
}
|
||||
public void AddFileSimple(string name, DateTime dt, FileAttributes attribute, byte[] data, bool compress)
|
||||
{
|
||||
AddFileStart(name, data.Length, dt, attribute, compress);
|
||||
AddFileData(data, 0, data.Length);
|
||||
}
|
||||
|
||||
public void AddFileStart(string name, long size, DateTime dt, FileAttributes attribute)
|
||||
{
|
||||
AddFileStart(name, size, dt, attribute, false);
|
||||
}
|
||||
public void AddFileStart(string name, long size, DateTime dt, FileAttributes attribute, bool compress)
|
||||
{
|
||||
if (currentFile != null)
|
||||
{
|
||||
throw new ApplicationException("currentFile != null");
|
||||
}
|
||||
|
||||
name = name.Replace("/", "\\");
|
||||
|
||||
File f = new File();
|
||||
|
||||
f.Encoding = this.Encoding;
|
||||
f.Name = name;
|
||||
f.Size = size;
|
||||
f.DateTime = dt;
|
||||
f.Attributes = attribute;
|
||||
f.Compress = compress;
|
||||
|
||||
this.fileList.Add(f);
|
||||
|
||||
ZipDataHeader h = new ZipDataHeader();
|
||||
f.HeaderPos = (uint)fifo.TotalWriteSize;
|
||||
f.WriteZipDataHeader(ref h, false);
|
||||
fifo.Write(Util.StructToByte(h));
|
||||
fifo.Write(this.Encoding.GetBytes(f.Name));
|
||||
f.Crc32 = 0xffffffff;
|
||||
|
||||
if (compress)
|
||||
{
|
||||
f.ZStream = new CoreUtil.Internal.ZStream();
|
||||
f.ZStream.deflateInit(-1, -15);
|
||||
}
|
||||
|
||||
currentFile = f;
|
||||
}
|
||||
|
||||
public long AddFileData(byte[] data, int pos, int len)
|
||||
{
|
||||
long totalSize = currentFile.CurrentSize + len;
|
||||
|
||||
if (totalSize > currentFile.Size)
|
||||
{
|
||||
throw new ApplicationException("totalSize > currentFile.Size");
|
||||
}
|
||||
|
||||
if (currentFile.Compress == false)
|
||||
{
|
||||
fifo.Write(data, pos, len);
|
||||
}
|
||||
else
|
||||
{
|
||||
CoreUtil.Internal.ZStream zs = currentFile.ZStream;
|
||||
|
||||
byte[] srcData = Util.ExtractByteArray(data, pos, len);
|
||||
byte[] dstData = new byte[srcData.Length * 2 + 100];
|
||||
|
||||
zs.next_in = srcData;
|
||||
zs.avail_in = srcData.Length;
|
||||
zs.next_in_index = 0;
|
||||
|
||||
zs.next_out = dstData;
|
||||
zs.avail_out = dstData.Length;
|
||||
zs.next_out_index = 0;
|
||||
|
||||
if (currentFile.Size == (currentFile.CurrentSize + len))
|
||||
{
|
||||
zs.deflate(CoreUtil.Internal.zlibConst.Z_FINISH);
|
||||
}
|
||||
else
|
||||
{
|
||||
zs.deflate(CoreUtil.Internal.zlibConst.Z_SYNC_FLUSH);
|
||||
}
|
||||
|
||||
fifo.Write(dstData, 0, dstData.Length - zs.avail_out);
|
||||
|
||||
currentFile.CompressSize += dstData.Length - zs.avail_out;
|
||||
|
||||
Util.NoOP();
|
||||
}
|
||||
|
||||
currentFile.CurrentSize += len;
|
||||
|
||||
currentFile.Crc32 = ZipUtil.Crc32Next(data, pos, len, currentFile.Crc32);
|
||||
|
||||
long ret = currentFile.Size - currentFile.CurrentSize;
|
||||
|
||||
if (ret == 0)
|
||||
{
|
||||
currentFile.Crc32 = ~currentFile.Crc32;
|
||||
addFileFooter();
|
||||
|
||||
currentFile = null;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void addFileFooter()
|
||||
{
|
||||
ZipDataFooter f = new ZipDataFooter();
|
||||
currentFile.WriteZipDataFooter(ref f);
|
||||
fifo.Write(Util.StructToByte(f));
|
||||
}
|
||||
|
||||
public void Finish()
|
||||
{
|
||||
long posStart = fifo.TotalWriteSize;
|
||||
foreach (File f in this.fileList)
|
||||
{
|
||||
ZipDirHeader d = new ZipDirHeader();
|
||||
d.Signature = 0x02014B50;// ZipPacker.Signature;
|
||||
d.MadeVer = Version;
|
||||
ZipDataHeader dh = new ZipDataHeader();
|
||||
f.WriteZipDataHeader(ref dh, true);
|
||||
if (f.Compress)
|
||||
{
|
||||
dh.CompType = 8;
|
||||
dh.CompSize = (uint)f.CompressSize;
|
||||
dh.NeedVer = ZipPacker.VersionWithCompress;
|
||||
}
|
||||
d.NeedVer = dh.NeedVer;
|
||||
d.Option = dh.Option;
|
||||
d.CompType = dh.CompType;
|
||||
d.FileTime = dh.FileTime;
|
||||
d.FileDate = dh.FileDate;
|
||||
d.Crc32 = dh.Crc32;
|
||||
d.CompSize = dh.CompSize;
|
||||
d.UncompSize = dh.UncompSize;
|
||||
d.FileNameLen = dh.FileNameLen;
|
||||
d.ExtraLen = dh.ExtraLen;
|
||||
d.CommentLen = 0;
|
||||
d.DiskNum = 0;
|
||||
d.InAttr = 0;
|
||||
d.OutAttr = (ushort)f.Attributes;
|
||||
d.HeaderPos = f.HeaderPos;
|
||||
|
||||
fifo.Write(Util.StructToByte(d));
|
||||
fifo.Write(this.Encoding.GetBytes(f.Name));
|
||||
}
|
||||
long posEnd = fifo.TotalWriteSize;
|
||||
|
||||
ZipEndHeader e = new ZipEndHeader();
|
||||
e.Signature = ZipPacker.SignatureEnd;
|
||||
e.DiskNum = e.StartDiskNum = 0;
|
||||
e.DiskDirEntry = e.DirEntry = (ushort)this.fileList.Count;
|
||||
e.DirSize = (uint)(posEnd - posStart);
|
||||
e.StartPos = (uint)posStart;
|
||||
e.CommentLen = 0;
|
||||
fifo.Write(Util.StructToByte(e));
|
||||
}
|
||||
}
|
||||
}
|
@ -1,151 +0,0 @@
|
||||
// SoftEther VPN Source Code - Developer Edition Master Branch
|
||||
// Build Utility
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using CoreUtil;
|
||||
|
||||
namespace BuildUtil
|
||||
{
|
||||
public static class PEUtil
|
||||
{
|
||||
public const int NumRetries = 5;
|
||||
public const int RetryIntervals = 200;
|
||||
public const string MutexName = "peutil_setmanifest_mutex";
|
||||
|
||||
// Set the version of the PE header to 4 (to work in Windows 98, etc.)
|
||||
public static void SetPEVersionTo4(byte[] srcData)
|
||||
{
|
||||
int offset = 0x140 + (int)((uint)srcData[0x3c] + ((uint)srcData[0x3d] * 256)) - 0xf8;
|
||||
|
||||
if (!((srcData[offset] == 0x04 || srcData[offset] == 0x05) && srcData[offset + 1] == 0x00))
|
||||
{
|
||||
throw new ApplicationException("The specified file is not PE file.");
|
||||
}
|
||||
|
||||
srcData[offset] = 0x04;
|
||||
}
|
||||
public static void SetPEVersionTo4(string fileName)
|
||||
{
|
||||
FileInfo fi = new FileInfo(fileName);
|
||||
|
||||
byte[] data = File.ReadAllBytes(fileName);
|
||||
SetPEVersionTo4(data);
|
||||
|
||||
int i;
|
||||
for (i = 0;; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
File.WriteAllBytes(fileName, data);
|
||||
break;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (i >= (NumRetries - 1))
|
||||
{
|
||||
throw ex;
|
||||
}
|
||||
|
||||
Kernel.SleepThread(RetryIntervals);
|
||||
}
|
||||
}
|
||||
|
||||
File.SetCreationTime(fileName, fi.CreationTime);
|
||||
File.SetLastAccessTime(fileName, fi.LastAccessTime);
|
||||
File.SetLastWriteTime(fileName, fi.LastWriteTime);
|
||||
}
|
||||
|
||||
public static void SetManifest(string exe, string manifestName)
|
||||
{
|
||||
Mutex x = new Mutex(false, MutexName);
|
||||
|
||||
x.WaitOne();
|
||||
|
||||
try
|
||||
{
|
||||
// Manifest file name
|
||||
string filename = Path.Combine(Paths.ManifestsDir, manifestName);
|
||||
if (File.Exists(filename) == false)
|
||||
{
|
||||
throw new FileNotFoundException(filename);
|
||||
}
|
||||
|
||||
FileInfo fi = new FileInfo(exe);
|
||||
|
||||
// Copy exe file to a temporary directory
|
||||
string exeTmp = IO.CreateTempFileNameByExt(".exe");
|
||||
IO.FileCopy(exe, exeTmp);
|
||||
|
||||
// Create a batch file
|
||||
string batFileName = Path.Combine(Paths.TmpDirName, "exec_mt.cmd");
|
||||
StreamWriter bat = new StreamWriter(batFileName, false, Str.ShiftJisEncoding);
|
||||
bat.WriteLine("call \"{0}\"", Paths.VisualStudioVCBatchFileName);
|
||||
bat.WriteLine("echo on");
|
||||
bat.WriteLine("mt.exe -manifest \"{0}\" -outputresource:\"{1}\";1", filename, exeTmp);
|
||||
bat.WriteLine("EXIT /B %ERRORLEVEL%");
|
||||
bat.Close();
|
||||
|
||||
Exception ex = null;
|
||||
|
||||
int i;
|
||||
// Repeated 20 times in order to avoid locking the file by the anti-virus software
|
||||
for (i = 0; i < 20; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Execute
|
||||
Win32BuildUtil.ExecCommand(Paths.CmdFileName, string.Format("/C \"{0}\"", batFileName), true);
|
||||
ex = null;
|
||||
|
||||
break;
|
||||
}
|
||||
catch (Exception ex2)
|
||||
{
|
||||
ex = ex2;
|
||||
}
|
||||
|
||||
ThreadObj.Sleep(Secure.Rand31i() % 50);
|
||||
}
|
||||
|
||||
if (ex != null)
|
||||
{
|
||||
throw new ApplicationException("mt.exe Manifest Processing for '" + exe + "' Failed.");
|
||||
}
|
||||
|
||||
// Revert to the original file
|
||||
IO.FileCopy(exeTmp, exe);
|
||||
|
||||
// Restore the date and time
|
||||
File.SetCreationTime(exe, fi.CreationTime);
|
||||
File.SetLastAccessTime(exe, fi.LastAccessTime);
|
||||
File.SetLastWriteTime(exe, fi.LastWriteTime);
|
||||
}
|
||||
finally
|
||||
{
|
||||
x.ReleaseMutex();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("PacketiX VPN / SoftEther VPN Build Utility")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("SoftEther Corporation")]
|
||||
[assembly: AssemblyProduct("PacketiX VPN / SoftEther VPN Build Utility")]
|
||||
[assembly: AssemblyCopyright("Copyright (c) SoftEther Corporation. All Rights Reserved.")]
|
||||
[assembly: AssemblyTrademark("PacketiX(R) and SoftEther(R) is a registered trademark of SoftEther Corporation.")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
[assembly: Guid("5bf63a11-27da-4ca4-ba9d-a60a0f8e1fd7")]
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
981
src/BuildUtil/Properties/Resources.Designer.cs
generated
981
src/BuildUtil/Properties/Resources.Designer.cs
generated
@ -1,981 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// このコードはツールによって生成されました。
|
||||
// ランタイム バージョン:2.0.50727.5472
|
||||
//
|
||||
// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
|
||||
// コードが再生成されるときに損失したりします。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
namespace BuildUtil.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
|
||||
/// </summary>
|
||||
// このクラスは StronglyTypedResourceBuilder クラスが ResGen
|
||||
// または Visual Studio のようなツールを使用して自動生成されました。
|
||||
// メンバを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
|
||||
// ResGen を実行し直すか、または VS プロジェクトをビルドし直します。
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BuildUtil.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 厳密に型指定されたこのリソース クラスを使用して、すべての検索リソースに対し、
|
||||
/// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]追加[e]Add[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_BUTTON_ADD {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_BUTTON_ADD", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]キャンセル[e]Cancel[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_BUTTON_CANCEL {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_BUTTON_CANCEL", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]完 了[e]Complete[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_BUTTON_COMPLETE {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_BUTTON_COMPLETE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]削除[e]Delete[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_BUTTON_DELETE {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_BUTTON_DELETE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]編集[e]Edit[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_BUTTON_EDIT {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_BUTTON_EDIT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]修正する[e]Modify[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_BUTTON_MODIFY {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_BUTTON_MODIFY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// O K に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_BUTTON_OK {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_BUTTON_OK", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]処理中[e]Wait[/]... に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_BUTTON_SENDING {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_BUTTON_SENDING", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]最近の候補[e]Recent Candidates[/]: に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_CANDIDATES {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_CANDIDATES", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]日付が入力されていません。[e]Date field is empty.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_DATE_EMPTY {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_DATE_EMPTY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]{0} 以前の日付を指定してください。[e]Please specify a date before {0}.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_DATE_MAX {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_DATE_MAX", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]{0} 以降の日付を指定してください。[e]Please specift a date since {0}.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_DATE_MIN {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_DATE_MIN", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]日付として認識できない文字列が入力されています。[e]Can't recognize as a valid date.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_DATE_NOTDATE {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_DATE_NOTDATE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]全件表示 ({0} 件)[e]Total ({0} entities)[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_DL_ALL {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_DL_ALL", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]ダウンロード[e]Download[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_DOWNLOAD {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_DOWNLOAD", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]日時が入力されていません。[e]Date and Time are empty.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_DT_EMPTY {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_DT_EMPTY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]{0} 以前の日時を指定してください。[e]Please specify a date and a time before {0}.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_DT_MAX {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_DT_MAX", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]{0} 以降の日時を指定してください。[e]Please specify a date and a time since {0}.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_DT_MIN {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_DT_MIN", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]日時として認識できない文字列が入力されています。[e]Can't recognize as a valid date and a time.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_DT_NOTDT {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_DT_NOTDT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]記入例[e]Example[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_EXAMPLE {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_EXAMPLE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]MS ゴシック[e]MS Gothic[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_GOTHIC {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_GOTHIC", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]データ構造のフィールド数が 1 でありません。[e]The number of fields of data structures is not one.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_GRID_ERROR_1 {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_GRID_ERROR_1", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]データ構造がリストでありません。[e]The data structure is not a list.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_GRID_ERROR_2 {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_GRID_ERROR_2", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]数値は {0} 以下を指定してください。[e]The value must be {0} or less.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_INT_MAX {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_INT_MAX", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]数値は {0} 以上を指定してください。[e]The value must be {0} or more.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_INT_MIN {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_INT_MIN", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]整数以外の文字が入力されています。[e]The value can't be recognized as an integer.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_INT_NOT_NUMBER_CHAR {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_INT_NOT_NUMBER_CHAR", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]数値が正しく入力されていません。[e]The value can't be recognized as a formal figure.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_INT_NOTINTEGER {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_INT_NOTINTEGER", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]データ "{0}" はこのリストでは不正です。[e]The data "{0}" is invalid at this list.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_INVALID {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_INVALID", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]メールアドレスが不正です。[e]The mail address is invalid.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_INVALID_EMAIL {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_INVALID_EMAIL", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]【 {0} 個目の項目 (合計 {1} 個中) - {2} 】[e]Item of piece {0} (Total: {1} entities) - {2}[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_LIST_FORMAT {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_LIST_FORMAT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CdfClass 属性が正しく指定されていないクラス %s が指定されました。 に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_NO_CDFCLASS {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_NO_CDFCLASS", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// %s 項目に %s 属性が 1 つ指定されていません。 に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_NO_SINGLE_ATT {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_NO_SINGLE_ATT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// %s 項目のジェネリック型が 1 つ指定されていません。 に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_NO_SINGLE_GENERIC_TYPE {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_NO_SINGLE_GENERIC_TYPE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]項目なし[e]No Entities[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_NOITEM {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_NOITEM", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]項目が選択されていません。[e]You have to select an entity.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_NOT_SELECTED {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_NOT_SELECTED", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]正しく選択されていません。[e]You have to select correctly.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_NOT_SELECTED_2 {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_NOT_SELECTED_2", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]ページ {0}[e]Page {0}[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_PAGING_FORMAT_1 {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_PAGING_FORMAT_1", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]最新 {0} 件[e]Latest: {0} entities[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_PAGING_FORMAT_2 {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_PAGING_FORMAT_2", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j] ({2}: {0} ~ {1})[e] ({2}: {0} - {1})[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_PAGING_HELPSTR_FORMAT {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_PAGING_HELPSTR_FORMAT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]▼選択してください▼[e]- Please Select Here -[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_PLEASE_SELECT {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_PLEASE_SELECT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]削除[e]Delete[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_REMOVE {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_REMOVE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]この項目を削除します。よろしいですか?[e]Do you want to delete this entity?[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_REMOVEMSG {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_REMOVEMSG", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]項目が 1 件も見つかりませんでした。[e]No entity is found.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_ROW_EMPTY {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_ROW_EMPTY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]▽選択可能[e]- Selectable -[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_SELECTABLE {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_SELECTABLE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]▲「{0}」でソート[e]Sort by "{0}" Ascending[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_SORT_1 {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_SORT_1", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]▼「{0}」で逆ソート[e]Sort by "{0}" Descending[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_SORT_2 {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_SORT_2", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]▲標準のソート[e]Standard Ascending Sort[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_SORT_DEF1 {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_SORT_DEF1", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]▼標準の逆ソート[e]Standard Descending Sort[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_SORT_DEF2 {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_SORT_DEF2", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]使用できない文字が含まれています。[e]There are some invalid characters which can't be used.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_STRING_INVALIDCHAR {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_STRING_INVALIDCHAR", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]文字数は {0} 以下にする必要があります。[e]The number of characters must be {0} or less.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_STRING_MAX {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_STRING_MAX", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]文字を {0} 文字以上入力する必要があります。[e]The number of characters must be {0} or more.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_STRING_MIN {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_STRING_MIN", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]改行文字を含めることはできません。[e]There must not be any New-Line characters in the string.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_STRING_NOLINE {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_STRING_NOLINE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]表示不可能な文字コードが含まれています。[e]There must not be any Non-Printable characters in the string.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_STRING_NONPRINTABLE {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_STRING_NONPRINTABLE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]入力いただいた内容を確認のため表示しています。内容をよくご確認ください。<BR>この内容で確定する場合は [OK] ボタンを、修正する場合は [修正する] ボタンをクリックしてください。[e]Please confirm the printed data which you input. Please read it carefully.<BR>If you want to commit with this data, click the "OK" button. Otherwise, click the "Modify" button.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_TEXT_CONFIRM {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_TEXT_CONFIRM", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]エラーが発生しました。内容を見直してください。修正する場合は [修正する] ボタンをクリックしてください。[e]An error has been occurred. Please confirm the fields. To modify it, click the "Modify" button.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_TEXT_CONFIRM_ERROR {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_TEXT_CONFIRM_ERROR", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]入力が完了したら [OK] ボタンを、入力をキャンセルするには [キャンセル] ボタンをクリックしてください。[e]Please click the "OK" button after you complete filling all necessary fields. To cancel inputting, click the "Cancel" button.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_TEXT_OK {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_TEXT_OK", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]時刻が入力されていません。[e]Time is empty.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_TIME_EMPTY {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_TIME_EMPTY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]{0} 以前の時刻を指定してください。[e]Please specify a time before {0}.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_TIME_MAX {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_TIME_MAX", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]{0} 以降の時刻を指定してください。[e]Please specify a time after {0}.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_TIME_MIN {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_TIME_MIN", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]時刻として認識できない文字列が入力されています。[e]Can't recognize as a valid time.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_TIME_NOTTIME {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_TIME_NOTTIME", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [j]フィールド %s の型 %s がサポートされていません。[e]In the field "%s", the type "%s" is not supported.[/] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CDF_UNSUPPORTED {
|
||||
get {
|
||||
return ResourceManager.GetString("CDF_UNSUPPORTED", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Item に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_CT_STD_COLUMN_1 {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_CT_STD_COLUMN_1", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Value に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_CT_STD_COLUMN_2 {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_CT_STD_COLUMN_2", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The date and time specification is invalid. \nThe date and time must be in the same format as "2005/10/08 19:30:00" where 6 integers are specified, representing year/month/day hour:minute:second separated by forward slashes, a space and then colons. Specify 4 digits for the year. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_EVAL_DATE_TIME_FAILED {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_EVAL_DATE_TIME_FAILED", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// You must specify an integer that is not less than 1. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_EVAL_INT {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_EVAL_INT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// You must specify an integer in the range from %u to %u for the value. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_EVAL_MIN_MAX {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_EVAL_MIN_MAX", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// You cannot make a blank specification. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_EVAL_NOT_EMPTY {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_EVAL_NOT_EMPTY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Port number is invalid. Specify a port number that is within the range of 1 to 65535. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_EVAL_PORT {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_EVAL_PORT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The string contains unusable characters. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_EVAL_SAFE {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_EVAL_SAFE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// %S command - %s に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_EXEC_MSG_NAME {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_EXEC_MSG_NAME", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The file name is not specified. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_FILE_NAME_EMPTY {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_FILE_NAME_EMPTY", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cannot find specified file "%s". に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_FILE_NOT_FOUND {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_FILE_NOT_FOUND", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// You can use the following %u commands: に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_HELP_1 {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_HELP_1", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// To reference the usage for each command, input "command name /?" to view a help. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_HELP_2 {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_HELP_2", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Parameters: に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_HELP_ARGS {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_HELP_ARGS", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Purpose: に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_HELP_DESCRIPTION {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_HELP_DESCRIPTION", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Description: に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_HELP_HELP {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_HELP_HELP", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Help for command "%S" に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_HELP_TITLE {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_HELP_TITLE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Usage: に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_HELP_USAGE {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_HELP_USAGE", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// "IP アドレス/サブネットマスク" の形式で指定してください。
|
||||
///IP アドレスは 192.168.0.1 のように 10 進数をドットで区切って指定します。サブネットマスクは 255.255.255.0 のように 10 進数をドットで区切って指定するか、24 のように先頭からのビット長を 10 進数で指定できます。
|
||||
///単一のホストを指定するには、サブネットマスクを 255.255.255.255 または 32 として指定します。
|
||||
///(例)
|
||||
/// 192.168.0.1/24
|
||||
/// 192.168.0.1/255.255.255.0
|
||||
///192.168.0.5/255.255.255.255
|
||||
///
|
||||
/// に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_PARSE_IP_SUBNET_ERROR_1 {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_PARSE_IP_SUBNET_ERROR_1", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 指定された IP アドレスはネットワークアドレスではありません。 に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_PARSE_IP_SUBNET_ERROR_2 {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_PARSE_IP_SUBNET_ERROR_2", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enter a value: に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_PROMPT {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_PROMPT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Input the port number: に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_PROMPT_PORT {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_PROMPT_PORT", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// There is no description for this command. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_UNKNOWM {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_UNKNOWM", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// There is no command execution example. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_UNKNOWN_ARGS {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_UNKNOWN_ARGS", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// There is no detailed description for this command. If you would like to know more detail about this command, please refer to the manual or online documentation. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_UNKNOWN_HELP {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_UNKNOWN_HELP", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// There is no description for this parameter. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CMD_UNKNOWN_PARAM {
|
||||
get {
|
||||
return ResourceManager.GetString("CMD_UNKNOWN_PARAM", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// "%S": The command-name is ambiguous. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_AMBIGUOUS_CMD {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_AMBIGUOUS_CMD", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The specified command name matches the following multiple commands. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_AMBIGUOUS_CMD_1 {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_AMBIGUOUS_CMD_1", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Please re-specify the command name more strictly. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_AMBIGUOUS_CMD_2 {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_AMBIGUOUS_CMD_2", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// "%S": The parameter name is ambiguous. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_AMBIGUOUS_PARAM {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_AMBIGUOUS_PARAM", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The specified parameter name matches with the following parameters that can be specified as a parameter of command "%S". に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_AMBIGUOUS_PARAM_1 {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_AMBIGUOUS_PARAM_1", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Please re-specify the parameter name more strictly. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_AMBIGUOUS_PARAM_2 {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_AMBIGUOUS_PARAM_2", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Error: Unable to open the specified input file "%s". に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_INFILE_ERROR {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_INFILE_ERROR", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The commands written in the file "%s" will be used instead of input from keyboard. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_INFILE_START {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_INFILE_START", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The parameter "/%S" has been specified. It is not possible to specify this parameter when using the command "%S". Input "%S /HELP" to see the list of what parameters can be used. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_INVALID_PARAM {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_INVALID_PARAM", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Error: Unable to create the specified output file "%s". に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_OUTFILE_ERROR {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_OUTFILE_ERROR", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The message output to the console will be saved in the file "%s". に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_OUTFILE_START {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_OUTFILE_START", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// "%S": Command not found. You can use the HELP command to view a list of the available commands. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_UNKNOWN_CMD {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_UNKNOWN_CMD", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [EOF] に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_USER_CANCEL {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_USER_CANCEL", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The command was canceled. に類似しているローカライズされた文字列を検索します。
|
||||
/// </summary>
|
||||
internal static string CON_USER_CANCELED {
|
||||
get {
|
||||
return ResourceManager.GetString("CON_USER_CANCELED", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,431 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="CDF_BUTTON_ADD" xml:space="preserve">
|
||||
<value>[j]追加[e]Add[/]</value>
|
||||
</data>
|
||||
<data name="CDF_BUTTON_CANCEL" xml:space="preserve">
|
||||
<value> [j]キャンセル[e]Cancel[/] </value>
|
||||
</data>
|
||||
<data name="CDF_BUTTON_COMPLETE" xml:space="preserve">
|
||||
<value> [j]完 了[e]Complete[/] </value>
|
||||
</data>
|
||||
<data name="CDF_BUTTON_DELETE" xml:space="preserve">
|
||||
<value>[j]削除[e]Delete[/]</value>
|
||||
</data>
|
||||
<data name="CDF_BUTTON_EDIT" xml:space="preserve">
|
||||
<value>[j]編集[e]Edit[/]</value>
|
||||
</data>
|
||||
<data name="CDF_BUTTON_MODIFY" xml:space="preserve">
|
||||
<value> [j]修正する[e]Modify[/] </value>
|
||||
</data>
|
||||
<data name="CDF_BUTTON_OK" xml:space="preserve">
|
||||
<value> O K </value>
|
||||
</data>
|
||||
<data name="CDF_BUTTON_SENDING" xml:space="preserve">
|
||||
<value> [j]処理中[e]Wait[/]...</value>
|
||||
</data>
|
||||
<data name="CDF_CANDIDATES" xml:space="preserve">
|
||||
<value> [j]最近の候補[e]Recent Candidates[/]: </value>
|
||||
</data>
|
||||
<data name="CDF_DATE_EMPTY" xml:space="preserve">
|
||||
<value>[j]日付が入力されていません。[e]Date field is empty.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_DATE_MAX" xml:space="preserve">
|
||||
<value>[j]{0} 以前の日付を指定してください。[e]Please specify a date before {0}.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_DATE_MIN" xml:space="preserve">
|
||||
<value>[j]{0} 以降の日付を指定してください。[e]Please specift a date since {0}.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_DATE_NOTDATE" xml:space="preserve">
|
||||
<value>[j]日付として認識できない文字列が入力されています。[e]Can't recognize as a valid date.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_DL_ALL" xml:space="preserve">
|
||||
<value>[j]全件表示 ({0} 件)[e]Total ({0} entities)[/]</value>
|
||||
</data>
|
||||
<data name="CDF_DOWNLOAD" xml:space="preserve">
|
||||
<value>[j]ダウンロード[e]Download[/]</value>
|
||||
</data>
|
||||
<data name="CDF_DT_EMPTY" xml:space="preserve">
|
||||
<value>[j]日時が入力されていません。[e]Date and Time are empty.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_DT_MAX" xml:space="preserve">
|
||||
<value>[j]{0} 以前の日時を指定してください。[e]Please specify a date and a time before {0}.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_DT_MIN" xml:space="preserve">
|
||||
<value>[j]{0} 以降の日時を指定してください。[e]Please specify a date and a time since {0}.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_DT_NOTDT" xml:space="preserve">
|
||||
<value>[j]日時として認識できない文字列が入力されています。[e]Can't recognize as a valid date and a time.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_EXAMPLE" xml:space="preserve">
|
||||
<value>[j]記入例[e]Example[/]</value>
|
||||
</data>
|
||||
<data name="CDF_GOTHIC" xml:space="preserve">
|
||||
<value>[j]MS ゴシック[e]MS Gothic[/]</value>
|
||||
</data>
|
||||
<data name="CDF_GRID_ERROR_1" xml:space="preserve">
|
||||
<value>[j]データ構造のフィールド数が 1 でありません。[e]The number of fields of data structures is not one.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_GRID_ERROR_2" xml:space="preserve">
|
||||
<value>[j]データ構造がリストでありません。[e]The data structure is not a list.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_INT_MAX" xml:space="preserve">
|
||||
<value>[j]数値は {0} 以下を指定してください。[e]The value must be {0} or less.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_INT_MIN" xml:space="preserve">
|
||||
<value>[j]数値は {0} 以上を指定してください。[e]The value must be {0} or more.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_INT_NOTINTEGER" xml:space="preserve">
|
||||
<value>[j]数値が正しく入力されていません。[e]The value can't be recognized as a formal figure.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_INT_NOT_NUMBER_CHAR" xml:space="preserve">
|
||||
<value>[j]整数以外の文字が入力されています。[e]The value can't be recognized as an integer.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_INVALID" xml:space="preserve">
|
||||
<value>[j]データ "{0}" はこのリストでは不正です。[e]The data "{0}" is invalid at this list.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_INVALID_EMAIL" xml:space="preserve">
|
||||
<value>[j]メールアドレスが不正です。[e]The mail address is invalid.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_LIST_FORMAT" xml:space="preserve">
|
||||
<value>[j]【 {0} 個目の項目 (合計 {1} 個中) - {2} 】[e]Item of piece {0} (Total: {1} entities) - {2}[/]</value>
|
||||
</data>
|
||||
<data name="CDF_NOITEM" xml:space="preserve">
|
||||
<value>[j]項目なし[e]No Entities[/]</value>
|
||||
</data>
|
||||
<data name="CDF_NOT_SELECTED" xml:space="preserve">
|
||||
<value>[j]項目が選択されていません。[e]You have to select an entity.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_NOT_SELECTED_2" xml:space="preserve">
|
||||
<value>[j]正しく選択されていません。[e]You have to select correctly.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_NO_CDFCLASS" xml:space="preserve">
|
||||
<value>CdfClass 属性が正しく指定されていないクラス %s が指定されました。</value>
|
||||
</data>
|
||||
<data name="CDF_NO_SINGLE_ATT" xml:space="preserve">
|
||||
<value>%s 項目に %s 属性が 1 つ指定されていません。</value>
|
||||
</data>
|
||||
<data name="CDF_NO_SINGLE_GENERIC_TYPE" xml:space="preserve">
|
||||
<value>%s 項目のジェネリック型が 1 つ指定されていません。</value>
|
||||
</data>
|
||||
<data name="CDF_PAGING_FORMAT_1" xml:space="preserve">
|
||||
<value>[j]ページ {0}[e]Page {0}[/]</value>
|
||||
</data>
|
||||
<data name="CDF_PAGING_FORMAT_2" xml:space="preserve">
|
||||
<value>[j]最新 {0} 件[e]Latest: {0} entities[/]</value>
|
||||
</data>
|
||||
<data name="CDF_PAGING_HELPSTR_FORMAT" xml:space="preserve">
|
||||
<value>[j] ({2}: {0} ~ {1})[e] ({2}: {0} - {1})[/]</value>
|
||||
</data>
|
||||
<data name="CDF_PLEASE_SELECT" xml:space="preserve">
|
||||
<value>[j]▼選択してください▼[e]- Please Select Here -[/]</value>
|
||||
</data>
|
||||
<data name="CDF_REMOVE" xml:space="preserve">
|
||||
<value>[j]削除[e]Delete[/]</value>
|
||||
</data>
|
||||
<data name="CDF_REMOVEMSG" xml:space="preserve">
|
||||
<value>[j]この項目を削除します。よろしいですか?[e]Do you want to delete this entity?[/]</value>
|
||||
</data>
|
||||
<data name="CDF_ROW_EMPTY" xml:space="preserve">
|
||||
<value>[j]項目が 1 件も見つかりませんでした。[e]No entity is found.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_SELECTABLE" xml:space="preserve">
|
||||
<value>[j]▽選択可能[e]- Selectable -[/]</value>
|
||||
</data>
|
||||
<data name="CDF_SORT_1" xml:space="preserve">
|
||||
<value>[j]▲「{0}」でソート[e]Sort by "{0}" Ascending[/]</value>
|
||||
</data>
|
||||
<data name="CDF_SORT_2" xml:space="preserve">
|
||||
<value>[j]▼「{0}」で逆ソート[e]Sort by "{0}" Descending[/]</value>
|
||||
</data>
|
||||
<data name="CDF_SORT_DEF1" xml:space="preserve">
|
||||
<value>[j]▲標準のソート[e]Standard Ascending Sort[/]</value>
|
||||
</data>
|
||||
<data name="CDF_SORT_DEF2" xml:space="preserve">
|
||||
<value>[j]▼標準の逆ソート[e]Standard Descending Sort[/]</value>
|
||||
</data>
|
||||
<data name="CDF_STRING_INVALIDCHAR" xml:space="preserve">
|
||||
<value>[j]使用できない文字が含まれています。[e]There are some invalid characters which can't be used.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_STRING_MAX" xml:space="preserve">
|
||||
<value>[j]文字数は {0} 以下にする必要があります。[e]The number of characters must be {0} or less.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_STRING_MIN" xml:space="preserve">
|
||||
<value>[j]文字を {0} 文字以上入力する必要があります。[e]The number of characters must be {0} or more.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_STRING_NOLINE" xml:space="preserve">
|
||||
<value>[j]改行文字を含めることはできません。[e]There must not be any New-Line characters in the string.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_STRING_NONPRINTABLE" xml:space="preserve">
|
||||
<value>[j]表示不可能な文字コードが含まれています。[e]There must not be any Non-Printable characters in the string.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_TEXT_CONFIRM" xml:space="preserve">
|
||||
<value>[j]入力いただいた内容を確認のため表示しています。内容をよくご確認ください。<BR>この内容で確定する場合は [OK] ボタンを、修正する場合は [修正する] ボタンをクリックしてください。[e]Please confirm the printed data which you input. Please read it carefully.<BR>If you want to commit with this data, click the "OK" button. Otherwise, click the "Modify" button.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_TEXT_CONFIRM_ERROR" xml:space="preserve">
|
||||
<value>[j]エラーが発生しました。内容を見直してください。修正する場合は [修正する] ボタンをクリックしてください。[e]An error has been occurred. Please confirm the fields. To modify it, click the "Modify" button.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_TEXT_OK" xml:space="preserve">
|
||||
<value>[j]入力が完了したら [OK] ボタンを、入力をキャンセルするには [キャンセル] ボタンをクリックしてください。[e]Please click the "OK" button after you complete filling all necessary fields. To cancel inputting, click the "Cancel" button.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_TIME_EMPTY" xml:space="preserve">
|
||||
<value>[j]時刻が入力されていません。[e]Time is empty.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_TIME_MAX" xml:space="preserve">
|
||||
<value>[j]{0} 以前の時刻を指定してください。[e]Please specify a time before {0}.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_TIME_MIN" xml:space="preserve">
|
||||
<value>[j]{0} 以降の時刻を指定してください。[e]Please specify a time after {0}.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_TIME_NOTTIME" xml:space="preserve">
|
||||
<value>[j]時刻として認識できない文字列が入力されています。[e]Can't recognize as a valid time.[/]</value>
|
||||
</data>
|
||||
<data name="CDF_UNSUPPORTED" xml:space="preserve">
|
||||
<value>[j]フィールド %s の型 %s がサポートされていません。[e]In the field "%s", the type "%s" is not supported.[/]</value>
|
||||
</data>
|
||||
<data name="CMD_CT_STD_COLUMN_1" xml:space="preserve">
|
||||
<value>Item</value>
|
||||
</data>
|
||||
<data name="CMD_CT_STD_COLUMN_2" xml:space="preserve">
|
||||
<value>Value</value>
|
||||
</data>
|
||||
<data name="CMD_EVAL_DATE_TIME_FAILED" xml:space="preserve">
|
||||
<value>The date and time specification is invalid. \nThe date and time must be in the same format as "2005/10/08 19:30:00" where 6 integers are specified, representing year/month/day hour:minute:second separated by forward slashes, a space and then colons. Specify 4 digits for the year.</value>
|
||||
</data>
|
||||
<data name="CMD_EVAL_INT" xml:space="preserve">
|
||||
<value>You must specify an integer that is not less than 1.</value>
|
||||
</data>
|
||||
<data name="CMD_EVAL_MIN_MAX" xml:space="preserve">
|
||||
<value>You must specify an integer in the range from %u to %u for the value.</value>
|
||||
</data>
|
||||
<data name="CMD_EVAL_NOT_EMPTY" xml:space="preserve">
|
||||
<value>You cannot make a blank specification.</value>
|
||||
</data>
|
||||
<data name="CMD_EVAL_PORT" xml:space="preserve">
|
||||
<value>Port number is invalid. Specify a port number that is within the range of 1 to 65535.</value>
|
||||
</data>
|
||||
<data name="CMD_EVAL_SAFE" xml:space="preserve">
|
||||
<value>The string contains unusable characters.</value>
|
||||
</data>
|
||||
<data name="CMD_EXEC_MSG_NAME" xml:space="preserve">
|
||||
<value>%S command - %s</value>
|
||||
</data>
|
||||
<data name="CMD_FILE_NAME_EMPTY" xml:space="preserve">
|
||||
<value>The file name is not specified.</value>
|
||||
</data>
|
||||
<data name="CMD_FILE_NOT_FOUND" xml:space="preserve">
|
||||
<value>Cannot find specified file "%s".</value>
|
||||
</data>
|
||||
<data name="CMD_HELP_1" xml:space="preserve">
|
||||
<value>You can use the following %u commands:</value>
|
||||
</data>
|
||||
<data name="CMD_HELP_2" xml:space="preserve">
|
||||
<value>To reference the usage for each command, input "command name /?" to view a help.</value>
|
||||
</data>
|
||||
<data name="CMD_HELP_ARGS" xml:space="preserve">
|
||||
<value>Parameters:</value>
|
||||
</data>
|
||||
<data name="CMD_HELP_DESCRIPTION" xml:space="preserve">
|
||||
<value>Purpose:</value>
|
||||
</data>
|
||||
<data name="CMD_HELP_HELP" xml:space="preserve">
|
||||
<value>Description:</value>
|
||||
</data>
|
||||
<data name="CMD_HELP_TITLE" xml:space="preserve">
|
||||
<value>Help for command "%S"</value>
|
||||
</data>
|
||||
<data name="CMD_HELP_USAGE" xml:space="preserve">
|
||||
<value>Usage:</value>
|
||||
</data>
|
||||
<data name="CMD_PARSE_IP_SUBNET_ERROR_1" xml:space="preserve">
|
||||
<value>"IP アドレス/サブネットマスク" の形式で指定してください。
|
||||
IP アドレスは 192.168.0.1 のように 10 進数をドットで区切って指定します。サブネットマスクは 255.255.255.0 のように 10 進数をドットで区切って指定するか、24 のように先頭からのビット長を 10 進数で指定できます。
|
||||
単一のホストを指定するには、サブネットマスクを 255.255.255.255 または 32 として指定します。
|
||||
(例)
|
||||
192.168.0.1/24
|
||||
192.168.0.1/255.255.255.0
|
||||
192.168.0.5/255.255.255.255
|
||||
|
||||
</value>
|
||||
</data>
|
||||
<data name="CMD_PARSE_IP_SUBNET_ERROR_2" xml:space="preserve">
|
||||
<value>指定された IP アドレスはネットワークアドレスではありません。</value>
|
||||
</data>
|
||||
<data name="CMD_PROMPT" xml:space="preserve">
|
||||
<value>Enter a value: </value>
|
||||
</data>
|
||||
<data name="CMD_PROMPT_PORT" xml:space="preserve">
|
||||
<value>Input the port number: </value>
|
||||
</data>
|
||||
<data name="CMD_UNKNOWM" xml:space="preserve">
|
||||
<value>There is no description for this command.</value>
|
||||
</data>
|
||||
<data name="CMD_UNKNOWN_ARGS" xml:space="preserve">
|
||||
<value>There is no command execution example.</value>
|
||||
</data>
|
||||
<data name="CMD_UNKNOWN_HELP" xml:space="preserve">
|
||||
<value>There is no detailed description for this command. If you would like to know more detail about this command, please refer to the manual or online documentation.</value>
|
||||
</data>
|
||||
<data name="CMD_UNKNOWN_PARAM" xml:space="preserve">
|
||||
<value>There is no description for this parameter.</value>
|
||||
</data>
|
||||
<data name="CON_AMBIGUOUS_CMD" xml:space="preserve">
|
||||
<value>"%S": The command-name is ambiguous.</value>
|
||||
</data>
|
||||
<data name="CON_AMBIGUOUS_CMD_1" xml:space="preserve">
|
||||
<value>The specified command name matches the following multiple commands.</value>
|
||||
</data>
|
||||
<data name="CON_AMBIGUOUS_CMD_2" xml:space="preserve">
|
||||
<value>Please re-specify the command name more strictly.</value>
|
||||
</data>
|
||||
<data name="CON_AMBIGUOUS_PARAM" xml:space="preserve">
|
||||
<value>"%S": The parameter name is ambiguous.</value>
|
||||
</data>
|
||||
<data name="CON_AMBIGUOUS_PARAM_1" xml:space="preserve">
|
||||
<value>The specified parameter name matches with the following parameters that can be specified as a parameter of command "%S".</value>
|
||||
</data>
|
||||
<data name="CON_AMBIGUOUS_PARAM_2" xml:space="preserve">
|
||||
<value>Please re-specify the parameter name more strictly.</value>
|
||||
</data>
|
||||
<data name="CON_INFILE_ERROR" xml:space="preserve">
|
||||
<value>Error: Unable to open the specified input file "%s".</value>
|
||||
</data>
|
||||
<data name="CON_INFILE_START" xml:space="preserve">
|
||||
<value>The commands written in the file "%s" will be used instead of input from keyboard.</value>
|
||||
</data>
|
||||
<data name="CON_INVALID_PARAM" xml:space="preserve">
|
||||
<value>The parameter "/%S" has been specified. It is not possible to specify this parameter when using the command "%S". Input "%S /HELP" to see the list of what parameters can be used.</value>
|
||||
</data>
|
||||
<data name="CON_OUTFILE_ERROR" xml:space="preserve">
|
||||
<value>Error: Unable to create the specified output file "%s".</value>
|
||||
</data>
|
||||
<data name="CON_OUTFILE_START" xml:space="preserve">
|
||||
<value>The message output to the console will be saved in the file "%s".</value>
|
||||
</data>
|
||||
<data name="CON_UNKNOWN_CMD" xml:space="preserve">
|
||||
<value>"%S": Command not found. You can use the HELP command to view a list of the available commands.</value>
|
||||
</data>
|
||||
<data name="CON_USER_CANCEL" xml:space="preserve">
|
||||
<value>[EOF]</value>
|
||||
</data>
|
||||
<data name="CON_USER_CANCELED" xml:space="preserve">
|
||||
<value>The command was canceled.</value>
|
||||
</data>
|
||||
</root>
|
48
src/BuildUtil/Properties/Settings.Designer.cs
generated
48
src/BuildUtil/Properties/Settings.Designer.cs
generated
@ -1,48 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// このコードはツールによって生成されました。
|
||||
// ランタイム バージョン:2.0.50727.5466
|
||||
//
|
||||
// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
|
||||
// コードが再生成されるときに損失したりします。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
namespace BuildUtil.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("http://dv/Sign/Sign.asmx")]
|
||||
public string BuildUtil_SignService_Sign {
|
||||
get {
|
||||
return ((string)(this["BuildUtil_SignService_Sign"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.WebServiceUrl)]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("http://hvsigncode/Sign.asmx")]
|
||||
public string BuildUtilTmp_HvSignService_Sign {
|
||||
get {
|
||||
return ((string)(this["BuildUtilTmp_HvSignService_Sign"]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="BuildUtil.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="BuildUtil_SignService_Sign" Type="(Web Service URL)" Scope="Application">
|
||||
<Value Profile="(Default)">http://dv/Sign/Sign.asmx</Value>
|
||||
</Setting>
|
||||
<Setting Name="BuildUtilTmp_HvSignService_Sign" Type="(Web Service URL)" Scope="Application">
|
||||
<Value Profile="(Default)">http://hvsigncode/Sign.asmx</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
@ -1,39 +0,0 @@
|
||||
// SoftEther VPN Source Code - Developer Edition Master Branch
|
||||
// Build Utility
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using CoreUtil;
|
||||
|
||||
namespace BuildUtil
|
||||
{
|
||||
public static class TestClass
|
||||
{
|
||||
public static void Test()
|
||||
{
|
||||
Win32BuildUtil.MakeDriverPackage();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,979 +0,0 @@
|
||||
// SoftEther VPN Source Code - Developer Edition Master Branch
|
||||
// Build Utility
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using CoreUtil;
|
||||
|
||||
namespace BuildUtil
|
||||
{
|
||||
// Build the UNIX software
|
||||
public class BuildSoftwareUnix : BuildSoftware
|
||||
{
|
||||
public readonly string[] SrcDirNameList =
|
||||
{
|
||||
@"bin\BuiltHamcoreFiles",
|
||||
@"bin\hamcore",
|
||||
"Cedar",
|
||||
"vpntest",
|
||||
"Mayaqua",
|
||||
"Neo",
|
||||
"vpnbridge",
|
||||
"vpnclient",
|
||||
"vpncmd",
|
||||
"vpnserver",
|
||||
};
|
||||
|
||||
public readonly string CrossLibName;
|
||||
public readonly string CrossLibBaseDir = Path.Combine(Paths.BaseDirName, @"BuildFiles\CrossLib");
|
||||
public readonly bool UseGccBitsOption;
|
||||
public readonly string CrossCompilerName;
|
||||
public readonly bool NoPThreadOption;
|
||||
public readonly string CrossCompilerOption;
|
||||
public readonly string SrcKitDefaultDir;
|
||||
|
||||
public BuildSoftwareUnix(Software software, int versionMajor, int versionMinor, int versionBuild, string buildName, Cpu cpu, OS os,
|
||||
string crossLibName, bool useGccBitsOption, string crossCompilerName, bool noPthreadOption, string crossCompilerOption)
|
||||
: base(software, versionMajor, versionMinor, versionBuild, buildName, cpu, os)
|
||||
{
|
||||
this.CrossLibName = crossLibName;
|
||||
this.UseGccBitsOption = useGccBitsOption;
|
||||
this.CrossCompilerName = crossCompilerName;
|
||||
this.NoPThreadOption = noPthreadOption;
|
||||
this.CrossCompilerOption = crossCompilerOption;
|
||||
|
||||
#if !BU_SOFTETHER
|
||||
this.SrcKitDefaultDir = Env.SystemDir.Substring(0, 2) + @"\tmp\vpn4_srckit";
|
||||
#else
|
||||
this.SrcKitDefaultDir = Env.SystemDir.Substring(0, 2) + @"\tmp\se_vpn_srckit";
|
||||
#endif
|
||||
}
|
||||
|
||||
// Run the build
|
||||
public void Build(bool debugMode)
|
||||
{
|
||||
string mutexName = "buildsrckit_" + this.CrossLibName;
|
||||
|
||||
Mutex mutex = new Mutex(false, mutexName);
|
||||
|
||||
mutex.WaitOne();
|
||||
|
||||
try
|
||||
{
|
||||
if (this.BuildSrcKit(SrcKitDefaultDir, debugMode))
|
||||
{
|
||||
this.BuildWithCrossCompiler(SrcKitDefaultDir);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
mutex.ReleaseMutex();
|
||||
}
|
||||
|
||||
this.Release(SrcKitDefaultDir);
|
||||
}
|
||||
|
||||
public override void Build()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
// Delegate to copy the source code
|
||||
public bool CopySrcFilesDelegate(FileInfo info)
|
||||
{
|
||||
string[] ignoreExts =
|
||||
{
|
||||
".exe", ".sys", ".dll", ".inf", ".vcproj", ".user",
|
||||
".ico", ".rc",
|
||||
};
|
||||
string name = info.FullName;
|
||||
|
||||
if (Str.InStr(name, @"\.svn\") ||
|
||||
Str.InStr(name, @"\WinPcap\") ||
|
||||
Str.InStr(name, @"_Debug\") ||
|
||||
Str.InStr(name, @"_Release\") ||
|
||||
Str.InStr(name, @"\BuiltHamcoreFiles\win32_"))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach (string ext in ignoreExts)
|
||||
{
|
||||
if (name.EndsWith(ext, StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Create a release
|
||||
public virtual void Release(string baseOutputDir)
|
||||
{
|
||||
string srcDir = Path.Combine(baseOutputDir, this.CrossLibName + @"\src");
|
||||
string releaseFileName = Path.Combine(Paths.ReleaseDir, this.OutputFileName);
|
||||
Con.WriteLine("Generating '{0}'...", releaseFileName);
|
||||
|
||||
List<string> files = new List<string>();
|
||||
string gccOptionForLink;
|
||||
string gccOptionForCompile;
|
||||
|
||||
generateGccOptions(srcDir, false, false, out gccOptionForLink, out gccOptionForCompile);
|
||||
|
||||
string targetName = this.Software.ToString();
|
||||
|
||||
// Makefile
|
||||
StringWriter mk = GenerateMakeFileForRelease(srcDir);
|
||||
byte[] mkData = Str.NormalizeCrlf(Str.Utf8Encoding.GetBytes(mk.ToString()), new byte[] { 10 });
|
||||
|
||||
TarPacker tar = new TarPacker();
|
||||
|
||||
tar.AddFileSimple(targetName + @"\Makefile", mkData, 0, mkData.Length, DateTime.Now);
|
||||
|
||||
// Install Script
|
||||
string isText = File.ReadAllText(Paths.UnixInstallScript);
|
||||
isText = Str.ReplaceStr(isText, "<TITLE>", TitleString, false);
|
||||
byte[] scriptData = Str.NormalizeCrlf(Str.Utf8Encoding.GetBytes(isText), new byte[] { 10 });
|
||||
tar.AddFileSimple(targetName + @"\.install.sh", scriptData, 0, scriptData.Length, DateTime.Now);
|
||||
|
||||
// EULA
|
||||
Encoding enc = Str.Utf8Encoding;
|
||||
|
||||
if (true)
|
||||
{
|
||||
string srcData = File.ReadAllText(Path.Combine(Paths.BinDirName, @"hamcore\eula.txt"),
|
||||
enc);
|
||||
|
||||
byte[] destData = enc.GetBytes(srcData);
|
||||
|
||||
tar.AddFileSimple(targetName + @"\" + "ReadMeFirst_License.txt", destData, 0, destData.Length, DateTime.Now);
|
||||
}
|
||||
|
||||
if (true)
|
||||
{
|
||||
string srcData = File.ReadAllText(Path.Combine(Paths.BinDirName, @"hamcore\authors.txt"),
|
||||
enc);
|
||||
|
||||
byte[] destData = enc.GetBytes(srcData);
|
||||
|
||||
tar.AddFileSimple(targetName + @"\" + "Authors.txt", destData, 0, destData.Length, DateTime.Now);
|
||||
}
|
||||
|
||||
if (true)
|
||||
{
|
||||
string srcData = File.ReadAllText(Path.Combine(Paths.BinDirName, @"hamcore\warning_ja.txt"),
|
||||
enc);
|
||||
|
||||
byte[] destData = enc.GetBytes(srcData);
|
||||
|
||||
tar.AddFileSimple(targetName + @"\" + "ReadMeFirst_Important_Notices_ja.txt", destData, 0, destData.Length, DateTime.Now);
|
||||
}
|
||||
|
||||
if (true)
|
||||
{
|
||||
string srcData = File.ReadAllText(Path.Combine(Paths.BinDirName, @"hamcore\warning_en.txt"),
|
||||
enc);
|
||||
|
||||
byte[] destData = enc.GetBytes(srcData);
|
||||
|
||||
tar.AddFileSimple(targetName + @"\" + "ReadMeFirst_Important_Notices_en.txt", destData, 0, destData.Length, DateTime.Now);
|
||||
}
|
||||
|
||||
if (true)
|
||||
{
|
||||
string srcData = File.ReadAllText(Path.Combine(Paths.BinDirName, @"hamcore\warning_ru.txt"),
|
||||
enc);
|
||||
|
||||
byte[] destData = enc.GetBytes(srcData);
|
||||
|
||||
tar.AddFileSimple(targetName + @"\" + "ReadMeFirst_Important_Notices_ru.txt", destData, 0, destData.Length, DateTime.Now);
|
||||
}
|
||||
|
||||
|
||||
if (true)
|
||||
{
|
||||
string srcData = File.ReadAllText(Path.Combine(Paths.BinDirName, @"hamcore\warning_cn.txt"),
|
||||
enc);
|
||||
|
||||
byte[] destData = enc.GetBytes(srcData);
|
||||
|
||||
tar.AddFileSimple(targetName + @"\" + "ReadMeFirst_Important_Notices_cn.txt", destData, 0, destData.Length, DateTime.Now);
|
||||
}
|
||||
|
||||
|
||||
// Codes
|
||||
string[] dirs =
|
||||
{
|
||||
Path.Combine(srcDir, "code"),
|
||||
Path.Combine(srcDir, "lib"),
|
||||
};
|
||||
|
||||
foreach (string dir in dirs)
|
||||
{
|
||||
string[] fileList = Directory.GetFiles(dir, "*.a", SearchOption.TopDirectoryOnly);
|
||||
|
||||
if (Path.GetFileName(dir).Equals("code", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
fileList = new string[]
|
||||
{
|
||||
Path.Combine(dir, string.Format("{0}.a", this.Software.ToString())),
|
||||
Path.Combine(dir, "vpncmd.a"),
|
||||
};
|
||||
}
|
||||
|
||||
foreach (string fileName in fileList)
|
||||
{
|
||||
if (Str.StrCmpi(Path.GetFileName(fileName), "libpcap.a") == false)
|
||||
{
|
||||
// Libpcap.a is not included in the release
|
||||
byte[] fileData = File.ReadAllBytes(fileName);
|
||||
|
||||
tar.AddFileSimple(targetName + @"\" + IO.GetRelativeFileName(fileName, srcDir),
|
||||
fileData, 0, fileData.Length, DateTime.Now);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// License file
|
||||
byte[] lsFileData = File.ReadAllBytes(Path.Combine(CrossLibBaseDir, @"License.txt"));
|
||||
tar.AddFileSimple(targetName + @"\lib\License.txt", lsFileData, 0, lsFileData.Length, DateTime.Now);
|
||||
|
||||
// HamCore
|
||||
byte[] hcData = File.ReadAllBytes(Path.Combine(Paths.BaseDirName, string.Format(@"bin\BuiltHamcoreFiles\hamcore_unix\hamcore.se2")));
|
||||
tar.AddFileSimple(targetName + @"\hamcore.se2", hcData, 0, hcData.Length, DateTime.Now);
|
||||
|
||||
// Generate a tar
|
||||
tar.Finish();
|
||||
byte[] tarData = tar.CompressToGZip();
|
||||
|
||||
File.WriteAllBytes(releaseFileName, tarData);
|
||||
|
||||
Con.WriteLine("Finished.");
|
||||
}
|
||||
|
||||
// Build by cross-compiler
|
||||
public virtual void BuildWithCrossCompiler(string baseOutputDir)
|
||||
{
|
||||
// Create a batch file
|
||||
string outDir = Path.Combine(baseOutputDir, this.CrossLibName);
|
||||
string outSrcDir = Path.Combine(outDir, "src");
|
||||
|
||||
try
|
||||
{
|
||||
string xcDir = Path.Combine(Path.Combine(Paths.CrossCompilerBaseDir, this.CrossCompilerName), "bin");
|
||||
|
||||
if (Directory.Exists(xcDir) == false)
|
||||
{
|
||||
throw new ApplicationException(string.Format("dir '{0}' not found.", xcDir));
|
||||
}
|
||||
|
||||
string batFileName = Path.Combine(outSrcDir, "cross_build.cmd");
|
||||
StreamWriter w = new StreamWriter(batFileName, false, Str.ShiftJisEncoding);
|
||||
w.WriteLine("SET PATH={0};%PATH%", xcDir);
|
||||
w.WriteLine();
|
||||
w.WriteLine(outSrcDir.Substring(0, 2));
|
||||
w.WriteLine("CD {0}", outSrcDir);
|
||||
w.WriteLine();
|
||||
w.WriteLine("make clean");
|
||||
w.WriteLine("make");
|
||||
w.WriteLine();
|
||||
w.WriteLine("EXIT /B %ERRORLEVEL%");
|
||||
w.Close();
|
||||
|
||||
Semaphore sem = new Semaphore(BuildConfig.NumMultipleCompileTasks, BuildConfig.NumMultipleCompileTasks, "vpn_build_cross");
|
||||
Con.WriteLine("Waiting for Semaphore...");
|
||||
sem.WaitOne();
|
||||
Con.WriteLine("Done.");
|
||||
try
|
||||
{
|
||||
Win32BuildUtil.ExecCommand(Paths.CmdFileName, string.Format("/C \"{0}\"", batFileName));
|
||||
}
|
||||
finally
|
||||
{
|
||||
sem.Release();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
string[] files = Directory.GetFiles(Path.Combine(outSrcDir, "code"), "*.a", SearchOption.AllDirectories);
|
||||
foreach (string file in files)
|
||||
{
|
||||
try
|
||||
{
|
||||
File.Delete(file);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// SrcKit file name
|
||||
public string SrcKitFileName
|
||||
{
|
||||
get
|
||||
{
|
||||
int versionMajor, versionMinor, versionBuild;
|
||||
string name;
|
||||
DateTime date;
|
||||
Win32BuildUtil.ReadBuildInfoFromTextFile(out versionMajor, out versionMinor, out versionBuild, out name, out date);
|
||||
return string.Format("{0}-{3}-{1}.tar.gz", "srckit", this.CrossLibName,
|
||||
Str.DateTimeToStrShort(BuildSoftwareList.ListCreatedDateTime),
|
||||
versionBuild);
|
||||
}
|
||||
}
|
||||
|
||||
// Copy the source code
|
||||
public virtual void CopyUnixSrc(string baseOutputDir)
|
||||
{
|
||||
// Generate an Output directory name
|
||||
string outDir = baseOutputDir;
|
||||
string outSrcDir = baseOutputDir;
|
||||
Con.WriteLine("BuildSrcKit for '{0}'...", this.IDString);
|
||||
Con.WriteLine("BuildSrcKit Output Dir = '{0}'.", outDir);
|
||||
|
||||
string tsFile = Path.Combine(outDir, "TimeStamp.txt");
|
||||
string timeStamp = Str.DateTimeToStrShort(BuildSoftwareList.ListCreatedDateTime);
|
||||
Con.WriteLine("timestamp={0}", timeStamp);
|
||||
|
||||
if (Directory.Exists(outDir))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
Directory.CreateDirectory(outDir);
|
||||
}
|
||||
|
||||
// Copy the source code
|
||||
foreach (string srcDirName in SrcDirNameList)
|
||||
{
|
||||
string srcFullPath = Path.Combine(Paths.BaseDirName, srcDirName);
|
||||
string destFullPath = Path.Combine(outSrcDir, srcDirName);
|
||||
|
||||
IO.CopyDir(srcFullPath, destFullPath, new IO.CopyDirPreCopyDelegate(CopySrcFilesDelegate), false, true, true, true, true);
|
||||
}
|
||||
IO.FileCopy(Path.Combine(Paths.BaseDirName, "CurrentBuild.txt"), Path.Combine(outSrcDir, "CurrentBuild.txt"), true, false);
|
||||
}
|
||||
|
||||
// Build SrcKit
|
||||
public virtual bool BuildSrcKit(string baseOutputDir, bool debugMode)
|
||||
{
|
||||
// Generate an Output directory name
|
||||
string outDir = Path.Combine(baseOutputDir, this.CrossLibName);
|
||||
string outSrcDir = Path.Combine(outDir, "src");
|
||||
Con.WriteLine("BuildSrcKit for '{0}'...", this.IDString);
|
||||
Con.WriteLine("CrossLib Name: '{0}'.", this.CrossLibName);
|
||||
Con.WriteLine("BuildSrcKit Output Dir = '{0}'.", outDir);
|
||||
|
||||
string tsFile = Path.Combine(outDir, "TimeStamp.txt");
|
||||
string timeStamp = Str.DateTimeToStrShort(BuildSoftwareList.ListCreatedDateTime);
|
||||
Con.WriteLine("timestamp={0}", timeStamp);
|
||||
|
||||
if (Directory.Exists(outDir))
|
||||
{
|
||||
bool ok = false;
|
||||
// See TimeStamp.txt file if the directory already exists
|
||||
try
|
||||
{
|
||||
string[] ts = File.ReadAllLines(tsFile);
|
||||
if (ts[0] == timeStamp)
|
||||
{
|
||||
ok = true;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
if (ok)
|
||||
{
|
||||
Con.WriteLine("Skipped for '{0}'.", this.IDString);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Directory.CreateDirectory(outDir);
|
||||
}
|
||||
|
||||
// Copy the source code
|
||||
foreach (string srcDirName in SrcDirNameList)
|
||||
{
|
||||
string srcFullPath = Path.Combine(Paths.BaseDirName, srcDirName);
|
||||
string destFullPath = Path.Combine(outSrcDir, srcDirName);
|
||||
bool delete_bom = true;
|
||||
|
||||
if (Str.InStr(srcDirName, "\\hamcore"))
|
||||
{
|
||||
delete_bom = false;
|
||||
}
|
||||
|
||||
IO.CopyDir(srcFullPath, destFullPath, new IO.CopyDirPreCopyDelegate(CopySrcFilesDelegate), false, true, true, delete_bom);
|
||||
}
|
||||
IO.FileCopy(Path.Combine(Paths.BaseDirName, "CurrentBuild.txt"), Path.Combine(outSrcDir, "CurrentBuild.txt"), true, false);
|
||||
IO.FileCopy(Path.Combine(Paths.BaseDirName, "GlobalConst.h"), Path.Combine(outSrcDir, "GlobalConst.h"), true, false);
|
||||
IO.FileCopy(Path.Combine(Paths.BaseDirName, @"DebugFiles\Replace.h"), Path.Combine(outSrcDir, "Replace.h"), true, false);
|
||||
IO.FileCopy(Path.Combine(Paths.BaseDirName, @"bin\BuiltHamcoreFiles\hamcore_unix\hamcore.se2"),
|
||||
Path.Combine(outSrcDir, @"bin\hamcore.se2"), true, false);
|
||||
|
||||
// Copy Crosslibs
|
||||
IO.CopyDir(Path.Combine(this.CrossLibBaseDir, this.CrossLibName), Path.Combine(outSrcDir, @"lib"),
|
||||
delegate(FileInfo fi)
|
||||
{
|
||||
if (fi.DirectoryName.IndexOf(@".svn", StringComparison.InvariantCultureIgnoreCase) != -1)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}, false, true, true, false);
|
||||
|
||||
// Generate Makefile for compilation
|
||||
byte[] makeFileDataForCross = Str.NormalizeCrlf(Str.Utf8Encoding.GetBytes(GenerateMakeFileForCompile(outSrcDir, debugMode, true).ToString()), new byte[] { 10, });
|
||||
byte[] makeFileDataForSelf = Str.NormalizeCrlf(Str.Utf8Encoding.GetBytes(GenerateMakeFileForCompile(outSrcDir, debugMode, false).ToString()), new byte[] { 10, });
|
||||
|
||||
string makeFileName = Path.Combine(outSrcDir, "Makefile");
|
||||
File.WriteAllBytes(makeFileName, makeFileDataForCross);
|
||||
|
||||
// TimeStamp.txt
|
||||
File.WriteAllText(tsFile, timeStamp);
|
||||
|
||||
// Create a tar.gz
|
||||
string tarGzFileName = Path.Combine(outSrcDir, this.SrcKitFileName);
|
||||
Con.WriteLine("Creating '{0}'...", tarGzFileName);
|
||||
List<string> files = new List<string>();
|
||||
|
||||
foreach (string srcDirName in Util.CombineArray<string>(SrcDirNameList, new string[] { "lib" }))
|
||||
{
|
||||
string dirFullPath = Path.Combine(outSrcDir, srcDirName);
|
||||
string[] fileList = Directory.GetFiles(dirFullPath, "*",
|
||||
srcDirName.Equals("lib", StringComparison.InvariantCultureIgnoreCase) ? SearchOption.TopDirectoryOnly : SearchOption.AllDirectories);
|
||||
foreach (string fileName in fileList)
|
||||
{
|
||||
files.Add(fileName);
|
||||
}
|
||||
}
|
||||
files.Add(Path.Combine(outSrcDir, @"CurrentBuild.txt"));
|
||||
files.Add(Path.Combine(outSrcDir, @"bin\hamcore.se2"));
|
||||
files.Add(Path.Combine(outSrcDir, @"Replace.h"));
|
||||
files.Add(Path.Combine(outSrcDir, @"GlobalConst.h"));
|
||||
|
||||
files.Sort();
|
||||
TarPacker tar = new TarPacker();
|
||||
foreach (string file in files)
|
||||
{
|
||||
byte[] fileData = File.ReadAllBytes(file);
|
||||
tar.AddFileSimple(@"src\" + IO.GetRelativeFileName(file, outSrcDir),
|
||||
fileData,
|
||||
0, fileData.Length, File.GetLastWriteTime(file), "0000750", "0000640");
|
||||
}
|
||||
tar.AddFileSimple(@"src\Makefile", makeFileDataForSelf, 0, makeFileDataForSelf.Length, DateTime.Now, "0000750", "0000640");
|
||||
tar.Finish();
|
||||
byte[] tarGzData = tar.CompressToGZip();
|
||||
File.WriteAllBytes(tarGzFileName, tarGzData);
|
||||
|
||||
IO.MakeDir(Paths.ReleaseSrckitDir);
|
||||
File.WriteAllBytes(Path.Combine(Paths.ReleaseSrckitDir, this.SrcKitFileName), tarGzData);
|
||||
|
||||
Con.WriteLine("Completed.");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Compilation settings
|
||||
public string Compiler = "gcc";
|
||||
public List<string> GccMacros = new List<string>();
|
||||
|
||||
// Create a Makefile for release
|
||||
public virtual StringWriter GenerateMakeFileForRelease(string srcDir)
|
||||
{
|
||||
string gccOptionForLink;
|
||||
string gccOptionForCompile;
|
||||
|
||||
generateGccOptions(srcDir, false, false, out gccOptionForLink, out gccOptionForCompile);
|
||||
|
||||
string codeDir = Path.Combine(srcDir, "code");
|
||||
string libDir = Path.Combine(srcDir, "lib");
|
||||
|
||||
string[] codeFiles = Directory.GetFiles(codeDir, "*.a");
|
||||
string[] libFiles = Directory.GetFiles(libDir, "*.a");
|
||||
|
||||
StringWriter sr = new StringWriter();
|
||||
sr.WriteLine("# {0}", this.TitleString);
|
||||
sr.WriteLine("# Makefile");
|
||||
sr.WriteLine("# ");
|
||||
|
||||
#if !BU_SOFTETHER
|
||||
sr.WriteLine("# Copyright (c) SoftEther Corporation. All Rights Reserved.");
|
||||
#else
|
||||
sr.WriteLine("# Copyright (c) SoftEther VPN Project at University of Tsukuba, Japan. All Rights Reserved.");
|
||||
#endif
|
||||
sr.WriteLine("# Platform: {0}", this.CrossLibName);
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("CC={0}", this.Compiler);
|
||||
sr.WriteLine("OPTIONS={0}", gccOptionForLink);
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("default:");
|
||||
sr.WriteLine("\t@./.install.sh");
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("# NOTE:");
|
||||
sr.WriteLine("# You have to read and agree the license agreement at the same directory");
|
||||
sr.WriteLine("# before using this software.");
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("i_read_and_agree_the_license_agreement:");
|
||||
|
||||
sr.WriteLine("\t@echo \"Preparing {0}...\"", BuildHelper.GetSoftwareTitle(this.Software));
|
||||
|
||||
foreach (string filename in libFiles)
|
||||
{
|
||||
sr.WriteLine("\t-ranlib lib/{0}", Path.GetFileName(filename));
|
||||
}
|
||||
|
||||
sr.WriteLine("\t-ranlib code/{0}.a", this.Software.ToString());
|
||||
sr.WriteLine("\t$(CC) code/{0}.a $(OPTIONS) -o {0}", this.Software.ToString());
|
||||
|
||||
sr.WriteLine("\t-ranlib code/{0}.a", "vpncmd");
|
||||
sr.WriteLine("\t$(CC) code/{0}.a $(OPTIONS) -o {0}", "vpncmd");
|
||||
|
||||
if (this.Software == Software.vpnserver_vpnbridge || this.Software == Software.vpnbridge || this.Software == Software.vpnserver)
|
||||
{
|
||||
sr.WriteLine("\t./vpncmd /tool /cmd:Check");
|
||||
}
|
||||
|
||||
Language[] langs = BuildHelper.GetLanguageList();
|
||||
|
||||
sr.WriteLine("\t@echo");
|
||||
sr.WriteLine("\t@echo \"--------------------------------------------------------------------\"");
|
||||
sr.WriteLine("\t@echo \"The preparation of {0} is completed !\"", BuildHelper.GetSoftwareTitle(this.Software));
|
||||
sr.WriteLine("\t@echo");
|
||||
sr.WriteLine("\t@echo");
|
||||
sr.WriteLine("\t@echo \"*** How to switch the display language of the {0} Service ***\"", BuildHelper.GetSoftwareTitle(this.Software));
|
||||
sr.WriteLine("\t@echo \"{0} supports the following languages:\"", BuildHelper.GetSoftwareTitle(this.Software));
|
||||
|
||||
foreach (Language lang in langs)
|
||||
{
|
||||
sr.WriteLine("\t@echo \" - {0}\"", lang.Title);
|
||||
}
|
||||
|
||||
sr.WriteLine("\t@echo");
|
||||
sr.WriteLine("\t@echo \"You can choose your prefered language of {0} at any time.\"", BuildHelper.GetSoftwareTitle(this.Software));
|
||||
sr.WriteLine("\t@echo \"To switch the current language, open and edit the 'lang.config' file.\"");
|
||||
|
||||
sr.WriteLine("\t@echo");
|
||||
sr.WriteLine("\t@echo");
|
||||
|
||||
sr.WriteLine("\t@echo \"*** How to start the {0} Service ***\"", BuildHelper.GetSoftwareTitle(this.Software));
|
||||
sr.WriteLine("\t@echo");
|
||||
|
||||
sr.WriteLine("\t@echo \"Please execute './{0} start' to run the {1} Background Service.\"", this.Software.ToString(), BuildHelper.GetSoftwareTitle(this.Software));
|
||||
#if !BU_SOFTETHER
|
||||
sr.WriteLine("\t@echo \"And please execute './vpncmd' to run the PacketiX VPN Command-Line Utility to configure {0}.\"", BuildHelper.GetSoftwareTitle(this.Software));
|
||||
#else
|
||||
sr.WriteLine("\t@echo \"And please execute './vpncmd' to run the SoftEther VPN Command-Line Utility to configure {0}.\"", BuildHelper.GetSoftwareTitle(this.Software));
|
||||
#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));
|
||||
#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();
|
||||
|
||||
sr.WriteLine("clean:");
|
||||
sr.WriteLine("\trm -f {0}", this.Software.ToString());
|
||||
sr.WriteLine("\trm -f {0}", "vpncmd");
|
||||
sr.WriteLine();
|
||||
|
||||
return sr;
|
||||
}
|
||||
|
||||
// Generate Makefile for compilation
|
||||
public virtual StringWriter GenerateMakeFileForCompile(string outDir, bool debugMode, bool crossCompile)
|
||||
{
|
||||
string[] programNames =
|
||||
{
|
||||
"vpntest",
|
||||
"vpnserver",
|
||||
"vpnbridge",
|
||||
"vpnclient",
|
||||
"vpncmd",
|
||||
};
|
||||
|
||||
string gccOptionForLinkDebug, gccOptionForLinkRelease;
|
||||
string gccOptionForCompileDebug, gccOptionForCompileRelease;
|
||||
|
||||
generateGccOptions(outDir, false, crossCompile, out gccOptionForLinkRelease, out gccOptionForCompileRelease);
|
||||
generateGccOptions(outDir, true, crossCompile, out gccOptionForLinkDebug, out gccOptionForCompileDebug);
|
||||
|
||||
StringWriter sr = new StringWriter();
|
||||
#if !BU_SOFTETHER
|
||||
sr.WriteLine("# PacketiX VPN Source Code");
|
||||
sr.WriteLine("# Copyright (c) SoftEther Corporation. All Rights Reserved.");
|
||||
#else
|
||||
sr.WriteLine("# SoftEther VPN Source Code");
|
||||
sr.WriteLine("# Copyright (c) SoftEther VPN Project at University of Tsukuba, Japan. All Rights Reserved.");
|
||||
#endif
|
||||
sr.WriteLine("# Platform: {0}", this.CrossLibName);
|
||||
sr.WriteLine();
|
||||
|
||||
// Variable declaration
|
||||
sr.WriteLine("# Variables");
|
||||
sr.WriteLine("CC={0}", this.Compiler);
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("OPTIONS_COMPILE_DEBUG={0}", gccOptionForCompileDebug);
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("OPTIONS_LINK_DEBUG={0}", gccOptionForLinkDebug);
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("OPTIONS_COMPILE_RELEASE={0}", gccOptionForCompileRelease);
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("OPTIONS_LINK_RELEASE={0}", gccOptionForLinkRelease);
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("ifeq ($(DEBUG),YES)");
|
||||
sr.WriteLine("\tOPTIONS_COMPILE=$(OPTIONS_COMPILE_DEBUG)");
|
||||
sr.WriteLine("\tOPTIONS_LINK=$(OPTIONS_LINK_DEBUG)");
|
||||
sr.WriteLine("else");
|
||||
sr.WriteLine("\tOPTIONS_COMPILE=$(OPTIONS_COMPILE_RELEASE)");
|
||||
sr.WriteLine("\tOPTIONS_LINK=$(OPTIONS_LINK_RELEASE)");
|
||||
sr.WriteLine("endif");
|
||||
sr.WriteLine();
|
||||
|
||||
string[] mayaquaHeaders = generateFileList(Path.Combine(outDir, "Mayaqua"), outDir, "*.h");
|
||||
string[] cedarHeaders = generateFileList(Path.Combine(outDir, "Cedar"), outDir, "*.h");
|
||||
string[] mayaquaSrcs = generateFileList(Path.Combine(outDir, "Mayaqua"), outDir, "*.c");
|
||||
string[] cedarSrcs = generateFileList(Path.Combine(outDir, "Cedar"), outDir, "*.c");
|
||||
List<string> mayaquaObjs = new List<string>();
|
||||
List<string> cedarObjs = new List<string>();
|
||||
List<string> progSrcs = new List<string>();
|
||||
List<string> progObjs = new List<string>();
|
||||
List<string> progAs = new List<string>();
|
||||
List<string> progBins = new List<string>();
|
||||
|
||||
foreach (string progName in programNames)
|
||||
{
|
||||
string progName2 = progName;
|
||||
|
||||
if (progName2.Equals("vpnclient", StringComparison.InvariantCultureIgnoreCase) == false)
|
||||
{
|
||||
progSrcs.Add(string.Format("{0}/{0}.c", progName2));
|
||||
}
|
||||
else
|
||||
{
|
||||
progSrcs.Add(string.Format("{0}/vpncsvc.c", progName2));
|
||||
}
|
||||
progObjs.Add(string.Format("object/{0}.o", progName2));
|
||||
progAs.Add(string.Format("code/{0}.a", progName));
|
||||
progBins.Add(string.Format("bin/{0}", progName.ToLower()));
|
||||
}
|
||||
|
||||
int i;
|
||||
for (i = 0; i < mayaquaSrcs.Length; i++)
|
||||
{
|
||||
mayaquaObjs.Add(string.Format("object/Mayaqua/{0}.o", Path.GetFileNameWithoutExtension(mayaquaSrcs[i])));
|
||||
}
|
||||
for (i = 0; i < cedarSrcs.Length; i++)
|
||||
{
|
||||
cedarObjs.Add(string.Format("object/Cedar/{0}.o", Path.GetFileNameWithoutExtension(cedarSrcs[i])));
|
||||
}
|
||||
sr.WriteLine("# Files");
|
||||
sr.WriteLine("HEADERS_MAYAQUA={0}", Str.CombineStringArray(mayaquaHeaders, " "));
|
||||
sr.WriteLine("HEADERS_CEDAR={0}", Str.CombineStringArray(cedarHeaders, " "));
|
||||
sr.WriteLine("OBJECTS_MAYAQUA={0}", Str.CombineStringArray(mayaquaObjs.ToArray(), " "));
|
||||
sr.WriteLine("OBJECTS_CEDAR={0}", Str.CombineStringArray(cedarObjs.ToArray(), " "));
|
||||
sr.WriteLine();
|
||||
|
||||
// Behavior
|
||||
sr.WriteLine("# Build Action");
|
||||
sr.WriteLine("default:\tbuild");
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("build:\t$(OBJECTS_MAYAQUA) $(OBJECTS_CEDAR) {0}", Str.CombineStringArray(progBins.ToArray(), " "));
|
||||
sr.WriteLine();
|
||||
|
||||
sr.WriteLine("# Mayaqua Kernel Code");
|
||||
for (i = 0; i < mayaquaSrcs.Length; i++)
|
||||
{
|
||||
sr.WriteLine("{0}: {1} $(HEADERS_MAYAQUA)", mayaquaObjs[i], mayaquaSrcs[i]);
|
||||
if (i == 0)
|
||||
{
|
||||
sr.WriteLine("\t@mkdir -p object/");
|
||||
sr.WriteLine("\t@mkdir -p object/Mayaqua/");
|
||||
sr.WriteLine("\t@mkdir -p object/Cedar/");
|
||||
sr.WriteLine("\t@mkdir -p code/");
|
||||
}
|
||||
sr.WriteLine("\t$(CC) $(OPTIONS_COMPILE) -c {0} -o {1}", mayaquaSrcs[i], mayaquaObjs[i]);
|
||||
sr.WriteLine();
|
||||
}
|
||||
|
||||
sr.WriteLine("# Cedar Communication Module Code");
|
||||
for (i = 0; i < cedarSrcs.Length; i++)
|
||||
{
|
||||
string line = string.Format("{0}: {1} $(HEADERS_MAYAQUA) $(HEADERS_CEDAR)", cedarObjs[i], cedarSrcs[i]);
|
||||
if (cedarSrcs[i].EndsWith("Bridge.c", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
line += " Cedar/BridgeUnix.c";
|
||||
}
|
||||
sr.WriteLine(line);
|
||||
sr.WriteLine("\t$(CC) $(OPTIONS_COMPILE) -c {0} -o {1}", cedarSrcs[i], cedarObjs[i]);
|
||||
sr.WriteLine();
|
||||
}
|
||||
|
||||
for (i = 0; i < programNames.Length; i++)
|
||||
{
|
||||
sr.WriteLine("# {0}", programNames[i]);
|
||||
sr.WriteLine("{0}: {1} $(HEADERS_MAYAQUA) $(HEADERS_CEDAR) $(OBJECTS_MAYAQUA) $(OBJECTS_CEDAR)",
|
||||
progBins[i], progAs[i]);
|
||||
sr.WriteLine("\t$(CC) {0} $(OPTIONS_LINK) -o {1}", progAs[i], progBins[i]);
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("{0}: {1} $(HEADERS_MAYAQUA) $(HEADERS_CEDAR) $(OBJECTS_MAYAQUA) $(OBJECTS_CEDAR)",
|
||||
progAs[i], progObjs[i]);
|
||||
sr.WriteLine("\trm -f {0}", progAs[i]);
|
||||
sr.WriteLine("\tar r {0} $(OBJECTS_MAYAQUA) $(OBJECTS_CEDAR) {1}", progAs[i], progObjs[i]);
|
||||
sr.WriteLine("\tranlib {0}", progAs[i]);
|
||||
sr.WriteLine();
|
||||
sr.WriteLine("{0}: {1} $(HEADERS_MAYAQUA) $(HEADERS_CEDAR) $(OBJECTS_MAYAQUA) $(OBJECTS_CEDAR)",
|
||||
progObjs[i], progSrcs[i]);
|
||||
sr.WriteLine("\t$(CC) $(OPTIONS_COMPILE) -c {0} -o {1}", progSrcs[i], progObjs[i]);
|
||||
sr.WriteLine();
|
||||
}
|
||||
|
||||
sr.WriteLine("# Clean");
|
||||
sr.WriteLine("clean:");
|
||||
sr.WriteLine("\t-rm -f $(OBJECTS_MAYAQUA)");
|
||||
sr.WriteLine("\t-rm -f $(OBJECTS_CEDAR)");
|
||||
for (i = 0; i < programNames.Length; i++)
|
||||
{
|
||||
sr.WriteLine("\t-rm -f {0}", progObjs[i]);
|
||||
sr.WriteLine("\t-rm -f {0}", progAs[i]);
|
||||
sr.WriteLine("\t-rm -f {0}", progBins[i]);
|
||||
}
|
||||
sr.WriteLine();
|
||||
|
||||
sr.WriteLine("# Help Strings");
|
||||
sr.WriteLine("help:");
|
||||
sr.WriteLine("\t@echo \"make [DEBUG=YES]\"");
|
||||
sr.WriteLine();
|
||||
|
||||
return sr;
|
||||
}
|
||||
|
||||
// Create a file list
|
||||
string[] generateFileList(string dir, string baseDir, string searchPattern)
|
||||
{
|
||||
string[] files = Directory.GetFiles(dir, searchPattern, SearchOption.AllDirectories);
|
||||
List<string> ret = new List<string>();
|
||||
|
||||
foreach (string file in files)
|
||||
{
|
||||
string name = IO.GetRelativeFileName(file, baseDir).Replace(@"\", "/");
|
||||
ret.Add(name);
|
||||
}
|
||||
|
||||
ret.Sort();
|
||||
|
||||
return ret.ToArray();
|
||||
}
|
||||
|
||||
// Generate the GCC option string
|
||||
void generateGccOptions(string outDir, bool debugMode, bool crossCompile, out string gccOptionForLink, out string gccOptionForCompile)
|
||||
{
|
||||
List<string> macros = new List<string>(this.GccMacros.ToArray());
|
||||
List<string> includes = new List<string>();
|
||||
List<string> options = new List<string>();
|
||||
List<string> libs = new List<string>();
|
||||
|
||||
// Determine the macro
|
||||
if (debugMode)
|
||||
{
|
||||
macros.Add("_DEBUG");
|
||||
macros.Add("DEBUG");
|
||||
}
|
||||
else
|
||||
{
|
||||
macros.Add("NDEBUG");
|
||||
macros.Add("VPN_SPEED");
|
||||
macros.Add("MAYAQUA_REPLACE");
|
||||
}
|
||||
|
||||
macros.Add("UNIX");
|
||||
macros.Add("_REENTRANT");
|
||||
macros.Add("REENTRANT");
|
||||
macros.Add("_THREAD_SAFE");
|
||||
macros.Add("_THREADSAFE");
|
||||
macros.Add("THREAD_SAFE");
|
||||
macros.Add("THREADSAFE");
|
||||
macros.Add("_FILE_OFFSET_BITS=64");
|
||||
|
||||
// Decide the include directory
|
||||
includes.Add("./");
|
||||
includes.Add("./Cedar/");
|
||||
includes.Add("./Mayaqua/");
|
||||
|
||||
// Determine options
|
||||
if (debugMode)
|
||||
{
|
||||
options.Add("-g");
|
||||
}
|
||||
else
|
||||
{
|
||||
options.Add("-O2");
|
||||
}
|
||||
options.Add("-fsigned-char");
|
||||
if (this.NoPThreadOption == false)
|
||||
{
|
||||
options.Add("-pthread");
|
||||
}
|
||||
if (this.UseGccBitsOption)
|
||||
{
|
||||
if (this.Cpu.Bits == CPUBits.Bits32)
|
||||
{
|
||||
options.Add("-m32");
|
||||
}
|
||||
else
|
||||
{
|
||||
options.Add("-m64");
|
||||
}
|
||||
}
|
||||
|
||||
// Determine library files
|
||||
string[] libNames =
|
||||
{
|
||||
"libssl",
|
||||
"libcrypto",
|
||||
"libiconv",
|
||||
"libcharset",
|
||||
"libedit",
|
||||
"libncurses",
|
||||
"libz",
|
||||
};
|
||||
foreach (string libName in libNames)
|
||||
{
|
||||
libs.Add(string.Format("lib/{0}.a", libName));
|
||||
}
|
||||
|
||||
if (crossCompile)
|
||||
{
|
||||
if (this.Os == OSList.MacOS)
|
||||
{
|
||||
// Include libpcap.a only when cross-compiling for Mac OS X
|
||||
libs.Add(string.Format("lib/{0}.a", "libpcap"));
|
||||
}
|
||||
}
|
||||
|
||||
gccOptionForCompile = MakeGccOptions(macros.ToArray(), includes.ToArray(), options.ToArray(), null);
|
||||
|
||||
if (crossCompile)
|
||||
{
|
||||
if (Str.IsEmptyStr(this.CrossCompilerOption) == false)
|
||||
{
|
||||
options.Add(this.CrossCompilerOption);
|
||||
}
|
||||
}
|
||||
|
||||
options.Add("-lm");
|
||||
|
||||
if (this.Os == OSList.Solaris)
|
||||
{
|
||||
options.Add("-lrt");
|
||||
options.Add("-lnsl");
|
||||
options.Add("-lsocket");
|
||||
options.Add("-ldl");
|
||||
}
|
||||
else if (this.Os == OSList.Linux)
|
||||
{
|
||||
options.Add("-ldl");
|
||||
options.Add("-lrt");
|
||||
}
|
||||
else if (this.Os == OSList.MacOS)
|
||||
{
|
||||
if (crossCompile == false)
|
||||
{
|
||||
// Include -lpcap for the user environment on Mac OS X
|
||||
options.Add("-lpcap");
|
||||
}
|
||||
}
|
||||
|
||||
if (this.Cpu == CpuList.armeabi)
|
||||
{
|
||||
// Prevent to show a warning on linking in EABI binaries
|
||||
// to EABIHF architecture in ARM
|
||||
options.Add("-Wl,--no-warn-mismatch");
|
||||
}
|
||||
|
||||
options.Add("-lpthread");
|
||||
|
||||
gccOptionForLink = MakeGccOptions(new string[0], new string[0], options.ToArray(), libs.ToArray());
|
||||
}
|
||||
|
||||
public static string MakeGccOptions(string[] macros, string[] includeDirs, string[] options, string[] libs)
|
||||
{
|
||||
List<string> o = new List<string>();
|
||||
foreach (string macro in macros)
|
||||
{
|
||||
o.Add(string.Format("-D{0}", macro));
|
||||
}
|
||||
foreach (string dir in includeDirs)
|
||||
{
|
||||
o.Add(string.Format("-I{0}", dir));
|
||||
}
|
||||
foreach (string opt in options)
|
||||
{
|
||||
o.Add(opt);
|
||||
}
|
||||
if (libs != null)
|
||||
{
|
||||
o.Add("-L./");
|
||||
foreach (string lib in libs)
|
||||
{
|
||||
o.Add(lib);
|
||||
}
|
||||
}
|
||||
|
||||
return Str.CombineStringArray(o.ToArray(), " ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,578 +0,0 @@
|
||||
// SoftEther VPN Source Code - Developer Edition Master Branch
|
||||
// Build Utility
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using CoreUtil;
|
||||
|
||||
namespace BuildUtil
|
||||
{
|
||||
// Languages
|
||||
public class Language
|
||||
{
|
||||
public int Number;
|
||||
public string Id;
|
||||
public string Title;
|
||||
public string TitleUnicode;
|
||||
public string WindowsLocaleIds;
|
||||
public string UnixLocaleIds;
|
||||
}
|
||||
|
||||
// Build helper class
|
||||
public static class BuildHelper
|
||||
{
|
||||
// loads the language list text file
|
||||
public static Language[] GetLanguageList()
|
||||
{
|
||||
return GetLanguageList(Path.Combine(Paths.BinDirName, @"hamcore\languages.txt"));
|
||||
}
|
||||
public static Language[] GetLanguageList(string filename)
|
||||
{
|
||||
List<Language> ret = new List<Language>();
|
||||
string[] lines = File.ReadAllLines(filename, Str.Utf8Encoding);
|
||||
|
||||
foreach (string line in lines)
|
||||
{
|
||||
string s = line.Trim();
|
||||
|
||||
if (Str.IsEmptyStr(s) == false)
|
||||
{
|
||||
if (s.StartsWith("#", StringComparison.InvariantCultureIgnoreCase) == false)
|
||||
{
|
||||
string[] sps = { " ", "\t", };
|
||||
string[] tokens = s.Split(sps, StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
if (tokens.Length == 6)
|
||||
{
|
||||
Language e = new Language();
|
||||
|
||||
e.Number = Str.StrToInt(tokens[0]);
|
||||
e.Id = tokens[1];
|
||||
e.Title = Str.ReplaceStr(tokens[2], "_", " ");
|
||||
e.TitleUnicode = tokens[3];
|
||||
e.WindowsLocaleIds = tokens[4];
|
||||
e.UnixLocaleIds = tokens[5];
|
||||
|
||||
ret.Add(e);
|
||||
|
||||
Con.WriteLine(tokens.Length);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret.ToArray();
|
||||
}
|
||||
|
||||
// Build
|
||||
public static void BuildMain(BuildSoftware soft, bool debugModeIfUnix)
|
||||
{
|
||||
int versionMajor, versionMinor, versionBuild;
|
||||
string name;
|
||||
DateTime date;
|
||||
|
||||
string title = Console.Title;
|
||||
Console.Title = string.Format("Building {0}", soft.IDString);
|
||||
|
||||
try
|
||||
{
|
||||
Win32BuildUtil.ReadBuildInfoFromTextFile(out versionMajor, out versionMinor, out versionBuild, out name, out date);
|
||||
|
||||
soft.SetBuildNumberVersionName(versionMajor, versionMinor, versionBuild, name, date);
|
||||
|
||||
Con.WriteLine("Building '{0}' - {1}...", soft.IDString, soft.TitleString);
|
||||
|
||||
BuildSoftwareUnix softUnix = soft as BuildSoftwareUnix;
|
||||
|
||||
if (softUnix == null)
|
||||
{
|
||||
soft.Build();
|
||||
}
|
||||
else
|
||||
{
|
||||
softUnix.Build(debugModeIfUnix);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
Console.Title = title;
|
||||
}
|
||||
}
|
||||
|
||||
// Convert the number to a version number
|
||||
public static string VersionIntToString(int versionMajor, int versionMinor)
|
||||
{
|
||||
return string.Format("{0}.{1:D2}", versionMajor, versionMinor);
|
||||
}
|
||||
|
||||
// Get a product list that is included in the software
|
||||
public static string GetSoftwareProductList(Software soft)
|
||||
{
|
||||
string ret = "";
|
||||
|
||||
switch (soft)
|
||||
{
|
||||
case Software.vpnbridge:
|
||||
ret = "PacketiX VPN Bridge";
|
||||
break;
|
||||
|
||||
case Software.vpnclient:
|
||||
ret = "PacketiX VPN Client, PacketiX VPN Command-Line Admin Utility (vpncmd)";
|
||||
break;
|
||||
|
||||
case Software.vpnserver:
|
||||
ret = "PacketiX VPN Server, PacketiX VPN Command-Line Admin Utility (vpncmd)";
|
||||
break;
|
||||
|
||||
case Software.vpnserver_vpnbridge:
|
||||
ret = "PacketiX VPN Server, PacketiX VPN Bridge, PacketiX VPN Server Manager for Windows, PacketiX VPN Command-Line Admin Utility (vpncmd)";
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new ApplicationException("invalid soft.");
|
||||
}
|
||||
|
||||
#if BU_SOFTETHER
|
||||
ret = Str.ReplaceStr(ret, "PacketiX", "SoftEther", false);
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// Get the title of the software
|
||||
public static string GetSoftwareTitle(Software soft)
|
||||
{
|
||||
string ret = "";
|
||||
|
||||
switch (soft)
|
||||
{
|
||||
case Software.vpnbridge:
|
||||
ret = "PacketiX VPN Bridge";
|
||||
break;
|
||||
|
||||
case Software.vpnclient:
|
||||
ret = "PacketiX VPN Client";
|
||||
break;
|
||||
|
||||
case Software.vpnserver:
|
||||
ret = "PacketiX VPN Server";
|
||||
break;
|
||||
|
||||
case Software.vpnserver_vpnbridge:
|
||||
ret = "PacketiX VPN Server and VPN Bridge";
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new ApplicationException("invalid soft.");
|
||||
}
|
||||
|
||||
#if BU_SOFTETHER
|
||||
ret = Str.ReplaceStr(ret, "PacketiX", "SoftEther", false);
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
// Basic path information
|
||||
public static class Paths
|
||||
{
|
||||
public static readonly string ExeFileName = Env.ExeFileName;
|
||||
public static readonly string ExeDirName = Env.ExeFileDir;
|
||||
public static readonly string BinDirName = ExeDirName;
|
||||
public static readonly string BaseDirName = IO.NormalizePath(Path.Combine(BinDirName, @"..\"));
|
||||
public static readonly string UtilityDirName = IO.NormalizePath(Path.Combine(BinDirName, @"..\BuildFiles\Utility"));
|
||||
|
||||
#if !BU_SOFTETHER
|
||||
// PacketiX VPN (build by SoftEther)
|
||||
public static readonly string VPN4SolutionFileName = Path.Combine(BaseDirName, "VPN4.sln");
|
||||
public static readonly string DebugSnapshotBaseDir = @"S:\SE4\DebugFilesSnapshot";
|
||||
public static readonly string ReleaseDestDir = @"s:\SE4\Releases";
|
||||
public const string Prefix = "";
|
||||
#else
|
||||
#if !BU_OSS
|
||||
// SoftEther VPN (build by SoftEther)
|
||||
public static readonly string VPN4SolutionFileName = Path.Combine(BaseDirName, "SEVPN.sln");
|
||||
public static readonly string DebugSnapshotBaseDir = @"S:\SE4\DebugFilesSnapshot_SEVPN";
|
||||
public static readonly string ReleaseDestDir = @"s:\SE4\Releases_SEVPN";
|
||||
public const string Prefix = "softether-";
|
||||
#else
|
||||
// SoftEther VPN (build by Open Source Developers)
|
||||
public static readonly string VPN4SolutionFileName = Path.Combine(BaseDirName, "SEVPN.sln");
|
||||
public static readonly string DebugSnapshotBaseDir = IO.NormalizePath(Path.Combine(BaseDirName, @"..\output\debug"));
|
||||
public static readonly string ReleaseDestDir = IO.NormalizePath(Path.Combine(BaseDirName, @"..\output\pkg"));
|
||||
public const string Prefix = "softether_open-";
|
||||
#endif
|
||||
#endif
|
||||
|
||||
public static readonly string ReleaseDestDir_SEVPN = @"s:\SE4\Releases_SEVPN";
|
||||
|
||||
public static readonly string BuildHamcoreFilesDirName = Path.Combine(BinDirName, "BuiltHamcoreFiles");
|
||||
public static readonly string VisualStudioVCDir;
|
||||
public static readonly string VisualStudioVCBatchFileName;
|
||||
public static readonly string DotNetFramework35Dir;
|
||||
public static readonly string MSBuildFileName;
|
||||
public static readonly string TmpDirName;
|
||||
public static readonly DateTime StartDateTime = DateTime.Now;
|
||||
public static readonly string StartDateTimeStr;
|
||||
public static readonly string CmdFileName;
|
||||
public static readonly string ManifestsDir = Path.Combine(BaseDirName, @"BuildFiles\Manifests");
|
||||
public static readonly string XCopyExeFileName = Path.Combine(Env.SystemDir, "xcopy.exe");
|
||||
public static readonly string ReleaseDir = Path.Combine(BaseDirName, @"tmp\Release");
|
||||
public static readonly string ReleaseSrckitDir = Path.Combine(BaseDirName, @"tmp\ReleaseSrcKit");
|
||||
public static readonly string StringsDir = Path.Combine(BaseDirName, @"BuildFiles\Strings");
|
||||
public static readonly string CrossCompilerBaseDir = @"S:\CommomDev\xc";
|
||||
public static readonly string UnixInstallScript = Path.Combine(BaseDirName, @"BuildFiles\UnixFiles\InstallScript.txt");
|
||||
public static readonly string OssCommentsFile = Path.Combine(StringsDir, "OssComments.txt");
|
||||
public static readonly string AutorunSrcDir = IO.NormalizePath(Path.Combine(BaseDirName, @"..\Autorun"));
|
||||
public static readonly string MicrosoftSDKDir;
|
||||
public static readonly string MakeCatFilename;
|
||||
public static readonly string RcFilename;
|
||||
public static readonly string SoftEtherBuildDir = Env.SystemDir.Substring(0, 2) + @"\tmp\softether_build_dir";
|
||||
public static readonly string OpenSourceDestDir = Env.SystemDir.Substring(0, 2) + @"\tmp\softether_oss_dest_dir";
|
||||
|
||||
// Initialize
|
||||
static Paths()
|
||||
{
|
||||
// Starting date and time string
|
||||
Paths.StartDateTimeStr = Str.DateTimeToStrShort(Paths.StartDateTime);
|
||||
|
||||
// Check whether the execution path is the bin directory in the VPN directory
|
||||
if (Paths.BinDirName.EndsWith(@"\bin", StringComparison.InvariantCultureIgnoreCase) == false)
|
||||
{
|
||||
throw new ApplicationException(string.Format("'{0}' is not a VPN bin directory.", Paths.BinDirName));
|
||||
}
|
||||
if (File.Exists(Paths.VPN4SolutionFileName) == false)
|
||||
{
|
||||
throw new ApplicationException(string.Format("'{0}' is not a VPN base directory.", Paths.BaseDirName));
|
||||
}
|
||||
|
||||
// Get the VC++ directory
|
||||
// Get Microsoft SDK 6.0a directory
|
||||
// Visual Studio 2008
|
||||
if (IntPtr.Size == 4)
|
||||
{
|
||||
Paths.VisualStudioVCDir = IO.RemoteLastEnMark(Reg.ReadStr(RegRoot.LocalMachine, @"SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VC", "ProductDir"));
|
||||
Paths.MicrosoftSDKDir = IO.RemoteLastEnMark(Reg.ReadStr(RegRoot.LocalMachine, @"SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A", "InstallationFolder"));
|
||||
}
|
||||
else
|
||||
{
|
||||
Paths.VisualStudioVCDir = IO.RemoteLastEnMark(Reg.ReadStr(RegRoot.LocalMachine, @"SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC", "ProductDir"));
|
||||
Paths.MicrosoftSDKDir = IO.RemoteLastEnMark(Reg.ReadStr(RegRoot.LocalMachine, @"SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v6.0A", "InstallationFolder"));
|
||||
}
|
||||
if (Str.IsEmptyStr(Paths.VisualStudioVCDir))
|
||||
{
|
||||
throw new ApplicationException("Visual C++ directory not found.\n");
|
||||
}
|
||||
if (Directory.Exists(Paths.VisualStudioVCDir) == false)
|
||||
{
|
||||
throw new ApplicationException(string.Format("Directory '{0}' not found.", Paths.VisualStudioVCDir));
|
||||
}
|
||||
|
||||
// Get the VC++ batch file name
|
||||
Paths.VisualStudioVCBatchFileName = Path.Combine(Paths.VisualStudioVCDir, "vcvarsall.bat");
|
||||
if (File.Exists(Paths.VisualStudioVCBatchFileName) == false)
|
||||
{
|
||||
throw new ApplicationException(string.Format("File '{0}' not found.", Paths.VisualStudioVCBatchFileName));
|
||||
}
|
||||
|
||||
bool x86_dir = false;
|
||||
|
||||
// Get makecat.exe file name
|
||||
Paths.MakeCatFilename = Path.Combine(Paths.MicrosoftSDKDir, @"bin\" + (x86_dir ? @"x86\" : "") + "makecat.exe");
|
||||
|
||||
// Get the rc.exe file name
|
||||
Paths.RcFilename = Path.Combine(Paths.MicrosoftSDKDir, @"bin\" + (x86_dir ? @"x86\" : "") + "rc.exe");
|
||||
|
||||
// Get the cmd.exe file name
|
||||
Paths.CmdFileName = Path.Combine(Env.SystemDir, "cmd.exe");
|
||||
if (File.Exists(Paths.CmdFileName) == false)
|
||||
{
|
||||
throw new ApplicationException(string.Format("File '{0}' not found.", Paths.CmdFileName));
|
||||
}
|
||||
|
||||
// Get .NET Framework 3.5 directory
|
||||
Paths.DotNetFramework35Dir = Path.Combine(Env.WindowsDir, @"Microsoft.NET\Framework\v3.5");
|
||||
|
||||
// Get msbuild.exe directory
|
||||
Paths.MSBuildFileName = Path.Combine(Paths.DotNetFramework35Dir, "MSBuild.exe");
|
||||
if (File.Exists(Paths.MSBuildFileName) == false)
|
||||
{
|
||||
throw new ApplicationException(string.Format("File '{0}' not found.", Paths.MSBuildFileName));
|
||||
}
|
||||
|
||||
// Get the TMP directory
|
||||
Paths.TmpDirName = Path.Combine(Paths.BaseDirName, "tmp");
|
||||
if (Directory.Exists(Paths.TmpDirName) == false)
|
||||
{
|
||||
Directory.CreateDirectory(Paths.TmpDirName);
|
||||
}
|
||||
}
|
||||
|
||||
public static void DeleteAllReleaseTarGz()
|
||||
{
|
||||
if (Directory.Exists(Paths.ReleaseDir))
|
||||
{
|
||||
string[] files = Directory.GetFiles(Paths.ReleaseDir, "*.gz", SearchOption.AllDirectories);
|
||||
|
||||
foreach (string file in files)
|
||||
{
|
||||
File.Delete(file);
|
||||
}
|
||||
}
|
||||
|
||||
if (Directory.Exists(Paths.ReleaseSrckitDir))
|
||||
{
|
||||
string[] files = Directory.GetFiles(Paths.ReleaseSrckitDir, "*.gz", SearchOption.AllDirectories);
|
||||
|
||||
foreach (string file in files)
|
||||
{
|
||||
File.Delete(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void DeleteAllReleaseAdminKits()
|
||||
{
|
||||
if (Directory.Exists(Paths.ReleaseDir))
|
||||
{
|
||||
string[] files = Directory.GetFiles(Paths.ReleaseDir, "*.zip", SearchOption.AllDirectories);
|
||||
|
||||
foreach (string file in files)
|
||||
{
|
||||
if (Str.InStr(file, "vpnadminpak"))
|
||||
{
|
||||
File.Delete(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void DeleteAllReleaseManuals()
|
||||
{
|
||||
if (Directory.Exists(Paths.ReleaseDir))
|
||||
{
|
||||
string[] files = Directory.GetFiles(Paths.ReleaseDir, "*", SearchOption.AllDirectories);
|
||||
|
||||
foreach (string file in files)
|
||||
{
|
||||
if (Str.InStr(file, "vpnmanual"))
|
||||
{
|
||||
File.Delete(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void DeleteAllReleaseExe()
|
||||
{
|
||||
if (Directory.Exists(Paths.ReleaseDir))
|
||||
{
|
||||
string[] files = Directory.GetFiles(Paths.ReleaseDir, "*.exe", SearchOption.AllDirectories);
|
||||
|
||||
foreach (string file in files)
|
||||
{
|
||||
if (Str.InStr(file, "vpnmanual") == false)
|
||||
{
|
||||
File.Delete(file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// HamCore build utility
|
||||
public static class HamCoreBuildUtil
|
||||
{
|
||||
// Identify whether a file is necessary only in the Win32
|
||||
public static bool IsFileForOnlyWin32(string filename)
|
||||
{
|
||||
string[] filesOnlyWin32 =
|
||||
{
|
||||
".exe",
|
||||
".dll",
|
||||
".sys",
|
||||
".inf",
|
||||
".wav",
|
||||
".cat",
|
||||
};
|
||||
|
||||
foreach (string ext in filesOnlyWin32)
|
||||
{
|
||||
if (filename.EndsWith(ext, StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Delete svn file
|
||||
public static void DeleteSVNFilesFromHamCoreBuilder(HamCoreBuilder b)
|
||||
{
|
||||
List<string> removeFiles = new List<string>();
|
||||
foreach (HamCoreBuilderFileEntry f in b.FileList)
|
||||
{
|
||||
string name = f.Name;
|
||||
if (name.StartsWith(".svn", StringComparison.InvariantCultureIgnoreCase) ||
|
||||
name.IndexOf(@"\.svn", StringComparison.InvariantCultureIgnoreCase) != -1)
|
||||
{
|
||||
removeFiles.Add(name);
|
||||
}
|
||||
}
|
||||
foreach (string file in removeFiles)
|
||||
{
|
||||
b.DeleteFile(file);
|
||||
}
|
||||
}
|
||||
|
||||
// Build Hamcore file
|
||||
public static void BuildHamcore()
|
||||
{
|
||||
string srcDirNameBasic = Path.Combine(Paths.BinDirName, "hamcore");
|
||||
// Create the destination directory
|
||||
string win32DestDir = Path.Combine(Paths.BuildHamcoreFilesDirName, "hamcore_win32");
|
||||
string win32DestFileName = Path.Combine(win32DestDir, "hamcore.se2");
|
||||
string unixDestDir = Path.Combine(Paths.BuildHamcoreFilesDirName, "hamcore_unix");
|
||||
string unixDestFileName = Path.Combine(unixDestDir, "hamcore.se2");
|
||||
IO.MakeDir(win32DestDir);
|
||||
IO.MakeDir(unixDestDir);
|
||||
|
||||
|
||||
BuildHamcoreEx(srcDirNameBasic, win32DestFileName, unixDestFileName);
|
||||
|
||||
// Copy to bin\hamcore.se2
|
||||
try
|
||||
{
|
||||
string binHamcoreFileName = Path.Combine(Paths.BinDirName, "hamcore.se2");
|
||||
|
||||
try
|
||||
{
|
||||
File.Delete(binHamcoreFileName);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
File.Copy(win32DestFileName, binHamcoreFileName, true);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public static void BuildHamcoreEx(string srcDirNameBasic, string win32DestFileName, string unixDestFileName)
|
||||
{
|
||||
HamCoreBuilder b = new HamCoreBuilder();
|
||||
b.AddDir(srcDirNameBasic);
|
||||
Con.WriteLine("* Building hamcore ...");
|
||||
|
||||
DeleteSVNFilesFromHamCoreBuilder(b);
|
||||
|
||||
try
|
||||
{
|
||||
File.Delete(win32DestFileName);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
b.Build(win32DestFileName);
|
||||
|
||||
// unix
|
||||
List<string> removeFiles = new List<string>();
|
||||
foreach (HamCoreBuilderFileEntry f in b.FileList)
|
||||
{
|
||||
if (IsFileForOnlyWin32(f.Name))
|
||||
{
|
||||
removeFiles.Add(f.Name);
|
||||
}
|
||||
}
|
||||
foreach (string removeFile in removeFiles)
|
||||
{
|
||||
b.DeleteFile(removeFile);
|
||||
}
|
||||
|
||||
DeleteSVNFilesFromHamCoreBuilder(b);
|
||||
|
||||
try
|
||||
{
|
||||
File.Delete(unixDestFileName);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
b.Build(unixDestFileName);
|
||||
}
|
||||
}
|
||||
|
||||
// Number of bits
|
||||
public enum CPUBits
|
||||
{
|
||||
Both,
|
||||
Bits32,
|
||||
Bits64,
|
||||
}
|
||||
|
||||
// Conversion a string to the number of bits
|
||||
public static class CPUBitsUtil
|
||||
{
|
||||
public static CPUBits StringToCPUBits(string str)
|
||||
{
|
||||
if (str.Equals("32bit", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
return CPUBits.Bits32;
|
||||
}
|
||||
else if (str.Equals("64bit", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
return CPUBits.Bits64;
|
||||
}
|
||||
else if (str.Equals("intel", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
return CPUBits.Both;
|
||||
}
|
||||
|
||||
throw new ApplicationException(string.Format("Invalid bits string '{0}'.", str));
|
||||
}
|
||||
|
||||
public static string CPUBitsToString(CPUBits bits)
|
||||
{
|
||||
switch (bits)
|
||||
{
|
||||
case CPUBits.Bits32:
|
||||
return "32bit";
|
||||
|
||||
case CPUBits.Bits64:
|
||||
return "64bit";
|
||||
|
||||
case CPUBits.Both:
|
||||
return "intel";
|
||||
}
|
||||
|
||||
throw new ApplicationException("bits invalid.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,459 +0,0 @@
|
||||
// SoftEther VPN Source Code - Developer Edition Master Branch
|
||||
// Build Utility
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using CoreUtil;
|
||||
|
||||
namespace BuildUtil
|
||||
{
|
||||
// Build settings
|
||||
public static class BuildConfig
|
||||
{
|
||||
public static readonly int NumMultipleCompileTasks = 1;
|
||||
}
|
||||
|
||||
// Software List
|
||||
public static class BuildSoftwareList
|
||||
{
|
||||
// List creation date and time
|
||||
public static DateTime ListCreatedDateTime = DateTime.Now;
|
||||
|
||||
// ========== Windows ==========
|
||||
// Server and Bridge
|
||||
public static readonly BuildSoftware vpnserver_win32_x86x64_ja =
|
||||
new BuildSoftwareWin32(Software.vpnserver_vpnbridge, 0, 0, 0, "", CpuList.intel, OSList.Windows);
|
||||
|
||||
// Client
|
||||
public static readonly BuildSoftware vpnclient_win32_x86x64_ja =
|
||||
new BuildSoftwareWin32(Software.vpnclient, 0, 0, 0, "", CpuList.intel, OSList.Windows);
|
||||
|
||||
// ========== Linux ==========
|
||||
// Server
|
||||
public static readonly BuildSoftware vpnserver_linux_x86_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.x86, OSList.Linux,
|
||||
"linux-x86-32bit", true, "linux-x86-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnserver_linux_x64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.x64, OSList.Linux,
|
||||
"linux-x86-64bit", true, "linux-x86-64bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnserver_linux_arm_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.arm, OSList.Linux,
|
||||
"linux-arm-32bit", false, "linux-arm-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnserver_linux_armeabi_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.armeabi, OSList.Linux,
|
||||
"linux-armeabi-32bit", false, "linux-armeabi-32bit-4.3.2", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnserver_linux_mipsel_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.mipsel, OSList.Linux,
|
||||
"linux-mipsel-32bit", false, "linux-mipsel-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnserver_linux_ppc_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.ppc32, OSList.Linux,
|
||||
"linux-ppc-32bit", false, "linux-ppc-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnserver_linux_sh4_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.sh4, OSList.Linux,
|
||||
"linux-sh4-32bit", false, "linux-sh4-32bit-3.4.6", false,
|
||||
null);
|
||||
|
||||
// Client
|
||||
public static readonly BuildSoftware vpnclient_linux_x86_ja =
|
||||
new BuildSoftwareUnix(Software.vpnclient, 0, 0, 0, "", CpuList.x86, OSList.Linux,
|
||||
"linux-x86-32bit", true, "linux-x86-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnclient_linux_x64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnclient, 0, 0, 0, "", CpuList.x64, OSList.Linux,
|
||||
"linux-x86-64bit", true, "linux-x86-64bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnclient_linux_arm_ja =
|
||||
new BuildSoftwareUnix(Software.vpnclient, 0, 0, 0, "", CpuList.arm, OSList.Linux,
|
||||
"linux-arm-32bit", false, "linux-arm-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnclient_linux_armeabi_ja =
|
||||
new BuildSoftwareUnix(Software.vpnclient, 0, 0, 0, "", CpuList.armeabi, OSList.Linux,
|
||||
"linux-armeabi-32bit", false, "linux-armeabi-32bit-4.3.2", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnclient_linux_mipsel_ja =
|
||||
new BuildSoftwareUnix(Software.vpnclient, 0, 0, 0, "", CpuList.mipsel, OSList.Linux,
|
||||
"linux-mipsel-32bit", false, "linux-mipsel-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnclient_linux_ppc_ja =
|
||||
new BuildSoftwareUnix(Software.vpnclient, 0, 0, 0, "", CpuList.ppc32, OSList.Linux,
|
||||
"linux-ppc-32bit", false, "linux-ppc-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnclient_linux_sh4_ja =
|
||||
new BuildSoftwareUnix(Software.vpnclient, 0, 0, 0, "", CpuList.sh4, OSList.Linux,
|
||||
"linux-sh4-32bit", false, "linux-sh4-32bit-3.4.6", false,
|
||||
null);
|
||||
|
||||
// Bridge
|
||||
public static readonly BuildSoftware vpnbridge_linux_x86_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.x86, OSList.Linux,
|
||||
"linux-x86-32bit", true, "linux-x86-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnbridge_linux_x64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.x64, OSList.Linux,
|
||||
"linux-x86-64bit", true, "linux-x86-64bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnbridge_linux_arm_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.arm, OSList.Linux,
|
||||
"linux-arm-32bit", false, "linux-arm-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnbridge_linux_armeabi_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.armeabi, OSList.Linux,
|
||||
"linux-armeabi-32bit", false, "linux-armeabi-32bit-4.3.2", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnbridge_linux_mipsel_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.mipsel, OSList.Linux,
|
||||
"linux-mipsel-32bit", false, "linux-mipsel-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnbridge_linux_ppc_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.ppc32, OSList.Linux,
|
||||
"linux-ppc-32bit", false, "linux-ppc-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnbridge_linux_sh4_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.sh4, OSList.Linux,
|
||||
"linux-sh4-32bit", false, "linux-sh4-32bit-3.4.6", false,
|
||||
null);
|
||||
|
||||
|
||||
// ========== FreeBSD ==========
|
||||
// Server
|
||||
public static readonly BuildSoftware vpnserver_bsd_x86_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.x86, OSList.FreeBSD,
|
||||
"freebsd-x86-32bit", true, "freebsd-x86-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnserver_bsd_x64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.x64, OSList.FreeBSD,
|
||||
"freebsd-x86-64bit", true, "freebsd-x86-64bit-3.4.6", false,
|
||||
null);
|
||||
|
||||
// Bridge
|
||||
public static readonly BuildSoftware vpnbridge_bsd_x86_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.x86, OSList.FreeBSD,
|
||||
"freebsd-x86-32bit", true, "freebsd-x86-32bit-3.4.6", false,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnbridge_bsd_x64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.x64, OSList.FreeBSD,
|
||||
"freebsd-x86-64bit", true, "freebsd-x86-64bit-3.4.6", false,
|
||||
null);
|
||||
|
||||
|
||||
// ========== Mac OS X ==========
|
||||
// Server
|
||||
public static readonly BuildSoftware vpnserver_macos_ppc32_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.ppc32, OSList.MacOS,
|
||||
"macos-ppc-32bit", true, "macos-ppc-32bit-4.0.4", true,
|
||||
"-isysroot /cygdrive/s/CommomDev/xc/common/apple_xcode/xcode_2.4/Developer/SDKs/MacOSX10.4u.sdk");
|
||||
public static readonly BuildSoftware vpnserver_macos_ppc64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.ppc64, OSList.MacOS,
|
||||
"macos-ppc-64bit", true, "macos-ppc-64bit-4.0.4", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnserver_macos_x86_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.x86, OSList.MacOS,
|
||||
"macos-x86-32bit", true, "macos-x86-32bit-4.0.4", true,
|
||||
"-isysroot /cygdrive/s/CommomDev/xc/common/apple_xcode/xcode_2.4/Developer/SDKs/MacOSX10.4u.sdk");
|
||||
public static readonly BuildSoftware vpnserver_macos_x64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.x64, OSList.MacOS,
|
||||
"macos-x86-64bit", true, "macos-x86-64bit-4.0.4", true,
|
||||
null);
|
||||
|
||||
// Client
|
||||
public static readonly BuildSoftware vpnclient_macos_ppc32_ja =
|
||||
new BuildSoftwareUnix(Software.vpnclient, 0, 0, 0, "", CpuList.ppc32, OSList.MacOS,
|
||||
"macos-ppc-32bit", true, "macos-ppc-32bit-4.0.4", true,
|
||||
"-isysroot /cygdrive/s/CommomDev/xc/common/apple_xcode/xcode_2.4/Developer/SDKs/MacOSX10.4u.sdk");
|
||||
public static readonly BuildSoftware vpnclient_macos_ppc64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnclient, 0, 0, 0, "", CpuList.ppc64, OSList.MacOS,
|
||||
"macos-ppc-64bit", true, "macos-ppc-64bit-4.0.4", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnclient_macos_x86_ja =
|
||||
new BuildSoftwareUnix(Software.vpnclient, 0, 0, 0, "", CpuList.x86, OSList.MacOS,
|
||||
"macos-x86-32bit", true, "macos-x86-32bit-4.0.4", true,
|
||||
"-isysroot /cygdrive/s/CommomDev/xc/common/apple_xcode/xcode_2.4/Developer/SDKs/MacOSX10.4u.sdk");
|
||||
public static readonly BuildSoftware vpnclient_macos_x64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnclient, 0, 0, 0, "", CpuList.x64, OSList.MacOS,
|
||||
"macos-x86-64bit", true, "macos-x86-64bit-4.0.4", true,
|
||||
null);
|
||||
|
||||
// Bridge
|
||||
public static readonly BuildSoftware vpnbridge_macos_ppc32_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.ppc32, OSList.MacOS,
|
||||
"macos-ppc-32bit", true, "macos-ppc-32bit-4.0.4", true,
|
||||
"-isysroot /cygdrive/s/CommomDev/xc/common/apple_xcode/xcode_2.4/Developer/SDKs/MacOSX10.4u.sdk");
|
||||
public static readonly BuildSoftware vpnbridge_macos_ppc64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.ppc64, OSList.MacOS,
|
||||
"macos-ppc-64bit", true, "macos-ppc-64bit-4.0.4", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnbridge_macos_x86_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.x86, OSList.MacOS,
|
||||
"macos-x86-32bit", true, "macos-x86-32bit-4.0.4", true,
|
||||
"-isysroot /cygdrive/s/CommomDev/xc/common/apple_xcode/xcode_2.4/Developer/SDKs/MacOSX10.4u.sdk");
|
||||
public static readonly BuildSoftware vpnbridge_macos_x64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.x64, OSList.MacOS,
|
||||
"macos-x86-64bit", true, "macos-x86-64bit-4.0.4", true,
|
||||
null);
|
||||
|
||||
// ========== Solaris ==========
|
||||
// Server
|
||||
public static readonly BuildSoftware vpnserver_solaris_sparc32_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.sparc32, OSList.Solaris,
|
||||
"solaris-sparc-32bit", true, "solaris-sparc-32bit-3.4.6", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnserver_solaris_sparc64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.sparc64, OSList.Solaris,
|
||||
"solaris-sparc-64bit", true, "solaris-sparc-64bit-3.4.6", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnserver_solaris_x86_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.x86, OSList.Solaris,
|
||||
"solaris-x86-32bit", true, "solaris-x86-32bit-3.4.6", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnserver_solaris_x64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnserver, 0, 0, 0, "", CpuList.x64, OSList.Solaris,
|
||||
"solaris-x86-64bit", true, "solaris-x86-64bit-3.4.6", true,
|
||||
null);
|
||||
|
||||
// Bridge
|
||||
public static readonly BuildSoftware vpnbridge_solaris_sparc32_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.sparc32, OSList.Solaris,
|
||||
"solaris-sparc-32bit", true, "solaris-sparc-32bit-3.4.6", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnbridge_solaris_sparc64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.sparc64, OSList.Solaris,
|
||||
"solaris-sparc-64bit", true, "solaris-sparc-64bit-3.4.6", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnbridge_solaris_x86_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.x86, OSList.Solaris,
|
||||
"solaris-x86-32bit", true, "solaris-x86-32bit-3.4.6", true,
|
||||
null);
|
||||
public static readonly BuildSoftware vpnbridge_solaris_x64_ja =
|
||||
new BuildSoftwareUnix(Software.vpnbridge, 0, 0, 0, "", CpuList.x64, OSList.Solaris,
|
||||
"solaris-x86-64bit", true, "solaris-x86-64bit-3.4.6", true,
|
||||
null);
|
||||
|
||||
static BuildSoftwareList()
|
||||
{
|
||||
foreach (BuildSoftware soft in List)
|
||||
{
|
||||
BuildSoftwareUnix s = soft as BuildSoftwareUnix;
|
||||
if (s != null)
|
||||
{
|
||||
// Make different settings for each OS
|
||||
if (soft.Os == OSList.Linux)
|
||||
{
|
||||
s.GccMacros.Add("UNIX_LINUX");
|
||||
}
|
||||
else if (soft.Os == OSList.FreeBSD)
|
||||
{
|
||||
s.GccMacros.Add("UNIX_BSD");
|
||||
s.GccMacros.Add("BRIDGE_BPF");
|
||||
s.GccMacros.Add("NO_VLAN");
|
||||
}
|
||||
else if (soft.Os == OSList.MacOS)
|
||||
{
|
||||
s.GccMacros.Add("UNIX_MACOS");
|
||||
s.GccMacros.Add("BRIDGE_PCAP");
|
||||
//s.GccMacros.Add("NO_VLAN");
|
||||
}
|
||||
else if (soft.Os == OSList.Solaris)
|
||||
{
|
||||
s.GccMacros.Add("UNIX_SOLARIS");
|
||||
s.GccMacros.Add("NO_VLAN");
|
||||
}
|
||||
if (s.Cpu.Bits == CPUBits.Bits64)
|
||||
{
|
||||
s.GccMacros.Add("CPU_64");
|
||||
}
|
||||
s.GccMacros.Add("CPU_" + s.Cpu.Name.ToUpperInvariant());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static BuildSoftware[] List
|
||||
{
|
||||
get
|
||||
{
|
||||
List<BuildSoftware> o = new List<BuildSoftware>();
|
||||
foreach (FieldInfo fi in typeof(BuildSoftwareList).GetFields(BindingFlags.Static | BindingFlags.Public))
|
||||
if (fi.FieldType == typeof(BuildSoftware))
|
||||
o.Add((BuildSoftware)fi.GetValue(null));
|
||||
return o.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public static BuildSoftware Find(Software soft, OS os, Cpu cpu)
|
||||
{
|
||||
foreach (BuildSoftware s in List)
|
||||
{
|
||||
if (s.Software == soft && s.Os == os && s.Cpu == cpu)
|
||||
{
|
||||
return s;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
// OS List
|
||||
public static class OSList
|
||||
{
|
||||
// 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 / Server 2016",
|
||||
new Cpu[]
|
||||
{
|
||||
CpuList.intel,
|
||||
});
|
||||
|
||||
// Linux
|
||||
public static readonly OS Linux = new OS("linux", "Linux",
|
||||
"Linux Kernel 2.4 / 2.6 / 3.x / 4.x",
|
||||
new Cpu[]
|
||||
{
|
||||
CpuList.x86,
|
||||
CpuList.x64,
|
||||
CpuList.mipsel,
|
||||
CpuList.ppc32,
|
||||
CpuList.ppc64,
|
||||
CpuList.sh4,
|
||||
CpuList.arm,
|
||||
CpuList.armeabi,
|
||||
});
|
||||
|
||||
// FreeBSD
|
||||
public static readonly OS FreeBSD = new OS("freebsd", "FreeBSD",
|
||||
"FreeBSD 5 / 6 / 7 / 8 / 9 / 10",
|
||||
new Cpu[]
|
||||
{
|
||||
CpuList.x86,
|
||||
CpuList.x64,
|
||||
});
|
||||
|
||||
// OpenBSD
|
||||
public static readonly OS OpenBSD = new OS("openbsd", "OpenBSD",
|
||||
"OpenBSD 5 / 6 / 7 / 8 / 9 / 10",
|
||||
new Cpu[]
|
||||
{
|
||||
CpuList.x86,
|
||||
CpuList.x64,
|
||||
});
|
||||
|
||||
// Solaris
|
||||
public static readonly OS Solaris = new OS("solaris", "Solaris",
|
||||
"Solaris 8 / 9 / 10 / 11",
|
||||
new Cpu[]
|
||||
{
|
||||
CpuList.x86,
|
||||
CpuList.x64,
|
||||
CpuList.sparc32,
|
||||
CpuList.sparc64,
|
||||
});
|
||||
|
||||
// Mac OS X
|
||||
public static readonly OS MacOS = new OS("macos", "Mac OS X",
|
||||
"Mac OS X 10.4 Tiger / 10.5 Leopard / 10.6 Snow Leopard / 10.7 Lion / 10.8 Mountain Lion / 10.9 Mavericks",
|
||||
new Cpu[]
|
||||
{
|
||||
CpuList.x86,
|
||||
CpuList.x64,
|
||||
CpuList.ppc32,
|
||||
CpuList.ppc64,
|
||||
});
|
||||
|
||||
static OSList()
|
||||
{
|
||||
OSList.Windows.IsWindows = true;
|
||||
}
|
||||
|
||||
public static OS[] List
|
||||
{
|
||||
get
|
||||
{
|
||||
List<OS> o = new List<OS>();
|
||||
foreach (FieldInfo fi in typeof(OSList).GetFields(BindingFlags.Static | BindingFlags.Public))
|
||||
if (fi.FieldType == typeof(OS))
|
||||
o.Add((OS)fi.GetValue(null));
|
||||
return o.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public static OS FindByName(string name)
|
||||
{
|
||||
foreach (OS os in List)
|
||||
{
|
||||
if (os.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
return os;
|
||||
}
|
||||
}
|
||||
|
||||
throw new ApplicationException(name);
|
||||
}
|
||||
}
|
||||
|
||||
// CPU List
|
||||
public static class CpuList
|
||||
{
|
||||
public static readonly Cpu x86 = new Cpu("x86", "Intel x86", CPUBits.Bits32);
|
||||
public static readonly Cpu x64 = new Cpu("x64", "Intel x64 / AMD64", CPUBits.Bits64);
|
||||
public static readonly Cpu intel = new Cpu("x86_x64", "Intel", CPUBits.Both);
|
||||
public static readonly Cpu arm = new Cpu("arm", "ARM legacy ABI", CPUBits.Bits32);
|
||||
public static readonly Cpu armeabi = new Cpu("arm_eabi", "ARM EABI", CPUBits.Bits32);
|
||||
public static readonly Cpu mipsel = new Cpu("mips_el", "MIPS Little-Endian", CPUBits.Bits32);
|
||||
public static readonly Cpu ppc32 = new Cpu("powerpc", "PowerPC", CPUBits.Bits32);
|
||||
public static readonly Cpu ppc64 = new Cpu("powerpc64", "PowerPC G5", CPUBits.Bits64);
|
||||
public static readonly Cpu sh4 = new Cpu("sh4", "SH-4", CPUBits.Bits32);
|
||||
public static readonly Cpu sparc32 = new Cpu("sparc", "SPARC", CPUBits.Bits32);
|
||||
public static readonly Cpu sparc64 = new Cpu("sparc64", "SPARC", CPUBits.Bits64);
|
||||
|
||||
public static Cpu[] List
|
||||
{
|
||||
get
|
||||
{
|
||||
List<Cpu> o = new List<Cpu>();
|
||||
foreach (FieldInfo fi in typeof(CpuList).GetFields(BindingFlags.Static | BindingFlags.Public))
|
||||
if (fi.FieldType == typeof(Cpu))
|
||||
o.Add((Cpu)fi.GetValue(null));
|
||||
return o.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public static Cpu FindByName(string name)
|
||||
{
|
||||
foreach (Cpu c in List)
|
||||
{
|
||||
if (c.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
return c;
|
||||
}
|
||||
}
|
||||
|
||||
throw new ApplicationException(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,229 +0,0 @@
|
||||
// SoftEther VPN Source Code - Developer Edition Master Branch
|
||||
// Build Utility
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using CoreUtil;
|
||||
|
||||
namespace BuildUtil
|
||||
{
|
||||
// CPU data
|
||||
public class Cpu
|
||||
{
|
||||
public string Name; // CPU name
|
||||
public string Title; // CPU display name
|
||||
public CPUBits Bits; // Bit length
|
||||
|
||||
public Cpu(string name, string title, CPUBits bits)
|
||||
{
|
||||
this.Name = name;
|
||||
this.Title = title;
|
||||
this.Bits = bits;
|
||||
}
|
||||
}
|
||||
|
||||
// OS data
|
||||
public class OS : ICloneable
|
||||
{
|
||||
public string Name; // OS name
|
||||
public string Title; // OS Display Name
|
||||
public string OSSimpleList; // OS simple list
|
||||
public Cpu[] CpuList; // CPU support list
|
||||
public bool IsWindows = false; // Whether Windows
|
||||
public bool IsOnlyFiles = false; // Whether only EXE file package
|
||||
|
||||
public OS(string name, string title, string simpleList, Cpu[] cpuList)
|
||||
{
|
||||
this.Name = name;
|
||||
this.Title = title;
|
||||
this.OSSimpleList = simpleList;
|
||||
this.CpuList = cpuList;
|
||||
}
|
||||
|
||||
public object Clone()
|
||||
{
|
||||
return this.MemberwiseClone();
|
||||
}
|
||||
}
|
||||
|
||||
// Type of software
|
||||
public enum Software
|
||||
{
|
||||
vpnserver,
|
||||
vpnbridge,
|
||||
vpnclient,
|
||||
vpnserver_vpnbridge,
|
||||
}
|
||||
|
||||
// Class to build the software
|
||||
public class BuildSoftware
|
||||
{
|
||||
public Software Software; // Software
|
||||
public int VersionMajor; // Version number (major)
|
||||
public int VersionMinor; // Version number (minor)
|
||||
public int VersionBuild; // Version number (build)
|
||||
public string BuildName; // Build name
|
||||
public Cpu Cpu; // CPU
|
||||
public OS Os; // OS
|
||||
public DateTime BuildDate; // Build date
|
||||
|
||||
public BuildSoftware(Software software, int versionMajor, int versionMinor, int versionBuild, string buildName, Cpu cpu, OS os)
|
||||
{
|
||||
this.Software = software;
|
||||
this.VersionMajor = versionMajor;
|
||||
this.VersionMinor = versionMinor;
|
||||
this.VersionBuild = versionBuild;
|
||||
this.BuildName = buildName;
|
||||
this.Cpu = cpu;
|
||||
this.Os = os;
|
||||
}
|
||||
|
||||
public void SetBuildNumberVersionName(int versionMajor, int versionMinor, int versionBuild, string buildName, DateTime date)
|
||||
{
|
||||
this.VersionMajor = versionMajor;
|
||||
this.VersionMinor = versionMinor;
|
||||
this.VersionBuild = versionBuild;
|
||||
this.BuildName = buildName;
|
||||
this.BuildDate = date;
|
||||
}
|
||||
|
||||
public BuildSoftware(string filename)
|
||||
{
|
||||
filename = Path.GetFileName(filename);
|
||||
|
||||
if (filename.StartsWith(Paths.Prefix, StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
filename = filename.Substring(Paths.Prefix.Length);
|
||||
}
|
||||
|
||||
if (filename.EndsWith(".tar.gz", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
filename = Str.ReplaceStr(filename, ".tar.gz", "");
|
||||
}
|
||||
else
|
||||
{
|
||||
filename = Path.GetFileNameWithoutExtension(filename);
|
||||
}
|
||||
char[] sps = {'-'};
|
||||
|
||||
string[] tokens = filename.Split(sps, StringSplitOptions.RemoveEmptyEntries);
|
||||
if (tokens.Length != 8)
|
||||
{
|
||||
throw new ApplicationException(filename);
|
||||
}
|
||||
|
||||
if (tokens[1].StartsWith("v", StringComparison.InvariantCultureIgnoreCase) == false)
|
||||
{
|
||||
throw new ApplicationException(filename);
|
||||
}
|
||||
|
||||
this.Software = (Software)Enum.Parse(typeof(Software), tokens[0], true);
|
||||
|
||||
string[] vs = tokens[1].Substring(1).Split('.');
|
||||
this.VersionMajor = int.Parse(vs[0]);
|
||||
this.VersionMinor = int.Parse(vs[1]);
|
||||
this.VersionBuild = int.Parse(tokens[2]);
|
||||
this.BuildName = tokens[3];
|
||||
|
||||
string[] ds = tokens[4].Split('.');
|
||||
this.BuildDate = new DateTime(int.Parse(ds[0]), int.Parse(ds[1]), int.Parse(ds[2]));
|
||||
this.Os = OSList.FindByName(tokens[5]);
|
||||
this.Cpu = CpuList.FindByName(tokens[6]);
|
||||
}
|
||||
|
||||
// Generate a string of file name equivalent
|
||||
public virtual string FileNameBaseString
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Format("{0}-v{6}-{1}-{2}-{8:D4}.{9:D2}.{10:D2}-{4}-{3}-{7}",
|
||||
Paths.Prefix + this.Software.ToString(),
|
||||
this.VersionBuild,
|
||||
this.BuildName,
|
||||
this.Cpu.Name,
|
||||
this.Os.Name,
|
||||
0,
|
||||
BuildHelper.VersionIntToString(this.VersionMajor, this.VersionMinor),
|
||||
CPUBitsUtil.CPUBitsToString(this.Cpu.Bits),
|
||||
BuildDate.Year, BuildDate.Month, BuildDate.Day).ToLower();
|
||||
}
|
||||
}
|
||||
|
||||
// Generate an identifier
|
||||
public virtual string IDString
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Format("{0}-{2}-{3}-{4}",
|
||||
Paths.Prefix + this.Software.ToString(),
|
||||
0,
|
||||
this.Os.Name,
|
||||
this.Cpu.Name,
|
||||
CPUBitsUtil.CPUBitsToString(this.Cpu.Bits));
|
||||
}
|
||||
}
|
||||
|
||||
// Generate a title string
|
||||
public virtual string TitleString
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Format("{0} (Ver {2}, Build {1}, {3}) for {5}", BuildHelper.GetSoftwareTitle(this.Software),
|
||||
this.VersionBuild, BuildHelper.VersionIntToString(this.VersionMajor, this.VersionMinor), this.Cpu.Title, 0, this.Os.Title);
|
||||
}
|
||||
}
|
||||
|
||||
// Generate extension
|
||||
public virtual string OutputFileExt
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.Os.IsWindows)
|
||||
{
|
||||
return ".exe";
|
||||
}
|
||||
else
|
||||
{
|
||||
return ".tar.gz";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Generate the output file name
|
||||
public virtual string OutputFileName
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.FileNameBaseString + this.OutputFileExt;
|
||||
}
|
||||
}
|
||||
|
||||
// Run the build
|
||||
public virtual void Build()
|
||||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,284 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// このコードはツールによって生成されました。
|
||||
// ランタイム バージョン:2.0.50727.5485
|
||||
//
|
||||
// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
|
||||
// コードが再生成されるときに損失したりします。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
//
|
||||
// このソース コードは Microsoft.VSDesigner、バージョン 2.0.50727.5485 によって自動生成されました。
|
||||
//
|
||||
#pragma warning disable 1591
|
||||
|
||||
namespace BuildUtil.HvSignService {
|
||||
using System.Diagnostics;
|
||||
using System.Web.Services;
|
||||
using System.ComponentModel;
|
||||
using System.Web.Services.Protocols;
|
||||
using System;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Web.Services.WebServiceBindingAttribute(Name="SignSoap", Namespace="http://hvsigncode/")]
|
||||
public partial class Sign : System.Web.Services.Protocols.SoapHttpClientProtocol {
|
||||
|
||||
private System.Threading.SendOrPostCallback HelloWorldOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback ExecSignOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback ExecSignExOperationCompleted;
|
||||
|
||||
private bool useDefaultCredentialsSetExplicitly;
|
||||
|
||||
/// <remarks/>
|
||||
public Sign() {
|
||||
this.Url = global::BuildUtil.Properties.Settings.Default.BuildUtilTmp_HvSignService_Sign;
|
||||
if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
|
||||
this.UseDefaultCredentials = true;
|
||||
this.useDefaultCredentialsSetExplicitly = false;
|
||||
}
|
||||
else {
|
||||
this.useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
public new string Url {
|
||||
get {
|
||||
return base.Url;
|
||||
}
|
||||
set {
|
||||
if ((((this.IsLocalFileSystemWebService(base.Url) == true)
|
||||
&& (this.useDefaultCredentialsSetExplicitly == false))
|
||||
&& (this.IsLocalFileSystemWebService(value) == false))) {
|
||||
base.UseDefaultCredentials = false;
|
||||
}
|
||||
base.Url = value;
|
||||
}
|
||||
}
|
||||
|
||||
public new bool UseDefaultCredentials {
|
||||
get {
|
||||
return base.UseDefaultCredentials;
|
||||
}
|
||||
set {
|
||||
base.UseDefaultCredentials = value;
|
||||
this.useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public event HelloWorldCompletedEventHandler HelloWorldCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event ExecSignCompletedEventHandler ExecSignCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event ExecSignExCompletedEventHandler ExecSignExCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://hvsigncode/HelloWorld", RequestNamespace="http://hvsigncode/", ResponseNamespace="http://hvsigncode/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public string HelloWorld() {
|
||||
object[] results = this.Invoke("HelloWorld", new object[0]);
|
||||
return ((string)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void HelloWorldAsync() {
|
||||
this.HelloWorldAsync(null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void HelloWorldAsync(object userState) {
|
||||
if ((this.HelloWorldOperationCompleted == null)) {
|
||||
this.HelloWorldOperationCompleted = new System.Threading.SendOrPostCallback(this.OnHelloWorldOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("HelloWorld", new object[0], this.HelloWorldOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnHelloWorldOperationCompleted(object arg) {
|
||||
if ((this.HelloWorldCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.HelloWorldCompleted(this, new HelloWorldCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://hvsigncode/ExecSign", RequestNamespace="http://hvsigncode/", ResponseNamespace="http://hvsigncode/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public string ExecSign(string src_filename, bool driver_mode, string description, int cert_id) {
|
||||
object[] results = this.Invoke("ExecSign", new object[] {
|
||||
src_filename,
|
||||
driver_mode,
|
||||
description,
|
||||
cert_id});
|
||||
return ((string)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void ExecSignAsync(string src_filename, bool driver_mode, string description, int cert_id) {
|
||||
this.ExecSignAsync(src_filename, driver_mode, description, cert_id, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void ExecSignAsync(string src_filename, bool driver_mode, string description, int cert_id, object userState) {
|
||||
if ((this.ExecSignOperationCompleted == null)) {
|
||||
this.ExecSignOperationCompleted = new System.Threading.SendOrPostCallback(this.OnExecSignOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("ExecSign", new object[] {
|
||||
src_filename,
|
||||
driver_mode,
|
||||
description,
|
||||
cert_id}, this.ExecSignOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnExecSignOperationCompleted(object arg) {
|
||||
if ((this.ExecSignCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.ExecSignCompleted(this, new ExecSignCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://hvsigncode/ExecSignEx", RequestNamespace="http://hvsigncode/", ResponseNamespace="http://hvsigncode/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public string ExecSignEx(string src_filename, bool driver_mode, string description, int cert_id, int sha_mode) {
|
||||
object[] results = this.Invoke("ExecSignEx", new object[] {
|
||||
src_filename,
|
||||
driver_mode,
|
||||
description,
|
||||
cert_id,
|
||||
sha_mode});
|
||||
return ((string)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void ExecSignExAsync(string src_filename, bool driver_mode, string description, int cert_id, int sha_mode) {
|
||||
this.ExecSignExAsync(src_filename, driver_mode, description, cert_id, sha_mode, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void ExecSignExAsync(string src_filename, bool driver_mode, string description, int cert_id, int sha_mode, object userState) {
|
||||
if ((this.ExecSignExOperationCompleted == null)) {
|
||||
this.ExecSignExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnExecSignExOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("ExecSignEx", new object[] {
|
||||
src_filename,
|
||||
driver_mode,
|
||||
description,
|
||||
cert_id,
|
||||
sha_mode}, this.ExecSignExOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnExecSignExOperationCompleted(object arg) {
|
||||
if ((this.ExecSignExCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.ExecSignExCompleted(this, new ExecSignExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState) {
|
||||
base.CancelAsync(userState);
|
||||
}
|
||||
|
||||
private bool IsLocalFileSystemWebService(string url) {
|
||||
if (((url == null)
|
||||
|| (url == string.Empty))) {
|
||||
return false;
|
||||
}
|
||||
System.Uri wsUri = new System.Uri(url);
|
||||
if (((wsUri.Port >= 1024)
|
||||
&& (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
|
||||
public delegate void HelloWorldCompletedEventHandler(object sender, HelloWorldCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class HelloWorldCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal HelloWorldCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((string)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
|
||||
public delegate void ExecSignCompletedEventHandler(object sender, ExecSignCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class ExecSignCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal ExecSignCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((string)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
|
||||
public delegate void ExecSignExCompletedEventHandler(object sender, ExecSignExCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.5483")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class ExecSignExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal ExecSignExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((string)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma warning restore 1591
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
|
||||
<contractRef ref="http://hvsigncode/Sign.asmx?wsdl" docRef="http://hvsigncode/Sign.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
|
||||
<soap address="http://hvsigncode/Sign.asmx" xmlns:q1="http://hvsigncode/" binding="q1:SignSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
<soap address="http://hvsigncode/Sign.asmx" xmlns:q2="http://hvsigncode/" binding="q2:SignSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
</discovery>
|
@ -1,152 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://hvsigncode/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://hvsigncode/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<s:schema elementFormDefault="qualified" targetNamespace="http://hvsigncode/">
|
||||
<s:element name="HelloWorld">
|
||||
<s:complexType />
|
||||
</s:element>
|
||||
<s:element name="HelloWorldResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="ExecSign">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="src_filename" type="s:string" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="driver_mode" type="s:boolean" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="description" type="s:string" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="cert_id" type="s:int" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="ExecSignResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="ExecSignResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="ExecSignEx">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="src_filename" type="s:string" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="driver_mode" type="s:boolean" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="description" type="s:string" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="cert_id" type="s:int" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="sha_mode" type="s:int" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="ExecSignExResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="ExecSignExResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="HelloWorldSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:HelloWorld" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="HelloWorldSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:HelloWorldResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ExecSignSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:ExecSign" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ExecSignSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:ExecSignResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ExecSignExSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:ExecSignEx" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="ExecSignExSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:ExecSignExResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="SignSoap">
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<wsdl:input message="tns:HelloWorldSoapIn" />
|
||||
<wsdl:output message="tns:HelloWorldSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ExecSign">
|
||||
<wsdl:input message="tns:ExecSignSoapIn" />
|
||||
<wsdl:output message="tns:ExecSignSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ExecSignEx">
|
||||
<wsdl:input message="tns:ExecSignExSoapIn" />
|
||||
<wsdl:output message="tns:ExecSignExSoapOut" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="SignSoap" type="tns:SignSoap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<soap:operation soapAction="http://hvsigncode/HelloWorld" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ExecSign">
|
||||
<soap:operation soapAction="http://hvsigncode/ExecSign" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ExecSignEx">
|
||||
<soap:operation soapAction="http://hvsigncode/ExecSignEx" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="SignSoap12" type="tns:SignSoap">
|
||||
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<soap12:operation soapAction="http://hvsigncode/HelloWorld" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ExecSign">
|
||||
<soap12:operation soapAction="http://hvsigncode/ExecSign" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="ExecSignEx">
|
||||
<soap12:operation soapAction="http://hvsigncode/ExecSignEx" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="Sign">
|
||||
<wsdl:port name="SignSoap" binding="tns:SignSoap">
|
||||
<soap:address location="http://hvsigncode/Sign.asmx" />
|
||||
</wsdl:port>
|
||||
<wsdl:port name="SignSoap12" binding="tns:SignSoap12">
|
||||
<soap12:address location="http://hvsigncode/Sign.asmx" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
@ -1,215 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// このコードはツールによって生成されました。
|
||||
// ランタイム バージョン:2.0.50727.4927
|
||||
//
|
||||
// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
|
||||
// コードが再生成されるときに損失したりします。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
//
|
||||
// このソース コードは Microsoft.VSDesigner、バージョン 2.0.50727.4927 によって自動生成されました。
|
||||
//
|
||||
#pragma warning disable 1591
|
||||
|
||||
namespace BuildUtil.SignService {
|
||||
using System.Diagnostics;
|
||||
using System.Web.Services;
|
||||
using System.ComponentModel;
|
||||
using System.Web.Services.Protocols;
|
||||
using System;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.4927")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
[System.Web.Services.WebServiceBindingAttribute(Name="SignSoap", Namespace="http://dv/Sign/")]
|
||||
public partial class Sign : System.Web.Services.Protocols.SoapHttpClientProtocol {
|
||||
|
||||
private System.Threading.SendOrPostCallback HelloWorldOperationCompleted;
|
||||
|
||||
private System.Threading.SendOrPostCallback DoSignOperationCompleted;
|
||||
|
||||
private bool useDefaultCredentialsSetExplicitly;
|
||||
|
||||
/// <remarks/>
|
||||
public Sign() {
|
||||
this.Url = global::BuildUtil.Properties.Settings.Default.BuildUtil_SignService_Sign;
|
||||
if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
|
||||
this.UseDefaultCredentials = true;
|
||||
this.useDefaultCredentialsSetExplicitly = false;
|
||||
}
|
||||
else {
|
||||
this.useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
public new string Url {
|
||||
get {
|
||||
return base.Url;
|
||||
}
|
||||
set {
|
||||
if ((((this.IsLocalFileSystemWebService(base.Url) == true)
|
||||
&& (this.useDefaultCredentialsSetExplicitly == false))
|
||||
&& (this.IsLocalFileSystemWebService(value) == false))) {
|
||||
base.UseDefaultCredentials = false;
|
||||
}
|
||||
base.Url = value;
|
||||
}
|
||||
}
|
||||
|
||||
public new bool UseDefaultCredentials {
|
||||
get {
|
||||
return base.UseDefaultCredentials;
|
||||
}
|
||||
set {
|
||||
base.UseDefaultCredentials = value;
|
||||
this.useDefaultCredentialsSetExplicitly = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public event HelloWorldCompletedEventHandler HelloWorldCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
public event DoSignCompletedEventHandler DoSignCompleted;
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://dv/Sign/HelloWorld", RequestNamespace="http://dv/Sign/", ResponseNamespace="http://dv/Sign/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
public string HelloWorld() {
|
||||
object[] results = this.Invoke("HelloWorld", new object[0]);
|
||||
return ((string)(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void HelloWorldAsync() {
|
||||
this.HelloWorldAsync(null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void HelloWorldAsync(object userState) {
|
||||
if ((this.HelloWorldOperationCompleted == null)) {
|
||||
this.HelloWorldOperationCompleted = new System.Threading.SendOrPostCallback(this.OnHelloWorldOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("HelloWorld", new object[0], this.HelloWorldOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnHelloWorldOperationCompleted(object arg) {
|
||||
if ((this.HelloWorldCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.HelloWorldCompleted(this, new HelloWorldCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://dv/Sign/DoSign", RequestNamespace="http://dv/Sign/", ResponseNamespace="http://dv/Sign/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||
[return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
|
||||
public byte[] DoSign([System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")] byte[] srcData, bool driverMode, string description) {
|
||||
object[] results = this.Invoke("DoSign", new object[] {
|
||||
srcData,
|
||||
driverMode,
|
||||
description});
|
||||
return ((byte[])(results[0]));
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void DoSignAsync(byte[] srcData, bool driverMode, string description) {
|
||||
this.DoSignAsync(srcData, driverMode, description, null);
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public void DoSignAsync(byte[] srcData, bool driverMode, string description, object userState) {
|
||||
if ((this.DoSignOperationCompleted == null)) {
|
||||
this.DoSignOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDoSignOperationCompleted);
|
||||
}
|
||||
this.InvokeAsync("DoSign", new object[] {
|
||||
srcData,
|
||||
driverMode,
|
||||
description}, this.DoSignOperationCompleted, userState);
|
||||
}
|
||||
|
||||
private void OnDoSignOperationCompleted(object arg) {
|
||||
if ((this.DoSignCompleted != null)) {
|
||||
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
|
||||
this.DoSignCompleted(this, new DoSignCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public new void CancelAsync(object userState) {
|
||||
base.CancelAsync(userState);
|
||||
}
|
||||
|
||||
private bool IsLocalFileSystemWebService(string url) {
|
||||
if (((url == null)
|
||||
|| (url == string.Empty))) {
|
||||
return false;
|
||||
}
|
||||
System.Uri wsUri = new System.Uri(url);
|
||||
if (((wsUri.Port >= 1024)
|
||||
&& (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.4927")]
|
||||
public delegate void HelloWorldCompletedEventHandler(object sender, HelloWorldCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.4927")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class HelloWorldCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal HelloWorldCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public string Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((string)(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.4927")]
|
||||
public delegate void DoSignCompletedEventHandler(object sender, DoSignCompletedEventArgs e);
|
||||
|
||||
/// <remarks/>
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.4927")]
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||
public partial class DoSignCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
|
||||
|
||||
private object[] results;
|
||||
|
||||
internal DoSignCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
|
||||
base(exception, cancelled, userState) {
|
||||
this.results = results;
|
||||
}
|
||||
|
||||
/// <remarks/>
|
||||
public byte[] Result {
|
||||
get {
|
||||
this.RaiseExceptionIfNecessary();
|
||||
return ((byte[])(this.results[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma warning restore 1591
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
|
||||
<contractRef ref="http://dv/Sign/Sign.asmx?wsdl" docRef="http://dv/Sign/Sign.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
|
||||
<soap address="http://dv/Sign/Sign.asmx" xmlns:q1="http://dv/Sign/" binding="q1:SignSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
<soap address="http://dv/Sign/Sign.asmx" xmlns:q2="http://dv/Sign/" binding="q2:SignSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
|
||||
</discovery>
|
@ -1,105 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://dv/Sign/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://dv/Sign/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
|
||||
<wsdl:types>
|
||||
<s:schema elementFormDefault="qualified" targetNamespace="http://dv/Sign/">
|
||||
<s:element name="HelloWorld">
|
||||
<s:complexType />
|
||||
</s:element>
|
||||
<s:element name="HelloWorldResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="DoSign">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="srcData" type="s:base64Binary" />
|
||||
<s:element minOccurs="1" maxOccurs="1" name="driverMode" type="s:boolean" />
|
||||
<s:element minOccurs="0" maxOccurs="1" name="description" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:element name="DoSignResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="DoSignResult" type="s:base64Binary" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:schema>
|
||||
</wsdl:types>
|
||||
<wsdl:message name="HelloWorldSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:HelloWorld" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="HelloWorldSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:HelloWorldResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DoSignSoapIn">
|
||||
<wsdl:part name="parameters" element="tns:DoSign" />
|
||||
</wsdl:message>
|
||||
<wsdl:message name="DoSignSoapOut">
|
||||
<wsdl:part name="parameters" element="tns:DoSignResponse" />
|
||||
</wsdl:message>
|
||||
<wsdl:portType name="SignSoap">
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<wsdl:input message="tns:HelloWorldSoapIn" />
|
||||
<wsdl:output message="tns:HelloWorldSoapOut" />
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DoSign">
|
||||
<wsdl:input message="tns:DoSignSoapIn" />
|
||||
<wsdl:output message="tns:DoSignSoapOut" />
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
<wsdl:binding name="SignSoap" type="tns:SignSoap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<soap:operation soapAction="http://dv/Sign/HelloWorld" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DoSign">
|
||||
<soap:operation soapAction="http://dv/Sign/DoSign" style="document" />
|
||||
<wsdl:input>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:binding name="SignSoap12" type="tns:SignSoap">
|
||||
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
||||
<wsdl:operation name="HelloWorld">
|
||||
<soap12:operation soapAction="http://dv/Sign/HelloWorld" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="DoSign">
|
||||
<soap12:operation soapAction="http://dv/Sign/DoSign" style="document" />
|
||||
<wsdl:input>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap12:body use="literal" />
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
<wsdl:service name="Sign">
|
||||
<wsdl:port name="SignSoap" binding="tns:SignSoap">
|
||||
<soap:address location="http://dv/Sign/Sign.asmx" />
|
||||
</wsdl:port>
|
||||
<wsdl:port name="SignSoap12" binding="tns:SignSoap12">
|
||||
<soap12:address location="http://dv/Sign/Sign.asmx" />
|
||||
</wsdl:port>
|
||||
</wsdl:service>
|
||||
</wsdl:definitions>
|
@ -1,80 +0,0 @@
|
||||
// SoftEther VPN Source Code - Developer Edition Master Branch
|
||||
// Build Utility
|
||||
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Security.Cryptography;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.Security;
|
||||
using System.Reflection;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using CoreUtil;
|
||||
|
||||
namespace BuildUtil
|
||||
{
|
||||
// Build Win32 software
|
||||
public class BuildSoftwareWin32 : BuildSoftware
|
||||
{
|
||||
public BuildSoftwareWin32(Software software, int versionMajor, int versionMinor, int versionBuild, string buildName, Cpu cpu, OS os)
|
||||
: base(software, versionMajor, versionMinor, versionBuild, buildName, cpu, os)
|
||||
{
|
||||
}
|
||||
|
||||
// Run the build
|
||||
public override void Build()
|
||||
{
|
||||
Semaphore sem = new Semaphore(BuildConfig.NumMultipleCompileTasks, BuildConfig.NumMultipleCompileTasks, "vpn_build_cross");
|
||||
Con.WriteLine("Waiting for Semaphore...");
|
||||
sem.WaitOne();
|
||||
Con.WriteLine("Done.");
|
||||
try
|
||||
{
|
||||
// Run the build
|
||||
buildInstaller();
|
||||
}
|
||||
finally
|
||||
{
|
||||
sem.Release();
|
||||
}
|
||||
}
|
||||
|
||||
// Build the installer
|
||||
void buildInstaller()
|
||||
{
|
||||
string outFileName = Path.Combine(Paths.ReleaseDir, this.OutputFileName);
|
||||
|
||||
string vpnsetup_exe = Path.Combine(Paths.BinDirName, "vpnsetup.exe");
|
||||
|
||||
try
|
||||
{
|
||||
File.Delete(outFileName);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
Win32BuildUtil.ExecCommand(vpnsetup_exe, string.Format("/SFXMODE:{1} /SFXOUT:\"{0}\"",
|
||||
outFileName, Software.ToString()));
|
||||
|
||||
CodeSign.SignFile(outFileName, outFileName, "VPN Software", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="BuildUtil.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<applicationSettings>
|
||||
<BuildUtil.Properties.Settings>
|
||||
<setting name="BuildUtil_SignService_Sign" serializeAs="String">
|
||||
<value>http://dv/Sign/Sign.asmx</value>
|
||||
</setting>
|
||||
<setting name="BuildUtilTmp_HvSignService_Sign" serializeAs="String">
|
||||
<value>http://hvsigncode/Sign.asmx</value>
|
||||
</setting>
|
||||
</BuildUtil.Properties.Settings>
|
||||
</applicationSettings>
|
||||
</configuration>
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +0,0 @@
|
||||
VERSION_MAJOR 5
|
||||
VERSION_MINOR 1
|
||||
VERSION_BUILD 9674
|
||||
BUILD_NAME unstable
|
||||
BUILD_DATE 20200430_000000
|
@ -1,849 +0,0 @@
|
||||
<?xml version="1.0" encoding="shift_jis"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="Mayaqua"
|
||||
ProjectGUID="{70486335-7814-40E2-A561-BBCB6025F5C9}"
|
||||
RootNamespace="Mayaqua"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)tmp\lib\$(PlatformName)_$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib"
|
||||
AdditionalLibraryDirectories="$(SolutionDir)BuildFiles\Library\vs2008\$(PlatformName)_$(ConfigurationName)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)tmp\lib\$(PlatformName)_$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;CPU_64"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib"
|
||||
AdditionalLibraryDirectories="$(SolutionDir)BuildFiles\Library\vs2008\$(PlatformName)_$(ConfigurationName)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)tmp\lib\$(PlatformName)_$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;VPN_SPEED"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib"
|
||||
AdditionalLibraryDirectories="$(SolutionDir)BuildFiles\Library\vs2008\$(PlatformName)_$(ConfigurationName)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)tmp\lib\$(PlatformName)_$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;VPN_SPEED;CPU_64"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalDependencies="libeay32.lib ssleay32.lib zlib.lib"
|
||||
AdditionalLibraryDirectories="$(SolutionDir)BuildFiles\Library\vs2008\$(PlatformName)_$(ConfigurationName)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\Cfg.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Encrypt.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\FileIO.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\HTTP.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Internat.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Kernel.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Mayaqua.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Memory.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Microsoft.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Network.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Object.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\OS.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Pack.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Proxy.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Secure.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Str.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Table.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\TcpIp.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Tick64.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Tracking.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Unix.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Win32.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\Cfg.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\cryptoki.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Encrypt.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\FileIO.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\HTTP.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Internat.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Kernel.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Mayaqua.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\MayaType.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Memory.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Microsoft.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Network.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Object.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\OS.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Pack.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Proxy.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\pkcs11.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\pkcs11f.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\pkcs11t.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Secure.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Str.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Table.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\TcpIp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Tick64.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Tracking.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\TunTap.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Unix.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Win32.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="openssl"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\openssl\aes.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\asn1.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\asn1_mac.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\asn1t.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\bio.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\blowfish.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\bn.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\buffer.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\camellia.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\cast.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\cmac.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\cms.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\comp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\conf.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\conf_api.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\crypto.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\des.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\des_old.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\dh.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\dsa.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\dso.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\dtls1.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\e_os2.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ebcdic.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ec.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ecdh.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ecdsa.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\engine.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\err.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\evp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\hmac.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\idea.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\krb5_asn.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\kssl.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\lhash.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\md4.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\md5.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\mdc2.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\modes.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\obj_mac.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\objects.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ocsp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\opensslconf.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\opensslv.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ossl_typ.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\pem.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\pem2.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\pkcs12.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\pkcs7.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\pqueue.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\rand.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\rc2.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\rc4.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ripemd.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\rsa.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\safestack.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\seed.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\sha.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\srp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\srtp.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ssl.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ssl2.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ssl23.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ssl3.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\stack.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\symhacks.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\tls1.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ts.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\txt_db.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ui.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\ui_compat.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\whrlpool.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\x509.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\x509_vfy.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\openssl\x509v3.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="zlib"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\zlib\zconf.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\zlib\zlib.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -1,676 +0,0 @@
|
||||
<?xml version="1.0" encoding="shift_jis"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="PenCore"
|
||||
ProjectGUID="{AF16335D-DBC2-4879-9E9A-89E2A61A4B30}"
|
||||
RootNamespace="PenCore"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
IgnoreImportLibrary="true"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\hamcore\PenCore.dll"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib""
|
||||
GenerateManifest="false"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
ImportLibrary="$(SolutionDir)tmp\lib\$(PlatformName)_$(ConfigurationName)\$(ProjectName).lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetPE4 "$(TargetPath)""
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\PenCore.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\PenCore.def"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\resource.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\AboutBox.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Azure.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Azure.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\AzureCn.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\AzureJa.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\bitmap1.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\BMP_SW_TSUKUBA.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\BMP_UT.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Bridge.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Cascade.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\CascadeOffline.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\CascadeOffline2.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Cert.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\CertX.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ClientBanner.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Coins.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\DateTime.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\DDNS.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Discard.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\DiscardDisable.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Display.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Dummy.bin"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\EasyInstaller.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\EtherIP.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Farm.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Group.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\GroupDeny.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Hub.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Hub_Offline.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Ibaraki.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\icon3.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Information.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Installer.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Internet.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\InternetX.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\IPsec.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\IX2015.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Key.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\L2TP.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\LANG_CHINESE.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\LANG_ENGLISH.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\LANG_JAPANESE.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\LANG_TRADITIONAL_CHINESE.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Language.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\License.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Link.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Link2.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Log.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Log2.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Machine.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ManagerLogo.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Memory.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\New.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\NIC.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\NIC_Offline.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Null.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\OpenVPN.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\OpenVPN.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Pass.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\PassDisable.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\PenCore.rc"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Penguin.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\PKCS12.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Police.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Progress.avi"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Protocol.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Protocol2.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ProtocolDhcp.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ProtocolOffline.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Research.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Router.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\RouterBanner.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\RouterLogo.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Secure.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Secure.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Secure2.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Secure3.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SELOGO49x49.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Server.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Server_Delete.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Server_Offline.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Server_Offline_Ex.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Server_Online_Ex.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ServerCert.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SessionBridge.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SessionMonitor.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Setup.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\setup_1.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\setup_2.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SpecialListener.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SpecialListener.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SplashClient.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SplashLogger.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SplashManager.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SplashRouter.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SSTP.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Stop.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SW_LANG_1.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SW_LANG_2.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SW_LANG_3.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SW_SPLASH.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Switch.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\SwitchOffline.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Test.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Test.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Tower.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Tray0.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Tray1.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Tray2.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Tray3.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Tray4.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Tsukuba.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\UnivTsukuba.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Update.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\User.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\UserAdmin.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\UserDeny.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\VLan.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\VMBridge.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\VPN.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\VPNGateBanner.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\VPNGateEN.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\VPNGateJA.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\VPNServerFigure.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\VPNSvr.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Warning.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\WinPC.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\X.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ZuruHam.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Zurukko.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Zurukko.ico"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
353
src/SEVPN.sln
353
src/SEVPN.sln
@ -1,353 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionFiles", "SolutionFiles", "{C17FED94-2864-4C4A-8A8F-80555FEEB5E3}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
GlobalConst.h = GlobalConst.h
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "bin", "bin", "{140CBADC-7522-4B52-B06A-A4781A9C9DF2}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
bin\custom.ini = bin\custom.ini
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "hamcore", "hamcore", "{234994FD-5966-4CFE-AC38-960DE089FBED}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
bin\hamcore\lang.config = bin\hamcore\lang.config
|
||||
bin\hamcore\strtable_cn.stb = bin\hamcore\strtable_cn.stb
|
||||
bin\hamcore\strtable_en.stb = bin\hamcore\strtable_en.stb
|
||||
bin\hamcore\strtable_ja.stb = bin\hamcore\strtable_ja.stb
|
||||
bin\hamcore\strtable_pt_br.stb = bin\hamcore\strtable_pt_br.stb
|
||||
bin\hamcore\time.htm = bin\hamcore\time.htm
|
||||
bin\hamcore\vpn16.exe = bin\hamcore\vpn16.exe
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BuildFiles", "BuildFiles", "{ECFF92D4-8F03-4DDF-ACEF-9A68589BC282}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Library", "Library", "{90A585CD-2B00-47F3-8F65-FE091B154AB3}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Win32_Debug", "Win32_Debug", "{979EF6E9-A263-4E9B-964C-DE72344DFB13}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
BuildFiles\Library\vs2008\Win32_Debug\libeay32.lib = BuildFiles\Library\vs2008\Win32_Debug\libeay32.lib
|
||||
BuildFiles\Library\vs2008\Win32_Debug\ssleay32.lib = BuildFiles\Library\vs2008\Win32_Debug\ssleay32.lib
|
||||
BuildFiles\Library\vs2008\Win32_Debug\zlib.lib = BuildFiles\Library\vs2008\Win32_Debug\zlib.lib
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Win32_Release", "Win32_Release", "{7DE9E590-6189-4570-A451-2584E655A539}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
BuildFiles\Library\vs2008\Win32_Release\libeay32.lib = BuildFiles\Library\vs2008\Win32_Release\libeay32.lib
|
||||
BuildFiles\Library\vs2008\Win32_Release\ssleay32.lib = BuildFiles\Library\vs2008\Win32_Release\ssleay32.lib
|
||||
BuildFiles\Library\vs2008\Win32_Release\zlib.lib = BuildFiles\Library\vs2008\Win32_Release\zlib.lib
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "x64_Debug", "x64_Debug", "{696A5B66-04A7-4CE8-A31C-E05026846B5C}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
BuildFiles\Library\vs2008\x64_Debug\libeay32.lib = BuildFiles\Library\vs2008\x64_Debug\libeay32.lib
|
||||
BuildFiles\Library\vs2008\x64_Debug\ssleay32.lib = BuildFiles\Library\vs2008\x64_Debug\ssleay32.lib
|
||||
BuildFiles\Library\vs2008\x64_Debug\zlib.lib = BuildFiles\Library\vs2008\x64_Debug\zlib.lib
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "x64_Release", "x64_Release", "{1AFACDF7-7ECE-42D3-A3BD-563025F247D7}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
BuildFiles\Library\vs2008\x64_Release\libeay32.lib = BuildFiles\Library\vs2008\x64_Release\libeay32.lib
|
||||
BuildFiles\Library\vs2008\x64_Release\ssleay32.lib = BuildFiles\Library\vs2008\x64_Release\ssleay32.lib
|
||||
BuildFiles\Library\vs2008\x64_Release\zlib.lib = BuildFiles\Library\vs2008\x64_Release\zlib.lib
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Neo", "Neo\Neo.vcproj", "{D302D5D9-A3B7-4D2E-98BF-3BB305BAE43F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "See", "See\See.vcproj", "{D817977C-481C-4575-B229-DD2896EDF6C9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SeeDll", "SeeDll\SeeDll.vcproj", "{B75C0F74-0FE6-4BD4-8E54-F8383C58CB69}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{D817977C-481C-4575-B229-DD2896EDF6C9} = {D817977C-481C-4575-B229-DD2896EDF6C9}
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
{94CA5DD2-1543-42F6-9F96-EE7694DDC837} = {94CA5DD2-1543-42F6-9F96-EE7694DDC837}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PenCore", "PenCore\PenCore.vcproj", "{AF16335D-DBC2-4879-9E9A-89E2A61A4B30}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mayaqua", "Mayaqua\Mayaqua.vcproj", "{70486335-7814-40E2-A561-BBCB6025F5C9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Cedar", "Cedar\Cedar.vcproj", "{2928D768-DEC3-40D3-8E51-26E364497C9B}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{70486335-7814-40E2-A561-BBCB6025F5C9} = {70486335-7814-40E2-A561-BBCB6025F5C9}
|
||||
{AF16335D-DBC2-4879-9E9A-89E2A61A4B30} = {AF16335D-DBC2-4879-9E9A-89E2A61A4B30}
|
||||
{F7679B65-2FEC-469A-8BAC-B07BF4439422} = {F7679B65-2FEC-469A-8BAC-B07BF4439422}
|
||||
{B75C0F74-0FE6-4BD4-8E54-F8383C58CB69} = {B75C0F74-0FE6-4BD4-8E54-F8383C58CB69}
|
||||
{717B8D7F-9C93-4713-9A23-8CE70A31FD39} = {717B8D7F-9C93-4713-9A23-8CE70A31FD39}
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpntest", "vpntest\vpntest.vcproj", "{1ED5782B-1734-4FC6-AA9E-F7181CDBA8A7}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B} = {2928D768-DEC3-40D3-8E51-26E364497C9B}
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpncmd", "vpncmd\vpncmd.vcproj", "{83438AC3-5329-4337-89BC-5B69EBAE4B6E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B} = {2928D768-DEC3-40D3-8E51-26E364497C9B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpncmdsys", "vpncmdsys\vpncmdsys.vcproj", "{78CD48D9-0B4B-43B1-A1D1-E079362B6864}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpnbridge", "vpnbridge\vpnbridge.vcproj", "{BA0DBC31-5BBF-41BF-A2DB-7B6F3F71E919}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B} = {2928D768-DEC3-40D3-8E51-26E364497C9B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpncmgr", "vpncmgr\vpncmgr.vcproj", "{92B04960-1AA9-4A7A-B75C-1403046F25B3}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B} = {2928D768-DEC3-40D3-8E51-26E364497C9B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpnclient", "vpnclient\vpnclient.vcproj", "{D7216F25-434B-45D3-BA48-6772AF997C84}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B} = {2928D768-DEC3-40D3-8E51-26E364497C9B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpnserver", "vpnserver\vpnserver.vcproj", "{7CF21BD6-659F-449C-91CB-CE52AABAD22D}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B} = {2928D768-DEC3-40D3-8E51-26E364497C9B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpnsmgr", "vpnsmgr\vpnsmgr.vcproj", "{A4DC7ACC-9FED-418F-92B2-6BE3EF39DC86}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B} = {2928D768-DEC3-40D3-8E51-26E364497C9B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utility", "Utility", "{F5F7EE7B-3207-4ACD-804B-1423BCB25285}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildUtil", "BuildUtil\BuildUtil.csproj", "{384815C3-333C-4CEC-9DCD-B6AB2602EBB9}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpndrvinst", "vpndrvinst\vpndrvinst.vcproj", "{CF2B20BF-9799-40EF-A987-9E4C25E68E1C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B} = {2928D768-DEC3-40D3-8E51-26E364497C9B}
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpninstall", "vpninstall\vpninstall.vcproj", "{F2C40D5C-1C86-43D8-B3FE-8E8F8B488432}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B} = {2928D768-DEC3-40D3-8E51-26E364497C9B}
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpnweb", "vpnweb\vpnweb.vcproj", "{1F58A797-A861-4256-9262-CE97B923016B}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Wfp", "Wfp\Wfp.vcproj", "{717B8D7F-9C93-4713-9A23-8CE70A31FD39}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vpnsetup", "vpnsetup\vpnsetup.vcproj", "{58FEB572-E43A-439E-9A2C-E19DE3CB1401}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B} = {2928D768-DEC3-40D3-8E51-26E364497C9B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Neo6", "Neo6\Neo6.vcproj", "{F7679B65-2FEC-469A-8BAC-B07BF4439422}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
{D302D5D9-A3B7-4D2E-98BF-3BB305BAE43F} = {D302D5D9-A3B7-4D2E-98BF-3BB305BAE43F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SeLow", "SeLow\SeLow.vcproj", "{94CA5DD2-1543-42F6-9F96-EE7694DDC837}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9} = {384815C3-333C-4CEC-9DCD-B6AB2602EBB9}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{D302D5D9-A3B7-4D2E-98BF-3BB305BAE43F}.Debug|Win32.ActiveCfg = Release|Win32
|
||||
{D302D5D9-A3B7-4D2E-98BF-3BB305BAE43F}.Debug|x64.ActiveCfg = Release|x64
|
||||
{D302D5D9-A3B7-4D2E-98BF-3BB305BAE43F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{D302D5D9-A3B7-4D2E-98BF-3BB305BAE43F}.Release|x64.ActiveCfg = Release|x64
|
||||
{D817977C-481C-4575-B229-DD2896EDF6C9}.Debug|Win32.ActiveCfg = Release|Win32
|
||||
{D817977C-481C-4575-B229-DD2896EDF6C9}.Debug|x64.ActiveCfg = Release|x64
|
||||
{D817977C-481C-4575-B229-DD2896EDF6C9}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{D817977C-481C-4575-B229-DD2896EDF6C9}.Release|x64.ActiveCfg = Release|x64
|
||||
{B75C0F74-0FE6-4BD4-8E54-F8383C58CB69}.Debug|Win32.ActiveCfg = Release|Win32
|
||||
{B75C0F74-0FE6-4BD4-8E54-F8383C58CB69}.Debug|Win32.Build.0 = Release|Win32
|
||||
{B75C0F74-0FE6-4BD4-8E54-F8383C58CB69}.Debug|x64.ActiveCfg = Release|x64
|
||||
{B75C0F74-0FE6-4BD4-8E54-F8383C58CB69}.Debug|x64.Build.0 = Release|x64
|
||||
{B75C0F74-0FE6-4BD4-8E54-F8383C58CB69}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B75C0F74-0FE6-4BD4-8E54-F8383C58CB69}.Release|Win32.Build.0 = Release|Win32
|
||||
{B75C0F74-0FE6-4BD4-8E54-F8383C58CB69}.Release|x64.ActiveCfg = Release|x64
|
||||
{B75C0F74-0FE6-4BD4-8E54-F8383C58CB69}.Release|x64.Build.0 = Release|x64
|
||||
{AF16335D-DBC2-4879-9E9A-89E2A61A4B30}.Debug|Win32.ActiveCfg = Release|Win32
|
||||
{AF16335D-DBC2-4879-9E9A-89E2A61A4B30}.Debug|Win32.Build.0 = Release|Win32
|
||||
{AF16335D-DBC2-4879-9E9A-89E2A61A4B30}.Debug|x64.ActiveCfg = Release|Win32
|
||||
{AF16335D-DBC2-4879-9E9A-89E2A61A4B30}.Debug|x64.Build.0 = Release|Win32
|
||||
{AF16335D-DBC2-4879-9E9A-89E2A61A4B30}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{AF16335D-DBC2-4879-9E9A-89E2A61A4B30}.Release|Win32.Build.0 = Release|Win32
|
||||
{AF16335D-DBC2-4879-9E9A-89E2A61A4B30}.Release|x64.ActiveCfg = Release|Win32
|
||||
{AF16335D-DBC2-4879-9E9A-89E2A61A4B30}.Release|x64.Build.0 = Release|Win32
|
||||
{70486335-7814-40E2-A561-BBCB6025F5C9}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{70486335-7814-40E2-A561-BBCB6025F5C9}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{70486335-7814-40E2-A561-BBCB6025F5C9}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{70486335-7814-40E2-A561-BBCB6025F5C9}.Debug|x64.Build.0 = Debug|x64
|
||||
{70486335-7814-40E2-A561-BBCB6025F5C9}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{70486335-7814-40E2-A561-BBCB6025F5C9}.Release|Win32.Build.0 = Release|Win32
|
||||
{70486335-7814-40E2-A561-BBCB6025F5C9}.Release|x64.ActiveCfg = Release|x64
|
||||
{70486335-7814-40E2-A561-BBCB6025F5C9}.Release|x64.Build.0 = Release|x64
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B}.Debug|x64.Build.0 = Debug|x64
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B}.Release|Win32.Build.0 = Release|Win32
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B}.Release|x64.ActiveCfg = Release|x64
|
||||
{2928D768-DEC3-40D3-8E51-26E364497C9B}.Release|x64.Build.0 = Release|x64
|
||||
{1ED5782B-1734-4FC6-AA9E-F7181CDBA8A7}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{1ED5782B-1734-4FC6-AA9E-F7181CDBA8A7}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{1ED5782B-1734-4FC6-AA9E-F7181CDBA8A7}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{1ED5782B-1734-4FC6-AA9E-F7181CDBA8A7}.Debug|x64.Build.0 = Debug|x64
|
||||
{1ED5782B-1734-4FC6-AA9E-F7181CDBA8A7}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{1ED5782B-1734-4FC6-AA9E-F7181CDBA8A7}.Release|Win32.Build.0 = Release|Win32
|
||||
{1ED5782B-1734-4FC6-AA9E-F7181CDBA8A7}.Release|x64.ActiveCfg = Release|x64
|
||||
{1ED5782B-1734-4FC6-AA9E-F7181CDBA8A7}.Release|x64.Build.0 = Release|x64
|
||||
{83438AC3-5329-4337-89BC-5B69EBAE4B6E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{83438AC3-5329-4337-89BC-5B69EBAE4B6E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{83438AC3-5329-4337-89BC-5B69EBAE4B6E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{83438AC3-5329-4337-89BC-5B69EBAE4B6E}.Debug|x64.Build.0 = Debug|x64
|
||||
{83438AC3-5329-4337-89BC-5B69EBAE4B6E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{83438AC3-5329-4337-89BC-5B69EBAE4B6E}.Release|Win32.Build.0 = Release|Win32
|
||||
{83438AC3-5329-4337-89BC-5B69EBAE4B6E}.Release|x64.ActiveCfg = Release|x64
|
||||
{83438AC3-5329-4337-89BC-5B69EBAE4B6E}.Release|x64.Build.0 = Release|x64
|
||||
{78CD48D9-0B4B-43B1-A1D1-E079362B6864}.Debug|Win32.ActiveCfg = Release|Win32
|
||||
{78CD48D9-0B4B-43B1-A1D1-E079362B6864}.Debug|Win32.Build.0 = Release|Win32
|
||||
{78CD48D9-0B4B-43B1-A1D1-E079362B6864}.Debug|x64.ActiveCfg = Release|x64
|
||||
{78CD48D9-0B4B-43B1-A1D1-E079362B6864}.Debug|x64.Build.0 = Release|x64
|
||||
{78CD48D9-0B4B-43B1-A1D1-E079362B6864}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{78CD48D9-0B4B-43B1-A1D1-E079362B6864}.Release|Win32.Build.0 = Release|Win32
|
||||
{78CD48D9-0B4B-43B1-A1D1-E079362B6864}.Release|x64.ActiveCfg = Release|x64
|
||||
{78CD48D9-0B4B-43B1-A1D1-E079362B6864}.Release|x64.Build.0 = Release|x64
|
||||
{ABAB0B91-91DD-4FF4-9773-18B37A820B9F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{ABAB0B91-91DD-4FF4-9773-18B37A820B9F}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{ABAB0B91-91DD-4FF4-9773-18B37A820B9F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{ABAB0B91-91DD-4FF4-9773-18B37A820B9F}.Debug|x64.Build.0 = Debug|x64
|
||||
{ABAB0B91-91DD-4FF4-9773-18B37A820B9F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{ABAB0B91-91DD-4FF4-9773-18B37A820B9F}.Release|Win32.Build.0 = Release|Win32
|
||||
{ABAB0B91-91DD-4FF4-9773-18B37A820B9F}.Release|x64.ActiveCfg = Release|x64
|
||||
{ABAB0B91-91DD-4FF4-9773-18B37A820B9F}.Release|x64.Build.0 = Release|x64
|
||||
{BA0DBC31-5BBF-41BF-A2DB-7B6F3F71E919}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{BA0DBC31-5BBF-41BF-A2DB-7B6F3F71E919}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{BA0DBC31-5BBF-41BF-A2DB-7B6F3F71E919}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BA0DBC31-5BBF-41BF-A2DB-7B6F3F71E919}.Debug|x64.Build.0 = Debug|x64
|
||||
{BA0DBC31-5BBF-41BF-A2DB-7B6F3F71E919}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{BA0DBC31-5BBF-41BF-A2DB-7B6F3F71E919}.Release|Win32.Build.0 = Release|Win32
|
||||
{BA0DBC31-5BBF-41BF-A2DB-7B6F3F71E919}.Release|x64.ActiveCfg = Release|x64
|
||||
{BA0DBC31-5BBF-41BF-A2DB-7B6F3F71E919}.Release|x64.Build.0 = Release|x64
|
||||
{92B04960-1AA9-4A7A-B75C-1403046F25B3}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{92B04960-1AA9-4A7A-B75C-1403046F25B3}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{92B04960-1AA9-4A7A-B75C-1403046F25B3}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{92B04960-1AA9-4A7A-B75C-1403046F25B3}.Debug|x64.Build.0 = Debug|x64
|
||||
{92B04960-1AA9-4A7A-B75C-1403046F25B3}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{92B04960-1AA9-4A7A-B75C-1403046F25B3}.Release|Win32.Build.0 = Release|Win32
|
||||
{92B04960-1AA9-4A7A-B75C-1403046F25B3}.Release|x64.ActiveCfg = Release|x64
|
||||
{92B04960-1AA9-4A7A-B75C-1403046F25B3}.Release|x64.Build.0 = Release|x64
|
||||
{D7216F25-434B-45D3-BA48-6772AF997C84}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{D7216F25-434B-45D3-BA48-6772AF997C84}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{D7216F25-434B-45D3-BA48-6772AF997C84}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{D7216F25-434B-45D3-BA48-6772AF997C84}.Debug|x64.Build.0 = Debug|x64
|
||||
{D7216F25-434B-45D3-BA48-6772AF997C84}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{D7216F25-434B-45D3-BA48-6772AF997C84}.Release|Win32.Build.0 = Release|Win32
|
||||
{D7216F25-434B-45D3-BA48-6772AF997C84}.Release|x64.ActiveCfg = Release|x64
|
||||
{D7216F25-434B-45D3-BA48-6772AF997C84}.Release|x64.Build.0 = Release|x64
|
||||
{7CF21BD6-659F-449C-91CB-CE52AABAD22D}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7CF21BD6-659F-449C-91CB-CE52AABAD22D}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7CF21BD6-659F-449C-91CB-CE52AABAD22D}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7CF21BD6-659F-449C-91CB-CE52AABAD22D}.Debug|x64.Build.0 = Debug|x64
|
||||
{7CF21BD6-659F-449C-91CB-CE52AABAD22D}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7CF21BD6-659F-449C-91CB-CE52AABAD22D}.Release|Win32.Build.0 = Release|Win32
|
||||
{7CF21BD6-659F-449C-91CB-CE52AABAD22D}.Release|x64.ActiveCfg = Release|x64
|
||||
{7CF21BD6-659F-449C-91CB-CE52AABAD22D}.Release|x64.Build.0 = Release|x64
|
||||
{A4DC7ACC-9FED-418F-92B2-6BE3EF39DC86}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{A4DC7ACC-9FED-418F-92B2-6BE3EF39DC86}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{A4DC7ACC-9FED-418F-92B2-6BE3EF39DC86}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{A4DC7ACC-9FED-418F-92B2-6BE3EF39DC86}.Debug|x64.Build.0 = Debug|x64
|
||||
{A4DC7ACC-9FED-418F-92B2-6BE3EF39DC86}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{A4DC7ACC-9FED-418F-92B2-6BE3EF39DC86}.Release|Win32.Build.0 = Release|Win32
|
||||
{A4DC7ACC-9FED-418F-92B2-6BE3EF39DC86}.Release|x64.ActiveCfg = Release|x64
|
||||
{A4DC7ACC-9FED-418F-92B2-6BE3EF39DC86}.Release|x64.Build.0 = Release|x64
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9}.Debug|Win32.Build.0 = Debug|Any CPU
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9}.Release|Win32.ActiveCfg = Debug|Any CPU
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9}.Release|Win32.Build.0 = Debug|Any CPU
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9}.Release|x64.ActiveCfg = Debug|Any CPU
|
||||
{384815C3-333C-4CEC-9DCD-B6AB2602EBB9}.Release|x64.Build.0 = Debug|Any CPU
|
||||
{CF2B20BF-9799-40EF-A987-9E4C25E68E1C}.Debug|Win32.ActiveCfg = Release|Win32
|
||||
{CF2B20BF-9799-40EF-A987-9E4C25E68E1C}.Debug|Win32.Build.0 = Release|Win32
|
||||
{CF2B20BF-9799-40EF-A987-9E4C25E68E1C}.Debug|x64.ActiveCfg = Release|x64
|
||||
{CF2B20BF-9799-40EF-A987-9E4C25E68E1C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{CF2B20BF-9799-40EF-A987-9E4C25E68E1C}.Release|Win32.Build.0 = Release|Win32
|
||||
{CF2B20BF-9799-40EF-A987-9E4C25E68E1C}.Release|x64.ActiveCfg = Release|x64
|
||||
{CF2B20BF-9799-40EF-A987-9E4C25E68E1C}.Release|x64.Build.0 = Release|x64
|
||||
{F2C40D5C-1C86-43D8-B3FE-8E8F8B488432}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{F2C40D5C-1C86-43D8-B3FE-8E8F8B488432}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{F2C40D5C-1C86-43D8-B3FE-8E8F8B488432}.Debug|x64.ActiveCfg = Release|Win32
|
||||
{F2C40D5C-1C86-43D8-B3FE-8E8F8B488432}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{F2C40D5C-1C86-43D8-B3FE-8E8F8B488432}.Release|Win32.Build.0 = Release|Win32
|
||||
{F2C40D5C-1C86-43D8-B3FE-8E8F8B488432}.Release|x64.ActiveCfg = Release|Win32
|
||||
{1F58A797-A861-4256-9262-CE97B923016B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{1F58A797-A861-4256-9262-CE97B923016B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{1F58A797-A861-4256-9262-CE97B923016B}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{1F58A797-A861-4256-9262-CE97B923016B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{1F58A797-A861-4256-9262-CE97B923016B}.Release|Win32.Build.0 = Release|Win32
|
||||
{1F58A797-A861-4256-9262-CE97B923016B}.Release|x64.ActiveCfg = Release|Win32
|
||||
{717B8D7F-9C93-4713-9A23-8CE70A31FD39}.Debug|Win32.ActiveCfg = Release|Win32
|
||||
{717B8D7F-9C93-4713-9A23-8CE70A31FD39}.Debug|x64.ActiveCfg = Release|x64
|
||||
{717B8D7F-9C93-4713-9A23-8CE70A31FD39}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{717B8D7F-9C93-4713-9A23-8CE70A31FD39}.Release|x64.ActiveCfg = Release|x64
|
||||
{58FEB572-E43A-439E-9A2C-E19DE3CB1401}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{58FEB572-E43A-439E-9A2C-E19DE3CB1401}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{58FEB572-E43A-439E-9A2C-E19DE3CB1401}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{58FEB572-E43A-439E-9A2C-E19DE3CB1401}.Debug|x64.Build.0 = Debug|x64
|
||||
{58FEB572-E43A-439E-9A2C-E19DE3CB1401}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{58FEB572-E43A-439E-9A2C-E19DE3CB1401}.Release|Win32.Build.0 = Release|Win32
|
||||
{58FEB572-E43A-439E-9A2C-E19DE3CB1401}.Release|x64.ActiveCfg = Release|x64
|
||||
{58FEB572-E43A-439E-9A2C-E19DE3CB1401}.Release|x64.Build.0 = Release|x64
|
||||
{F7679B65-2FEC-469A-8BAC-B07BF4439422}.Debug|Win32.ActiveCfg = Release|Win32
|
||||
{F7679B65-2FEC-469A-8BAC-B07BF4439422}.Debug|x64.ActiveCfg = Release|x64
|
||||
{F7679B65-2FEC-469A-8BAC-B07BF4439422}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{F7679B65-2FEC-469A-8BAC-B07BF4439422}.Release|x64.ActiveCfg = Release|x64
|
||||
{94CA5DD2-1543-42F6-9F96-EE7694DDC837}.Debug|Win32.ActiveCfg = Release|Win32
|
||||
{94CA5DD2-1543-42F6-9F96-EE7694DDC837}.Debug|x64.ActiveCfg = Release|x64
|
||||
{94CA5DD2-1543-42F6-9F96-EE7694DDC837}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{94CA5DD2-1543-42F6-9F96-EE7694DDC837}.Release|x64.ActiveCfg = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{140CBADC-7522-4B52-B06A-A4781A9C9DF2} = {C17FED94-2864-4C4A-8A8F-80555FEEB5E3}
|
||||
{ECFF92D4-8F03-4DDF-ACEF-9A68589BC282} = {C17FED94-2864-4C4A-8A8F-80555FEEB5E3}
|
||||
{234994FD-5966-4CFE-AC38-960DE089FBED} = {140CBADC-7522-4B52-B06A-A4781A9C9DF2}
|
||||
{90A585CD-2B00-47F3-8F65-FE091B154AB3} = {ECFF92D4-8F03-4DDF-ACEF-9A68589BC282}
|
||||
{F5F7EE7B-3207-4ACD-804B-1423BCB25285} = {ECFF92D4-8F03-4DDF-ACEF-9A68589BC282}
|
||||
{979EF6E9-A263-4E9B-964C-DE72344DFB13} = {90A585CD-2B00-47F3-8F65-FE091B154AB3}
|
||||
{7DE9E590-6189-4570-A451-2584E655A539} = {90A585CD-2B00-47F3-8F65-FE091B154AB3}
|
||||
{696A5B66-04A7-4CE8-A31C-E05026846B5C} = {90A585CD-2B00-47F3-8F65-FE091B154AB3}
|
||||
{1AFACDF7-7ECE-42D3-A3BD-563025F247D7} = {90A585CD-2B00-47F3-8F65-FE091B154AB3}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
@ -1,433 +0,0 @@
|
||||
<?xml version="1.0" encoding="shift_jis"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="vpnbridge"
|
||||
ProjectGUID="{BA0DBC31-5BBF-41BF-A2DB-7B6F3F71E919}"
|
||||
RootNamespace="vpnbridge"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnbridge.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;CPU_64"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnbridge_x64.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnbridge.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetPE4 "$(TargetPath)"
$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED;CPU_64"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnbridge_x64.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpnbridge.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\resource.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpnbridge.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpnbridge.rc"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -1,439 +0,0 @@
|
||||
<?xml version="1.0" encoding="shift_jis"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="vpnclient"
|
||||
ProjectGUID="{D7216F25-434B-45D3-BA48-6772AF997C84}"
|
||||
RootNamespace="vpnclient"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnclient.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;CPU_64"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnclient_x64.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnclient.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetPE4 "$(TargetPath)"
$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED;CPU_64"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnclient_x64.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpncsvc.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\resource.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpncsvc.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\Machine.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpnclient.rc"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -1,437 +0,0 @@
|
||||
<?xml version="1.0" encoding="shift_jis"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="vpncmd"
|
||||
ProjectGUID="{83438AC3-5329-4337-89BC-5B69EBAE4B6E}"
|
||||
RootNamespace="vpncmd"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
StringPooling="false"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpncmd.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;CPU_64"
|
||||
StringPooling="false"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpncmd_x64.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VPN_SPEED"
|
||||
StringPooling="false"
|
||||
MinimalRebuild="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpncmd.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetPE4 "$(TargetPath)"
$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VPN_SPEED;CPU_64"
|
||||
StringPooling="false"
|
||||
MinimalRebuild="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpncmd_x64.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="1"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpncmd.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\resource.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpncmd.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpncmd.rc"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -1,441 +0,0 @@
|
||||
<?xml version="1.0" encoding="shift_jis"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="vpncmgr"
|
||||
ProjectGUID="{92B04960-1AA9-4A7A-B75C-1403046F25B3}"
|
||||
RootNamespace="vpncmgr"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpncmgr.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;CPU_64"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpncmgr_x64.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpncmgr.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetPE4 "$(TargetPath)"
$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED;CPU_64"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpncmgr_x64.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpncmgr.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\resource.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\Server.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Server_Offline.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\VPN.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpncmgr.rc"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -1,272 +0,0 @@
|
||||
<?xml version="1.0" encoding="shift_jis"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="vpndrvinst"
|
||||
ProjectGUID="{CF2B20BF-9799-40EF-A987-9E4C25E68E1C}"
|
||||
RootNamespace="vpndrvinst"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir);$(SolutionDir)Mayaqua"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VPN_SPEED"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkLibraryDependencies="true"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\hamcore\driver_installer.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="$(SolutionDir)tmp\lib\$(PlatformName)_$(ConfigurationName)"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
IgnoreAllDefaultLibraries="false"
|
||||
IgnoreDefaultLibraryNames="LIBCMTD.lib"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
TargetMachine="1"
|
||||
Profile="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetPE4 "$(TargetPath)"
$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_admin.manifest
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir);$(SolutionDir)Mayaqua"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VPN_SPEED;CPU_64"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkLibraryDependencies="true"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\hamcore\driver_installer_x64.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="$(SolutionDir)tmp\lib\$(PlatformName)_$(ConfigurationName)"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
IgnoreAllDefaultLibraries="false"
|
||||
IgnoreDefaultLibraryNames="LIBCMTD.lib"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
TargetMachine="17"
|
||||
Profile="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_admin.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpndrvinst.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\resource.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpndrvinst.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpndrvinst.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpndrvinst.rc"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -1,437 +0,0 @@
|
||||
<?xml version="1.0" encoding="shift_jis"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="vpnserver"
|
||||
ProjectGUID="{7CF21BD6-659F-449C-91CB-CE52AABAD22D}"
|
||||
RootNamespace="vpnserver"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnserver.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;CPU_64"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnserver_x64.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnserver.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetPE4 "$(TargetPath)"
$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED;CPU_64"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnserver_x64.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
StackReserveSize="100000"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpnserver.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\resource.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\Server.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpnserver.rc"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -1,481 +0,0 @@
|
||||
<?xml version="1.0" encoding="shift_jis"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="vpnsetup"
|
||||
ProjectGUID="{58FEB572-E43A-439E-9A2C-E19DE3CB1401}"
|
||||
RootNamespace="vpnsetup"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnsetup.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest
$(SolutionDir)bin\BuildUtil.exe /CMD:FileCopy "$(TargetPath)" /DEST:"$(SolutionDir)bin\hamcore\vpnsetup_nosign.exe"
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;CPU_64"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnsetup_x64.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnsetup.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetPE4 "$(TargetPath)"
$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest
$(SolutionDir)bin\BuildUtil.exe /CMD:FileCopy "$(TargetPath)" /DEST:"$(SolutionDir)bin\hamcore\vpnsetup_nosign.exe"
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED;CPU_64"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnsetup_x64.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpnsetup.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\resource.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\PenCore\Cascade.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\PenCore\EasyInstaller.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Installer.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\PenCore\Internet.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\PenCore\Language.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\PenCore\Machine.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\PenCore\Protocol.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\PenCore\Switch.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\PenCore\UserAdmin.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\PenCore\VPN.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpnsetup.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpnsetup.rc"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\PenCore\VPNSvr.ico"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath="..\..\..\..\..\..\TMP\cpntest\hamcore.se2"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -1,437 +0,0 @@
|
||||
<?xml version="1.0" encoding="shift_jis"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="vpnsmgr"
|
||||
ProjectGUID="{A4DC7ACC-9FED-418F-92B2-6BE3EF39DC86}"
|
||||
RootNamespace="vpnsmgr"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnsmgr.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;CPU_64"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnsmgr_x64.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnsmgr.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetPE4 "$(TargetPath)"
$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir)"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;VPN_SPEED;CPU_64"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpnsmgr_x64.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpnsmgr.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\resource.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpnsmgr.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpnsmgr.rc"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\VPNSvr.ico"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -1,451 +0,0 @@
|
||||
<?xml version="1.0" encoding="shift_jis"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="vpntest"
|
||||
ProjectGUID="{1ED5782B-1734-4FC6-AA9E-F7181CDBA8A7}"
|
||||
RootNamespace="vpntest"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir);$(SolutionDir)Mayaqua"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpntest.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="1"
|
||||
StackReserveSize="100000"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
TargetMachine="1"
|
||||
Profile="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir);$(SolutionDir)Mayaqua"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;CPU_64"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
StructMemberAlignment="4"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpntest_x64.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="1"
|
||||
StackReserveSize="100000"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
TargetMachine="17"
|
||||
Profile="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir);$(SolutionDir)Mayaqua"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VPN_SPEED"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpntest.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
IgnoreAllDefaultLibraries="false"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="1"
|
||||
StackReserveSize="100000"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
TargetMachine="1"
|
||||
Profile="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetPE4 "$(TargetPath)"
$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x86_user.manifest
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)bin"
|
||||
IntermediateDirectory="$(PlatformName)_$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="0"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="0"
|
||||
EnableIntrinsicFunctions="false"
|
||||
FavorSizeOrSpeed="0"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)Mayaqua\win32_inc;.;$(SolutionDir);$(SolutionDir)Mayaqua"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;VPN_SPEED;CPU_64"
|
||||
StringPooling="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeLibrary="0"
|
||||
StructMemberAlignment="4"
|
||||
BufferSecurityCheck="false"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"
|
||||
DisableSpecificWarnings="4996"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="C:\WinDDK\7600.16385.1\inc\mfc42;$(IntDir)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:GenerateVersionResource "$(TargetPath)" /OUT:"$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies=""$(SolutionDir)tmp\VersionResources\$(ProjectName)_$(PlatformName).res""
|
||||
OutputFile="$(OutDir)\vpntest_x64.exe"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""
|
||||
GenerateManifest="false"
|
||||
AdditionalManifestDependencies="type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"
|
||||
IgnoreAllDefaultLibraries="false"
|
||||
DelayLoadDLLs="setupapi.dll;advapi32.dll;user32.dll"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(SolutionDir)DebugFiles\pdb\$(PlatformName)_$(ConfigurationName)\$(ProjectName).pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(SolutionDir)DebugFiles\map\$(PlatformName)_$(ConfigurationName)\$(ProjectName).map"
|
||||
SubSystem="1"
|
||||
StackReserveSize="100000"
|
||||
OptimizeReferences="1"
|
||||
EnableCOMDATFolding="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
TargetMachine="17"
|
||||
Profile="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
EmbedManifest="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="$(SolutionDir)bin\BuildUtil.exe /CMD:SetManifest "$(TargetPath)" /MANIFEST:x64_user.manifest"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpntest.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpntest.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\vpntest.rc"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\vpntest.ico"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
28
version.py
Normal file
28
version.py
Normal file
@ -0,0 +1,28 @@
|
||||
import argparse
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-n', '--newline', action = 'store_true', help = 'Break line after printing version')
|
||||
args = parser.parse_args()
|
||||
|
||||
end = None if args.newline else ''
|
||||
|
||||
version = None
|
||||
with open('CMakeLists.txt', 'r') as file:
|
||||
for line in file:
|
||||
if 'VERSION "' in line and '.${BUILD_NUMBER}"' in line:
|
||||
line = line.replace('VERSION "', '')
|
||||
line = line[0 : line.find('.${BUILD_NUMBER}"')].strip()
|
||||
version = line
|
||||
break
|
||||
|
||||
if version is None:
|
||||
raise Exception('Unable to read version from CMakeLists.txt')
|
||||
|
||||
if len(version) == 0 or not '.' in version:
|
||||
raise Exception('Bad version: "{0}"'.format(version))
|
||||
|
||||
print(version, end = end)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Reference in New Issue
Block a user