Compare commits
403 Commits
Author | SHA1 | Date | |
---|---|---|---|
b2373c10c7 | |||
3f4afdcb9a | |||
45ee84f9ac | |||
96b104f0a6 | |||
8b8690c71a | |||
d945ccac73 | |||
63db62453a | |||
a7dc7d2525 | |||
ae0085cfdf | |||
fdc1e5cb73 | |||
9671daecf4 | |||
7d53ec52b7 | |||
709a9e8709 | |||
e8ff739ca5 | |||
5b452a25fe | |||
90e21bd6e6 | |||
8b9d99a944 | |||
c81af549bf | |||
1286bd0b87 | |||
f0e2d2d40d | |||
3fc0f89291 | |||
96fede14ed | |||
aadd1c8472 | |||
14726b14d4 | |||
9c50c949b1 | |||
61d3ef43ad | |||
152e3a9176 | |||
ddaf4cc598 | |||
8c2225992e | |||
dedaee0693 | |||
fdb1340b9d | |||
f98996c13d | |||
0aab5f2e94 | |||
8d42db2f56 | |||
4dad574377 | |||
cd0a99c518 | |||
3bd2d1fd09 | |||
d4c01a5345 | |||
6e97a04bfe | |||
75488ba870 | |||
e2eb41e811 | |||
e8b1e157d9 | |||
6511d826a0 | |||
33e765adcd | |||
5b02352f1a | |||
5195b79eed | |||
d400901c52 | |||
570eb83558 | |||
db056f5150 | |||
1d558c939e | |||
5c0299197b | |||
383a85c18b | |||
3fa48c3650 | |||
c40f71462f | |||
bef455e5a6 | |||
737f51b815 | |||
7706e54294 | |||
d2a0c034c1 | |||
1290d83b9d | |||
b2edd74270 | |||
0a280975fb | |||
1e9e5a99c3 | |||
41c2be77f5 | |||
4331de8605 | |||
bacd4fd8d8 | |||
18184a2762 | |||
fb8ca2de24 | |||
248e15641a | |||
a943a14d0f | |||
04e6b7064f | |||
3e04ca5181 | |||
017766cb29 | |||
213042339b | |||
4da7785490 | |||
7caa4b12a6 | |||
2282a2c45f | |||
9d0e261bbe | |||
e5e5f1c63e | |||
1c295360fc | |||
0daa0579fe | |||
b908ff3aa9 | |||
4af1bdc935 | |||
a18fb7826c | |||
d8cc9636b5 | |||
f4e8ba88ae | |||
9e9648c924 | |||
a75008891b | |||
72398339d3 | |||
6addc49df2 | |||
c4fc8d184a | |||
a2a4d75745 | |||
b3291ff8b1 | |||
5e99c8e1c7 | |||
14e48f9c8a | |||
dfa8115883 | |||
b49624fc28 | |||
08a67c561a | |||
d3760d33ca | |||
8b66c7ad8d | |||
6f4df3dfab | |||
f05d3f8243 | |||
1cc7b1a3a0 | |||
33612b556c | |||
b592ad0569 | |||
68729cdcd9 | |||
32254864d5 | |||
5a7827e85e | |||
6db816cd60 | |||
840e055bf6 | |||
40193b7a68 | |||
98fa1a09a0 | |||
8d68795461 | |||
059710d83c | |||
fac33ee0b1 | |||
55b8259fe9 | |||
bbd5aa1490 | |||
6fb5cb88d2 | |||
a459823beb | |||
9058dc75d9 | |||
ab3ffc63f7 | |||
24a02e5adf | |||
b2d939011f | |||
2ce0c5d259 | |||
f3cc5b6064 | |||
8a093c645e | |||
35fd9fbbac | |||
dfd26f214d | |||
009cd36fe2 | |||
592d53d8bc | |||
e10923c7c2 | |||
d66ad98a49 | |||
2e8bd4403f | |||
40ee89a04a | |||
0e69fb175c | |||
8233992b76 | |||
f88b966762 | |||
5a82dc2a25 | |||
638f2cf18d | |||
38a7354ad9 | |||
672afbb918 | |||
ec908bbfe9 | |||
3396f9cf97 | |||
f6ce76d384 | |||
ee7a8ce6d1 | |||
a53ceba97e | |||
4d7538937b | |||
10297c7ab3 | |||
c7f1a66a4a | |||
c2426f26fd | |||
6069a25c75 | |||
f07eed7882 | |||
401b4cdc28 | |||
1879d00bf9 | |||
0602285220 | |||
1fe80bd0e0 | |||
b3e5c93f4b | |||
366e08899b | |||
d5142aaf15 | |||
0b3e340dbe | |||
b655bd7d0b | |||
daeca67bee | |||
d2b66563e1 | |||
0d21610322 | |||
f75e72757e | |||
2e81aee089 | |||
7a6b760845 | |||
5fd1c3b60e | |||
e2c9914ef9 | |||
34a8f1b155 | |||
47f0a41fb6 | |||
352ad4f9d2 | |||
fc40c44612 | |||
9846d29d76 | |||
502f26059d | |||
d0e363b7c0 | |||
6259a80cf4 | |||
83f975861c | |||
7593a34ff4 | |||
8aae24d63d | |||
dd29b58da6 | |||
864b8177e5 | |||
8de444dadf | |||
1db7e953e8 | |||
8605dcc751 | |||
9210f2a711 | |||
5d5e14b724 | |||
1d583c39c9 | |||
9926cd19ee | |||
daea1bba62 | |||
f05f8dab76 | |||
ba11abff1d | |||
22f578b451 | |||
7bc76ac54c | |||
5e35c5769a | |||
3f888dd781 | |||
5b065bce3d | |||
d8a1fe95aa | |||
f57ee6c0f8 | |||
3364719ba1 | |||
e46739a510 | |||
adc860fa6e | |||
d4cc3053a6 | |||
38c6189d5f | |||
bf4c4d846e | |||
5040ebba8e | |||
4598528765 | |||
8fbcf27f6a | |||
48d46617d2 | |||
e7d5ecb50b | |||
6a77f3f7b3 | |||
a4673f9fb9 | |||
c84a8b5a70 | |||
31a3b67cba | |||
b44cb66b2a | |||
690a6d54d2 | |||
e7e57abf52 | |||
bda31a487f | |||
2908bc31a3 | |||
66dd2bf283 | |||
527d4271b1 | |||
36f6d04906 | |||
e8758e9c41 | |||
058ec398e6 | |||
5b79f5d849 | |||
6f049d2692 | |||
964bf4032a | |||
87e2296dde | |||
6284b6c29e | |||
260b78025c | |||
6b81ea51d3 | |||
a07eb48174 | |||
0ec0e3579e | |||
a78901cb63 | |||
27ae8baf3a | |||
dd3da2f41a | |||
6f3aa650b6 | |||
191e4abd9c | |||
386d852859 | |||
7977d04281 | |||
b632f0202f | |||
57372b8f95 | |||
172cd18c16 | |||
cfc241d3a6 | |||
4c1d4b0580 | |||
d508a6c398 | |||
f9083dc300 | |||
0b358acba7 | |||
cbe831f9f6 | |||
d7795ef054 | |||
9b41c73e9d | |||
e8d231d360 | |||
f6522b8fa7 | |||
25934dd8c7 | |||
4b4578fd59 | |||
4ec366b23b | |||
4b40c4d217 | |||
a2a87ddc4c | |||
bd73ea7914 | |||
5fada1b6a9 | |||
5f28fc873c | |||
2cb9453209 | |||
78325c98c7 | |||
aa3f44260e | |||
8f054a1f97 | |||
f4a6e542f0 | |||
fb9e6c4e5a | |||
e317439910 | |||
f7dcdc2dce | |||
fb376b29df | |||
d82e22d188 | |||
303350dec0 | |||
dd144efa5f | |||
cb253450a0 | |||
168aed3000 | |||
2f5742eb9b | |||
79ff14ddd3 | |||
b4988187c0 | |||
97f497bc04 | |||
368de2e865 | |||
2c842bd2bb | |||
e10d14681f | |||
444ae3d68d | |||
f72de7b8af | |||
22a62ea6e4 | |||
4d4bbe66e7 | |||
e8d2e33aac | |||
9efb75d66f | |||
c053fd75e3 | |||
4ae048fd9f | |||
3b6d2b2c14 | |||
3a653be368 | |||
10aa7ad3f1 | |||
6ccf96c338 | |||
9ef95a8d64 | |||
6166dd3887 | |||
d08b70c284 | |||
7750ebdb66 | |||
c908e8ecfb | |||
1fc2b7ff66 | |||
eea136619c | |||
88651e4ffe | |||
fa3e7c0e6d | |||
a8e1ac7455 | |||
48ba0b3664 | |||
e7e484c814 | |||
b87e30bc9d | |||
60aa513375 | |||
a450d02485 | |||
70ce94b84e | |||
fba3619747 | |||
d234e55ae4 | |||
0387d7d593 | |||
b1a0669c40 | |||
52a428bb5e | |||
655cbe70d1 | |||
c31e019cef | |||
b054dcdc7a | |||
0d8f243d31 | |||
96d5b95b6f | |||
af56825d39 | |||
f5a40f7ca8 | |||
6f30239ada | |||
55f160bce3 | |||
654c965851 | |||
fc008bcfb4 | |||
ddd83a74e5 | |||
d87b3d37e5 | |||
04af17121c | |||
aa18aed868 | |||
7d1668e2e0 | |||
1d302954e3 | |||
dd55dfd24d | |||
65ea47eb4e | |||
abf54ad342 | |||
2041accecb | |||
e7e1a6735d | |||
2c91b6ca8c | |||
45ce38916b | |||
131e19df88 | |||
0d73e2f7a2 | |||
a1f9a7bab9 | |||
6f90cfaf99 | |||
2cf134db1e | |||
7557bf784a | |||
68c2c05b41 | |||
de2506bcc4 | |||
ee94756655 | |||
af2d0fde1f | |||
31f4ec4b93 | |||
ec238001cd | |||
f42c7f8bb5 | |||
bafbdec9d3 | |||
3f75ef83bb | |||
6d4802a06f | |||
2e38f79a6e | |||
6b7a1966e3 | |||
3606a8d25d | |||
6be4fddcd7 | |||
7a26128c7b | |||
f9697dfcee | |||
e40ee1c34b | |||
e94e3bdd60 | |||
c660e2b3e6 | |||
864105186b | |||
028742d7e6 | |||
5d891c9581 | |||
e4758faba3 | |||
9aacbb2fef | |||
5c966f35a8 | |||
a2830d2aee | |||
ce05418d8e | |||
583fc19da7 | |||
597095b536 | |||
5dad353d98 | |||
dab9e69dd3 | |||
2bc6d97ab0 | |||
2f49934a92 | |||
e8eec11618 | |||
03d6823241 | |||
5a36eb0d23 | |||
7d13222838 | |||
c53ed21d55 | |||
10c03ccedb | |||
01245d15d9 | |||
ff4e8c6885 | |||
111ede456e | |||
f0af016efe | |||
559ffc5ead | |||
28408fcea7 | |||
7924612419 | |||
c1a483a0bd | |||
b34aee8493 | |||
a1455078e9 | |||
a834fbcb7c | |||
13d84c3c4d | |||
1d4a77b96b | |||
7a379a1a87 | |||
7d986b82d8 | |||
2bc43869b0 | |||
caf80e07f9 | |||
0d1bcbf9c4 | |||
9ea80712d9 | |||
613117775d |
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,5 +1,2 @@
|
||||
/*.opensdf
|
||||
/*.suo
|
||||
/*.sdf
|
||||
/.vs
|
||||
/doc
|
||||
/ipch
|
||||
|
4
.tgitconfig
Normal file
4
.tgitconfig
Normal file
@@ -0,0 +1,4 @@
|
||||
[tgit]
|
||||
projectlanguage = 1033
|
||||
warnnosignedoffby = true
|
||||
icon = include/icon_full.ico
|
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<OutDir>..\output\$(Platform).$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
Binary file not shown.
@@ -1,6 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -9,6 +13,10 @@
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -22,76 +30,92 @@
|
||||
<ProjectGuid>{2D3CE079-7EB1-4F47-B79E-F0310671ECCB}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>CredWrite</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\include\Win32.props" />
|
||||
<Import Project="..\include\Debug.props" />
|
||||
<Import Project="CredWrite.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\include\x64.props" />
|
||||
<Import Project="..\include\Debug.props" />
|
||||
<Import Project="CredWrite.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\include\Win32.props" />
|
||||
<Import Project="..\include\Release.props" />
|
||||
<Import Project="CredWrite.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\include\x64.props" />
|
||||
<Import Project="..\include\Release.props" />
|
||||
<Import Project="CredWrite.props" />
|
||||
<Import Project="..\include\$(Platform).props" />
|
||||
<Import Project="..\include\$(Configuration).props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<OutDir>..\output\$(Platform).$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||
<ItemGroup>
|
||||
<ClInclude Include="StdAfx.h" />
|
||||
<ClInclude Include="PCH.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Main.cpp" />
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<ClCompile Include="PCH.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -110,7 +134,7 @@
|
||||
<ProjectReference Include="..\lib\TLS\build\TLS.vcxproj">
|
||||
<Project>{4d40cb8a-812e-4f12-b23a-31af743878e8}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\WinStd\build\WinStd.vcxproj">
|
||||
<ProjectReference Include="..\lib\WinStd\build\WinStd-16.0.vcxproj">
|
||||
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
@@ -15,12 +15,12 @@
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="StdAfx.h">
|
||||
<ClInclude Include="PCH.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<ClCompile Include="PCH.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Main.cpp">
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
@@ -18,12 +18,14 @@
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "PCH.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace winstd;
|
||||
|
||||
eap::module g_module;
|
||||
class module_dummy : public eap::module {
|
||||
virtual eap::config_method* make_config() { return nullptr; }
|
||||
} g_module;
|
||||
|
||||
|
||||
static int CredWrite()
|
||||
@@ -116,7 +118,8 @@ static int CredWrite()
|
||||
}
|
||||
|
||||
|
||||
int CALLBACK WinMain(_In_ HINSTANCE hInstance, _In_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow)
|
||||
_Use_decl_annotations_
|
||||
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(hPrevInstance);
|
||||
UNREFERENCED_PARAMETER(lpCmdLine);
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
@@ -18,4 +18,4 @@
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "PCH.h"
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "../lib/EAPBase/include/Config.h"
|
||||
#include "../lib/EAPBase/include/Credentials.h"
|
||||
#include "../lib/EAPBase/include/Module.h"
|
||||
|
||||
@@ -29,6 +30,7 @@
|
||||
|
||||
#include <Windows.h>
|
||||
#include <eaptypes.h> // Must include after <Windows.h>
|
||||
#include <shellapi.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#include <memory>
|
@@ -1,7 +1,9 @@
|
||||
#CredWrite
|
||||
Imports given credentials to Windows Credential Manager for G<>ANTLink use
|
||||
# CredWrite
|
||||
|
||||
Imports given credentials to Windows Credential Manager for GÉANTLink use
|
||||
|
||||
## Usage
|
||||
|
||||
##Usage
|
||||
```
|
||||
CredWrite <username> <password> [<realm> [level]]
|
||||
```
|
||||
@@ -13,8 +15,15 @@ CredWrite <username> <password> [<realm> [level]]
|
||||
|
||||
The credentials are stored to Windows Credential Manager in invoking user's roaming profile.
|
||||
|
||||
Return codes:
|
||||
### Return codes
|
||||
|
||||
- -1 = Invalid parameters
|
||||
- 0 = Success
|
||||
- 1 = Error parsing command line
|
||||
- 2 = Error encrypting password or writing credentials
|
||||
|
||||
### Example
|
||||
|
||||
```
|
||||
CredWrite dXNlckBjb250b3NvLmNvbQ== cGFzc3dvcmQxMjM= urn:RFC4282:realm:contoso.com 1
|
||||
```
|
||||
|
5
Doxyfile
5
Doxyfile
@@ -1,4 +1,4 @@
|
||||
# Doxyfile 1.8.7
|
||||
# Doxyfile 1.8.7
|
||||
|
||||
# This file describes the settings to be used by the documentation system
|
||||
# doxygen (www.doxygen.org) for a project.
|
||||
@@ -44,7 +44,7 @@ PROJECT_NUMBER =
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
# quick idea about the purpose of the project. Keep the description short.
|
||||
|
||||
PROJECT_BRIEF = "EAP Supplicant for Windows"
|
||||
PROJECT_BRIEF = "Suite of EAP supplicants for Microsoft Windows - IEEE 802.1X clients for enterprise network authentication"
|
||||
|
||||
# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
|
||||
# the documentation. The maximum height of the logo should not exceed 55 pixels
|
||||
@@ -794,6 +794,7 @@ EXCLUDE = \
|
||||
EventMonitor\res \
|
||||
lib\EAPBase_UI\res \
|
||||
lib\EapHost_UI\res \
|
||||
lib\GTC_UI\res \
|
||||
lib\TLS_UI\res \
|
||||
lib\TTLS_UI\res \
|
||||
lib\WinStd \
|
||||
|
28
EAPMethods/Common.props
Normal file
28
EAPMethods/Common.props
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="..\include\$(Platform).props" />
|
||||
<Import Project="..\include\$(Configuration).props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_PropertySheetDisplayName>EAP Method Common</_PropertySheetDisplayName>
|
||||
<OutDir>..\output\$(Platform).$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\lib\EAPBase\build\EAPBase.vcxproj">
|
||||
<Project>{ad6816a0-9600-4e01-8c49-39d03d1e791f}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\Events\build\Events.vcxproj">
|
||||
<Project>{d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\WinStd\build\WinStd-16.0.vcxproj">
|
||||
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
@@ -1,125 +1,128 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{331B6077-E3E2-4867-B93E-9D3F57280DE7}</ProjectGuid>
|
||||
<RootNamespace>EAPTTLS</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\include\Win32.props" />
|
||||
<Import Project="..\..\include\Debug.props" />
|
||||
<Import Project="EAPTTLS.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\include\x64.props" />
|
||||
<Import Project="..\..\include\Debug.props" />
|
||||
<Import Project="EAPTTLS.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\include\Win32.props" />
|
||||
<Import Project="..\..\include\Release.props" />
|
||||
<Import Project="EAPTTLS.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\include\x64.props" />
|
||||
<Import Project="..\..\include\Release.props" />
|
||||
<Import Project="EAPTTLS.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<ItemGroup>
|
||||
<ClInclude Include="StdAfx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\Main.cpp" />
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="EAPTTLS.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\lib\EAPBase\build\EAPBase.vcxproj">
|
||||
<Project>{ad6816a0-9600-4e01-8c49-39d03d1e791f}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\Events\build\Events.vcxproj">
|
||||
<Project>{d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\MSCHAPv2\build\MSCHAPv2.vcxproj">
|
||||
<Project>{86a6d6a0-4b7d-4134-be81-a5755c77584d}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\PAP\build\PAP.vcxproj">
|
||||
<Project>{36b0cf8a-7794-46c3-8099-825ba962b4c7}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\TLS\build\TLS.vcxproj">
|
||||
<Project>{4d40cb8a-812e-4f12-b23a-31af743878e8}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\TTLS\build\TTLS.vcxproj">
|
||||
<Project>{ee0ef0d9-a475-4038-8637-5754724f65b0}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\WinStd\build\WinStd.vcxproj">
|
||||
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\build\EAPMethod.def" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{331B6077-E3E2-4867-B93E-9D3F57280DE7}</ProjectGuid>
|
||||
<RootNamespace>EAP-TTLS</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="EAPMethod.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>EAPMETHOD_TYPE=21;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>EAPMETHOD_TYPE=21;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\lib\EapHost\build\EapHost.vcxproj">
|
||||
<Project>{b385ec2b-c3f4-48bb-9bac-8b996de7f754}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\GTC\build\GTC.vcxproj">
|
||||
<Project>{114a70bb-8698-4a0c-8c90-58f22edd8129}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\MSCHAPv2\build\MSCHAPv2.vcxproj">
|
||||
<Project>{86a6d6a0-4b7d-4134-be81-a5755c77584d}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\PAP\build\PAP.vcxproj">
|
||||
<Project>{36b0cf8a-7794-46c3-8099-825ba962b4c7}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\TLS\build\TLS.vcxproj">
|
||||
<Project>{4d40cb8a-812e-4f12-b23a-31af743878e8}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\TTLS\build\TTLS.vcxproj">
|
||||
<Project>{ee0ef0d9-a475-4038-8637-5754724f65b0}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@@ -1,40 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="StdAfx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\Main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="EAPTTLS.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\build\EAPMethod.def">
|
||||
<Filter>Source Files</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="PCH.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="PCH.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="res\EAPMethod.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="EAPMethod.def">
|
||||
<Filter>Source Files</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
</Project>
|
147
EAPMethods/EAP-TTLS_UI.vcxproj
Normal file
147
EAPMethods/EAP-TTLS_UI.vcxproj
Normal file
@@ -0,0 +1,147 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{DD7A97CA-F18E-43B7-95C4-D06E6A291624}</ProjectGuid>
|
||||
<RootNamespace>EAP-TTLS_UI</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="EAPMethod_UI.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>EAPMETHOD_TYPE=21;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>EAPMETHOD_TYPE=21;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\lib\EapHost\build\EapHost.vcxproj">
|
||||
<Project>{b385ec2b-c3f4-48bb-9bac-8b996de7f754}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\EapHost_UI\build\EapHost_UI.vcxproj">
|
||||
<Project>{13d2d8b5-f6aa-459d-b5f7-29b95dd9d583}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\GTC\build\GTC.vcxproj">
|
||||
<Project>{114a70bb-8698-4a0c-8c90-58f22edd8129}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\GTC_UI\build\GTC_UI.vcxproj">
|
||||
<Project>{34680813-3a52-46fb-b5a8-1e4bbf770855}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\MSCHAPv2\build\MSCHAPv2.vcxproj">
|
||||
<Project>{86a6d6a0-4b7d-4134-be81-a5755c77584d}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\MSCHAPv2_UI\build\MSCHAPv2_UI.vcxproj">
|
||||
<Project>{7af5b922-7c17-428a-97e0-09e3b41a684d}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\PAP\build\PAP.vcxproj">
|
||||
<Project>{36b0cf8a-7794-46c3-8099-825ba962b4c7}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\PAP_UI\build\PAP_UI.vcxproj">
|
||||
<Project>{3d309c2e-64ab-4bc4-a16d-468571a2bc1a}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\TLS\build\TLS.vcxproj">
|
||||
<Project>{4d40cb8a-812e-4f12-b23a-31af743878e8}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\TLS_UI\build\TLS_UI.vcxproj">
|
||||
<Project>{9a25c261-8ade-4938-8393-e857ef0e37e9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\TTLS\build\TTLS.vcxproj">
|
||||
<Project>{ee0ef0d9-a475-4038-8637-5754724f65b0}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\TTLS_UI\build\TTLS_UI.vcxproj">
|
||||
<Project>{42f0f0f4-c928-4860-a4e4-94991c2c3d90}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="..\include\xgettext.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
@@ -1,136 +1,142 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files\Localization">
|
||||
<UniqueIdentifier>{e43059ae-37ac-4b28-84fb-18d1b3972b30}</UniqueIdentifier>
|
||||
<Extensions>po;pot</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="StdAfx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\Main_UI.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="EAPTTLSUI.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\build\EAPMethodUI.def">
|
||||
<Filter>Source Files</Filter>
|
||||
</None>
|
||||
<None Include="..\locale\EAPMethods.pot">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\sl_SI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\bg_BG.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ca_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cs_CZ.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\cy_UK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\de_DE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\el_GR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\es_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\eu_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fi_FI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_CA.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\fr_FR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\gl_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hr_HR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\hu_HU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\is_IS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\it_IT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\lt_LT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nb_NO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\nl_NL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pl_PL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\pt_PT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ru_RU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sk_SK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sr_RS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\sv_SE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\tr_TR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\vi_VN.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="..\locale\ko_KR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
</ItemGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files\Localization">
|
||||
<UniqueIdentifier>{e43059ae-37ac-4b28-84fb-18d1b3972b30}</UniqueIdentifier>
|
||||
<Extensions>po;pot</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="PCH_UI.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="PCH_UI.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Main_UI.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="res\EAPMethod_UI.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="EAPMethod_UI.def">
|
||||
<Filter>Source Files</Filter>
|
||||
</None>
|
||||
<None Include="locale\EAPMethods.pot">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="locale\ro_RO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\sl_SI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\bg_BG.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\ca_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\cs_CZ.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\cy_UK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\de_DE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\el_GR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\es_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\eu_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\fi_FI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\fr_CA.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\fr_FR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\gl_ES.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\hr_HR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\hu_HU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\is_IS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\it_IT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\lt_LT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\nb_NO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\nl_NL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\pl_PL.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\pt_PT.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\ru_RU.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\sk_SK.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\sr_RS.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\sv_SE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\tr_TR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\vi_VN.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\ko_KR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\et_EE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
Binary file not shown.
28
EAPMethods/EAPMethod.props
Normal file
28
EAPMethods/EAPMethod.props
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="Common.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<Link>
|
||||
<ModuleDefinitionFile>EAPMethod.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="PCH.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Main.cpp" />
|
||||
<ClCompile Include="PCH.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="EAPMethod.def" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="res\EAPMethod.rc" />
|
||||
</ItemGroup>
|
||||
</Project>
|
Binary file not shown.
73
EAPMethods/EAPMethod_UI.props
Normal file
73
EAPMethods/EAPMethod_UI.props
Normal file
@@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="Common.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PrecompiledHeaderFile>PCH_UI.h</PrecompiledHeaderFile>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<ModuleDefinitionFile>EAPMethod_UI.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="PCH_UI.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Main_UI.cpp" />
|
||||
<ClCompile Include="PCH_UI.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="EAPMethod_UI.def" />
|
||||
<None Include="locale\EAPMethods.pot" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="locale\bg_BG.po" />
|
||||
<POCompile Include="locale\ca_ES.po" />
|
||||
<POCompile Include="locale\cs_CZ.po" />
|
||||
<POCompile Include="locale\cy_UK.po" />
|
||||
<POCompile Include="locale\de_DE.po" />
|
||||
<POCompile Include="locale\el_GR.po" />
|
||||
<POCompile Include="locale\es_ES.po" />
|
||||
<POCompile Include="locale\et_EE.po" />
|
||||
<POCompile Include="locale\eu_ES.po" />
|
||||
<POCompile Include="locale\fi_FI.po" />
|
||||
<POCompile Include="locale\fr_CA.po" />
|
||||
<POCompile Include="locale\fr_FR.po" />
|
||||
<POCompile Include="locale\gl_ES.po" />
|
||||
<POCompile Include="locale\hr_HR.po" />
|
||||
<POCompile Include="locale\hu_HU.po" />
|
||||
<POCompile Include="locale\is_IS.po" />
|
||||
<POCompile Include="locale\it_IT.po" />
|
||||
<POCompile Include="locale\ko_KR.po" />
|
||||
<POCompile Include="locale\lt_LT.po" />
|
||||
<POCompile Include="locale\nb_NO.po" />
|
||||
<POCompile Include="locale\nl_NL.po" />
|
||||
<POCompile Include="locale\pl_PL.po" />
|
||||
<POCompile Include="locale\pt_PT.po" />
|
||||
<POCompile Include="locale\ru_RU.po" />
|
||||
<POCompile Include="locale\sk_SK.po" />
|
||||
<POCompile Include="locale\ro_RO.po" />
|
||||
<POCompile Include="locale\sl_SI.po" />
|
||||
<POCompile Include="locale\sr_RS.po" />
|
||||
<POCompile Include="locale\sv_SE.po" />
|
||||
<POCompile Include="locale\tr_TR.po" />
|
||||
<POCompile Include="locale\vi_VN.po" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="res\EAPMethod_UI.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\lib\EAPBase_UI\build\EAPBase_UI.vcxproj">
|
||||
<Project>{d4b54856-be1f-4937-a8f7-495125be76be}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\wxExtend\build\wxExtendLib-16.0.vcxproj">
|
||||
<Project>{d3e29951-d9f5-486d-a167-20ae8e90b1fa}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="..\build\Common.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>EAPMETHOD_TYPE=21;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<ModuleDefinitionFile>..\build\EAPMethod.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="..\build\Common.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>EAPMETHOD_TYPE=21;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<ModuleDefinitionFile>..\build\EAPMethodUI.def</ModuleDefinitionFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
@@ -1,176 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{DD7A97CA-F18E-43B7-95C4-D06E6A291624}</ProjectGuid>
|
||||
<RootNamespace>EAPTTLSUI</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\include\Win32.props" />
|
||||
<Import Project="..\..\include\Debug.props" />
|
||||
<Import Project="EAPTTLSUI.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\include\x64.props" />
|
||||
<Import Project="..\..\include\Debug.props" />
|
||||
<Import Project="EAPTTLSUI.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\include\Win32.props" />
|
||||
<Import Project="..\..\include\Release.props" />
|
||||
<Import Project="EAPTTLSUI.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\include\x64.props" />
|
||||
<Import Project="..\..\include\Release.props" />
|
||||
<Import Project="EAPTTLSUI.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<ItemGroup>
|
||||
<ClInclude Include="StdAfx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\Main_UI.cpp" />
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="EAPTTLSUI.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\lib\EAPBase\build\EAPBase.vcxproj">
|
||||
<Project>{ad6816a0-9600-4e01-8c49-39d03d1e791f}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\EAPBase_UI\build\EAPBase_UI.vcxproj">
|
||||
<Project>{d4b54856-be1f-4937-a8f7-495125be76be}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\Events\build\Events.vcxproj">
|
||||
<Project>{d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\MSCHAPv2\build\MSCHAPv2.vcxproj">
|
||||
<Project>{86a6d6a0-4b7d-4134-be81-a5755c77584d}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\MSCHAPv2_UI\build\MSCHAPv2_UI.vcxproj">
|
||||
<Project>{7af5b922-7c17-428a-97e0-09e3b41a684d}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\PAP\build\PAP.vcxproj">
|
||||
<Project>{36b0cf8a-7794-46c3-8099-825ba962b4c7}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\PAP_UI\build\PAP_UI.vcxproj">
|
||||
<Project>{3d309c2e-64ab-4bc4-a16d-468571a2bc1a}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\TLS\build\TLS.vcxproj">
|
||||
<Project>{4d40cb8a-812e-4f12-b23a-31af743878e8}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\TLS_UI\build\TLS_UI.vcxproj">
|
||||
<Project>{9a25c261-8ade-4938-8393-e857ef0e37e9}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\TTLS\build\TTLS.vcxproj">
|
||||
<Project>{ee0ef0d9-a475-4038-8637-5754724f65b0}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\TTLS_UI\build\TTLS_UI.vcxproj">
|
||||
<Project>{42f0f0f4-c928-4860-a4e4-94991c2c3d90}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\WinStd\build\WinStd.vcxproj">
|
||||
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\lib\wxExtend\build\wxExtendLib.vcxproj">
|
||||
<Project>{d3e29951-d9f5-486d-a167-20ae8e90b1fa}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\build\EAPMethodUI.def" />
|
||||
<None Include="..\locale\EAPMethods.pot" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="..\locale\bg_BG.po" />
|
||||
<POCompile Include="..\locale\ca_ES.po" />
|
||||
<POCompile Include="..\locale\cs_CZ.po" />
|
||||
<POCompile Include="..\locale\cy_UK.po" />
|
||||
<POCompile Include="..\locale\de_DE.po" />
|
||||
<POCompile Include="..\locale\el_GR.po" />
|
||||
<POCompile Include="..\locale\es_ES.po" />
|
||||
<POCompile Include="..\locale\eu_ES.po" />
|
||||
<POCompile Include="..\locale\fi_FI.po" />
|
||||
<POCompile Include="..\locale\fr_CA.po" />
|
||||
<POCompile Include="..\locale\fr_FR.po" />
|
||||
<POCompile Include="..\locale\gl_ES.po" />
|
||||
<POCompile Include="..\locale\hr_HR.po" />
|
||||
<POCompile Include="..\locale\hu_HU.po" />
|
||||
<POCompile Include="..\locale\is_IS.po" />
|
||||
<POCompile Include="..\locale\it_IT.po" />
|
||||
<POCompile Include="..\locale\ko_KR.po" />
|
||||
<POCompile Include="..\locale\lt_LT.po" />
|
||||
<POCompile Include="..\locale\nb_NO.po" />
|
||||
<POCompile Include="..\locale\nl_NL.po" />
|
||||
<POCompile Include="..\locale\pl_PL.po" />
|
||||
<POCompile Include="..\locale\pt_PT.po" />
|
||||
<POCompile Include="..\locale\ru_RU.po" />
|
||||
<POCompile Include="..\locale\sk_SK.po" />
|
||||
<POCompile Include="..\locale\sl_SI.po" />
|
||||
<POCompile Include="..\locale\sr_RS.po" />
|
||||
<POCompile Include="..\locale\sv_SE.po" />
|
||||
<POCompile Include="..\locale\tr_TR.po" />
|
||||
<POCompile Include="..\locale\vi_VN.po" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
<Import Project="..\..\include\xgettext.targets" />
|
||||
</ImportGroup>
|
||||
</Project>
|
9
EAPMethods/MSIBuild.EAP-TTLS/.gitignore
vendored
Normal file
9
EAPMethods/MSIBuild.EAP-TTLS/.gitignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
/*-1.idt
|
||||
/*-2.idt
|
||||
/*-2.idtx
|
||||
/*.Binary-1
|
||||
/*.Binary-2
|
||||
/*.Icon-1
|
||||
/*.Icon-2
|
||||
/*.lst
|
||||
/*.msm
|
BIN
EAPMethods/MSIBuild.EAP-TTLS/Makefile
Normal file
BIN
EAPMethods/MSIBuild.EAP-TTLS/Makefile
Normal file
Binary file not shown.
Binary file not shown.
BIN
EAPMethods/MSIBuild/MakefileEAPMethod.mak
Normal file
BIN
EAPMethods/MSIBuild/MakefileEAPMethod.mak
Normal file
Binary file not shown.
905
EAPMethods/Main.cpp
Normal file
905
EAPMethods/Main.cpp
Normal file
@@ -0,0 +1,905 @@
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
|
||||
GÉANTLink is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GÉANTLink is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "PCH.h"
|
||||
|
||||
#pragma comment(lib, "Ws2_32.lib")
|
||||
|
||||
using namespace std;
|
||||
using namespace winstd;
|
||||
|
||||
|
||||
EAPMETHOD_PEER g_peer;
|
||||
|
||||
|
||||
///
|
||||
/// DLL main entry point
|
||||
///
|
||||
/// \sa [DllMain entry point](https://msdn.microsoft.com/en-us/library/windows/desktop/ms682583.aspx)
|
||||
///
|
||||
BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(lpvReserved);
|
||||
|
||||
if (fdwReason == DLL_PROCESS_ATTACH) {
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
g_peer.m_instance = hinstDLL;
|
||||
} else if (fdwReason == DLL_PROCESS_DETACH)
|
||||
assert(!_CrtDumpMemoryLeaks());
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Releases all memory associated with an opaque user interface context data buffer.
|
||||
///
|
||||
/// \sa [EapPeerFreeMemory function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363606.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
VOID WINAPI EapPeerFreeMemory(void *pUIContextData)
|
||||
{
|
||||
event_fn_auto event_auto(g_peer.get_event_fn_auto(__FUNCTION__));
|
||||
|
||||
if (pUIContextData)
|
||||
g_peer.free_memory((BYTE*)pUIContextData);
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Releases error-specific memory allocated by the EAP peer method.
|
||||
///
|
||||
/// \sa [EapPeerFreeErrorMemory function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363605.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
VOID WINAPI EapPeerFreeErrorMemory(EAP_ERROR *ppEapError)
|
||||
{
|
||||
event_fn_auto event_auto(g_peer.get_event_fn_auto(__FUNCTION__));
|
||||
|
||||
if (ppEapError)
|
||||
g_peer.free_error_memory(ppEapError);
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Obtains a set of function pointers for an implementation of the EAP peer method currently loaded on the EapHost service.
|
||||
///
|
||||
/// \sa [EapPeerGetInfo function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363608.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerGetInfo(EAP_TYPE* pEapType, EAP_PEER_METHOD_ROUTINES* pEapPeerMethodRoutines, EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pEapPeerMethodRoutines)
|
||||
memset(pEapPeerMethodRoutines, 0, sizeof(*pEapPeerMethodRoutines));
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!pEapType || !pEapPeerMethodRoutines)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
if (pEapType->type != EAPMETHOD_TYPE)
|
||||
return dwResult = ERROR_NOT_SUPPORTED;
|
||||
|
||||
pEapPeerMethodRoutines->dwVersion = PRODUCT_VERSION;
|
||||
pEapPeerMethodRoutines->pEapType = NULL;
|
||||
|
||||
pEapPeerMethodRoutines->EapPeerInitialize = EapPeerInitialize;
|
||||
pEapPeerMethodRoutines->EapPeerShutdown = EapPeerShutdown;
|
||||
pEapPeerMethodRoutines->EapPeerBeginSession = EapPeerBeginSession;
|
||||
pEapPeerMethodRoutines->EapPeerEndSession = EapPeerEndSession;
|
||||
pEapPeerMethodRoutines->EapPeerSetCredentials = NULL; // Always NULL unless we want to use generic credential UI
|
||||
pEapPeerMethodRoutines->EapPeerGetIdentity = EapPeerGetIdentity;
|
||||
pEapPeerMethodRoutines->EapPeerProcessRequestPacket = EapPeerProcessRequestPacket;
|
||||
pEapPeerMethodRoutines->EapPeerGetResponsePacket = EapPeerGetResponsePacket;
|
||||
pEapPeerMethodRoutines->EapPeerGetResult = EapPeerGetResult;
|
||||
pEapPeerMethodRoutines->EapPeerGetUIContext = EapPeerGetUIContext;
|
||||
pEapPeerMethodRoutines->EapPeerSetUIContext = EapPeerSetUIContext;
|
||||
pEapPeerMethodRoutines->EapPeerGetResponseAttributes = EapPeerGetResponseAttributes;
|
||||
pEapPeerMethodRoutines->EapPeerSetResponseAttributes = EapPeerSetResponseAttributes;
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: 4702) // Compiler is smart enough to find out the initialize() method is empty => never throws an exception.
|
||||
|
||||
///
|
||||
/// Initializes an EAP peer method for EapHost.
|
||||
///
|
||||
/// \sa [EapPeerInitialize function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363613.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerInitialize(EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
try {
|
||||
g_peer.initialize();
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
#pragma warning(pop)
|
||||
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: 4702) // Compiler is smart enough to find out the shutdown() method is empty => never throws an exception.
|
||||
|
||||
///
|
||||
/// Shuts down the EAP method and prepares to unload its corresponding DLL.
|
||||
///
|
||||
/// \sa [EapPeerShutdown function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363627.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerShutdown(EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
try {
|
||||
g_peer.shutdown();
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
#pragma warning(pop)
|
||||
|
||||
|
||||
///
|
||||
/// Returns the user data and user identity after being called by EapHost.
|
||||
///
|
||||
/// \sa [EapPeerGetIdentity function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363607.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerGetIdentity(
|
||||
DWORD dwFlags,
|
||||
DWORD dwConnectionDataSize,
|
||||
const BYTE *pConnectionData,
|
||||
DWORD dwUserDataSize,
|
||||
const BYTE *pUserData,
|
||||
HANDLE hTokenImpersonateUser,
|
||||
BOOL *pfInvokeUI,
|
||||
DWORD *pdwUserDataOutSize,
|
||||
BYTE **ppUserDataOut,
|
||||
WCHAR **ppwszIdentity,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pfInvokeUI)
|
||||
*pfInvokeUI = FALSE;
|
||||
if (pdwUserDataOutSize)
|
||||
*pdwUserDataOutSize = 0;
|
||||
if (ppUserDataOut)
|
||||
*ppUserDataOut = NULL;
|
||||
if (ppwszIdentity)
|
||||
*ppwszIdentity = NULL;
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!pConnectionData && dwConnectionDataSize || !pUserData && dwUserDataSize || !pfInvokeUI || !pdwUserDataOutSize || !ppUserDataOut || !ppwszIdentity)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.get_identity(dwFlags, pConnectionData, dwConnectionDataSize, pUserData, dwUserDataSize, ppUserDataOut, pdwUserDataOutSize, hTokenImpersonateUser, pfInvokeUI, ppwszIdentity);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Starts an EAP authentication session on the peer EapHost using the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerBeginSession function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363600.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerBeginSession(
|
||||
DWORD dwFlags,
|
||||
const EapAttributes *pAttributeArray,
|
||||
HANDLE hTokenImpersonateUser,
|
||||
DWORD dwConnectionDataSize,
|
||||
/*const*/ BYTE *pConnectionData,
|
||||
DWORD dwUserDataSize,
|
||||
/*const*/ BYTE *pUserData,
|
||||
DWORD dwMaxSendPacketSize,
|
||||
EAP_SESSION_HANDLE *phSession,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (phSession)
|
||||
*phSession = NULL;
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!pConnectionData && dwConnectionDataSize || !pUserData && dwUserDataSize || !phSession)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
*phSession = g_peer.begin_session(dwFlags, pAttributeArray, hTokenImpersonateUser, pConnectionData, dwConnectionDataSize, pUserData, dwUserDataSize, dwMaxSendPacketSize);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Ends an EAP authentication session for the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerEndSession function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363604.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerEndSession(
|
||||
EAP_SESSION_HANDLE hSession,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!hSession)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.end_session(hSession);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Processes a packet received by EapHost from a supplicant.
|
||||
///
|
||||
/// \sa [EapPeerProcessRequestPacket function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363621.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerProcessRequestPacket(
|
||||
EAP_SESSION_HANDLE hSession,
|
||||
DWORD dwReceivedPacketSize,
|
||||
/*const*/ EapPacket *pReceivedPacket,
|
||||
EapPeerMethodOutput *pEapOutput,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pEapOutput)
|
||||
memset(pEapOutput, 0, sizeof(*pEapOutput));
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!hSession || !pReceivedPacket || dwReceivedPacketSize < sizeof(EapPacket) || pReceivedPacket->Data[0] != EAPMETHOD_TYPE || !pEapOutput)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.process_request_packet(hSession, pReceivedPacket, dwReceivedPacketSize, pEapOutput);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Obtains a response packet from the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerGetResponsePacket function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363610.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerGetResponsePacket(
|
||||
EAP_SESSION_HANDLE hSession,
|
||||
DWORD *pdwSendPacketSize,
|
||||
EapPacket *pSendPacket,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!hSession || !pdwSendPacketSize || !pSendPacket && *pdwSendPacketSize)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.get_response_packet(hSession, pSendPacket, pdwSendPacketSize);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Obtains the result of an authentication session from the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerGetResult function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363611.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerGetResult(
|
||||
EAP_SESSION_HANDLE hSession,
|
||||
EapPeerMethodResultReason reason,
|
||||
EapPeerMethodResult *pResult,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!hSession || !pResult)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.get_result(hSession, reason, pResult);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Obtains the user interface context from the EAP method.
|
||||
///
|
||||
/// \note This function is always followed by the `EapPeerInvokeInteractiveUI()` function, which is followed by the `EapPeerSetUIContext()` function.
|
||||
///
|
||||
/// \sa [EapPeerGetUIContext function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363612.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerGetUIContext(
|
||||
EAP_SESSION_HANDLE hSession,
|
||||
DWORD *pdwUIContextDataSize,
|
||||
BYTE **ppUIContextData,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pdwUIContextDataSize)
|
||||
*pdwUIContextDataSize = 0;
|
||||
if (ppUIContextData)
|
||||
*ppUIContextData = NULL;
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!hSession || !pdwUIContextDataSize || !ppUIContextData)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.get_ui_context(hSession, ppUIContextData, pdwUIContextDataSize);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Provides a user interface context to the EAP method.
|
||||
///
|
||||
/// \note This function is called after the UI has been raised through the `EapPeerGetUIContext()` function.
|
||||
///
|
||||
/// \sa [EapPeerSetUIContext function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363626.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerSetUIContext(
|
||||
EAP_SESSION_HANDLE hSession,
|
||||
DWORD dwUIContextDataSize,
|
||||
const BYTE *pUIContextData,
|
||||
EapPeerMethodOutput *pEapOutput,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pEapOutput)
|
||||
memset(pEapOutput, 0, sizeof(*pEapOutput));
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!hSession || !pUIContextData && dwUIContextDataSize || !pEapOutput)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.set_ui_context(hSession, pUIContextData, dwUIContextDataSize, pEapOutput);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Obtains an array of EAP response attributes from the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerGetResponseAttributes function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363609.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerGetResponseAttributes(
|
||||
EAP_SESSION_HANDLE hSession,
|
||||
EapAttributes *pAttribs,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pAttribs)
|
||||
memset(pAttribs, 0, sizeof(*pAttribs));
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!hSession || !pAttribs)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.get_response_attributes(hSession, pAttribs);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Provides an updated array of EAP response attributes to the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerSetResponseAttributes function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363625.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD APIENTRY EapPeerSetResponseAttributes(
|
||||
EAP_SESSION_HANDLE hSession,
|
||||
/*const*/ EapAttributes *pAttribs,
|
||||
EapPeerMethodOutput *pEapOutput,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pEapOutput)
|
||||
memset(pEapOutput, 0, sizeof(*pEapOutput));
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!hSession || !pEapOutput)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.set_response_attributes(hSession, pAttribs, pEapOutput);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Defines the implementation of an EAP method-specific function that retrieves the properties of an EAP method given the connection and user data.
|
||||
///
|
||||
/// \sa [EapPeerGetMethodProperties function](https://msdn.microsoft.com/en-us/library/windows/desktop/hh706636.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerGetMethodProperties(
|
||||
DWORD dwVersion,
|
||||
DWORD dwFlags,
|
||||
EAP_METHOD_TYPE eapMethodType,
|
||||
HANDLE hUserImpersonationToken,
|
||||
DWORD dwConnectionDataSize,
|
||||
/*const*/ BYTE *pConnectionData,
|
||||
DWORD dwUserDataSize,
|
||||
/*const*/ BYTE *pUserData,
|
||||
EAP_METHOD_PROPERTY_ARRAY *pMethodPropertyArray,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pMethodPropertyArray)
|
||||
memset(pMethodPropertyArray, 0, sizeof(*pMethodPropertyArray));
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE || eapMethodType.dwAuthorId != EAPMETHOD_AUTHOR_ID)
|
||||
return dwResult = ERROR_NOT_SUPPORTED;
|
||||
if (!pConnectionData && dwConnectionDataSize || !pUserData && dwUserDataSize || !pMethodPropertyArray)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.get_method_properties(dwVersion, dwFlags, hUserImpersonationToken, pConnectionData, dwConnectionDataSize, pUserData, dwUserDataSize, pMethodPropertyArray);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Converts XML into the configuration BLOB. The XML based credentials can come from group policy or from a system administrator.
|
||||
///
|
||||
/// \sa [EapPeerCredentialsXml2Blob function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363603.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerCredentialsXml2Blob(
|
||||
DWORD dwFlags,
|
||||
EAP_METHOD_TYPE eapMethodType,
|
||||
IXMLDOMDocument2 *pCredentialsDoc,
|
||||
const BYTE *pConnectionData,
|
||||
DWORD dwConnectionDataSize,
|
||||
BYTE **ppCredentialsOut,
|
||||
DWORD *pdwCredentialsOutSize,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (ppCredentialsOut)
|
||||
*ppCredentialsOut = NULL;
|
||||
if (pdwCredentialsOutSize)
|
||||
*pdwCredentialsOutSize = 0;
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE || eapMethodType.dwAuthorId != EAPMETHOD_AUTHOR_ID)
|
||||
return dwResult = ERROR_NOT_SUPPORTED;
|
||||
if (!pCredentialsDoc || !pConnectionData && dwConnectionDataSize || !ppCredentialsOut || !pdwCredentialsOutSize)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
// <Credentials>
|
||||
com_obj<IXMLDOMNode> pXmlElCredentials;
|
||||
if (FAILED(eapxml::select_node(pCredentialsDoc, bstr(L"//EapHostUserCredentials/Credentials"), pXmlElCredentials)))
|
||||
return dwResult = g_peer.log_error(ppEapError, ERROR_NOT_FOUND, _T(__FUNCTION__) _T(" Error selecting <EapHostUserCredentials><Credentials> element."));
|
||||
|
||||
// Load credentials.
|
||||
pCredentialsDoc->setProperty(bstr(L"SelectionNamespaces"), variant(L"xmlns:eap-metadata=\"urn:ietf:params:xml:ns:yang:ietf-eap-metadata\""));
|
||||
try {
|
||||
g_peer.credentials_xml2blob(dwFlags, pXmlElCredentials, pConnectionData, dwConnectionDataSize, ppCredentialsOut, pdwCredentialsOutSize);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Defines the implementation of an EAP method-specific function that obtains the EAP Single-Sign-On (SSO) credential input fields for an EAP method.
|
||||
///
|
||||
/// \sa [EapPeerQueryCredentialInputFields function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363622.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerQueryCredentialInputFields(
|
||||
HANDLE hUserImpersonationToken,
|
||||
EAP_METHOD_TYPE eapMethodType,
|
||||
DWORD dwFlags,
|
||||
DWORD dwConnectionDataSize,
|
||||
/*const*/ BYTE *pConnectionData,
|
||||
EAP_CONFIG_INPUT_FIELD_ARRAY *pEapConfigInputFieldsArray,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pEapConfigInputFieldsArray)
|
||||
memset(pEapConfigInputFieldsArray, 0, sizeof(*pEapConfigInputFieldsArray));
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE || eapMethodType.dwAuthorId != EAPMETHOD_AUTHOR_ID)
|
||||
return dwResult = ERROR_NOT_SUPPORTED;
|
||||
if (!pConnectionData && dwConnectionDataSize || !pEapConfigInputFieldsArray)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.query_credential_input_fields(hUserImpersonationToken, dwFlags, dwConnectionDataSize, pConnectionData, pEapConfigInputFieldsArray);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Defines the implementation of an EAP method function that obtains the user BLOB data provided in an interactive Single-Sign-On (SSO) UI raised on the supplicant.
|
||||
///
|
||||
/// \sa [EapPeerQueryUserBlobFromCredentialInputFields function](https://msdn.microsoft.com/en-us/library/windows/desktop/bb204697.aspx)
|
||||
///
|
||||
#pragma warning(suppress: 6101) // Function is incorrectly annotated and code analysis gets confused
|
||||
_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerQueryUserBlobFromCredentialInputFields(
|
||||
HANDLE hUserImpersonationToken,
|
||||
EAP_METHOD_TYPE eapMethodType,
|
||||
DWORD dwFlags,
|
||||
DWORD dwConnectionDataSize,
|
||||
/*const*/ BYTE *pConnectionData,
|
||||
const EAP_CONFIG_INPUT_FIELD_ARRAY *pEapConfigInputFieldArray,
|
||||
DWORD *pdwUsersBlobSize,
|
||||
BYTE **ppUserBlob,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE || eapMethodType.dwAuthorId != EAPMETHOD_AUTHOR_ID)
|
||||
return dwResult = ERROR_NOT_SUPPORTED;
|
||||
if (!pConnectionData && dwConnectionDataSize || !pEapConfigInputFieldArray || !pdwUsersBlobSize || !ppUserBlob)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.query_user_blob_from_credential_input_fields(hUserImpersonationToken, dwFlags, dwConnectionDataSize, pConnectionData, pEapConfigInputFieldArray, pdwUsersBlobSize, ppUserBlob);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Defines the implementation of an EAP method API that provides the input fields for interactive UI components to be raised on the supplicant.
|
||||
///
|
||||
/// \sa [EapPeerQueryInteractiveUIInputFields function](https://msdn.microsoft.com/en-us/library/windows/desktop/bb204695.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerQueryInteractiveUIInputFields(
|
||||
DWORD dwVersion,
|
||||
DWORD dwFlags,
|
||||
DWORD dwUIContextDataSize,
|
||||
const BYTE *pUIContextData,
|
||||
EAP_INTERACTIVE_UI_DATA *pEapInteractiveUIData,
|
||||
EAP_ERROR **ppEapError,
|
||||
LPVOID *ppvReserved)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(ppvReserved);
|
||||
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pEapInteractiveUIData)
|
||||
memset(pEapInteractiveUIData, 0, sizeof(*pEapInteractiveUIData));
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!pUIContextData && dwUIContextDataSize || !pEapInteractiveUIData)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.query_interactive_ui_input_fields(dwVersion, dwFlags, dwUIContextDataSize, pUIContextData, pEapInteractiveUIData);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Converts user information into a user BLOB that can be consumed by EapHost run-time functions.
|
||||
///
|
||||
/// \sa [EapPeerQueryUIBlobFromInteractiveUIInputFields function](https://msdn.microsoft.com/en-us/library/windows/desktop/bb204696.aspx)
|
||||
///
|
||||
#pragma warning(suppress: 6387) // Function is incorrectly annotated and code analysis gets confused
|
||||
#pragma warning(suppress: 28196)
|
||||
_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerQueryUIBlobFromInteractiveUIInputFields(
|
||||
DWORD dwVersion,
|
||||
DWORD dwFlags,
|
||||
DWORD dwUIContextDataSize,
|
||||
const BYTE *pUIContextData,
|
||||
const EAP_INTERACTIVE_UI_DATA *pEapInteractiveUIData,
|
||||
DWORD *pdwDataFromInteractiveUISize,
|
||||
BYTE **ppDataFromInteractiveUI,
|
||||
EAP_ERROR **ppEapError,
|
||||
LPVOID *ppvReserved)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(ppvReserved);
|
||||
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pdwDataFromInteractiveUISize)
|
||||
*pdwDataFromInteractiveUISize = 0;
|
||||
if (ppDataFromInteractiveUI)
|
||||
*ppDataFromInteractiveUI = NULL;
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!pUIContextData && dwUIContextDataSize || !pEapInteractiveUIData || !pdwDataFromInteractiveUISize || !ppDataFromInteractiveUI)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
try {
|
||||
g_peer.query_ui_blob_from_interactive_ui_input_fields(dwVersion, dwFlags, dwUIContextDataSize, pUIContextData, pEapInteractiveUIData, pdwDataFromInteractiveUISize, ppDataFromInteractiveUI);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
376
EAPMethods/Main_UI.cpp
Normal file
376
EAPMethods/Main_UI.cpp
Normal file
@@ -0,0 +1,376 @@
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
|
||||
GÉANTLink is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GÉANTLink is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "PCH_UI.h"
|
||||
|
||||
#pragma comment(lib, "msxml6.lib")
|
||||
|
||||
using namespace std;
|
||||
using namespace winstd;
|
||||
|
||||
|
||||
HANDLE g_act_ctx = NULL;
|
||||
EAPMETHOD_PEER_UI g_peer;
|
||||
|
||||
|
||||
///
|
||||
/// DLL main entry point
|
||||
///
|
||||
/// \sa [DllMain entry point](https://msdn.microsoft.com/en-us/library/windows/desktop/ms682583.aspx)
|
||||
///
|
||||
BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(lpvReserved);
|
||||
|
||||
if (fdwReason == DLL_PROCESS_ATTACH) {
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
g_peer.m_instance = hinstDLL;
|
||||
|
||||
#if _WIN32_WINNT >= _WIN32_WINNT_VISTA
|
||||
// Declare our DllHost process as DPI-aware.
|
||||
SetProcessDPIAware();
|
||||
#endif
|
||||
|
||||
// Save current activation context, as proper activation context is set at this time only (LoadLibrary() call).
|
||||
GetCurrentActCtx(&g_act_ctx);
|
||||
} else if (fdwReason == DLL_PROCESS_DETACH) {
|
||||
if (g_act_ctx)
|
||||
ReleaseActCtx(g_act_ctx);
|
||||
|
||||
// wxWidgets library has some global objects allocating data on heap in constructors,
|
||||
// causing false-positive memory leak reports.
|
||||
//assert(!_CrtDumpMemoryLeaks());
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Releases all memory associated with an opaque user interface context data buffer.
|
||||
///
|
||||
/// \sa [EapPeerFreeMemory function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363606.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
VOID WINAPI EapPeerFreeMemory(void *pUIContextData)
|
||||
{
|
||||
event_fn_auto event_auto(g_peer.get_event_fn_auto(__FUNCTION__));
|
||||
|
||||
if (pUIContextData)
|
||||
g_peer.free_memory((BYTE*)pUIContextData);
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Releases error-specific memory allocated by the EAP peer method.
|
||||
///
|
||||
/// \sa [EapPeerFreeErrorMemory function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363605.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
VOID WINAPI EapPeerFreeErrorMemory(EAP_ERROR *ppEapError)
|
||||
{
|
||||
event_fn_auto event_auto(g_peer.get_event_fn_auto(__FUNCTION__));
|
||||
|
||||
if (ppEapError)
|
||||
g_peer.free_error_memory(ppEapError);
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Converts XML into the configuration BLOB.
|
||||
///
|
||||
/// \sa [EapPeerConfigXml2Blob function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363602.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerConfigXml2Blob(
|
||||
DWORD dwFlags,
|
||||
EAP_METHOD_TYPE eapMethodType,
|
||||
IXMLDOMDocument2 *pConfigDoc,
|
||||
BYTE **pConnectionDataOut,
|
||||
DWORD *pdwConnectionDataOutSize,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pConnectionDataOut)
|
||||
*pConnectionDataOut = NULL;
|
||||
if (pdwConnectionDataOutSize)
|
||||
*pdwConnectionDataOutSize = 0;
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE || eapMethodType.dwAuthorId != EAPMETHOD_AUTHOR_ID)
|
||||
return dwResult = ERROR_NOT_SUPPORTED;
|
||||
if (!pConfigDoc || !pConnectionDataOut || !pdwConnectionDataOutSize)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
// Configure XML selection namespaces used.
|
||||
pConfigDoc->setProperty(bstr(L"SelectionNamespaces"), variant(L"xmlns:eap-metadata=\"urn:ietf:params:xml:ns:yang:ietf-eap-metadata\" xmlns:eaphostconfig=\"http://www.microsoft.com/provisioning/EapHostConfig\""));
|
||||
|
||||
// <Config>
|
||||
com_obj<IXMLDOMElement> pXmlElConfig;
|
||||
if (FAILED(eapxml::select_element(pConfigDoc, bstr(L"//eaphostconfig:Config"), pXmlElConfig)))
|
||||
return dwResult = g_peer.log_error(ppEapError, ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" Error reading <Config> element."));
|
||||
|
||||
// Load configuration.
|
||||
try {
|
||||
g_peer.config_xml2blob(dwFlags, pXmlElConfig, pConnectionDataOut, pdwConnectionDataOutSize);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Converts the configuration BLOB to XML.
|
||||
///
|
||||
/// The configuration BLOB is returned in the ppConnectionDataOut parameter of the EapPeerInvokeConfigUI function.
|
||||
///
|
||||
/// \sa [EapPeerConfigBlob2Xml function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363601.aspx)
|
||||
///
|
||||
_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerConfigBlob2Xml(
|
||||
DWORD dwFlags,
|
||||
EAP_METHOD_TYPE eapMethodType,
|
||||
const BYTE *pConnectionData,
|
||||
DWORD dwConnectionDataSize,
|
||||
IXMLDOMDocument2 **ppConfigDoc,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (ppConfigDoc)
|
||||
*ppConfigDoc = NULL;
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE || eapMethodType.dwAuthorId != EAPMETHOD_AUTHOR_ID)
|
||||
return dwResult = ERROR_NOT_SUPPORTED;
|
||||
if (!pConnectionData && dwConnectionDataSize || !ppConfigDoc)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
HRESULT hr;
|
||||
|
||||
// Create configuration XML document.
|
||||
com_obj<IXMLDOMDocument2> pConfigDoc;
|
||||
if (FAILED(hr = pConfigDoc.create(CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER)))
|
||||
return dwResult = g_peer.log_error(ppEapError, HRESULT_CODE(hr), _T(__FUNCTION__) _T(" Error creating XML document."));
|
||||
|
||||
pConfigDoc->put_async(VARIANT_FALSE);
|
||||
|
||||
// Load empty XML configuration.
|
||||
VARIANT_BOOL isSuccess = VARIANT_FALSE;
|
||||
if (FAILED((hr = pConfigDoc->loadXML(L"<Config xmlns=\"http://www.microsoft.com/provisioning/EapHostConfig\"></Config>", &isSuccess))))
|
||||
return dwResult = g_peer.log_error(ppEapError, HRESULT_CODE(hr), _T(__FUNCTION__) _T(" Error loading XML document template."));
|
||||
if (!isSuccess)
|
||||
return dwResult = g_peer.log_error(ppEapError, ERROR_XML_PARSE_ERROR, _T(__FUNCTION__) _T(" Loading XML template failed."));
|
||||
|
||||
// Configure XML selection namespaces used.
|
||||
pConfigDoc->setProperty(bstr(L"SelectionNamespaces"), variant(L"xmlns:eap-metadata=\"urn:ietf:params:xml:ns:yang:ietf-eap-metadata\" xmlns:eaphostconfig=\"http://www.microsoft.com/provisioning/EapHostConfig\""));
|
||||
|
||||
// Select <Config> node.
|
||||
com_obj<IXMLDOMNode> pXmlElConfig;
|
||||
if (FAILED(eapxml::select_node(pConfigDoc, bstr(L"eaphostconfig:Config"), pXmlElConfig)))
|
||||
return dwResult = g_peer.log_error(ppEapError, ERROR_NOT_FOUND, _T(__FUNCTION__) _T(" Error selecting <Config> element."));
|
||||
|
||||
// Save configuration.
|
||||
pConfigDoc->setProperty(bstr(L"SelectionNamespaces"), variant(L"xmlns:eap-metadata=\"urn:ietf:params:xml:ns:yang:ietf-eap-metadata\""));
|
||||
try {
|
||||
g_peer.config_blob2xml(dwFlags, pConnectionData, dwConnectionDataSize, pConfigDoc, pXmlElConfig);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
return dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
*ppConfigDoc = pConfigDoc.detach();
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Raises the EAP method's specific connection configuration user interface dialog on the client.
|
||||
///
|
||||
/// \sa [EapPeerInvokeConfigUI function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363614.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerInvokeConfigUI(
|
||||
const EAP_METHOD_TYPE *pEapType,
|
||||
HWND hwndParent,
|
||||
DWORD dwFlags,
|
||||
DWORD dwConnectionDataInSize,
|
||||
const BYTE *pConnectionDataIn,
|
||||
DWORD *pdwConnectionDataOutSize,
|
||||
BYTE **ppConnectionDataOut,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(dwFlags);
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
actctx_activator actctx(g_act_ctx);
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pdwConnectionDataOutSize)
|
||||
*pdwConnectionDataOutSize = 0;
|
||||
if (ppConnectionDataOut)
|
||||
*ppConnectionDataOut = NULL;
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!pEapType || !pConnectionDataIn && dwConnectionDataInSize || !pdwConnectionDataOutSize || !ppConnectionDataOut)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
if (pEapType->eapType.type != EAPMETHOD_TYPE || pEapType->dwAuthorId != EAPMETHOD_AUTHOR_ID)
|
||||
return dwResult = ERROR_NOT_SUPPORTED;
|
||||
|
||||
try {
|
||||
g_peer.invoke_config_ui(hwndParent, pConnectionDataIn, dwConnectionDataInSize, ppConnectionDataOut, pdwConnectionDataOutSize);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Raises a custom interactive user interface dialog to obtain user identity information for the EAP method on the client.
|
||||
///
|
||||
/// \sa [EapPeerInvokeIdentityUI function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363615.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerInvokeIdentityUI(
|
||||
const EAP_METHOD_TYPE *pEapType,
|
||||
DWORD dwFlags,
|
||||
HWND hwndParent,
|
||||
DWORD dwConnectionDataSize,
|
||||
const BYTE *pConnectionData,
|
||||
DWORD dwUserDataSize,
|
||||
const BYTE *pUserData,
|
||||
DWORD *pdwUserDataOutSize,
|
||||
BYTE **ppUserDataOut,
|
||||
LPWSTR *ppwszIdentity,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
actctx_activator actctx(g_act_ctx);
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pdwUserDataOutSize)
|
||||
*pdwUserDataOutSize = 0;
|
||||
if (ppUserDataOut)
|
||||
*ppUserDataOut = NULL;
|
||||
if (ppwszIdentity)
|
||||
*ppwszIdentity = NULL;
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!pEapType || !pConnectionData && dwConnectionDataSize || !pUserData && dwUserDataSize || !pdwUserDataOutSize || !ppUserDataOut || !ppwszIdentity)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
if (pEapType->eapType.type != EAPMETHOD_TYPE || pEapType->dwAuthorId != EAPMETHOD_AUTHOR_ID)
|
||||
return dwResult = ERROR_NOT_SUPPORTED;
|
||||
|
||||
try {
|
||||
g_peer.invoke_identity_ui(hwndParent, dwFlags, pConnectionData, dwConnectionDataSize, pUserData, dwUserDataSize, ppUserDataOut, pdwUserDataOutSize, ppwszIdentity);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Raises a custom interactive user interface dialog for the EAP method on the client.
|
||||
///
|
||||
/// \sa [EapPeerInvokeInteractiveUI function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363616.aspx)
|
||||
///
|
||||
//_Use_decl_annotations_
|
||||
DWORD WINAPI EapPeerInvokeInteractiveUI(
|
||||
const EAP_METHOD_TYPE *pEapType,
|
||||
HWND hwndParent,
|
||||
DWORD dwUIContextDataSize,
|
||||
const BYTE *pUIContextData,
|
||||
DWORD *pdwDataFromInteractiveUISize,
|
||||
BYTE **ppDataFromInteractiveUI,
|
||||
EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
actctx_activator actctx(g_act_ctx);
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Initialize output parameters.
|
||||
if (pdwDataFromInteractiveUISize)
|
||||
*pdwDataFromInteractiveUISize = 0;
|
||||
if (ppDataFromInteractiveUI)
|
||||
*ppDataFromInteractiveUI = NULL;
|
||||
if (ppEapError)
|
||||
*ppEapError = NULL;
|
||||
|
||||
// Parameter check
|
||||
if (!pEapType || !pUIContextData && dwUIContextDataSize || !pdwDataFromInteractiveUISize || !ppDataFromInteractiveUI)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
if (pEapType->eapType.type != EAPMETHOD_TYPE || pEapType->dwAuthorId != EAPMETHOD_AUTHOR_ID)
|
||||
return dwResult = ERROR_NOT_SUPPORTED;
|
||||
|
||||
try {
|
||||
g_peer.invoke_interactive_ui(hwndParent, pUIContextData, dwUIContextDataSize, ppDataFromInteractiveUI, pdwDataFromInteractiveUISize);
|
||||
} catch (std::exception &err) {
|
||||
dwResult = g_peer.log_error(ppEapError, err);
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
@@ -18,4 +18,4 @@
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "PCH.h"
|
29
EAPMethods/PCH.h
Normal file
29
EAPMethods/PCH.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
|
||||
GÉANTLink is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GÉANTLink is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#if EAPMETHOD_TYPE == 21
|
||||
#include "../lib/TTLS/include/Method.h"
|
||||
#include "../lib/TTLS/include/Module.h"
|
||||
#define EAPMETHOD_PEER eap::peer_ttls
|
||||
#else
|
||||
#error Unknown EAP Method type.
|
||||
#endif
|
21
EAPMethods/PCH_UI.cpp
Normal file
21
EAPMethods/PCH_UI.cpp
Normal file
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 G<>ANT
|
||||
|
||||
This file is part of G<>ANTLink.
|
||||
|
||||
G<>ANTLink is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
G<>ANTLink is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with G<>ANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "PCH_UI.h"
|
31
EAPMethods/PCH_UI.h
Normal file
31
EAPMethods/PCH_UI.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
|
||||
GÉANTLink is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GÉANTLink is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// Prevent warnings from wxWidgets headers
|
||||
#define _CRT_SECURE_NO_WARNINGS
|
||||
|
||||
#if EAPMETHOD_TYPE == 21
|
||||
#include "../lib/TTLS_UI/include/Module.h"
|
||||
#define EAPMETHOD_PEER_UI eap::peer_ttls_ui
|
||||
#else
|
||||
#error Unknown EAP Method type.
|
||||
#endif
|
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_PropertySheetDisplayName>EAP Method Common</_PropertySheetDisplayName>
|
||||
<OutDir>..\..\output\$(Platform).$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);..\..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\include;..\..\lib\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2018
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
|
||||
"Language-Team: Bulgarian (Bulgaria) (https://www.transifex.com/eduroam_devel/teams/11799/bg_BG/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -901,7 +903,7 @@ msgstr "Използвай &празна външна самоличност"
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr "Пропусни моето потребителско име и използвай само @mydomain.org"
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
# Petr Adamec <p.b.adamec@gmail.com>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Petr Adamec <p.b.adamec@gmail.com>, 2017\n"
|
||||
"Language-Team: Czech (Czech Republic) (https://www.transifex.com/eduroam_devel/teams/11799/cs_CZ/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -844,7 +847,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: Welsh (https://www.transifex.com/eduroam_devel/teams/11799/cy/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
713
EAPMethods/locale/et_EE.po
Normal file
713
EAPMethods/locale/et_EE.po
Normal file
@@ -0,0 +1,713 @@
|
||||
# Translators:
|
||||
# Indrek Rokk <indrek.rokk@eenet.ee>, 2018
|
||||
# Anne M <anne@eenet.ee>, 2019
|
||||
# Simon Rozman <simon@rozman.si>, 2020
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2020-04-17 14:55+0200\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2020\n"
|
||||
"Language-Team: Estonian (https://www.transifex.com/eduroam_devel/teams/11799/et/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: et\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-Poedit-Basepath: ../..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: lib/EAPBase_UI\n"
|
||||
"X-Poedit-SearchPath-1: lib/EapHost_UI\n"
|
||||
"X-Poedit-SearchPath-2: lib/GTC_UI\n"
|
||||
"X-Poedit-SearchPath-3: lib/MSCHAPv2_UI\n"
|
||||
"X-Poedit-SearchPath-4: lib/PAP_UI\n"
|
||||
"X-Poedit-SearchPath-5: lib/TLS_UI\n"
|
||||
"X-Poedit-SearchPath-6: lib/TTLS_UI\n"
|
||||
"X-Poedit-SearchPath-7: EAPMethods\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:295
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Are you sure you want to permanently remove %s provider from configuration?"
|
||||
msgstr ""
|
||||
"Kas oled kindel, et soovid %s teenusepakkuja seadistusest püsivalt "
|
||||
"eemaldada?"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:295
|
||||
msgid "Warning"
|
||||
msgstr "Hoiatus"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:381 lib/EAPBase_UI/res/wxEAP_UI.h:116
|
||||
msgid "EAP Credentials"
|
||||
msgstr "EAP kasutajakonto"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:725
|
||||
msgid "Provider Settings"
|
||||
msgstr "Teenusepakkuja seadistused"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:758 lib/EAPBase_UI/res/wxEAP_UI.cpp:229
|
||||
#, c-format
|
||||
msgid "%s User Credentials"
|
||||
msgstr "%s kasutajakonto andmed"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:866 lib/TTLS_UI/src/Module.cpp:196
|
||||
#: lib/TTLS_UI/src/Module.cpp:305
|
||||
#, c-format
|
||||
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
|
||||
msgstr ""
|
||||
"Viga kasutajakonto andmete kirjutamisel kasutajakonto halduris (Credential "
|
||||
"Manager): %hs (viga %u)"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:869 lib/TTLS_UI/src/Module.cpp:198
|
||||
#: lib/TTLS_UI/src/Module.cpp:307
|
||||
msgid "Writing credentials failed."
|
||||
msgstr "Kasutajakonto andmete kirjutamine ebaõnnestus"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:897
|
||||
#, c-format
|
||||
msgid "Deleting credentials failed (error %u)."
|
||||
msgstr "Kasutajakonto andmete kustutamine ebaõnnestus (viga %u)."
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:924 lib/EAPBase_UI/include/EAP_UI.h:943
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:952
|
||||
msgid "(none)"
|
||||
msgstr ""
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:928
|
||||
#, c-format
|
||||
msgid "(error %u)"
|
||||
msgstr "(viga %u)"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:932
|
||||
msgid "(error)"
|
||||
msgstr "(viga)"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:943 lib/EAPBase_UI/include/EAP_UI.h:952
|
||||
msgid "(blank ID)"
|
||||
msgstr "(tühi ID)"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:992
|
||||
msgid "&Remember"
|
||||
msgstr "&Jäta meelde"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:993
|
||||
msgid "Check if you would like to save credentials"
|
||||
msgstr "Linnuta, kui soovid kasutajakonto andmeid salvestada"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:1214
|
||||
msgid "(Your Organization)"
|
||||
msgstr "(Sinu asutus)"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:37
|
||||
msgid "+"
|
||||
msgstr "+"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:38
|
||||
msgid "Adds new provider"
|
||||
msgstr "Lisab uue teenusepakkuja"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:42
|
||||
msgid "-"
|
||||
msgstr "-"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:43
|
||||
msgid "Removes selected provider"
|
||||
msgstr "Eemaldab valitud teenusepakkuja"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:47
|
||||
msgid "Advanced..."
|
||||
msgstr "Keerukam..."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:48
|
||||
msgid "Opens dialog with provider settings"
|
||||
msgstr "Avab teenusepakkuja seadistuste dialoogi"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:240
|
||||
msgid "Select the source where your credentials used to connect are stored."
|
||||
msgstr ""
|
||||
"Vali koht, kuhu Su ühendumiseks kasutatud kasutajakonto andmed on "
|
||||
"salvestatud."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:250
|
||||
msgid "Use from Credential &Manager:"
|
||||
msgstr "Kasuta andmeid kasutajakontode hal&durist (Credential Manager):"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:251
|
||||
msgid ""
|
||||
"Select this option if you would like to use credentials stored in Windows "
|
||||
"Credential Manager"
|
||||
msgstr ""
|
||||
"Vali see võimalus, kui soovid kasutada Windowsi kasutajakontode halduris "
|
||||
"(Windows Credential Manager) salvestatud kontoandmeid"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:258
|
||||
msgid "Your present credentials stored in Windows Credential Manager"
|
||||
msgstr ""
|
||||
"Sinu praegused, Windowsi kasutajakontode halduris (Windows Credential "
|
||||
"Manager) salvestatud kontoandmed"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:268
|
||||
msgid "Use from &profile configuration:"
|
||||
msgstr "Kasuta andmeid &profiili seadistusest:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:269
|
||||
msgid ""
|
||||
"Select this option if you would like to store credentials as a part of "
|
||||
"profile configuration"
|
||||
msgstr ""
|
||||
"Vali see võimalus, kui soovid salvestada kasutajakonto andmed profiili "
|
||||
"seadistustesse."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:276
|
||||
msgid "Profile configuration credentials"
|
||||
msgstr "Profiili seadistuse kasutajaandmed"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:289
|
||||
msgid "&Clear Credentials"
|
||||
msgstr "&Kustuta kasutajakonto andmed"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:290
|
||||
msgid ""
|
||||
"Click to clear your credentials from Credential Manager.\n"
|
||||
"Note: You will be prompted to enter credentials when connecting."
|
||||
msgstr ""
|
||||
"Klõpsa. et kustutada oma andmed kasutajakonto haldurist.\n"
|
||||
"Märkus: Ühendumisel lastakse Sul sisestada kasutajakonto andmed."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:294
|
||||
msgid "&Set Credentials..."
|
||||
msgstr "&Määra kasutajakonto andmed..."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:295
|
||||
msgid "Click here to set or modify your credentials"
|
||||
msgstr "Klõpsa siin oma kasutajakonto andmete määramiseks või muutmiseks"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:332
|
||||
msgid "User ID and Password"
|
||||
msgstr "Kasutaja ID ja parool"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:342
|
||||
msgid "Please provide your user ID and password."
|
||||
msgstr "Palun sisesta oma kasutaja ID ja parool"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:352 lib/EAPBase_UI/res/wxEAP_UI.cpp:416
|
||||
msgid "User ID:"
|
||||
msgstr "Kasutaja ID:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:357 lib/EAPBase_UI/res/wxEAP_UI.cpp:421
|
||||
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
|
||||
msgstr "Sisesta siin oma kasutajanimi (nimi@domeen.ee, DOMEEN\\kasutaja vmt)"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:361
|
||||
msgid "Password:"
|
||||
msgstr "Parool:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:366
|
||||
msgid "Enter your password here"
|
||||
msgstr "Sisesta siin oma parool"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:396
|
||||
msgid "User ID"
|
||||
msgstr "Kasutaja ID"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:406
|
||||
msgid "Please provide your user ID."
|
||||
msgstr "Palun sisesta oma kasutaja ID (kasutajanimi)."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:446
|
||||
msgid "Your Organization"
|
||||
msgstr "Sinu asutus"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:457
|
||||
msgid ""
|
||||
"Describe your organization to customize user prompts. When organization is "
|
||||
"introduced, end-users find program messages easier to understand and act."
|
||||
msgstr ""
|
||||
"Kirjelda oma asutust, et seadistada kasutajaviibad. Kui asutus on "
|
||||
"kirjeldatud, on lõppkasutajatel lihtsam programmi sõnumeid mõista ja neist "
|
||||
"juhinduda."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:464
|
||||
msgid "Your organization &name:"
|
||||
msgstr "Sinu asutuse &nimi:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:469
|
||||
msgid ""
|
||||
"Your organization name as it will appear on helpdesk contact notifications"
|
||||
msgstr ""
|
||||
"Sinu asutuse nimi, mida näidatakse kasutajatoega kontakteerumise teadetes"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:473
|
||||
msgid "(Keep it short, please)"
|
||||
msgstr "(Palun kirjuta lühidalt)"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:483
|
||||
msgid "Helpdesk contact &information:"
|
||||
msgstr "Kasutajatoe k&ontaktteave:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:500
|
||||
msgid "Your helpdesk website address"
|
||||
msgstr "Sinu kasutajatoe veebiaadress"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:511
|
||||
msgid "Your helpdesk e-mail address"
|
||||
msgstr "Sinu kasutajatoe e-posti aadress"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:522
|
||||
msgid "Your helpdesk phone number"
|
||||
msgstr "Sinu kasutajatoe telefoninumber"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:550
|
||||
msgid "Provider Unique Identifier"
|
||||
msgstr "Teenusepakkuja unikaalne identifikaator"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:561
|
||||
msgid ""
|
||||
"Assign your organization a unique ID to allow sharing the same credential "
|
||||
"set across different network profiles."
|
||||
msgstr ""
|
||||
"Määra oma asutusele unikaalne ID, et samu kontoandmeid saaks kasutada "
|
||||
"erinevatel võrguprofiilidel."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:568
|
||||
msgid "&Namespace:"
|
||||
msgstr "&Nimeruum:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:572
|
||||
msgid "urn:RFC4282:realm"
|
||||
msgstr "urn:RFC4282:realm"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:572
|
||||
msgid "urn:uuid"
|
||||
msgstr "urn:uuid"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:584
|
||||
msgid "Provider unique &identifier:"
|
||||
msgstr "Teenusepakkuja unikaalne &identifikaator:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:589
|
||||
msgid "Your organization ID to assign same credentials from other profiles"
|
||||
msgstr "Sinu asutuse ID, et määrata samu kontoandmeid teistelt profiilidelt"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:614
|
||||
msgid "Configuration Lock"
|
||||
msgstr "Seadistuslukk"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:625
|
||||
msgid ""
|
||||
"Your configuration can be locked to prevent accidental modification by end-"
|
||||
"users. Users will only be allowed to enter credentials."
|
||||
msgstr ""
|
||||
"Seadistuslukk ei lase lõppkasutajatel kogemata muudatusi teha. Kasutajad "
|
||||
"saavad ainult kasutajakontoandmeid sisestada."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:632
|
||||
msgid ""
|
||||
"&Lock this configuration and prevent any further modification via user "
|
||||
"interface."
|
||||
msgstr ""
|
||||
"&Lukusta see seadistus ja hoia ära selle muutmine kasutajaliidese kaudu"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:635
|
||||
msgid "(Warning: Once locked, you can not revert using this dialog!)"
|
||||
msgstr ""
|
||||
"(Hoiatus: Lukustamise järel ei saa Sa seda dialoogi kasutades tehtut tagasi "
|
||||
"pöörata!)"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:700
|
||||
msgid "Identity"
|
||||
msgstr "Identiteet"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:711
|
||||
msgid "Select the user ID supplicant introduces itself as to authenticator:"
|
||||
msgstr "Vali kasutajanimi, mida pistikprogramm autentijale näitab:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:718
|
||||
msgid "&True identity"
|
||||
msgstr "&Tõene identiteet"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:719
|
||||
msgid "Use my true user name"
|
||||
msgstr "Kasuta mu tõest kasutajanime"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:723
|
||||
msgid "Use &empty identity"
|
||||
msgstr "Kasuta t&ühja identiteeti"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:724
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr "Jäta mu kasutajanimi ära ja kasuta ainult @minudomeeni"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:731
|
||||
msgid "&Custom identity:"
|
||||
msgstr "Kohandatud &identiteet:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:732
|
||||
msgid "Specify custom identity"
|
||||
msgstr "Määra kohandatud identiteet"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:737
|
||||
msgid "Custom identity to use"
|
||||
msgstr "Kohandatud identiteet kasutamiseks"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.h:66
|
||||
msgid "EAP Connection Configuration"
|
||||
msgstr "EAP ühenduse seadistus"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.h:329
|
||||
msgid "EAP Identity Provider"
|
||||
msgstr "EAP identiteedipakkuja"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:103
|
||||
#, c-format
|
||||
msgid "%s Credentials"
|
||||
msgstr "%s kasutajakonto andmed"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:139
|
||||
#, c-format
|
||||
msgid "For additional help and instructions, please contact %s at:"
|
||||
msgstr "Abi ja juhendite saamiseks võta palun ühendust: %s "
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:140
|
||||
msgid "your provider"
|
||||
msgstr "sinu teenusepakkuja"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:159
|
||||
msgid "Open the default web browser"
|
||||
msgstr "Ava vaikimisi määratud veebilehitseja"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:170
|
||||
msgid "Open your e-mail program"
|
||||
msgstr "Ava oma e-postiprogramm"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:181
|
||||
msgid "Dial the phone number"
|
||||
msgstr "Vali telefoninumber"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:203
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s has pre-set parts of this configuration. Those parts are locked to "
|
||||
"prevent accidental modification."
|
||||
msgstr ""
|
||||
"%s omab selles seadistuses eelseatud osi, mis on juhuslike muudatuste eest "
|
||||
"kaitsmiseks lukustatud."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:204
|
||||
msgid "Your provider"
|
||||
msgstr "Sinu teenusepakkuja"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:225
|
||||
msgid "Previous attempt to connect reported invalid credentials."
|
||||
msgstr "Eelmine ühendumiskatse oli mittekehtivate kasutajakonto andmetega."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:226
|
||||
msgid "Previous attempt to connect reported your credentials expired."
|
||||
msgstr "Eelmise ühendumiskatse kohaselt olid su kasutajakonto andmed aegunud."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:227
|
||||
msgid ""
|
||||
"Previous attempt to connect reported your credentials are being changed."
|
||||
msgstr "Eelmise ühendumiskatse kohaselt on su kasutajakonto andmed muutmisel."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:228
|
||||
msgid "Previous attempt to connect failed."
|
||||
msgstr "Eelmine ühendumiskatse ebaõnnestus."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:229
|
||||
msgid "Please, make sure your credentials are correct, or try again later."
|
||||
msgstr ""
|
||||
"Palun veendu, et Su kasutajakonto andmed on korrektsed, või proovi hiljem "
|
||||
"uuesti."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"The %s version installed on this computer logs credentials in visible and "
|
||||
"easy to read way."
|
||||
msgstr ""
|
||||
"%s versioon selles arvutis logib kasutajakonto andmeid nähtavalt ja lihtsalt"
|
||||
" loetavalt."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:251
|
||||
msgid "Please, reconsider necessity to enter your credentials."
|
||||
msgstr "Palun kaalu oma kasutajakonto andmete sisestamise vajalikkust."
|
||||
|
||||
#: lib/EapHost_UI/res/wxEapHost_UI.cpp:17
|
||||
msgid "Inner EAP Method"
|
||||
msgstr "Sisemine EAP meetod"
|
||||
|
||||
#: lib/EapHost_UI/res/wxEapHost_UI.cpp:28
|
||||
msgid "Select and configure inner EAP method"
|
||||
msgstr "Vali ja seadista sisemine EAP meetod"
|
||||
|
||||
#: lib/EapHost_UI/res/wxEapHost_UI.cpp:40
|
||||
msgid "&Settings"
|
||||
msgstr "&Seadistused"
|
||||
|
||||
#: lib/EapHost_UI/src/EapHost_UI.cpp:59
|
||||
#, c-format
|
||||
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
|
||||
msgstr "EAP meetodite loetlemine ebaõnnestus (viga %u, %s, %s)."
|
||||
|
||||
#: lib/EapHost_UI/src/EapHost_UI.cpp:61
|
||||
#, c-format
|
||||
msgid "Enumerating EAP methods failed (error %u)."
|
||||
msgstr "EAP meetodite loetlemine ebaõnnestus (viga %u)."
|
||||
|
||||
#: lib/EapHost_UI/src/EapHost_UI.cpp:136
|
||||
#, c-format
|
||||
msgid "Configuring EAP method failed (error %u, %s, %s)."
|
||||
msgstr "EAP meetodi seadistamine ebaõnnestus (viga %u, %s, %s)."
|
||||
|
||||
#: lib/EapHost_UI/src/EapHost_UI.cpp:138
|
||||
#, c-format
|
||||
msgid "Configuring EAP method failed (error %u)."
|
||||
msgstr "EAP meetodi seadistamine ebaõnnestus (viga %u)."
|
||||
|
||||
#: lib/GTC_UI/include/GTC_UI.h:114 lib/GTC_UI/res/wxGTC_UI.cpp:16
|
||||
msgid "GTC Challenge"
|
||||
msgstr "GTC pretensioon"
|
||||
|
||||
#: lib/GTC_UI/res/wxGTC_UI.cpp:26
|
||||
msgid "Please provide your response."
|
||||
msgstr "Palun sisesta oma vastus."
|
||||
|
||||
#: lib/GTC_UI/res/wxGTC_UI.cpp:38
|
||||
msgid "Server challenge"
|
||||
msgstr "Serveri pretensioon"
|
||||
|
||||
#: lib/GTC_UI/res/wxGTC_UI.cpp:43
|
||||
msgid "Enter your response here"
|
||||
msgstr "Sisesta siin oma vastus."
|
||||
|
||||
#: lib/GTC_UI/res/wxGTC_UI.cpp:70
|
||||
msgid "EAP-GTC authentication &mode:"
|
||||
msgstr "EAP-GTC &autentimisrežiim:"
|
||||
|
||||
#: lib/GTC_UI/res/wxGTC_UI.cpp:75
|
||||
msgid "Select EAP-GTC authentication mode from the list"
|
||||
msgstr "Vali loetelust EAP-GTC autentimisrežiim"
|
||||
|
||||
#: lib/GTC_UI/src/GTC_UI.cpp:39
|
||||
msgid "Challenge/Response"
|
||||
msgstr "Pretensioon/Vastus"
|
||||
|
||||
#: lib/GTC_UI/src/GTC_UI.cpp:41
|
||||
msgid "Password"
|
||||
msgstr "Parool"
|
||||
|
||||
#: lib/GTC_UI/src/GTC_UI.cpp:119
|
||||
#, c-format
|
||||
msgid "%s Challenge"
|
||||
msgstr "%s pretensioon"
|
||||
|
||||
#: lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
|
||||
msgid "MSCHAPv2 User ID and Password"
|
||||
msgstr "MSCHAPv2 kasutajanimi ja parool"
|
||||
|
||||
#: lib/PAP_UI/src/PAP_UI.cpp:33
|
||||
msgid "PAP User ID and Password"
|
||||
msgstr "PAP kasutajanimi ja parool"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:17
|
||||
msgid "Server Trust"
|
||||
msgstr "Serveri usaldamine"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:28
|
||||
msgid "Describe the servers you trust to prevent man-in-the-middle attacks."
|
||||
msgstr ""
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:35
|
||||
msgid "Acceptable Certificate Authorities:"
|
||||
msgstr "Lubatud sertifitseerimiskeskused:"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:40
|
||||
msgid ""
|
||||
"Server's certificate must be issued by one of certificate authorities listed"
|
||||
" here"
|
||||
msgstr ""
|
||||
"Serverisertifikaat peab olema väljastatud siin loetletud "
|
||||
"sertifitseerimiskeskuse poolt"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:47
|
||||
msgid "Add CA from Store..."
|
||||
msgstr "Lisa sertifikaadilaost CA..."
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:48
|
||||
msgid ""
|
||||
"Adds a new certificate authority from the certificate store to the list"
|
||||
msgstr "Lisab sertikaadilaost nimekirja uue sertifitseerimiskeskuse"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:52
|
||||
msgid "Add CA from File..."
|
||||
msgstr "Lisa failist CA..."
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:53
|
||||
msgid "Adds a new certificate authority from the file to the list"
|
||||
msgstr "Lisab failist nimekirja uue sertifitseerimiskeskuse"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:57
|
||||
msgid "&Remove CA"
|
||||
msgstr "Eemalda &CA"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:58
|
||||
msgid "Removes selected certificate authorities from the list"
|
||||
msgstr "Eemaldab valitud sertifitseerimiskeskused nimekirjast"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:71
|
||||
msgid "Acceptable server &names:"
|
||||
msgstr "Lubatud serveri&nimed:"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:76
|
||||
msgid ""
|
||||
"A semicolon delimited list of acceptable server FQDN names; blank to skip "
|
||||
"name check; Unicode characters allowed"
|
||||
msgstr ""
|
||||
"Semikoolonitega eraldatult nimekiri lubatud serverite FQDN nimedest; "
|
||||
"nimekontrolli vahelejätmiseks tühik; lubatud on Unicode märgistik"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:80
|
||||
msgid "(Example: foo.bar.com;server2.bar.com)"
|
||||
msgstr "(Näide: yks.näide.ee;2.teine.ee)"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:118 lib/TLS_UI/src/TLS_UI.cpp:400
|
||||
msgid "User Certificate"
|
||||
msgstr "Kasutaja sertifikaat"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:128
|
||||
msgid "Please select your &certificate to use for authentication."
|
||||
msgstr "Palun vali autentimiseks oma serti&fikaat"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:135
|
||||
msgid "Client certificate to use for authentication"
|
||||
msgstr "Autentimisel kasutatav kliendisertifikaat"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:142
|
||||
msgid "Custom &identity:"
|
||||
msgstr "Kohandatud &identiteet:"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:147
|
||||
msgid ""
|
||||
"Your identity (username@domain) to override one from certificate; or blank "
|
||||
"to use one provided in certificate"
|
||||
msgstr ""
|
||||
"Sinu identiteet (kasutajanimi@domeen), millega kirjutatakse üle "
|
||||
"sertifikaadis olev; kui jätad tühjaks, kasutatakse sertifikaadis olevat"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:118
|
||||
msgid "No certificate selected"
|
||||
msgstr ""
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:118
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:327
|
||||
msgid "Add Certificate"
|
||||
msgstr "Lisa sertifikaat"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:328
|
||||
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
|
||||
msgstr "Sertifikaadi failid (*.cer;*.crt;*.der;*.p7b;*.pem)"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:329
|
||||
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
|
||||
msgstr "X.509 sertifikaadi failid (*.cer;*.crt;*.der;*.p7b;*.pem)"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:330
|
||||
msgid "PKCS #7 Certificate Files (*.p7b)"
|
||||
msgstr "PKCS #7 sertifikaadi failid (*.p7b)"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:331
|
||||
msgid "All Files (*.*)"
|
||||
msgstr "Kõik failid (*.*)"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:345
|
||||
#, c-format
|
||||
msgid "Invalid or unsupported certificate file %s"
|
||||
msgstr "Vigane või mittetoetatud sertifikaadifail %s"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:345
|
||||
msgid "Error"
|
||||
msgstr "Viga"
|
||||
|
||||
#: lib/TTLS_UI/src/Module.cpp:249
|
||||
#, c-format
|
||||
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
|
||||
msgstr "EAP identiteedi UI aktiveerimine ebaõnnestus (viga %u, %s, %s)."
|
||||
|
||||
#: lib/TTLS_UI/src/Module.cpp:252
|
||||
#, c-format
|
||||
msgid "Invoking EAP identity UI failed (error %u)."
|
||||
msgstr "EAP identiteedi UI aktiveerimine ebaõnnestus (viga %u)."
|
||||
|
||||
#: lib/TTLS_UI/src/Module.cpp:376
|
||||
#, c-format
|
||||
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
|
||||
msgstr "EAP interaktiivse UI aktiveerimine ebaõnnestus (viga %u, %s, %s)."
|
||||
|
||||
#: lib/TTLS_UI/src/Module.cpp:379
|
||||
#, c-format
|
||||
msgid "Invoking EAP interactive UI failed (error %u)."
|
||||
msgstr "EAP interaktiivse UI aktiveerimine ebaõnnestus (viga %u)."
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:37
|
||||
msgid "Outer Authentication"
|
||||
msgstr "Väline autentimine"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:50
|
||||
msgid "Inner Authentication"
|
||||
msgstr "Sisemine autentimine"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:56
|
||||
msgid "Select inner authentication method from the list"
|
||||
msgstr "Vali nimekirjast sisemise autentimise meetod"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:127
|
||||
msgid "PAP"
|
||||
msgstr "PAP"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:129
|
||||
msgid "MSCHAPv2"
|
||||
msgstr "MSCHAPv2"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:131
|
||||
msgid "EAP-MSCHAPv2"
|
||||
msgstr "EAP-MSCHAPv2"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:133
|
||||
msgid "EAP-GTC"
|
||||
msgstr "EAP-GTC"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:136
|
||||
msgid "Other EAP methods..."
|
||||
msgstr "Muud EAP meetodid..."
|
||||
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "EAP-TTLS"
|
||||
msgstr "EAP-TTLS"
|
||||
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "EAP-TTLS Method"
|
||||
msgstr "EAP-TTLS meetod"
|
||||
|
||||
#: EAPMethods/MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "EAP Methods"
|
||||
msgstr "EAP meetodid"
|
||||
|
||||
#: EAPMethods/MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "Modules to support individual EAP methods"
|
||||
msgstr "Moodulid individuaalsete EAP meetodite toeks"
|
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: Basque (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/eu_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: Finnish (Finland) (https://www.transifex.com/eduroam_devel/teams/11799/fi_FI/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: French (Canada) (https://www.transifex.com/eduroam_devel/teams/11799/fr_CA/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: French (France) (https://www.transifex.com/eduroam_devel/teams/11799/fr_FR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: Galician (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/gl_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: Icelandic (https://www.transifex.com/eduroam_devel/teams/11799/is/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: Lithuanian (https://www.transifex.com/eduroam_devel/teams/11799/lt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -880,7 +882,7 @@ msgstr "Naudoti &tuščią išorinę tapatybę"
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr "Praleisti mano naudotojo vardą ir naudoti tik @domenas.lt"
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: Dutch (https://www.transifex.com/eduroam_devel/teams/11799/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
728
EAPMethods/locale/ro_RO.po
Normal file
728
EAPMethods/locale/ro_RO.po
Normal file
@@ -0,0 +1,728 @@
|
||||
# Translators:
|
||||
# Raul Opruta <raul.opruta@roedu.net>, 2020
|
||||
# Simon Rozman <simon@rozman.si>, 2020
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2020-04-17 14:55+0200\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2020\n"
|
||||
"Language-Team: Romanian (Romania) (https://www.transifex.com/eduroam_devel/teams/11799/ro_RO/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ro_RO\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-Poedit-Basepath: ../..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: lib/EAPBase_UI\n"
|
||||
"X-Poedit-SearchPath-1: lib/EapHost_UI\n"
|
||||
"X-Poedit-SearchPath-2: lib/GTC_UI\n"
|
||||
"X-Poedit-SearchPath-3: lib/MSCHAPv2_UI\n"
|
||||
"X-Poedit-SearchPath-4: lib/PAP_UI\n"
|
||||
"X-Poedit-SearchPath-5: lib/TLS_UI\n"
|
||||
"X-Poedit-SearchPath-6: lib/TTLS_UI\n"
|
||||
"X-Poedit-SearchPath-7: EAPMethods\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:295
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Are you sure you want to permanently remove %s provider from configuration?"
|
||||
msgstr ""
|
||||
"Sunteți sigur că doriți să eliminați definitiv furnizorul %s din "
|
||||
"configurație?"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:295
|
||||
msgid "Warning"
|
||||
msgstr "Avertizare"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:381 lib/EAPBase_UI/res/wxEAP_UI.h:116
|
||||
msgid "EAP Credentials"
|
||||
msgstr "Credenţiale EAP"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:725
|
||||
msgid "Provider Settings"
|
||||
msgstr "Setări de provider"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:758 lib/EAPBase_UI/res/wxEAP_UI.cpp:229
|
||||
#, c-format
|
||||
msgid "%s User Credentials"
|
||||
msgstr "%s Credenţiale utilizator"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:866 lib/TTLS_UI/src/Module.cpp:196
|
||||
#: lib/TTLS_UI/src/Module.cpp:305
|
||||
#, c-format
|
||||
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
|
||||
msgstr ""
|
||||
"Eroare la scriere a credențialelor în Managerul de credențiale: % hs "
|
||||
"(eroare%u)"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:869 lib/TTLS_UI/src/Module.cpp:198
|
||||
#: lib/TTLS_UI/src/Module.cpp:307
|
||||
msgid "Writing credentials failed."
|
||||
msgstr " Scrierea credențialele nu au reușit."
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:897
|
||||
#, c-format
|
||||
msgid "Deleting credentials failed (error %u)."
|
||||
msgstr "Ştergerea credenţialelor eşuată (eroare %u)."
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:924 lib/EAPBase_UI/include/EAP_UI.h:943
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:952
|
||||
msgid "(none)"
|
||||
msgstr "(nici unul)"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:928
|
||||
#, c-format
|
||||
msgid "(error %u)"
|
||||
msgstr "(eroare %u )"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:932
|
||||
msgid "(error)"
|
||||
msgstr "(eroare)"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:943 lib/EAPBase_UI/include/EAP_UI.h:952
|
||||
msgid "(blank ID)"
|
||||
msgstr "(ID gol)"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:992
|
||||
msgid "&Remember"
|
||||
msgstr "&Ţine minte"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:993
|
||||
msgid "Check if you would like to save credentials"
|
||||
msgstr " Verificați dacă doriți să salvați datele de acreditare"
|
||||
|
||||
#: lib/EAPBase_UI/include/EAP_UI.h:1214
|
||||
msgid "(Your Organization)"
|
||||
msgstr "(Organizaţia ta)"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:37
|
||||
msgid "+"
|
||||
msgstr "+"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:38
|
||||
msgid "Adds new provider"
|
||||
msgstr "Adaugă un nou furnizor"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:42
|
||||
msgid "-"
|
||||
msgstr "-"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:43
|
||||
msgid "Removes selected provider"
|
||||
msgstr "Înlătură furnizorul selectat"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:47
|
||||
msgid "Advanced..."
|
||||
msgstr "Avansat..."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:48
|
||||
msgid "Opens dialog with provider settings"
|
||||
msgstr "Deschide dialogul cu setările furnizorului"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:240
|
||||
msgid "Select the source where your credentials used to connect are stored."
|
||||
msgstr ""
|
||||
"Selectați sursa în care sunt stocate datele de acreditare folosite pentru a "
|
||||
"vă conecta."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:250
|
||||
msgid "Use from Credential &Manager:"
|
||||
msgstr "Utilizați de la Credențiale & Management:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:251
|
||||
msgid ""
|
||||
"Select this option if you would like to use credentials stored in Windows "
|
||||
"Credential Manager"
|
||||
msgstr ""
|
||||
"Selectați această opțiune dacă doriți să utilizați credețialele stocate în "
|
||||
"Windows Credential Manager"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:258
|
||||
msgid "Your present credentials stored in Windows Credential Manager"
|
||||
msgstr "Credențiele dvs. actuale sunt stocate în Windows Credential Manager"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:268
|
||||
msgid "Use from &profile configuration:"
|
||||
msgstr "Utilizați din configurarea profilului:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:269
|
||||
msgid ""
|
||||
"Select this option if you would like to store credentials as a part of "
|
||||
"profile configuration"
|
||||
msgstr ""
|
||||
"Selectați această opțiune dacă doriți să stocați credențialele ca parte a "
|
||||
"configurației profilului"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:276
|
||||
msgid "Profile configuration credentials"
|
||||
msgstr " Credențialele de configurare a profilului"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:289
|
||||
msgid "&Clear Credentials"
|
||||
msgstr "%Ştergere Credenţiale"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:290
|
||||
msgid ""
|
||||
"Click to clear your credentials from Credential Manager.\n"
|
||||
"Note: You will be prompted to enter credentials when connecting."
|
||||
msgstr ""
|
||||
"Faceți clic pentru a șterge credențialele din Managerul de credenţiale.\n"
|
||||
"Notă: Vi se va solicita să introduceți credențialele atunci când vă conectați."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:294
|
||||
msgid "&Set Credentials..."
|
||||
msgstr "&Setare credenţiale"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:295
|
||||
msgid "Click here to set or modify your credentials"
|
||||
msgstr "Apasă aici pentru a modifica credenţialele"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:332
|
||||
msgid "User ID and Password"
|
||||
msgstr "ID de utilizator și parolă"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:342
|
||||
msgid "Please provide your user ID and password."
|
||||
msgstr "Vă rugăm să furnizați ID-ul de utilizator și parola."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:352 lib/EAPBase_UI/res/wxEAP_UI.cpp:416
|
||||
msgid "User ID:"
|
||||
msgstr "ID utilizator:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:357 lib/EAPBase_UI/res/wxEAP_UI.cpp:421
|
||||
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
|
||||
msgstr ""
|
||||
"Introduceți numele de utilizator aici (user@domain.org, DOMENIU \\ User "
|
||||
"etc.)"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:361
|
||||
msgid "Password:"
|
||||
msgstr "Parolă:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:366
|
||||
msgid "Enter your password here"
|
||||
msgstr "Introduceţi parola aici:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:396
|
||||
msgid "User ID"
|
||||
msgstr "ID Utilizator"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:406
|
||||
msgid "Please provide your user ID."
|
||||
msgstr "Vă rugăm să furnizați ID-ul de utilizator."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:446
|
||||
msgid "Your Organization"
|
||||
msgstr "Organizaţia dumneavostră"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:457
|
||||
msgid ""
|
||||
"Describe your organization to customize user prompts. When organization is "
|
||||
"introduced, end-users find program messages easier to understand and act."
|
||||
msgstr ""
|
||||
"Descrieți organizația dumneavoastră pentru a personaliza solicitările "
|
||||
"utilizatorilor. Când este introdusă organizația, utilizatorii finali găsesc "
|
||||
"mesajele de program mai ușor de înțeles și de acționat."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:464
|
||||
msgid "Your organization &name:"
|
||||
msgstr "Numele organizaţiei dumneavoastră &:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:469
|
||||
msgid ""
|
||||
"Your organization name as it will appear on helpdesk contact notifications"
|
||||
msgstr ""
|
||||
"Numele organizației dumneavoastră, așa cum va apărea în notificările de "
|
||||
"contact ale helpdesk"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:473
|
||||
msgid "(Keep it short, please)"
|
||||
msgstr "(Păstrați-l scurt, vă rog)"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:483
|
||||
msgid "Helpdesk contact &information:"
|
||||
msgstr "Contact și informații despre asistență:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:500
|
||||
msgid "Your helpdesk website address"
|
||||
msgstr "Adresa web de asistență"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:511
|
||||
msgid "Your helpdesk e-mail address"
|
||||
msgstr "Adresa de e-mail de asistență"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:522
|
||||
msgid "Your helpdesk phone number"
|
||||
msgstr "Numărul de telefon de asistență"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:550
|
||||
msgid "Provider Unique Identifier"
|
||||
msgstr "Identificator unic al furnizorului"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:561
|
||||
msgid ""
|
||||
"Assign your organization a unique ID to allow sharing the same credential "
|
||||
"set across different network profiles."
|
||||
msgstr ""
|
||||
"Alocați organizației dumneavostră un ID unic care să permită partajarea "
|
||||
"aceluiași set de credințiale pe diferite profiluri de rețea."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:568
|
||||
msgid "&Namespace:"
|
||||
msgstr "&Spaţiu de nume:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:572
|
||||
msgid "urn:RFC4282:realm"
|
||||
msgstr "urn:RFC4282:realm"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:572
|
||||
msgid "urn:uuid"
|
||||
msgstr "urn:uuid"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:584
|
||||
msgid "Provider unique &identifier:"
|
||||
msgstr "Identificator unic și identificator:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:589
|
||||
msgid "Your organization ID to assign same credentials from other profiles"
|
||||
msgstr ""
|
||||
"ID-ul organizației dumneavoastră pentru a atribui aceleași date de "
|
||||
"acreditare de la alte profiluri"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:614
|
||||
msgid "Configuration Lock"
|
||||
msgstr "Configurare Blocată"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:625
|
||||
msgid ""
|
||||
"Your configuration can be locked to prevent accidental modification by end-"
|
||||
"users. Users will only be allowed to enter credentials."
|
||||
msgstr ""
|
||||
"Configurația dumneavoastră poate fi blocată pentru a preveni modificarea "
|
||||
"accidentală de către utilizatorii finali. Utilizatorii vor avea voie să "
|
||||
"introducă numai datele de acreditare."
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:632
|
||||
msgid ""
|
||||
"&Lock this configuration and prevent any further modification via user "
|
||||
"interface."
|
||||
msgstr ""
|
||||
"& Blocați această configurație și preveniți alte modificări prin interfața "
|
||||
"utilizatorului"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:635
|
||||
msgid "(Warning: Once locked, you can not revert using this dialog!)"
|
||||
msgstr "(Avertisment: odată blocat, nu puteți reveni folosind acest dialog!)"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:700
|
||||
msgid "Identity"
|
||||
msgstr "Identitate"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:711
|
||||
msgid "Select the user ID supplicant introduces itself as to authenticator:"
|
||||
msgstr ""
|
||||
"Selectați ID-ul utilizatorului implicit care se introduce ca autentificator:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:718
|
||||
msgid "&True identity"
|
||||
msgstr "&Identitate adevărată"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:719
|
||||
msgid "Use my true user name"
|
||||
msgstr "Utilizați numele meu de utilizator adevărat"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:723
|
||||
msgid "Use &empty identity"
|
||||
msgstr "Utilizați & identitate goală"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:724
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr "Omiteți numele meu de utilizator si folositi doar @ mydomain.org"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:731
|
||||
msgid "&Custom identity:"
|
||||
msgstr "& Identitate personalizată:"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:732
|
||||
msgid "Specify custom identity"
|
||||
msgstr "Precizați identitatea personalizată"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:737
|
||||
msgid "Custom identity to use"
|
||||
msgstr "Identitate personalizată de utilizat"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.h:66
|
||||
msgid "EAP Connection Configuration"
|
||||
msgstr "Configurare conexiune EAP"
|
||||
|
||||
#: lib/EAPBase_UI/res/wxEAP_UI.h:329
|
||||
msgid "EAP Identity Provider"
|
||||
msgstr "Furnizor de identitate EAP"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:103
|
||||
#, c-format
|
||||
msgid "%s Credentials"
|
||||
msgstr "%s Credenţiale"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:139
|
||||
#, c-format
|
||||
msgid "For additional help and instructions, please contact %s at:"
|
||||
msgstr ""
|
||||
"Pentru ajutor și instrucțiuni suplimentare, vă rugăm să contactați %s la : "
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:140
|
||||
msgid "your provider"
|
||||
msgstr "providerul dumneavoastră"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:159
|
||||
msgid "Open the default web browser"
|
||||
msgstr "Deschideți browserul web implicit"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:170
|
||||
msgid "Open your e-mail program"
|
||||
msgstr "Deschideți programul de e-mail"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:181
|
||||
msgid "Dial the phone number"
|
||||
msgstr "Apelează numărul de telefon"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:203
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s has pre-set parts of this configuration. Those parts are locked to "
|
||||
"prevent accidental modification."
|
||||
msgstr ""
|
||||
"%s are părți prestabilite ale acestei configurații. Aceste piese sunt "
|
||||
"blocate pentru a preveni modificarea accidentală."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:204
|
||||
msgid "Your provider"
|
||||
msgstr "Furnizorul dumneavostră"
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:225
|
||||
msgid "Previous attempt to connect reported invalid credentials."
|
||||
msgstr "Încercarea anterioară de conectare a raportat credențiale nevalide ."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:226
|
||||
msgid "Previous attempt to connect reported your credentials expired."
|
||||
msgstr ""
|
||||
"Încercarea anterioară de conectare a raportat datele de acreditare expirate."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:227
|
||||
msgid ""
|
||||
"Previous attempt to connect reported your credentials are being changed."
|
||||
msgstr ""
|
||||
"Încercarea anterioară de conectare a raportat că datele de acreditare au "
|
||||
"fost modificate."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:228
|
||||
msgid "Previous attempt to connect failed."
|
||||
msgstr "Încercarea anterioară de conectare a eșuat."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:229
|
||||
msgid "Please, make sure your credentials are correct, or try again later."
|
||||
msgstr ""
|
||||
"Vă rugăm, asigurați-vă că datele de acreditare sunt corecte sau încercați "
|
||||
"din nou mai târziu."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:250
|
||||
#, c-format
|
||||
msgid ""
|
||||
"The %s version installed on this computer logs credentials in visible and "
|
||||
"easy to read way."
|
||||
msgstr ""
|
||||
"Versiunea instalată %s pe acest computer înregistrează datele de acreditare "
|
||||
"în mod vizibil și ușor de citit."
|
||||
|
||||
#: lib/EAPBase_UI/src/EAP_UI.cpp:251
|
||||
msgid "Please, reconsider necessity to enter your credentials."
|
||||
msgstr ""
|
||||
"Vă rugăm să reconsiderați necesitatea de a introduce datele de acreditare."
|
||||
|
||||
#: lib/EapHost_UI/res/wxEapHost_UI.cpp:17
|
||||
msgid "Inner EAP Method"
|
||||
msgstr "Metoda EAP interioară"
|
||||
|
||||
#: lib/EapHost_UI/res/wxEapHost_UI.cpp:28
|
||||
msgid "Select and configure inner EAP method"
|
||||
msgstr "Selectați și configurați metoda EAP interioară"
|
||||
|
||||
#: lib/EapHost_UI/res/wxEapHost_UI.cpp:40
|
||||
msgid "&Settings"
|
||||
msgstr "&Setări"
|
||||
|
||||
#: lib/EapHost_UI/src/EapHost_UI.cpp:59
|
||||
#, c-format
|
||||
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
|
||||
msgstr "Enumerarea metodelor EAP a eșuat (eroare %u , %s , %s )."
|
||||
|
||||
#: lib/EapHost_UI/src/EapHost_UI.cpp:61
|
||||
#, c-format
|
||||
msgid "Enumerating EAP methods failed (error %u)."
|
||||
msgstr "Enumerarea metodelor EAP a eșuat (eroare %u )."
|
||||
|
||||
#: lib/EapHost_UI/src/EapHost_UI.cpp:136
|
||||
#, c-format
|
||||
msgid "Configuring EAP method failed (error %u, %s, %s)."
|
||||
msgstr "Configurarea metodei EAP a eșuat (eroare %u,%s,%s)."
|
||||
|
||||
#: lib/EapHost_UI/src/EapHost_UI.cpp:138
|
||||
#, c-format
|
||||
msgid "Configuring EAP method failed (error %u)."
|
||||
msgstr "Configurarea metodei EAP a eșuat (eroare %u )."
|
||||
|
||||
#: lib/GTC_UI/include/GTC_UI.h:114 lib/GTC_UI/res/wxGTC_UI.cpp:16
|
||||
msgid "GTC Challenge"
|
||||
msgstr "Provocarea GTC"
|
||||
|
||||
#: lib/GTC_UI/res/wxGTC_UI.cpp:26
|
||||
msgid "Please provide your response."
|
||||
msgstr "Vă rugăm să ne oferiți răspunsul."
|
||||
|
||||
#: lib/GTC_UI/res/wxGTC_UI.cpp:38
|
||||
msgid "Server challenge"
|
||||
msgstr "Provocarea serverului"
|
||||
|
||||
#: lib/GTC_UI/res/wxGTC_UI.cpp:43
|
||||
msgid "Enter your response here"
|
||||
msgstr "Introduceți răspunsul aici"
|
||||
|
||||
#: lib/GTC_UI/res/wxGTC_UI.cpp:70
|
||||
msgid "EAP-GTC authentication &mode:"
|
||||
msgstr "Autentificare și &mod EAP-GTC:"
|
||||
|
||||
#: lib/GTC_UI/res/wxGTC_UI.cpp:75
|
||||
msgid "Select EAP-GTC authentication mode from the list"
|
||||
msgstr "Selectați modul de autentificare EAP-GTC din listă"
|
||||
|
||||
#: lib/GTC_UI/src/GTC_UI.cpp:39
|
||||
msgid "Challenge/Response"
|
||||
msgstr "Provocare/Răspuns"
|
||||
|
||||
#: lib/GTC_UI/src/GTC_UI.cpp:41
|
||||
msgid "Password"
|
||||
msgstr "Parolă"
|
||||
|
||||
#: lib/GTC_UI/src/GTC_UI.cpp:119
|
||||
#, c-format
|
||||
msgid "%s Challenge"
|
||||
msgstr "%s Provocare"
|
||||
|
||||
#: lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
|
||||
msgid "MSCHAPv2 User ID and Password"
|
||||
msgstr "MSCHAPv2 Utilizator şi Parolă"
|
||||
|
||||
#: lib/PAP_UI/src/PAP_UI.cpp:33
|
||||
msgid "PAP User ID and Password"
|
||||
msgstr "PAP Utilizator şi Parolă"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:17
|
||||
msgid "Server Trust"
|
||||
msgstr "Server de încredere"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:28
|
||||
msgid "Describe the servers you trust to prevent man-in-the-middle attacks."
|
||||
msgstr ""
|
||||
"Descrieți serverele de încredere pentru a preveni atacurile de tipul man-in-"
|
||||
"the-middle."
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:35
|
||||
msgid "Acceptable Certificate Authorities:"
|
||||
msgstr "Autorități de certificare acceptate:"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:40
|
||||
msgid ""
|
||||
"Server's certificate must be issued by one of certificate authorities listed"
|
||||
" here"
|
||||
msgstr ""
|
||||
"Certificatul de server trebuie eliberat de una dintre autoritățile de "
|
||||
"certificare enumerate aici"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:47
|
||||
msgid "Add CA from Store..."
|
||||
msgstr "Adăugare CA din magazin..."
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:48
|
||||
msgid ""
|
||||
"Adds a new certificate authority from the certificate store to the list"
|
||||
msgstr ""
|
||||
"Adaugă o nouă autoritate de certificare din magazinul de certificate în "
|
||||
"listă"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:52
|
||||
msgid "Add CA from File..."
|
||||
msgstr "Adăugare CA din fişier..."
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:53
|
||||
msgid "Adds a new certificate authority from the file to the list"
|
||||
msgstr "Adaugă o nouă autoritate de certificare din fișier în listă"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:57
|
||||
msgid "&Remove CA"
|
||||
msgstr "&Ştergere CA"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:58
|
||||
msgid "Removes selected certificate authorities from the list"
|
||||
msgstr "Îndepărtează autoritățile de certificare selectate din listă"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:71
|
||||
msgid "Acceptable server &names:"
|
||||
msgstr "Server și nume acceptate:"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:76
|
||||
msgid ""
|
||||
"A semicolon delimited list of acceptable server FQDN names; blank to skip "
|
||||
"name check; Unicode characters allowed"
|
||||
msgstr ""
|
||||
"Punct și virgulă delimitează lista de nume de servere FQDN ; lăsați spațiu "
|
||||
"gol pentru a omite verificarea numelui; Caractere Unicode permise"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:80
|
||||
msgid "(Example: foo.bar.com;server2.bar.com)"
|
||||
msgstr "(Exemplu: foo.bar.com;server2.bar.com)"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:118 lib/TLS_UI/src/TLS_UI.cpp:400
|
||||
msgid "User Certificate"
|
||||
msgstr "Certificatul de utilizator"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:128
|
||||
msgid "Please select your &certificate to use for authentication."
|
||||
msgstr ""
|
||||
"Vă rugăm să selectați certificatul dumneavoastră de utilizat pentru "
|
||||
"autentificare."
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:135
|
||||
msgid "Client certificate to use for authentication"
|
||||
msgstr "Certificat de client de folosit pentru autentificare"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:142
|
||||
msgid "Custom &identity:"
|
||||
msgstr "Personalizare și identitate:"
|
||||
|
||||
#: lib/TLS_UI/res/wxTLS_UI.cpp:147
|
||||
msgid ""
|
||||
"Your identity (username@domain) to override one from certificate; or blank "
|
||||
"to use one provided in certificate"
|
||||
msgstr ""
|
||||
"Identitatea dumneavoastră (nume de utilizator @ domeniu) pentru a trece "
|
||||
"peste un certificat; sau necompletat pentru a utiliza unul prevăzut în "
|
||||
"certificat"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:118
|
||||
msgid "No certificate selected"
|
||||
msgstr ""
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:118
|
||||
msgid "Validation conflict"
|
||||
msgstr ""
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:327
|
||||
msgid "Add Certificate"
|
||||
msgstr "Adaugă certificat"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:328
|
||||
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
|
||||
msgstr "Fişierele Certificat (*.cer;*.crt;*.der;*.p7b;*.pem)"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:329
|
||||
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
|
||||
msgstr "X.509 Fişierele Certificat (*.cer;*.crt;*.der;*.pem)"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:330
|
||||
msgid "PKCS #7 Certificate Files (*.p7b)"
|
||||
msgstr "PKCS #7 Fişierele Certificat (*.p7b)"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:331
|
||||
msgid "All Files (*.*)"
|
||||
msgstr "Toate filele (*.*)"
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:345
|
||||
#, c-format
|
||||
msgid "Invalid or unsupported certificate file %s"
|
||||
msgstr "Fișier de certificat %s nevalid sau neacceptat "
|
||||
|
||||
#: lib/TLS_UI/src/TLS_UI.cpp:345
|
||||
msgid "Error"
|
||||
msgstr "Eroare"
|
||||
|
||||
#: lib/TTLS_UI/src/Module.cpp:249
|
||||
#, c-format
|
||||
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
|
||||
msgstr " Invocarea interfaței de identitate EAP a eșuat (eroare%u,%s,%s)."
|
||||
|
||||
#: lib/TTLS_UI/src/Module.cpp:252
|
||||
#, c-format
|
||||
msgid "Invoking EAP identity UI failed (error %u)."
|
||||
msgstr "Invocarea interfaței de identitate EAP a eșuat (eroare%u)."
|
||||
|
||||
#: lib/TTLS_UI/src/Module.cpp:376
|
||||
#, c-format
|
||||
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
|
||||
msgstr "Invocarea EAP EI interactivă a eșuat (eroare %u,%s,%s)."
|
||||
|
||||
#: lib/TTLS_UI/src/Module.cpp:379
|
||||
#, c-format
|
||||
msgid "Invoking EAP interactive UI failed (error %u)."
|
||||
msgstr "Invocarea EAP EI interactivă a eșuat (eroare %u)."
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:37
|
||||
msgid "Outer Authentication"
|
||||
msgstr "Autentificare exterioară"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:50
|
||||
msgid "Inner Authentication"
|
||||
msgstr "Autentificare interioară"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:56
|
||||
msgid "Select inner authentication method from the list"
|
||||
msgstr "Selectați metoda de autentificare interioară din listă"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:127
|
||||
msgid "PAP"
|
||||
msgstr "PAP"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:129
|
||||
msgid "MSCHAPv2"
|
||||
msgstr "MSCHAPv2"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:131
|
||||
msgid "EAP-MSCHAPv2"
|
||||
msgstr "EAP-MSCHAPv2"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:133
|
||||
msgid "EAP-GTC"
|
||||
msgstr "EAP-GTC"
|
||||
|
||||
#: lib/TTLS_UI/src/TTLS_UI.cpp:136
|
||||
msgid "Other EAP methods..."
|
||||
msgstr "Alte metode EAP..."
|
||||
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "EAP-TTLS"
|
||||
msgstr "EAP-TTLS"
|
||||
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "EAP-TTLS Method"
|
||||
msgstr "Metoda EAP-TTLS"
|
||||
|
||||
#: EAPMethods/MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "EAP Methods"
|
||||
msgstr "Metodele EAP"
|
||||
|
||||
#: EAPMethods/MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "Modules to support individual EAP methods"
|
||||
msgstr "Module pentru a sprijini metodele individuale EAP"
|
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: Russian (Russia) (https://www.transifex.com/eduroam_devel/teams/11799/ru_RU/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: Slovak (Slovakia) (https://www.transifex.com/eduroam_devel/teams/11799/sk_SK/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: Swedish (https://www.transifex.com/eduroam_devel/teams/11799/sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,13 @@
|
||||
# Translators:
|
||||
# Simon Rozman <simon@rozman.si>, 2017
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EAPMethods\n"
|
||||
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2016\n"
|
||||
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
|
||||
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
|
||||
"Language-Team: Vietnamese (https://www.transifex.com/eduroam_devel/teams/11799/vi/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
@@ -844,7 +846,7 @@ msgstr ""
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:41
|
||||
msgid "Ommit my user name and use @mydomain.org only"
|
||||
msgid "Omit my user name and use @mydomain.org only"
|
||||
msgstr ""
|
||||
|
||||
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
|
||||
|
Binary file not shown.
Binary file not shown.
@@ -1,982 +0,0 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
|
||||
GÉANTLink is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GÉANTLink is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <StdAfx.h>
|
||||
|
||||
using namespace std;
|
||||
using namespace winstd;
|
||||
|
||||
#pragma comment(lib, "Ws2_32.lib")
|
||||
|
||||
#if EAPMETHOD_TYPE==21
|
||||
#define _EAPMETHOD_PEER eap::peer_ttls
|
||||
#else
|
||||
#error Unknown EAP Method type.
|
||||
#endif
|
||||
|
||||
_EAPMETHOD_PEER g_peer;
|
||||
|
||||
|
||||
///
|
||||
/// DLL main entry point
|
||||
///
|
||||
/// \sa [DllMain entry point](https://msdn.microsoft.com/en-us/library/windows/desktop/ms682583.aspx)
|
||||
///
|
||||
BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(lpvReserved);
|
||||
|
||||
if (fdwReason == DLL_PROCESS_ATTACH) {
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
g_peer.m_instance = hinstDLL;
|
||||
} else if (fdwReason == DLL_PROCESS_DETACH)
|
||||
assert(!_CrtDumpMemoryLeaks());
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Releases all memory associated with an opaque user interface context data buffer.
|
||||
///
|
||||
/// \sa [EapPeerFreeMemory function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363606.aspx)
|
||||
///
|
||||
VOID WINAPI EapPeerFreeMemory(_In_ void *pUIContextData)
|
||||
{
|
||||
event_fn_auto event_auto(g_peer.get_event_fn_auto(__FUNCTION__));
|
||||
|
||||
if (pUIContextData)
|
||||
g_peer.free_memory((BYTE*)pUIContextData);
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Releases error-specific memory allocated by the EAP peer method.
|
||||
///
|
||||
/// \sa [EapPeerFreeErrorMemory function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363605.aspx)
|
||||
///
|
||||
VOID WINAPI EapPeerFreeErrorMemory(_In_ EAP_ERROR *ppEapError)
|
||||
{
|
||||
event_fn_auto event_auto(g_peer.get_event_fn_auto(__FUNCTION__));
|
||||
|
||||
if (ppEapError)
|
||||
g_peer.free_error_memory(ppEapError);
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Obtains a set of function pointers for an implementation of the EAP peer method currently loaded on the EapHost service.
|
||||
///
|
||||
/// \sa [EapPeerGetInfo function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363608.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerGetInfo(_In_ EAP_TYPE* pEapType, _Out_ EAP_PEER_METHOD_ROUTINES* pEapPeerMethodRoutines, _Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!pEapType)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapType is NULL.")));
|
||||
else if (pEapType->type != EAPMETHOD_TYPE)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" Input EAP type (%d) does not match the supported EAP type (%d)."), (int)pEapType->type, (int)EAPMETHOD_TYPE).c_str()));
|
||||
else if (!pEapPeerMethodRoutines)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapPeerMethodRoutines is NULL.")));
|
||||
else {
|
||||
pEapPeerMethodRoutines->dwVersion = PRODUCT_VERSION;
|
||||
pEapPeerMethodRoutines->pEapType = NULL;
|
||||
|
||||
pEapPeerMethodRoutines->EapPeerInitialize = EapPeerInitialize;
|
||||
pEapPeerMethodRoutines->EapPeerShutdown = EapPeerShutdown;
|
||||
pEapPeerMethodRoutines->EapPeerBeginSession = EapPeerBeginSession;
|
||||
pEapPeerMethodRoutines->EapPeerEndSession = EapPeerEndSession;
|
||||
pEapPeerMethodRoutines->EapPeerSetCredentials = NULL; // Always NULL unless we want to use generic credential UI
|
||||
pEapPeerMethodRoutines->EapPeerGetIdentity = EapPeerGetIdentity;
|
||||
pEapPeerMethodRoutines->EapPeerProcessRequestPacket = EapPeerProcessRequestPacket;
|
||||
pEapPeerMethodRoutines->EapPeerGetResponsePacket = EapPeerGetResponsePacket;
|
||||
pEapPeerMethodRoutines->EapPeerGetResult = EapPeerGetResult;
|
||||
pEapPeerMethodRoutines->EapPeerGetUIContext = EapPeerGetUIContext;
|
||||
pEapPeerMethodRoutines->EapPeerSetUIContext = EapPeerSetUIContext;
|
||||
pEapPeerMethodRoutines->EapPeerGetResponseAttributes = EapPeerGetResponseAttributes;
|
||||
pEapPeerMethodRoutines->EapPeerSetResponseAttributes = EapPeerSetResponseAttributes;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: 4702) // Compiler is smart enough to find out the initialize() method is empty => never throws an exception.
|
||||
|
||||
///
|
||||
/// Initializes an EAP peer method for EapHost.
|
||||
///
|
||||
/// \sa [EapPeerGetInfo function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363613.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerInitialize(_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
try {
|
||||
g_peer.initialize();
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
#pragma warning(pop)
|
||||
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: 4702) // Compiler is smart enough to find out the shutdown() method is empty => never throws an exception.
|
||||
|
||||
///
|
||||
/// Shuts down the EAP method and prepares to unload its corresponding DLL.
|
||||
///
|
||||
/// \sa [EapPeerShutdown function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363627.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerShutdown(_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
try {
|
||||
g_peer.shutdown();
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
#pragma warning(pop)
|
||||
|
||||
|
||||
///
|
||||
/// Returns the user data and user identity after being called by EapHost.
|
||||
///
|
||||
/// \sa [EapPeerGetIdentity function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363607.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerGetIdentity(
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ DWORD dwConnectionDataSize,
|
||||
_In_count_(dwConnectionDataSize) const BYTE *pConnectionData,
|
||||
_In_ DWORD dwUserDataSize,
|
||||
_In_count_(dwUserDataSize) const BYTE *pUserData,
|
||||
_In_ HANDLE hTokenImpersonateUser,
|
||||
_Out_ BOOL *pfInvokeUI,
|
||||
_Out_ DWORD *pdwUserDataOutSize,
|
||||
_Out_ BYTE **ppUserDataOut,
|
||||
_Out_ WCHAR **ppwszIdentity,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!pConnectionData && dwConnectionDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionData is NULL.")));
|
||||
else if (!pUserData && dwUserDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pUserData is NULL.")));
|
||||
else if (!pfInvokeUI)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pfInvokeUI is NULL.")));
|
||||
else if (!pdwUserDataOutSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwUserDataOutSize is NULL.")));
|
||||
else if (!ppUserDataOut)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppUserDataOut is NULL.")));
|
||||
else if (!ppwszIdentity)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppwszIdentity is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.get_identity(dwFlags, pConnectionData, dwConnectionDataSize, pUserData, dwUserDataSize, ppUserDataOut, pdwUserDataOutSize, hTokenImpersonateUser, pfInvokeUI, ppwszIdentity);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Starts an EAP authentication session on the peer EapHost using the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerBeginSession function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363600.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerBeginSession(
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ const EapAttributes *pAttributeArray,
|
||||
_In_ HANDLE hTokenImpersonateUser,
|
||||
_In_ DWORD dwConnectionDataSize,
|
||||
_In_count_(dwConnectionDataSize) /*const*/ BYTE *pConnectionData,
|
||||
_In_ DWORD dwUserDataSize,
|
||||
_In_count_(dwUserDataSize) /*const*/ BYTE *pUserData,
|
||||
_In_ DWORD dwMaxSendPacketSize,
|
||||
_Out_ EAP_SESSION_HANDLE *phSession,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!pConnectionData && dwConnectionDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionData is NULL.")));
|
||||
else if (!pUserData && dwUserDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pUserData is NULL.")));
|
||||
else if (!phSession)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" phSession is NULL.")));
|
||||
else {
|
||||
try {
|
||||
*phSession = g_peer.begin_session(dwFlags, pAttributeArray, hTokenImpersonateUser, pConnectionData, dwConnectionDataSize, pUserData, dwUserDataSize, dwMaxSendPacketSize);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Ends an EAP authentication session for the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerEndSession function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363604.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerEndSession(
|
||||
_In_ EAP_SESSION_HANDLE hSession,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!hSession)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" hSession is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.end_session(hSession);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Processes a packet received by EapHost from a supplicant.
|
||||
///
|
||||
/// \sa [EapPeerProcessRequestPacket function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363621.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerProcessRequestPacket(
|
||||
_In_ EAP_SESSION_HANDLE hSession,
|
||||
_In_ DWORD dwReceivedPacketSize,
|
||||
_In_bytecount_(dwReceivedPacketSize) /*const*/ EapPacket *pReceivedPacket,
|
||||
_Out_ EapPeerMethodOutput *pEapOutput,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!hSession)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" hSession is NULL.")));
|
||||
else if (!pReceivedPacket || dwReceivedPacketSize < 6)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pReceivedPacket is NULL or too short.")));
|
||||
else if (pReceivedPacket->Data[0] != EAPMETHOD_TYPE)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, wstring_printf(_T(__FUNCTION__) _T(" Packet EAP type (%d) does not match the supported EAP type (%d)."), (int)pReceivedPacket->Data[0], (int)EAPMETHOD_TYPE).c_str()));
|
||||
else if (!pEapOutput)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapOutput is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.process_request_packet(hSession, pReceivedPacket, dwReceivedPacketSize, pEapOutput);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Obtains a response packet from the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerGetResponsePacket function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363610.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerGetResponsePacket(
|
||||
_In_ EAP_SESSION_HANDLE hSession,
|
||||
_Inout_ DWORD *pdwSendPacketSize,
|
||||
_Inout_bytecap_(*dwSendPacketSize) EapPacket *pSendPacket,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!hSession)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" hSession is NULL.")));
|
||||
else if (!pdwSendPacketSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwSendPacketSize is NULL.")));
|
||||
else if (!pSendPacket && *pdwSendPacketSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pSendPacket is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.get_response_packet(hSession, pSendPacket, pdwSendPacketSize);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Obtains the result of an authentication session from the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerGetResult function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363611.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerGetResult(
|
||||
_In_ EAP_SESSION_HANDLE hSession,
|
||||
_In_ EapPeerMethodResultReason reason,
|
||||
_Out_ EapPeerMethodResult *pResult,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!hSession)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" hSession is NULL.")));
|
||||
else if (!pResult)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pResult is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.get_result(hSession, reason, pResult);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Obtains the user interface context from the EAP method.
|
||||
///
|
||||
/// \note This function is always followed by the `EapPeerInvokeInteractiveUI()` function, which is followed by the `EapPeerSetUIContext()` function.
|
||||
///
|
||||
/// \sa [EapPeerGetUIContext function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363612.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerGetUIContext(
|
||||
_In_ EAP_SESSION_HANDLE hSession,
|
||||
_Out_ DWORD *pdwUIContextDataSize,
|
||||
_Out_ BYTE **ppUIContextData,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!hSession)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" hSession is NULL.")));
|
||||
else if (!pdwUIContextDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwUIContextDataSize is NULL.")));
|
||||
else if (!ppUIContextData)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppUIContextData is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.get_ui_context(hSession, ppUIContextData, pdwUIContextDataSize);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Provides a user interface context to the EAP method.
|
||||
///
|
||||
/// \note This function is called after the UI has been raised through the `EapPeerGetUIContext()` function.
|
||||
///
|
||||
/// \sa [EapPeerSetUIContext function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363626.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerSetUIContext(
|
||||
_In_ EAP_SESSION_HANDLE hSession,
|
||||
_In_ DWORD dwUIContextDataSize,
|
||||
_In_count_(dwUIContextDataSize) const BYTE *pUIContextData,
|
||||
_Out_ EapPeerMethodOutput *pEapOutput,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!hSession)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" hSession is NULL.")));
|
||||
else if (!pUIContextData && dwUIContextDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pUIContextData is NULL.")));
|
||||
else if (!pEapOutput)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapOutput is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.set_ui_context(hSession, pUIContextData, dwUIContextDataSize, pEapOutput);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Obtains an array of EAP response attributes from the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerGetResponseAttributes function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363609.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerGetResponseAttributes(
|
||||
_In_ EAP_SESSION_HANDLE hSession,
|
||||
_Out_ EapAttributes *pAttribs,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!hSession)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" hSession is NULL.")));
|
||||
else if (!pAttribs)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pAttribs is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.get_response_attributes(hSession, pAttribs);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Provides an updated array of EAP response attributes to the EAP method.
|
||||
///
|
||||
/// \sa [EapPeerSetResponseAttributes function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363625.aspx)
|
||||
///
|
||||
DWORD APIENTRY EapPeerSetResponseAttributes(
|
||||
_In_ EAP_SESSION_HANDLE hSession,
|
||||
_In_ /*const*/ EapAttributes *pAttribs,
|
||||
_Out_ EapPeerMethodOutput *pEapOutput,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!hSession)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" hSession is NULL.")));
|
||||
else if (!pEapOutput)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapOutput is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.set_response_attributes(hSession, pAttribs, pEapOutput);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Defines the implementation of an EAP method-specific function that retrieves the properties of an EAP method given the connection and user data.
|
||||
///
|
||||
/// \sa [EapPeerGetMethodProperties function](https://msdn.microsoft.com/en-us/library/windows/desktop/hh706636.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerGetMethodProperties(
|
||||
_In_ DWORD dwVersion,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ EAP_METHOD_TYPE eapMethodType,
|
||||
_In_ HANDLE hUserImpersonationToken,
|
||||
_In_ DWORD dwConnectionDataSize,
|
||||
_In_count_(dwConnectionDataSize) const BYTE *pConnectionData,
|
||||
_In_ DWORD dwUserDataSize,
|
||||
_In_count_(dwUserDataSize) const BYTE *pUserData,
|
||||
_Out_ EAP_METHOD_PROPERTY_ARRAY *pMethodPropertyArray,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" Input EAP type (%d) does not match the supported EAP type (%d)."), (int)eapMethodType.eapType.type, (int)EAPMETHOD_TYPE).c_str()));
|
||||
else if (eapMethodType.dwAuthorId != 67532)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)eapMethodType.dwAuthorId, (int)67532).c_str()));
|
||||
else if (!pConnectionData && dwConnectionDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionData is NULL.")));
|
||||
else if (!pUserData && dwUserDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pUserData is NULL.")));
|
||||
else if (!pMethodPropertyArray)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pMethodPropertyArray is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.get_method_properties(dwVersion, dwFlags, hUserImpersonationToken, pConnectionData, dwConnectionDataSize, pUserData, dwUserDataSize, pMethodPropertyArray);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Converts XML into the configuration BLOB. The XML based credentials can come from group policy or from a system administrator.
|
||||
///
|
||||
/// \sa [EapPeerCredentialsXml2Blob function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363603.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerCredentialsXml2Blob(
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ EAP_METHOD_TYPE eapMethodType,
|
||||
_In_ IXMLDOMDocument2 *pCredentialsDoc,
|
||||
_In_count_(dwConnectionDataSize) const BYTE *pConnectionData,
|
||||
_In_ DWORD dwConnectionDataSize,
|
||||
_Out_ BYTE **ppCredentialsOut,
|
||||
_Out_ DWORD *pdwCredentialsOutSize,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" Input EAP type (%d) does not match the supported EAP type (%d)."), (int)eapMethodType.eapType.type, (int)EAPMETHOD_TYPE).c_str()));
|
||||
else if (eapMethodType.dwAuthorId != 67532)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)eapMethodType.dwAuthorId, (int)67532).c_str()));
|
||||
else if (!pCredentialsDoc)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pCredentialsDoc is NULL.")));
|
||||
else if (!pConnectionData && dwConnectionDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionData is NULL.")));
|
||||
else if (!ppCredentialsOut)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppCredentialsOut is NULL.")));
|
||||
else if (!pdwCredentialsOutSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwCredentialsOutSize is NULL.")));
|
||||
else {
|
||||
// <Credentials>
|
||||
com_obj<IXMLDOMNode> pXmlElCredentials;
|
||||
if (FAILED(eapxml::select_node(pCredentialsDoc, bstr(L"//EapHostUserCredentials/Credentials"), pXmlElCredentials))) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_FOUND, _T(__FUNCTION__) _T(" Error selecting <EapHostUserCredentials><Credentials> element.")));
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
// Load credentials.
|
||||
pCredentialsDoc->setProperty(bstr(L"SelectionNamespaces"), variant(L"xmlns:eap-metadata=\"urn:ietf:params:xml:ns:yang:ietf-eap-metadata\""));
|
||||
try {
|
||||
g_peer.credentials_xml2blob(dwFlags, pXmlElCredentials, pConnectionData, dwConnectionDataSize, ppCredentialsOut, pdwCredentialsOutSize);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Defines the implementation of an EAP method-specific function that obtains the EAP Single-Sign-On (SSO) credential input fields for an EAP method.
|
||||
///
|
||||
/// \sa [EapPeerQueryCredentialInputFields function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363622.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerQueryCredentialInputFields(
|
||||
_In_ HANDLE hUserImpersonationToken,
|
||||
_In_ EAP_METHOD_TYPE eapMethodType,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ DWORD dwConnectionDataSize,
|
||||
_In_count_(dwConnectionDataSize) const BYTE *pConnectionData,
|
||||
_Out_ EAP_CONFIG_INPUT_FIELD_ARRAY *pEapConfigInputFieldsArray,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" Input EAP type (%d) does not match the supported EAP type (%d)."), (int)eapMethodType.eapType.type, (int)EAPMETHOD_TYPE).c_str()));
|
||||
else if (eapMethodType.dwAuthorId != 67532)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)eapMethodType.dwAuthorId, (int)67532).c_str()));
|
||||
else if (!pConnectionData && dwConnectionDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionData is NULL.")));
|
||||
else if (!pEapConfigInputFieldsArray)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapConfigInputFieldsArray is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.query_credential_input_fields(hUserImpersonationToken, dwFlags, dwConnectionDataSize, pConnectionData, pEapConfigInputFieldsArray);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Defines the implementation of an EAP method function that obtains the user BLOB data provided in an interactive Single-Sign-On (SSO) UI raised on the supplicant.
|
||||
///
|
||||
/// \sa [EapPeerQueryUserBlobFromCredentialInputFields function](https://msdn.microsoft.com/en-us/library/windows/desktop/bb204697.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerQueryUserBlobFromCredentialInputFields(
|
||||
_In_ HANDLE hUserImpersonationToken,
|
||||
_In_ EAP_METHOD_TYPE eapMethodType,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ DWORD dwConnectionDataSize,
|
||||
_In_count_(dwConnectionDataSize) const BYTE *pConnectionData,
|
||||
_In_ const EAP_CONFIG_INPUT_FIELD_ARRAY *pEapConfigInputFieldArray,
|
||||
_Inout_ DWORD *pdwUsersBlobSize,
|
||||
_Inout_ BYTE **ppUserBlob,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" Input EAP type (%d) does not match the supported EAP type (%d)."), (int)eapMethodType.eapType.type, (int)EAPMETHOD_TYPE).c_str()));
|
||||
else if (eapMethodType.dwAuthorId != 67532)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)eapMethodType.dwAuthorId, (int)67532).c_str()));
|
||||
else if (!pConnectionData && dwConnectionDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionData is NULL.")));
|
||||
else if (!pEapConfigInputFieldArray)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapConfigInputFieldArray is NULL.")));
|
||||
else if (!pdwUsersBlobSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwUsersBlobSize is NULL.")));
|
||||
else if (!ppUserBlob)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppUserBlob is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.query_user_blob_from_credential_input_fields(hUserImpersonationToken, dwFlags, dwConnectionDataSize, pConnectionData, pEapConfigInputFieldArray, pdwUsersBlobSize, ppUserBlob);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Defines the implementation of an EAP method API that provides the input fields for interactive UI components to be raised on the supplicant.
|
||||
///
|
||||
/// \sa [EapPeerQueryInteractiveUIInputFields function](https://msdn.microsoft.com/en-us/library/windows/desktop/bb204695.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerQueryInteractiveUIInputFields(
|
||||
_In_ DWORD dwVersion,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ DWORD dwUIContextDataSize,
|
||||
_In_count_(dwUIContextDataSize) const BYTE *pUIContextData,
|
||||
_Out_ EAP_INTERACTIVE_UI_DATA *pEapInteractiveUIData,
|
||||
_Out_ EAP_ERROR **ppEapError,
|
||||
_Inout_ LPVOID *ppvReserved)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!pUIContextData && dwUIContextDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pUIContextData is NULL.")));
|
||||
else if (!pUIContextData && dwUIContextDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pUIContextData is NULL.")));
|
||||
else if (!pEapInteractiveUIData)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapInteractiveUIData is NULL.")));
|
||||
else {
|
||||
UNREFERENCED_PARAMETER(ppvReserved);
|
||||
|
||||
try {
|
||||
g_peer.query_interactive_ui_input_fields(dwVersion, dwFlags, dwUIContextDataSize, pUIContextData, pEapInteractiveUIData);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Converts user information into a user BLOB that can be consumed by EapHost run-time functions.
|
||||
///
|
||||
/// \sa [EapPeerQueryUIBlobFromInteractiveUIInputFields function](https://msdn.microsoft.com/en-us/library/windows/desktop/bb204696.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerQueryUIBlobFromInteractiveUIInputFields(
|
||||
_In_ DWORD dwVersion,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ DWORD dwUIContextDataSize,
|
||||
_In_count_(dwUIContextDataSize) const BYTE *pUIContextData,
|
||||
_In_ const EAP_INTERACTIVE_UI_DATA *pEapInteractiveUIData,
|
||||
_Out_ DWORD *pdwDataFromInteractiveUISize,
|
||||
_Out_ BYTE **ppDataFromInteractiveUI,
|
||||
_Out_ EAP_ERROR **ppEapError,
|
||||
_Inout_ LPVOID *ppvReserved)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!pUIContextData && dwUIContextDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapConfigInputFieldArray is NULL.")));
|
||||
else if (!pEapInteractiveUIData)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapInteractiveUIData is NULL.")));
|
||||
else if (!pdwDataFromInteractiveUISize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwDataFromInteractiveUISize is NULL.")));
|
||||
else if (!ppDataFromInteractiveUI)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppDataFromInteractiveUI is NULL.")));
|
||||
else {
|
||||
UNREFERENCED_PARAMETER(ppvReserved);
|
||||
|
||||
try {
|
||||
g_peer.query_ui_blob_from_interactive_ui_input_fields(dwVersion, dwFlags, dwUIContextDataSize, pUIContextData, pEapInteractiveUIData, pdwDataFromInteractiveUISize, ppDataFromInteractiveUI);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
@@ -1,413 +0,0 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
|
||||
GÉANTLink is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GÉANTLink is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <StdAfx.h>
|
||||
|
||||
#pragma comment(lib, "msxml6.lib")
|
||||
|
||||
using namespace std;
|
||||
using namespace winstd;
|
||||
|
||||
|
||||
#if EAPMETHOD_TYPE==21
|
||||
#define _EAPMETHOD_PEER_UI eap::peer_ttls_ui
|
||||
#else
|
||||
#error Unknown EAP Method type.
|
||||
#endif
|
||||
|
||||
HANDLE g_act_ctx = NULL;
|
||||
_EAPMETHOD_PEER_UI g_peer;
|
||||
|
||||
|
||||
///
|
||||
/// DLL main entry point
|
||||
///
|
||||
/// \sa [DllMain entry point](https://msdn.microsoft.com/en-us/library/windows/desktop/ms682583.aspx)
|
||||
///
|
||||
BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(lpvReserved);
|
||||
|
||||
if (fdwReason == DLL_PROCESS_ATTACH) {
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
g_peer.m_instance = hinstDLL;
|
||||
|
||||
// Save current activation context, as proper activation context is set at this time only (LoadLibrary() call).
|
||||
GetCurrentActCtx(&g_act_ctx);
|
||||
} else if (fdwReason == DLL_PROCESS_DETACH) {
|
||||
if (g_act_ctx)
|
||||
ReleaseActCtx(g_act_ctx);
|
||||
|
||||
// wxWidgets library has some global objects allocating data on heap in constructors,
|
||||
// causing false-positive memory leak reports.
|
||||
//assert(!_CrtDumpMemoryLeaks());
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Releases all memory associated with an opaque user interface context data buffer.
|
||||
///
|
||||
/// \sa [EapPeerFreeMemory function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363606.aspx)
|
||||
///
|
||||
VOID WINAPI EapPeerFreeMemory(_In_ void *pUIContextData)
|
||||
{
|
||||
event_fn_auto event_auto(g_peer.get_event_fn_auto(__FUNCTION__));
|
||||
|
||||
if (pUIContextData)
|
||||
g_peer.free_memory((BYTE*)pUIContextData);
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Releases error-specific memory allocated by the EAP peer method.
|
||||
///
|
||||
/// \sa [EapPeerFreeErrorMemory function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363605.aspx)
|
||||
///
|
||||
VOID WINAPI EapPeerFreeErrorMemory(_In_ EAP_ERROR *ppEapError)
|
||||
{
|
||||
event_fn_auto event_auto(g_peer.get_event_fn_auto(__FUNCTION__));
|
||||
|
||||
if (ppEapError)
|
||||
g_peer.free_error_memory(ppEapError);
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Converts XML into the configuration BLOB.
|
||||
///
|
||||
/// \sa [EapPeerConfigXml2Blob function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363602.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerConfigXml2Blob(
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ EAP_METHOD_TYPE eapMethodType,
|
||||
_In_ IXMLDOMDocument2 *pConfigDoc,
|
||||
_Out_ BYTE **pConnectionDataOut,
|
||||
_Out_ DWORD *pdwConnectionDataOutSize,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" Input EAP type (%d) does not match the supported EAP type (%d)."), (int)eapMethodType.eapType.type, (int)EAPMETHOD_TYPE).c_str()));
|
||||
else if (eapMethodType.dwAuthorId != 67532)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)eapMethodType.dwAuthorId, (int)67532).c_str()));
|
||||
else if (!pConfigDoc)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConfigDoc is NULL.")));
|
||||
else if (!pConnectionDataOut)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionDataOut is NULL.")));
|
||||
else if (!pdwConnectionDataOutSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwConnectionDataOutSize is NULL.")));
|
||||
else {
|
||||
// Configure XML selection namespaces used.
|
||||
pConfigDoc->setProperty(bstr(L"SelectionNamespaces"), variant(L"xmlns:eap-metadata=\"urn:ietf:params:xml:ns:yang:ietf-eap-metadata\" xmlns:eaphostconfig=\"http://www.microsoft.com/provisioning/EapHostConfig\""));
|
||||
|
||||
// <Config>
|
||||
com_obj<IXMLDOMElement> pXmlElConfig;
|
||||
if (FAILED(eapxml::select_element(pConfigDoc, bstr(L"//eaphostconfig:Config"), pXmlElConfig))) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" Error reading <Config> element.")));
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
// Load configuration.
|
||||
try {
|
||||
g_peer.config_xml2blob(dwFlags, pXmlElConfig, pConnectionDataOut, pdwConnectionDataOutSize);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Converts the configuration BLOB to XML.
|
||||
///
|
||||
/// The configuration BLOB is returned in the ppConnectionDataOut parameter of the EapPeerInvokeConfigUI function.
|
||||
///
|
||||
/// \sa [EapPeerConfigBlob2Xml function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363601.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerConfigBlob2Xml(
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ EAP_METHOD_TYPE eapMethodType,
|
||||
_In_count_(dwConnectionDataSize) const BYTE *pConnectionData,
|
||||
_In_ DWORD dwConnectionDataSize,
|
||||
_Out_ IXMLDOMDocument2 **ppConfigDoc,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (eapMethodType.eapType.type != EAPMETHOD_TYPE)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" Input EAP type (%d) does not match the supported EAP type (%d)."), (int)eapMethodType.eapType.type, (int)EAPMETHOD_TYPE).c_str()));
|
||||
else if (eapMethodType.dwAuthorId != 67532)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)eapMethodType.dwAuthorId, (int)67532).c_str()));
|
||||
else if (!pConnectionData && dwConnectionDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionData is NULL.")));
|
||||
else if (!ppConfigDoc)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppConfigDoc is NULL.")));
|
||||
else {
|
||||
HRESULT hr;
|
||||
|
||||
// Create configuration XML document.
|
||||
com_obj<IXMLDOMDocument2> pConfigDoc;
|
||||
if (FAILED(hr = pConfigDoc.create(CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER))) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = HRESULT_CODE(hr), _T(__FUNCTION__) _T(" Error creating XML document.")));
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
pConfigDoc->put_async(VARIANT_FALSE);
|
||||
|
||||
// Load empty XML configuration.
|
||||
VARIANT_BOOL isSuccess = VARIANT_FALSE;
|
||||
if (FAILED((hr = pConfigDoc->loadXML(L"<Config xmlns=\"http://www.microsoft.com/provisioning/EapHostConfig\"></Config>", &isSuccess)))) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = HRESULT_CODE(hr), _T(__FUNCTION__) _T(" Error loading XML document template.")));
|
||||
return dwResult;
|
||||
}
|
||||
if (!isSuccess) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_XML_PARSE_ERROR, _T(__FUNCTION__) _T(" Loading XML template failed.")));
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
// Configure XML selection namespaces used.
|
||||
pConfigDoc->setProperty(bstr(L"SelectionNamespaces"), variant(L"xmlns:eap-metadata=\"urn:ietf:params:xml:ns:yang:ietf-eap-metadata\" xmlns:eaphostconfig=\"http://www.microsoft.com/provisioning/EapHostConfig\""));
|
||||
|
||||
// Select <Config> node.
|
||||
com_obj<IXMLDOMNode> pXmlElConfig;
|
||||
if (FAILED(eapxml::select_node(pConfigDoc, bstr(L"eaphostconfig:Config"), pXmlElConfig))) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_FOUND, _T(__FUNCTION__) _T(" Error selecting <Config> element.")));
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
// Save configuration.
|
||||
pConfigDoc->setProperty(bstr(L"SelectionNamespaces"), variant(L"xmlns:eap-metadata=\"urn:ietf:params:xml:ns:yang:ietf-eap-metadata\""));
|
||||
try {
|
||||
g_peer.config_blob2xml(dwFlags, pConnectionData, dwConnectionDataSize, pConfigDoc, pXmlElConfig);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
return dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
return dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
|
||||
*ppConfigDoc = pConfigDoc.detach();
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Raises the EAP method's specific connection configuration user interface dialog on the client.
|
||||
///
|
||||
/// \sa [EapPeerInvokeConfigUI function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363614.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerInvokeConfigUI(
|
||||
_In_ const EAP_METHOD_TYPE *pEapType,
|
||||
_In_ HWND hwndParent,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ DWORD dwConnectionDataInSize,
|
||||
_In_count_(dwConnectionDataInSize) const BYTE *pConnectionDataIn,
|
||||
_Out_ DWORD *pdwConnectionDataOutSize,
|
||||
_Out_ BYTE **ppConnectionDataOut,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
UNREFERENCED_PARAMETER(dwFlags);
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
actctx_activator actctx(g_act_ctx);
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!pEapType)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapType is NULL.")));
|
||||
else if (pEapType->eapType.type != EAPMETHOD_TYPE)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" Input EAP type (%d) does not match the supported EAP type (%d)."), (int)pEapType->eapType.type, (int)EAPMETHOD_TYPE).c_str()));
|
||||
else if (pEapType->dwAuthorId != 67532)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)pEapType->dwAuthorId, (int)67532).c_str()));
|
||||
else if (!pConnectionDataIn && dwConnectionDataInSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionDataIn is NULL.")));
|
||||
else if (!pdwConnectionDataOutSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwConnectionDataOutSize is NULL.")));
|
||||
else if (!ppConnectionDataOut)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppConnectionDataOut is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.invoke_config_ui(hwndParent, pConnectionDataIn, dwConnectionDataInSize, ppConnectionDataOut, pdwConnectionDataOutSize);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Raises a custom interactive user interface dialog to obtain user identity information for the EAP method on the client.
|
||||
///
|
||||
/// \sa [EapPeerInvokeIdentityUI function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363615.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerInvokeIdentityUI(
|
||||
_In_ const EAP_METHOD_TYPE *pEapType,
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ HWND hwndParent,
|
||||
_In_ DWORD dwConnectionDataSize,
|
||||
_In_count_(dwConnectionDataSize) const BYTE *pConnectionData,
|
||||
_In_ DWORD dwUserDataSize,
|
||||
_In_count_(dwUserDataSize) const BYTE *pUserData,
|
||||
_Out_ DWORD *pdwUserDataOutSize,
|
||||
_Out_ BYTE **ppUserDataOut,
|
||||
_Out_ LPWSTR *ppwszIdentity,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
actctx_activator actctx(g_act_ctx);
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!pEapType)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapType is NULL.")));
|
||||
else if (pEapType->eapType.type != EAPMETHOD_TYPE)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" Input EAP type (%d) does not match the supported EAP type (%d)."), (int)pEapType->eapType.type, (int)EAPMETHOD_TYPE).c_str()));
|
||||
else if (pEapType->dwAuthorId != 67532)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)pEapType->dwAuthorId, (int)67532).c_str()));
|
||||
else if (!pConnectionData && dwConnectionDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionData is NULL.")));
|
||||
else if (!pUserData && dwUserDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pUserData is NULL.")));
|
||||
else if (!pdwUserDataOutSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwUserDataOutSize is NULL.")));
|
||||
else if (!ppUserDataOut)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppUserDataOut is NULL.")));
|
||||
else if (!ppwszIdentity)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppwszIdentity is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.invoke_identity_ui(hwndParent, dwFlags, pConnectionData, dwConnectionDataSize, pUserData, dwUserDataSize, ppUserDataOut, pdwUserDataOutSize, ppwszIdentity);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
||||
|
||||
|
||||
///
|
||||
/// Raises a custom interactive user interface dialog for the EAP method on the client.
|
||||
///
|
||||
/// \sa [EapPeerInvokeInteractiveUI function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363616.aspx)
|
||||
///
|
||||
DWORD WINAPI EapPeerInvokeInteractiveUI(
|
||||
_In_ const EAP_METHOD_TYPE *pEapType,
|
||||
_In_ HWND hwndParent,
|
||||
_In_ DWORD dwUIContextDataSize,
|
||||
_In_count_(dwUIContextDataSize) const BYTE *pUIContextData,
|
||||
_Out_ DWORD *pdwDataFromInteractiveUISize,
|
||||
_Out_ BYTE **ppDataFromInteractiveUI,
|
||||
_Out_ EAP_ERROR **ppEapError)
|
||||
{
|
||||
DWORD dwResult = ERROR_SUCCESS;
|
||||
event_fn_auto_ret<DWORD> event_auto(g_peer.get_event_fn_auto(__FUNCTION__, dwResult));
|
||||
actctx_activator actctx(g_act_ctx);
|
||||
#ifdef _DEBUG
|
||||
//Sleep(10000);
|
||||
#endif
|
||||
|
||||
// Parameter check
|
||||
if (!ppEapError)
|
||||
return dwResult = ERROR_INVALID_PARAMETER;
|
||||
|
||||
assert(!*ppEapError);
|
||||
|
||||
if (!pEapType)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pEapType is NULL.")));
|
||||
else if (pEapType->eapType.type != EAPMETHOD_TYPE)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" Input EAP type (%d) does not match the supported EAP type (%d)."), (int)pEapType->eapType.type, (int)EAPMETHOD_TYPE).c_str()));
|
||||
else if (pEapType->dwAuthorId != 67532)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)pEapType->dwAuthorId, (int)67532).c_str()));
|
||||
else if (!pUIContextData && dwUIContextDataSize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pUIContextData is NULL.")));
|
||||
else if (!pdwDataFromInteractiveUISize)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwDataFromInteractiveUISize is NULL.")));
|
||||
else if (!ppDataFromInteractiveUI)
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppDataFromInteractiveUI is NULL.")));
|
||||
else {
|
||||
try {
|
||||
g_peer.invoke_interactive_ui(hwndParent, pUIContextData, dwUIContextDataSize, ppDataFromInteractiveUI, pdwDataFromInteractiveUISize);
|
||||
} catch (std::exception &err) {
|
||||
g_peer.log_error(*ppEapError = g_peer.make_error(err));
|
||||
dwResult = (*ppEapError)->dwWinError;
|
||||
} catch (...) {
|
||||
dwResult = ERROR_INVALID_DATA;
|
||||
}
|
||||
}
|
||||
|
||||
return dwResult;
|
||||
}
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
@@ -18,7 +18,7 @@
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "PCH.h"
|
||||
#if defined(__WXMSW__)
|
||||
#pragma comment(lib, "msi.lib")
|
||||
#endif
|
||||
@@ -28,6 +28,7 @@
|
||||
// wxEventMonitorApp
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma warning(suppress: 28251)
|
||||
wxIMPLEMENT_APP(wxEventMonitorApp);
|
||||
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
@@ -18,7 +18,7 @@
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "PCH.h"
|
||||
|
||||
#pragma comment(lib, "tdh.lib")
|
||||
#pragma comment(lib, "Ws2_32.lib")
|
||||
@@ -132,11 +132,8 @@ VOID WINAPI wxEventTraceProcessorThread::EventRecordCallback(_In_ PEVENT_RECORD
|
||||
wxASSERT_MSG(pEvent->UserContext, wxT("thread is NULL"));
|
||||
|
||||
wxEventTraceProcessorThread *_this = ((wxEventTraceProcessorThread*)pEvent->UserContext);
|
||||
|
||||
if (_this->TestDestroy()) {
|
||||
// Event processing is pending destruction.
|
||||
if (!_this || _this->TestDestroy())
|
||||
return;
|
||||
}
|
||||
|
||||
_this->m_parent->QueueEvent(new wxETWEvent(wxEVT_ETW_EVENT, *pEvent));
|
||||
}
|
||||
@@ -168,17 +165,17 @@ wxETWListCtrl::wxETWListCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos
|
||||
m_rec_idx(wxETWEVENT_RECORDS_MAX),
|
||||
wxListCtrl(parent, id, pos, size, style, validator, name)
|
||||
{
|
||||
this->AppendColumn(_("Time" ), wxLIST_FORMAT_LEFT, 160);
|
||||
this->AppendColumn(_("PID" ), wxLIST_FORMAT_LEFT, 50);
|
||||
this->AppendColumn(_("TID" ), wxLIST_FORMAT_LEFT, 50);
|
||||
this->AppendColumn(_("Source"), wxLIST_FORMAT_LEFT, 80);
|
||||
this->AppendColumn(_("Event" ), wxLIST_FORMAT_LEFT, 350);
|
||||
this->AppendColumn(_("Time" ), wxLIST_FORMAT_LEFT, FromDIP(160));
|
||||
this->AppendColumn(_("PID" ), wxLIST_FORMAT_LEFT, FromDIP( 50));
|
||||
this->AppendColumn(_("TID" ), wxLIST_FORMAT_LEFT, FromDIP( 50));
|
||||
this->AppendColumn(_("Source"), wxLIST_FORMAT_LEFT, FromDIP( 80));
|
||||
this->AppendColumn(_("Event" ), wxLIST_FORMAT_LEFT, FromDIP(350));
|
||||
|
||||
// Maximum expected column widths for pre-formatted row display
|
||||
m_col_format_width[0] = 26;
|
||||
m_col_format_width[1] = 5;
|
||||
m_col_format_width[2] = 5;
|
||||
m_col_format_width[3] = std::max<int>(std::max<int>(_countof("EapHost"), _countof("Schannel")), _countof(PRODUCT_NAME_STR)) - 1;
|
||||
m_col_format_width[3] = std::max<size_t>(std::max<size_t>(_countof("EapHost"), _countof("Schannel")), _countof(PRODUCT_NAME_STR)) - 1;
|
||||
m_col_format_width[4] = 0;
|
||||
|
||||
// Prepare all possible item attributes.
|
||||
@@ -204,11 +201,11 @@ wxETWListCtrl::wxETWListCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos
|
||||
ULONG ulResult;
|
||||
for (unsigned int i = 0; ; i++) {
|
||||
//tstring log_file(tstring_printf(i ? _T("test.etl") : _T("test %u.etl"), i));
|
||||
tstring name(tstring_printf(i ? _T(PRODUCT_NAME_STR) _T(" Event Monitor Session %u") : _T(PRODUCT_NAME_STR) _T(" Event Monitor Session"), i));
|
||||
tstring session_name(tstring_printf(i ? _T(PRODUCT_NAME_STR) _T(" Event Monitor Session %u") : _T(PRODUCT_NAME_STR) _T(" Event Monitor Session"), i));
|
||||
|
||||
// Allocate session properties.
|
||||
ULONG
|
||||
ulSizeName = (ULONG)((name .length() + 1)*sizeof(TCHAR)),
|
||||
ulSizeName = (ULONG)((session_name.length() + 1)*sizeof(TCHAR)),
|
||||
//ulSizeLogFile = (ULONG)((log_file.length() + 1)*sizeof(TCHAR)),
|
||||
ulSize = sizeof(EVENT_TRACE_PROPERTIES) + ulSizeName /*+ ulSizeLogFile*/;
|
||||
unique_ptr<EVENT_TRACE_PROPERTIES> properties(reinterpret_cast<EVENT_TRACE_PROPERTIES*>(new char[ulSize]));
|
||||
@@ -219,20 +216,24 @@ wxETWListCtrl::wxETWListCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos
|
||||
properties->Wnode.BufferSize = ulSize;
|
||||
properties->Wnode.Flags = WNODE_FLAG_TRACED_GUID;
|
||||
properties->Wnode.ClientContext = 1; //QPC clock resolution
|
||||
CoCreateGuid(&(properties->Wnode.Guid));
|
||||
HRESULT hr = CoCreateGuid(&(properties->Wnode.Guid));
|
||||
if (FAILED(hr)) {
|
||||
wxLogError(winstd::tstring_printf(wxT("error 0x%08x generating GUID"), hr).c_str());
|
||||
continue;
|
||||
}
|
||||
properties->LogFileMode = /*EVENT_TRACE_FILE_MODE_SEQUENTIAL |*/ EVENT_TRACE_REAL_TIME_MODE;
|
||||
properties->MaximumFileSize = 1; // 1 MB
|
||||
properties->LoggerNameOffset = sizeof(EVENT_TRACE_PROPERTIES);
|
||||
//properties->LogFileNameOffset = sizeof(EVENT_TRACE_PROPERTIES) + ulSizeName;
|
||||
//memcpy(reinterpret_cast<char*>(properties.get()) + properties->LogFileNameOffset, log_file.c_str(), ulSizeLogFile);
|
||||
|
||||
if ((ulResult = m_session.create(name.c_str(), properties.get())) == ERROR_SUCCESS) {
|
||||
if ((ulResult = m_session.create(session_name.c_str(), properties.get())) == ERROR_SUCCESS) {
|
||||
break;
|
||||
} else if (ulResult == ERROR_ACCESS_DENIED) {
|
||||
wxLogError(_("Access denied creating event session: you need administrative privileges (Run As Administrator) or be a member of Performance Log Users group to start event tracing session."));
|
||||
return;
|
||||
} else if (ulResult == ERROR_ALREADY_EXISTS) {
|
||||
wxLogDebug(_("The %s event session already exists."), name);
|
||||
wxLogDebug(_("The %s event session already exists."), session_name);
|
||||
// Do not despair... Retry with a new session name and ID.
|
||||
continue;
|
||||
} else {
|
||||
@@ -776,13 +777,13 @@ static tstring MapToString(_In_ const EVENT_MAP_INFO *pMapInfo, _In_ ULONG ulDat
|
||||
((pMapInfo->Flag & EVENTMAP_INFO_FLAG_WBEM_VALUEMAP ) && (pMapInfo->Flag & ~EVENTMAP_INFO_FLAG_WBEM_VALUEMAP) != EVENTMAP_INFO_FLAG_WBEM_FLAG))
|
||||
{
|
||||
if ((pMapInfo->Flag & EVENTMAP_INFO_FLAG_WBEM_NO_MAP) == EVENTMAP_INFO_FLAG_WBEM_NO_MAP)
|
||||
return tstring_printf(_T("%ls"), (PBYTE)pMapInfo + pMapInfo->MapEntryArray[ulData].OutputOffset);
|
||||
return tstring_printf(_T("%ls"), (LPCWSTR)((PBYTE)pMapInfo + pMapInfo->MapEntryArray[ulData].OutputOffset));
|
||||
else {
|
||||
for (ULONG i = 0; ; i++) {
|
||||
if (i >= pMapInfo->EntryCount)
|
||||
return tstring_printf(_T("%lu"), ulData);
|
||||
else if (pMapInfo->MapEntryArray[i].Value == ulData)
|
||||
return tstring_printf(_T("%ls"), (PBYTE)pMapInfo + pMapInfo->MapEntryArray[i].OutputOffset);
|
||||
return tstring_printf(_T("%ls"), (LPCWSTR)((PBYTE)pMapInfo + pMapInfo->MapEntryArray[i].OutputOffset));
|
||||
}
|
||||
}
|
||||
} else if (
|
||||
@@ -817,7 +818,7 @@ static tstring DataToString(_In_ USHORT InType, _In_ USHORT OutType, _In_count_(
|
||||
case TDH_INTYPE_UNICODESTRING:
|
||||
case TDH_INTYPE_NONNULLTERMINATEDSTRING:
|
||||
case TDH_INTYPE_UNICODECHAR:
|
||||
return tstring_printf(_T("%.*ls"), nDataSize/sizeof(WCHAR), pData);
|
||||
return tstring_printf(_T("%.*ls"), (unsigned int)(nDataSize/sizeof(WCHAR)), (LPCWSTR)pData);
|
||||
|
||||
case TDH_INTYPE_ANSISTRING:
|
||||
case TDH_INTYPE_NONNULLTERMINATEDANSISTRING:
|
||||
@@ -918,6 +919,7 @@ static tstring DataToString(_In_ USHORT InType, _In_ USHORT OutType, _In_count_(
|
||||
case TDH_INTYPE_BINARY:
|
||||
switch (OutType) {
|
||||
case TDH_OUTTYPE_IPV6: {
|
||||
#pragma warning(suppress: 6387) // ntdll.dll *must* exist.
|
||||
auto RtlIpv6AddressToString = (LPTSTR(NTAPI*)(const IN6_ADDR*, LPTSTR))GetProcAddress(GetModuleHandle(_T("ntdll.dll")),
|
||||
#ifdef _UNICODE
|
||||
"RtlIpv6AddressToStringW"
|
||||
@@ -945,8 +947,12 @@ static tstring DataToString(_In_ USHORT InType, _In_ USHORT OutType, _In_count_(
|
||||
case TDH_INTYPE_GUID: {
|
||||
assert(nDataSize >= sizeof(GUID));
|
||||
WCHAR szGuid[39];
|
||||
StringFromGUID2(*(GUID*)pData, szGuid, _countof(szGuid));
|
||||
return tstring_printf(_T("%ls"), szGuid);
|
||||
if (StringFromGUID2(*(GUID*)pData, szGuid, _countof(szGuid)))
|
||||
return tstring_printf(_T("%ls"), szGuid);
|
||||
else {
|
||||
assert(0);
|
||||
return _T("(GUID)");
|
||||
}
|
||||
}
|
||||
|
||||
case TDH_INTYPE_POINTER:
|
||||
@@ -995,7 +1001,7 @@ static tstring DataToString(_In_ USHORT InType, _In_ USHORT OutType, _In_count_(
|
||||
// 32-bit computer and 16 bytes on a 64-bit computer.
|
||||
// Doubling the pointer size handles both cases.
|
||||
assert(nDataSize >= (SIZE_T)nPtrSize * 2);
|
||||
return (PULONG)pData > 0 ? DataToString(TDH_INTYPE_SID, OutType, pData + nPtrSize * 2, nDataSize - nPtrSize * 2, pMapInfo, nPtrSize) : _T("(WBEM SID)");
|
||||
return (PULONG)pData > 0 ? DataToString(TDH_INTYPE_SID, OutType, pData + (SIZE_T)nPtrSize * 2, nDataSize - (SIZE_T)nPtrSize * 2, pMapInfo, nPtrSize) : _T("(WBEM SID)");
|
||||
|
||||
case TDH_INTYPE_SID: {
|
||||
assert(nDataSize >= sizeof(SID));
|
||||
@@ -1027,7 +1033,7 @@ static ULONG GetArraySize(PEVENT_RECORD pEvent, PTRACE_EVENT_INFO pInfo, ULONG i
|
||||
ULONG ulResult;
|
||||
|
||||
// Get array count property.
|
||||
PROPERTY_DATA_DESCRIPTOR data_desc = { (ULONGLONG)(reinterpret_cast<LPBYTE>(pInfo) + pInfo->EventPropertyInfoArray[pInfo->EventPropertyInfoArray[i].countPropertyIndex].NameOffset), ULONG_MAX };
|
||||
PROPERTY_DATA_DESCRIPTOR data_desc = { (ULONGLONG)pInfo + pInfo->EventPropertyInfoArray[pInfo->EventPropertyInfoArray[i].countPropertyIndex].NameOffset, ULONG_MAX };
|
||||
vector<unsigned char> count;
|
||||
if ((ulResult = TdhGetProperty(pEvent, 0, NULL, 1, &data_desc, count)) != ERROR_SUCCESS)
|
||||
return ulResult;
|
||||
@@ -1067,7 +1073,7 @@ static tstring PropertyToString(PEVENT_RECORD pEvent, PTRACE_EVENT_INFO pInfo, U
|
||||
if (out_nonfirst) out += _T(", "); else out_nonfirst = true;
|
||||
out += _T('(');
|
||||
for (USHORT j = pInfo->EventPropertyInfoArray[ulPropIndex].structType.StructStartIndex, usLastMember = pInfo->EventPropertyInfoArray[ulPropIndex].structType.StructStartIndex + pInfo->EventPropertyInfoArray[ulPropIndex].structType.NumOfStructMembers; j < usLastMember; j++) {
|
||||
out += tstring_printf(_T("%ls: "), reinterpret_cast<LPBYTE>(pInfo) + pInfo->EventPropertyInfoArray[j].NameOffset);
|
||||
out += tstring_printf(_T("%ls: "), (LPCWSTR)(reinterpret_cast<LPBYTE>(pInfo) + pInfo->EventPropertyInfoArray[j].NameOffset));
|
||||
out += PropertyToString(pEvent, pInfo, j, reinterpret_cast<LPWSTR>(reinterpret_cast<LPBYTE>(pInfo) + pInfo->EventPropertyInfoArray[ulPropIndex].NameOffset), k, nPtrSize);
|
||||
}
|
||||
out += _T(')');
|
||||
@@ -1086,12 +1092,12 @@ static tstring PropertyToString(PEVENT_RECORD pEvent, PTRACE_EVENT_INFO pInfo, U
|
||||
// The first descriptor in the array identifies the name of the structure and the second
|
||||
// descriptor defines the member of the structure whose data you want to retrieve.
|
||||
PROPERTY_DATA_DESCRIPTOR data_desc[2] = {
|
||||
{ (ULONGLONG)pStructureName , ulStructIndex },
|
||||
{ (ULONGLONG)(reinterpret_cast<LPBYTE>(pInfo) + pInfo->EventPropertyInfoArray[ulPropIndex].NameOffset), k }
|
||||
{ (ULONGLONG)pStructureName , ulStructIndex },
|
||||
{ (ULONGLONG)pInfo + pInfo->EventPropertyInfoArray[ulPropIndex].NameOffset, k }
|
||||
};
|
||||
ulResult = TdhGetProperty(pEvent, 0, NULL, _countof(data_desc), data_desc, data);
|
||||
} else {
|
||||
PROPERTY_DATA_DESCRIPTOR data_desc = { (ULONGLONG)(reinterpret_cast<LPBYTE>(pInfo) + pInfo->EventPropertyInfoArray[ulPropIndex].NameOffset), k };
|
||||
PROPERTY_DATA_DESCRIPTOR data_desc = { (ULONGLONG)pInfo + pInfo->EventPropertyInfoArray[ulPropIndex].NameOffset, k };
|
||||
ulResult = TdhGetProperty(pEvent, 0, NULL, 1, &data_desc, data);
|
||||
}
|
||||
if (ulResult == ERROR_EVT_INVALID_EVENT_DATA) {
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
@@ -150,7 +150,7 @@ protected:
|
||||
|
||||
private:
|
||||
/// \cond internal
|
||||
static VOID WINAPI EventRecordCallback(PEVENT_RECORD pEvent);
|
||||
static VOID WINAPI EventRecordCallback(_In_ PEVENT_RECORD pEvent);
|
||||
/// \endcond
|
||||
|
||||
protected:
|
||||
|
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Label="PropertySheets" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<OutDir>..\output\$(Platform).$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;..\lib\wxExtend\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup />
|
||||
</Project>
|
Binary file not shown.
@@ -1,6 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -9,6 +13,10 @@
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
@@ -22,66 +30,88 @@
|
||||
<ProjectGuid>{E0D0725B-B2FC-4225-9481-CA9B1B6306F2}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>EventMonitor</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\include\Win32.props" />
|
||||
<Import Project="..\include\Debug.props" />
|
||||
<Import Project="EventMonitor.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\include\x64.props" />
|
||||
<Import Project="..\include\Debug.props" />
|
||||
<Import Project="EventMonitor.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\include\Win32.props" />
|
||||
<Import Project="..\include\Release.props" />
|
||||
<Import Project="EventMonitor.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\include\x64.props" />
|
||||
<Import Project="..\include\Release.props" />
|
||||
<Import Project="EventMonitor.props" />
|
||||
<Import Project="..\include\$(Platform).props" />
|
||||
<Import Project="..\include\$(Configuration).props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<OutDir>..\output\$(Platform).$(Configuration)\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;..\lib\wxExtend\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="EventMonitor.rc" />
|
||||
</ItemGroup>
|
||||
@@ -90,7 +120,7 @@
|
||||
<ClInclude Include="ETWLog.h" />
|
||||
<ClInclude Include="Frame.h" />
|
||||
<ClInclude Include="LogPanel.h" />
|
||||
<ClInclude Include="StdAfx.h" />
|
||||
<ClInclude Include="PCH.h" />
|
||||
<ClInclude Include="res\wxEventMonitor_UI.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -98,11 +128,8 @@
|
||||
<ClCompile Include="ETWLog.cpp" />
|
||||
<ClCompile Include="Frame.cpp" />
|
||||
<ClCompile Include="LogPanel.cpp" />
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
<ClCompile Include="PCH.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="res\wxEventMonitor_UI.cpp" />
|
||||
</ItemGroup>
|
||||
@@ -110,10 +137,10 @@
|
||||
<ProjectReference Include="..\lib\Events\build\Events.vcxproj">
|
||||
<Project>{d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\WinStd\build\WinStd.vcxproj">
|
||||
<ProjectReference Include="..\lib\WinStd\build\WinStd-16.0.vcxproj">
|
||||
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\lib\wxExtend\build\wxExtendLib.vcxproj">
|
||||
<ProjectReference Include="..\lib\wxExtend\build\wxExtendLib-16.0.vcxproj">
|
||||
<Project>{d3e29951-d9f5-486d-a167-20ae8e90b1fa}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
@@ -130,6 +157,7 @@
|
||||
<POCompile Include="locale\de_DE.po" />
|
||||
<POCompile Include="locale\el_GR.po" />
|
||||
<POCompile Include="locale\es_ES.po" />
|
||||
<POCompile Include="locale\et_EE.po" />
|
||||
<POCompile Include="locale\eu_ES.po" />
|
||||
<POCompile Include="locale\fi_FI.po" />
|
||||
<POCompile Include="locale\fr_CA.po" />
|
||||
@@ -147,6 +175,7 @@
|
||||
<POCompile Include="locale\pt_PT.po" />
|
||||
<POCompile Include="locale\ru_RU.po" />
|
||||
<POCompile Include="locale\sk_SK.po" />
|
||||
<POCompile Include="locale\ro_RO.po" />
|
||||
<POCompile Include="locale\sl_SI.po" />
|
||||
<POCompile Include="locale\sr_RS.po" />
|
||||
<POCompile Include="locale\sv_SE.po" />
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
@@ -24,7 +24,7 @@
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="StdAfx.h">
|
||||
<ClInclude Include="PCH.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="App.h">
|
||||
@@ -44,7 +44,7 @@
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="StdAfx.cpp">
|
||||
<ClCompile Include="PCH.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="App.cpp">
|
||||
@@ -75,6 +75,9 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<POCompile Include="locale\ro_RO.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\sl_SI.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
@@ -162,5 +165,8 @@
|
||||
<POCompile Include="locale\ko_KR.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
<POCompile Include="locale\et_EE.po">
|
||||
<Filter>Resource Files\Localization</Filter>
|
||||
</POCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
@@ -18,7 +18,7 @@
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "PCH.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
@@ -26,10 +26,10 @@
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
wxEventMonitorFrame::wxEventMonitorFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style, const wxString& name) :
|
||||
wxFrame(parent, id, title, pos, size, style, name)
|
||||
wxEventMonitorFrame::wxEventMonitorFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, long style, const wxString& name) :
|
||||
wxFrame(parent, id, title, pos, parent->FromDIP(wxSize(600,400)), style, name)
|
||||
{
|
||||
this->SetSizeHints(wxSize(150,150), wxDefaultSize);
|
||||
this->SetSizeHints(FromDIP(wxSize(150,150)), wxDefaultSize);
|
||||
m_mgr.SetManagedWindow(this);
|
||||
m_mgr.SetFlags(wxAUI_MGR_DEFAULT);
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
@@ -34,6 +34,9 @@ class wxPersistentEventMonitorFrame;
|
||||
|
||||
#include <WinStd/Win.h>
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: 26444)
|
||||
|
||||
|
||||
/// \addtogroup EventMonitor
|
||||
/// @{
|
||||
@@ -72,7 +75,7 @@ public:
|
||||
/// \param[in] style The window style. See `wxFrame` class description.
|
||||
/// \param[in] name The name of the window. This parameter is used to associate a name with the item, allowing the application user to set Motif resource values for individual windows.
|
||||
///
|
||||
wxEventMonitorFrame(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Event Monitor"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(600,400), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL, const wxString& name = wxT("EventMonitor"));
|
||||
wxEventMonitorFrame(wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Event Monitor"), const wxPoint& pos = wxDefaultPosition, long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL, const wxString& name = wxT("EventMonitor"));
|
||||
|
||||
///
|
||||
/// Destructor
|
||||
@@ -173,3 +176,5 @@ inline wxPersistentObject *wxCreatePersistentObject(wxEventMonitorFrame *wnd)
|
||||
}
|
||||
|
||||
/// @}
|
||||
|
||||
#pragma warning(pop)
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
@@ -18,7 +18,7 @@
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "PCH.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
|
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
||||
@@ -18,4 +18,4 @@
|
||||
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "PCH.h"
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2015-2016 Amebis
|
||||
/*
|
||||
Copyright 2015-2020 Amebis
|
||||
Copyright 2016 GÉANT
|
||||
|
||||
This file is part of GÉANTLink.
|
@@ -2,22 +2,21 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2016-09-19 11:14+0200\n"
|
||||
"POT-Creation-Date: 2019-08-12 14:04+0200\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
|
||||
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.9\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"Language: en_US\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
|
||||
#: App.cpp:61 Frame.h:67 MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: App.cpp:61 Frame.h:75 MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "Event Monitor"
|
||||
msgstr ""
|
||||
@@ -27,41 +26,41 @@ msgstr ""
|
||||
msgid "Error opening event trace (error %u)."
|
||||
msgstr ""
|
||||
|
||||
#: ETWLog.cpp:167
|
||||
#: ETWLog.cpp:171
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
|
||||
#: ETWLog.cpp:168
|
||||
#: ETWLog.cpp:172
|
||||
msgid "PID"
|
||||
msgstr ""
|
||||
|
||||
#: ETWLog.cpp:169
|
||||
#: ETWLog.cpp:173
|
||||
msgid "TID"
|
||||
msgstr ""
|
||||
|
||||
#: ETWLog.cpp:170
|
||||
#: ETWLog.cpp:174
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: ETWLog.cpp:171
|
||||
#: ETWLog.cpp:175
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
|
||||
#: ETWLog.cpp:228
|
||||
#: ETWLog.cpp:232
|
||||
msgid "Access denied creating event session: you need administrative privileges (Run As Administrator) or be a member of Performance Log Users group to start event tracing session."
|
||||
msgstr ""
|
||||
|
||||
#: ETWLog.cpp:231
|
||||
#, c-format
|
||||
msgid "The %s event session already exists."
|
||||
msgstr ""
|
||||
|
||||
#: ETWLog.cpp:235
|
||||
#, c-format
|
||||
msgid "The %s event session already exists."
|
||||
msgstr ""
|
||||
|
||||
#: ETWLog.cpp:239
|
||||
#, c-format
|
||||
msgid "Error creating event session (error %u)."
|
||||
msgstr ""
|
||||
|
||||
#: ETWLog.cpp:251 ETWLog.cpp:267 ETWLog.cpp:281
|
||||
#: ETWLog.cpp:255 ETWLog.cpp:271 ETWLog.cpp:285
|
||||
#, c-format
|
||||
msgid "Error enabling %s event provider (error %u)."
|
||||
msgstr ""
|
||||
@@ -205,6 +204,8 @@ msgstr ""
|
||||
msgid "Trace Log"
|
||||
msgstr ""
|
||||
|
||||
#: MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
@@ -212,6 +213,7 @@ msgstr ""
|
||||
msgid "Real-time display of internal events"
|
||||
msgstr ""
|
||||
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "EVENTM~1|GÉANTLink Event Monitor"
|
||||
|
@@ -1,10 +1,12 @@
|
||||
# Translators:
|
||||
# University of Ruse <support@uni-ruse.bg>, 2016
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Last-Translator: University of Ruse <support@uni-ruse.bg>, 2016\n"
|
||||
"Language-Team: Bulgarian (Bulgaria) (https://www.transifex.com/eduroam_devel/teams/11799/bg_BG/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@@ -1,10 +1,12 @@
|
||||
# Translators:
|
||||
# eduki <ecercos@xtec.cat>, 2016
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"POT-Creation-Date: 2019-08-12 14:04+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Last-Translator: eduki <ecercos@xtec.cat>, 2016\n"
|
||||
"Language-Team: Catalan (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/ca_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -12,65 +14,44 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ca_ES\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
"X-Poedit-Basepath: ../../..\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: master/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-1: ver1.1/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-2: ver1.0/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: master/EventMonitor/App.cpp:61 ver1.0/EventMonitor/App.cpp:61
|
||||
#: ver1.1/EventMonitor/App.cpp:61 master/EventMonitor/Frame.h:75
|
||||
#: ver1.0/EventMonitor/Frame.h:75 ver1.1/EventMonitor/Frame.h:75
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: App.cpp:61 Frame.h:75 MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "Event Monitor"
|
||||
msgstr "Monitor de Successos"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:83 ver1.0/EventMonitor/ETWLog.cpp:83
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:83
|
||||
#: ETWLog.cpp:83
|
||||
#, c-format
|
||||
msgid "Error opening event trace (error %u)."
|
||||
msgstr "Error obrint la traça (error %u)."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:171 ver1.0/EventMonitor/ETWLog.cpp:171
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:171
|
||||
#: ETWLog.cpp:171
|
||||
msgid "Time"
|
||||
msgstr "Temps"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:172 ver1.0/EventMonitor/ETWLog.cpp:172
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:172
|
||||
#: ETWLog.cpp:172
|
||||
msgid "PID"
|
||||
msgstr "PID"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:173 ver1.0/EventMonitor/ETWLog.cpp:173
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:173
|
||||
#: ETWLog.cpp:173
|
||||
msgid "TID"
|
||||
msgstr "TID"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:174 ver1.0/EventMonitor/ETWLog.cpp:174
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:174
|
||||
#: ETWLog.cpp:174
|
||||
msgid "Source"
|
||||
msgstr "Font"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:175 ver1.0/EventMonitor/ETWLog.cpp:175
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:175
|
||||
#: ETWLog.cpp:175
|
||||
msgid "Event"
|
||||
msgstr "Succés"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:232 ver1.0/EventMonitor/ETWLog.cpp:232
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:232
|
||||
#: ETWLog.cpp:232
|
||||
msgid ""
|
||||
"Access denied creating event session: you need administrative privileges "
|
||||
"(Run As Administrator) or be a member of Performance Log Users group to "
|
||||
@@ -81,264 +62,171 @@ msgstr ""
|
||||
"d'usuaris del Log de Rendiment per iniciar una sessió de traces de "
|
||||
"successos."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:235 ver1.0/EventMonitor/ETWLog.cpp:235
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:235
|
||||
#: ETWLog.cpp:235
|
||||
#, c-format
|
||||
msgid "The %s event session already exists."
|
||||
msgstr "La sessió de successos %s ja existeix."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:239 ver1.0/EventMonitor/ETWLog.cpp:239
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:239
|
||||
#: ETWLog.cpp:239
|
||||
#, c-format
|
||||
msgid "Error creating event session (error %u)."
|
||||
msgstr "Error creant la sessió de successos (error %u)."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:255 master/EventMonitor/ETWLog.cpp:271
|
||||
#: master/EventMonitor/ETWLog.cpp:285 ver1.0/EventMonitor/ETWLog.cpp:255
|
||||
#: ver1.0/EventMonitor/ETWLog.cpp:271 ver1.0/EventMonitor/ETWLog.cpp:285
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:255 ver1.1/EventMonitor/ETWLog.cpp:271
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:285
|
||||
#: ETWLog.cpp:255 ETWLog.cpp:271 ETWLog.cpp:285
|
||||
#, c-format
|
||||
msgid "Error enabling %s event provider (error %u)."
|
||||
msgstr "Error habilitant el proveidor de successos %s (error %u)."
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:48 master/EventMonitor/Frame.cpp:108
|
||||
#: master/EventMonitor/Frame.cpp:113 master/EventMonitor/Frame.cpp:168
|
||||
#: master/EventMonitor/Frame.cpp:170 ver1.0/EventMonitor/Frame.cpp:48
|
||||
#: ver1.0/EventMonitor/Frame.cpp:108 ver1.0/EventMonitor/Frame.cpp:113
|
||||
#: ver1.0/EventMonitor/Frame.cpp:168 ver1.0/EventMonitor/Frame.cpp:170
|
||||
#: ver1.1/EventMonitor/Frame.cpp:48 ver1.1/EventMonitor/Frame.cpp:108
|
||||
#: ver1.1/EventMonitor/Frame.cpp:113 ver1.1/EventMonitor/Frame.cpp:168
|
||||
#: ver1.1/EventMonitor/Frame.cpp:170
|
||||
#: Frame.cpp:48 Frame.cpp:108 Frame.cpp:113 Frame.cpp:168 Frame.cpp:170
|
||||
#, c-format
|
||||
msgid "Toggles display of %s records"
|
||||
msgstr "Canvia la visualització de %s registres"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
|
||||
#: ver1.1/EventMonitor/Frame.cpp:65
|
||||
#: Frame.cpp:65
|
||||
msgid "E&xit"
|
||||
msgstr "S&ortida"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
|
||||
#: ver1.1/EventMonitor/Frame.cpp:65
|
||||
#: Frame.cpp:65
|
||||
msgid "Quits this program"
|
||||
msgstr "Surt del programa"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:69 ver1.0/EventMonitor/Frame.cpp:69
|
||||
#: ver1.1/EventMonitor/Frame.cpp:69
|
||||
#: Frame.cpp:69
|
||||
msgid "&Program"
|
||||
msgstr "&Programa"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:73
|
||||
#: ver1.1/EventMonitor/Frame.cpp:73
|
||||
#: Frame.cpp:73
|
||||
msgid "&Copy"
|
||||
msgstr "&Copia"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:73 master/EventMonitor/Frame.cpp:154
|
||||
#: ver1.0/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:154
|
||||
#: ver1.1/EventMonitor/Frame.cpp:73 ver1.1/EventMonitor/Frame.cpp:154
|
||||
#: Frame.cpp:73 Frame.cpp:154
|
||||
msgid "Copies selected records to clipboard"
|
||||
msgstr "Copia els registres seleccionats al portapapers"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/Frame.cpp:78
|
||||
#: ver1.1/EventMonitor/Frame.cpp:78
|
||||
#: Frame.cpp:78
|
||||
msgid "Copy A&ll"
|
||||
msgstr "Copia T&ot"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:78 master/EventMonitor/Frame.cpp:156
|
||||
#: ver1.0/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/Frame.cpp:156
|
||||
#: ver1.1/EventMonitor/Frame.cpp:78 ver1.1/EventMonitor/Frame.cpp:156
|
||||
#: Frame.cpp:78 Frame.cpp:156
|
||||
msgid "Copies all records to clipboard (including hidden)"
|
||||
msgstr "Copia tots els registres al portapapers (incloent els amagats)"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:83 master/EventMonitor/Frame.cpp:158
|
||||
#: ver1.0/EventMonitor/Frame.cpp:83 ver1.0/EventMonitor/Frame.cpp:158
|
||||
#: ver1.1/EventMonitor/Frame.cpp:83 ver1.1/EventMonitor/Frame.cpp:158
|
||||
#: Frame.cpp:83 Frame.cpp:158
|
||||
msgid "Clear"
|
||||
msgstr "Neteja"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:83 master/EventMonitor/Frame.cpp:158
|
||||
#: ver1.0/EventMonitor/Frame.cpp:83 ver1.0/EventMonitor/Frame.cpp:158
|
||||
#: ver1.1/EventMonitor/Frame.cpp:83 ver1.1/EventMonitor/Frame.cpp:158
|
||||
#: Frame.cpp:83 Frame.cpp:158
|
||||
msgid "Clears all records from the log"
|
||||
msgstr "Esborra tots els registres del log"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
|
||||
#: ver1.1/EventMonitor/Frame.cpp:90
|
||||
#: Frame.cpp:90
|
||||
msgid "Select &All"
|
||||
msgstr "Selecciona-ho &Tot"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
|
||||
#: ver1.1/EventMonitor/Frame.cpp:90
|
||||
#: Frame.cpp:90
|
||||
msgid "Selects all visible records"
|
||||
msgstr "Selecciona tots els registres visibles"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
|
||||
#: ver1.1/EventMonitor/Frame.cpp:94
|
||||
#: Frame.cpp:94
|
||||
msgid "Select &None"
|
||||
msgstr "&Esborrar selecció"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
|
||||
#: ver1.1/EventMonitor/Frame.cpp:94
|
||||
#: Frame.cpp:94
|
||||
msgid "Clears record selection"
|
||||
msgstr "Esborra la selecció de registres"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:97 master/EventMonitor/Frame.cpp:142
|
||||
#: ver1.0/EventMonitor/Frame.cpp:97 ver1.0/EventMonitor/Frame.cpp:142
|
||||
#: ver1.1/EventMonitor/Frame.cpp:97 ver1.1/EventMonitor/Frame.cpp:142
|
||||
#: Frame.cpp:97 Frame.cpp:142
|
||||
msgid "&Edit"
|
||||
msgstr "&Edita"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:101
|
||||
#: ver1.1/EventMonitor/Frame.cpp:101
|
||||
#: Frame.cpp:101
|
||||
msgid "Auto &Scroll"
|
||||
msgstr "Auto &Scroll"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:101 master/EventMonitor/Frame.cpp:164
|
||||
#: ver1.0/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:164
|
||||
#: ver1.1/EventMonitor/Frame.cpp:101 ver1.1/EventMonitor/Frame.cpp:164
|
||||
#: Frame.cpp:101 Frame.cpp:164
|
||||
msgid "Automatically scrolls to the most recent records as they come-in"
|
||||
msgstr "Mostra automàticament els registres més recents així que arriben"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:123 master/EventMonitor/Frame.cpp:176
|
||||
#: ver1.0/EventMonitor/Frame.cpp:123 ver1.0/EventMonitor/Frame.cpp:176
|
||||
#: ver1.1/EventMonitor/Frame.cpp:123 ver1.1/EventMonitor/Frame.cpp:176
|
||||
#: Frame.cpp:123 Frame.cpp:176
|
||||
msgid "Verbose"
|
||||
msgstr "Detallat"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:123 master/EventMonitor/Frame.cpp:176
|
||||
#: ver1.0/EventMonitor/Frame.cpp:123 ver1.0/EventMonitor/Frame.cpp:176
|
||||
#: ver1.1/EventMonitor/Frame.cpp:123 ver1.1/EventMonitor/Frame.cpp:176
|
||||
#: Frame.cpp:123 Frame.cpp:176
|
||||
msgid "Displays all levels of records"
|
||||
msgstr "Mostra tots els nivells de registre"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:127 master/EventMonitor/Frame.cpp:178
|
||||
#: ver1.0/EventMonitor/Frame.cpp:127 ver1.0/EventMonitor/Frame.cpp:178
|
||||
#: ver1.1/EventMonitor/Frame.cpp:127 ver1.1/EventMonitor/Frame.cpp:178
|
||||
#: Frame.cpp:127 Frame.cpp:178
|
||||
msgid "Informational"
|
||||
msgstr "Informatiu"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:127 master/EventMonitor/Frame.cpp:178
|
||||
#: ver1.0/EventMonitor/Frame.cpp:127 ver1.0/EventMonitor/Frame.cpp:178
|
||||
#: ver1.1/EventMonitor/Frame.cpp:127 ver1.1/EventMonitor/Frame.cpp:178
|
||||
#: Frame.cpp:127 Frame.cpp:178
|
||||
msgid "Displays all records up to informational level"
|
||||
msgstr "Mostra els registres fins al nivell informatiu"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:131 master/EventMonitor/Frame.cpp:180
|
||||
#: ver1.0/EventMonitor/Frame.cpp:131 ver1.0/EventMonitor/Frame.cpp:180
|
||||
#: ver1.1/EventMonitor/Frame.cpp:131 ver1.1/EventMonitor/Frame.cpp:180
|
||||
#: Frame.cpp:131 Frame.cpp:180
|
||||
msgid "Warning"
|
||||
msgstr "Alerta"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:131 master/EventMonitor/Frame.cpp:180
|
||||
#: ver1.0/EventMonitor/Frame.cpp:131 ver1.0/EventMonitor/Frame.cpp:180
|
||||
#: ver1.1/EventMonitor/Frame.cpp:131 ver1.1/EventMonitor/Frame.cpp:180
|
||||
#: Frame.cpp:131 Frame.cpp:180
|
||||
msgid "Displays all records up to warning level"
|
||||
msgstr "Mostra els registres fins al nivell d'alerta"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:135 master/EventMonitor/Frame.cpp:182
|
||||
#: ver1.0/EventMonitor/Frame.cpp:135 ver1.0/EventMonitor/Frame.cpp:182
|
||||
#: ver1.1/EventMonitor/Frame.cpp:135 ver1.1/EventMonitor/Frame.cpp:182
|
||||
#: Frame.cpp:135 Frame.cpp:182
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:135 master/EventMonitor/Frame.cpp:182
|
||||
#: ver1.0/EventMonitor/Frame.cpp:135 ver1.0/EventMonitor/Frame.cpp:182
|
||||
#: ver1.1/EventMonitor/Frame.cpp:135 ver1.1/EventMonitor/Frame.cpp:182
|
||||
#: Frame.cpp:135 Frame.cpp:182
|
||||
msgid "Displays error level records only"
|
||||
msgstr "Mostra només els registres d'error"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: ver1.0/EventMonitor/Frame.cpp:142 ver1.0/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: Frame.cpp:142 Frame.cpp:146
|
||||
#, c-format
|
||||
msgid "%s toolbar"
|
||||
msgstr "Barra %s"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: ver1.0/EventMonitor/Frame.cpp:142 ver1.0/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: Frame.cpp:142 Frame.cpp:146
|
||||
#, c-format
|
||||
msgid "Toggles display of %s toolbar"
|
||||
msgstr "Alterna la visió de la barra %s"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: master/EventMonitor/Frame.cpp:185 ver1.0/EventMonitor/Frame.cpp:142
|
||||
#: ver1.0/EventMonitor/Frame.cpp:146 ver1.0/EventMonitor/Frame.cpp:185
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:185
|
||||
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
|
||||
msgid "View"
|
||||
msgstr "Vista"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:146 master/EventMonitor/Frame.cpp:149
|
||||
#: ver1.0/EventMonitor/Frame.cpp:146 ver1.0/EventMonitor/Frame.cpp:149
|
||||
#: ver1.1/EventMonitor/Frame.cpp:146 ver1.1/EventMonitor/Frame.cpp:149
|
||||
#: Frame.cpp:146 Frame.cpp:149
|
||||
msgid "&View"
|
||||
msgstr "&Vista"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:154 ver1.0/EventMonitor/Frame.cpp:154
|
||||
#: ver1.1/EventMonitor/Frame.cpp:154
|
||||
#: Frame.cpp:154
|
||||
msgid "Copy"
|
||||
msgstr "Copia"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:156 ver1.0/EventMonitor/Frame.cpp:156
|
||||
#: ver1.1/EventMonitor/Frame.cpp:156
|
||||
#: Frame.cpp:156
|
||||
msgid "Copy All"
|
||||
msgstr "Copia-ho tot"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:161 ver1.0/EventMonitor/Frame.cpp:161
|
||||
#: ver1.1/EventMonitor/Frame.cpp:161
|
||||
#: Frame.cpp:161
|
||||
msgid "Edit"
|
||||
msgstr "Edita"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:164 ver1.0/EventMonitor/Frame.cpp:164
|
||||
#: ver1.1/EventMonitor/Frame.cpp:164
|
||||
#: Frame.cpp:164
|
||||
msgid "Auto Scroll"
|
||||
msgstr "Auto Scroll"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:189 ver1.0/EventMonitor/Frame.cpp:189
|
||||
#: ver1.1/EventMonitor/Frame.cpp:189
|
||||
#: Frame.cpp:189
|
||||
msgid "Trace Log"
|
||||
msgstr "Registre de traces"
|
||||
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "Real-time display of internal events"
|
||||
msgstr "Mostra en temps real dels successos interns"
|
||||
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "EVENTM~1|GÉANTLink Event Monitor"
|
||||
msgstr "EVENTM~1|GÉANTLink Monitor de successos"
|
||||
|
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Language-Team: Czech (Czech Republic) (https://www.transifex.com/eduroam_devel/teams/11799/cs_CZ/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Language-Team: Welsh (https://www.transifex.com/eduroam_devel/teams/11799/cy/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@@ -1,76 +1,58 @@
|
||||
# Translators:
|
||||
# eduroam_devel <stefan.winter@restena.lu>, 2016
|
||||
# Eric Hoch <eric.hoch@hhu.de>, 2016
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"Last-Translator: eduroam_devel <stefan.winter@restena.lu>, 2016\n"
|
||||
"POT-Creation-Date: 2019-08-12 14:04+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Last-Translator: Eric Hoch <eric.hoch@hhu.de>, 2016\n"
|
||||
"Language-Team: German (https://www.transifex.com/eduroam_devel/teams/11799/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
"X-Poedit-Basepath: ../../..\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: master/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-1: ver1.1/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-2: ver1.0/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: master/EventMonitor/App.cpp:61 ver1.0/EventMonitor/App.cpp:61
|
||||
#: ver1.1/EventMonitor/App.cpp:61 master/EventMonitor/Frame.h:75
|
||||
#: ver1.0/EventMonitor/Frame.h:75 ver1.1/EventMonitor/Frame.h:75
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: App.cpp:61 Frame.h:75 MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "Event Monitor"
|
||||
msgstr "Ereignisanzeige"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:83 ver1.0/EventMonitor/ETWLog.cpp:83
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:83
|
||||
#: ETWLog.cpp:83
|
||||
#, c-format
|
||||
msgid "Error opening event trace (error %u)."
|
||||
msgstr "Fehler beim Öffnen des Ereignislogs (Fehler %u)."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:171 ver1.0/EventMonitor/ETWLog.cpp:171
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:171
|
||||
#: ETWLog.cpp:171
|
||||
msgid "Time"
|
||||
msgstr "Zeit"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:172 ver1.0/EventMonitor/ETWLog.cpp:172
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:172
|
||||
#: ETWLog.cpp:172
|
||||
msgid "PID"
|
||||
msgstr "PID"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:173 ver1.0/EventMonitor/ETWLog.cpp:173
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:173
|
||||
#: ETWLog.cpp:173
|
||||
msgid "TID"
|
||||
msgstr "TID"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:174 ver1.0/EventMonitor/ETWLog.cpp:174
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:174
|
||||
#: ETWLog.cpp:174
|
||||
msgid "Source"
|
||||
msgstr "Quelle"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:175 ver1.0/EventMonitor/ETWLog.cpp:175
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:175
|
||||
#: ETWLog.cpp:175
|
||||
msgid "Event"
|
||||
msgstr "Ereignis"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:232 ver1.0/EventMonitor/ETWLog.cpp:232
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:232
|
||||
#: ETWLog.cpp:232
|
||||
msgid ""
|
||||
"Access denied creating event session: you need administrative privileges "
|
||||
"(Run As Administrator) or be a member of Performance Log Users group to "
|
||||
@@ -81,265 +63,172 @@ msgstr ""
|
||||
"ausführen) oder müssen in der Benutzergruppe Leistungsprotokollbenutzer sein"
|
||||
" um eine Ereignislogsitzung zu eröffnen."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:235 ver1.0/EventMonitor/ETWLog.cpp:235
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:235
|
||||
#: ETWLog.cpp:235
|
||||
#, c-format
|
||||
msgid "The %s event session already exists."
|
||||
msgstr "Es besteht bereits ein Eintrag für für die Sitzung %s"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:239 ver1.0/EventMonitor/ETWLog.cpp:239
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:239
|
||||
#: ETWLog.cpp:239
|
||||
#, c-format
|
||||
msgid "Error creating event session (error %u)."
|
||||
msgstr "Fehler beim Erstellen der Ereignislogsitzung (Fehler %u)."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:255 master/EventMonitor/ETWLog.cpp:271
|
||||
#: master/EventMonitor/ETWLog.cpp:285 ver1.0/EventMonitor/ETWLog.cpp:255
|
||||
#: ver1.0/EventMonitor/ETWLog.cpp:271 ver1.0/EventMonitor/ETWLog.cpp:285
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:255 ver1.1/EventMonitor/ETWLog.cpp:271
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:285
|
||||
#: ETWLog.cpp:255 ETWLog.cpp:271 ETWLog.cpp:285
|
||||
#, c-format
|
||||
msgid "Error enabling %s event provider (error %u)."
|
||||
msgstr "Fehler beim Einschalten des %s Ereignisanbieters (Fehler %u)."
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:48 master/EventMonitor/Frame.cpp:108
|
||||
#: master/EventMonitor/Frame.cpp:113 master/EventMonitor/Frame.cpp:168
|
||||
#: master/EventMonitor/Frame.cpp:170 ver1.0/EventMonitor/Frame.cpp:48
|
||||
#: ver1.0/EventMonitor/Frame.cpp:108 ver1.0/EventMonitor/Frame.cpp:113
|
||||
#: ver1.0/EventMonitor/Frame.cpp:168 ver1.0/EventMonitor/Frame.cpp:170
|
||||
#: ver1.1/EventMonitor/Frame.cpp:48 ver1.1/EventMonitor/Frame.cpp:108
|
||||
#: ver1.1/EventMonitor/Frame.cpp:113 ver1.1/EventMonitor/Frame.cpp:168
|
||||
#: ver1.1/EventMonitor/Frame.cpp:170
|
||||
#: Frame.cpp:48 Frame.cpp:108 Frame.cpp:113 Frame.cpp:168 Frame.cpp:170
|
||||
#, c-format
|
||||
msgid "Toggles display of %s records"
|
||||
msgstr "Schaltet die Anzeige von %s Ereignissen um"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
|
||||
#: ver1.1/EventMonitor/Frame.cpp:65
|
||||
#: Frame.cpp:65
|
||||
msgid "E&xit"
|
||||
msgstr "&Beenden"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
|
||||
#: ver1.1/EventMonitor/Frame.cpp:65
|
||||
#: Frame.cpp:65
|
||||
msgid "Quits this program"
|
||||
msgstr "Beendet das Programm"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:69 ver1.0/EventMonitor/Frame.cpp:69
|
||||
#: ver1.1/EventMonitor/Frame.cpp:69
|
||||
#: Frame.cpp:69
|
||||
msgid "&Program"
|
||||
msgstr "&Programm"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:73
|
||||
#: ver1.1/EventMonitor/Frame.cpp:73
|
||||
#: Frame.cpp:73
|
||||
msgid "&Copy"
|
||||
msgstr "&Kopieren"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:73 master/EventMonitor/Frame.cpp:154
|
||||
#: ver1.0/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:154
|
||||
#: ver1.1/EventMonitor/Frame.cpp:73 ver1.1/EventMonitor/Frame.cpp:154
|
||||
#: Frame.cpp:73 Frame.cpp:154
|
||||
msgid "Copies selected records to clipboard"
|
||||
msgstr "Kopiert die ausgewählten Ereignisse in die Zwischenablage"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/Frame.cpp:78
|
||||
#: ver1.1/EventMonitor/Frame.cpp:78
|
||||
#: Frame.cpp:78
|
||||
msgid "Copy A&ll"
|
||||
msgstr "&Alle Kopieren"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:78 master/EventMonitor/Frame.cpp:156
|
||||
#: ver1.0/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/Frame.cpp:156
|
||||
#: ver1.1/EventMonitor/Frame.cpp:78 ver1.1/EventMonitor/Frame.cpp:156
|
||||
#: Frame.cpp:78 Frame.cpp:156
|
||||
msgid "Copies all records to clipboard (including hidden)"
|
||||
msgstr "Kopiert alle Ereignisse in die Zwischenablage (auch versteckte)"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:83 master/EventMonitor/Frame.cpp:158
|
||||
#: ver1.0/EventMonitor/Frame.cpp:83 ver1.0/EventMonitor/Frame.cpp:158
|
||||
#: ver1.1/EventMonitor/Frame.cpp:83 ver1.1/EventMonitor/Frame.cpp:158
|
||||
#: Frame.cpp:83 Frame.cpp:158
|
||||
msgid "Clear"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:83 master/EventMonitor/Frame.cpp:158
|
||||
#: ver1.0/EventMonitor/Frame.cpp:83 ver1.0/EventMonitor/Frame.cpp:158
|
||||
#: ver1.1/EventMonitor/Frame.cpp:83 ver1.1/EventMonitor/Frame.cpp:158
|
||||
#: Frame.cpp:83 Frame.cpp:158
|
||||
msgid "Clears all records from the log"
|
||||
msgstr "Löscht alle Ereignisse aus dem Log"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
|
||||
#: ver1.1/EventMonitor/Frame.cpp:90
|
||||
#: Frame.cpp:90
|
||||
msgid "Select &All"
|
||||
msgstr "A&lle Auswählen"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
|
||||
#: ver1.1/EventMonitor/Frame.cpp:90
|
||||
#: Frame.cpp:90
|
||||
msgid "Selects all visible records"
|
||||
msgstr "Wählt alle angezeigten Ereignisse aus"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
|
||||
#: ver1.1/EventMonitor/Frame.cpp:94
|
||||
#: Frame.cpp:94
|
||||
msgid "Select &None"
|
||||
msgstr "&Nichts Auswählen"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
|
||||
#: ver1.1/EventMonitor/Frame.cpp:94
|
||||
#: Frame.cpp:94
|
||||
msgid "Clears record selection"
|
||||
msgstr "Wählt kein Ereignis aus"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:97 master/EventMonitor/Frame.cpp:142
|
||||
#: ver1.0/EventMonitor/Frame.cpp:97 ver1.0/EventMonitor/Frame.cpp:142
|
||||
#: ver1.1/EventMonitor/Frame.cpp:97 ver1.1/EventMonitor/Frame.cpp:142
|
||||
#: Frame.cpp:97 Frame.cpp:142
|
||||
msgid "&Edit"
|
||||
msgstr "Bea&rbeiten"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:101
|
||||
#: ver1.1/EventMonitor/Frame.cpp:101
|
||||
#: Frame.cpp:101
|
||||
msgid "Auto &Scroll"
|
||||
msgstr "Automatischer B&ildlauf"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:101 master/EventMonitor/Frame.cpp:164
|
||||
#: ver1.0/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:164
|
||||
#: ver1.1/EventMonitor/Frame.cpp:101 ver1.1/EventMonitor/Frame.cpp:164
|
||||
#: Frame.cpp:101 Frame.cpp:164
|
||||
msgid "Automatically scrolls to the most recent records as they come-in"
|
||||
msgstr ""
|
||||
"Folgt automatisch den neuesten Ereignissen sobald sie im Log auftreten"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:123 master/EventMonitor/Frame.cpp:176
|
||||
#: ver1.0/EventMonitor/Frame.cpp:123 ver1.0/EventMonitor/Frame.cpp:176
|
||||
#: ver1.1/EventMonitor/Frame.cpp:123 ver1.1/EventMonitor/Frame.cpp:176
|
||||
#: Frame.cpp:123 Frame.cpp:176
|
||||
msgid "Verbose"
|
||||
msgstr "Ausführlich"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:123 master/EventMonitor/Frame.cpp:176
|
||||
#: ver1.0/EventMonitor/Frame.cpp:123 ver1.0/EventMonitor/Frame.cpp:176
|
||||
#: ver1.1/EventMonitor/Frame.cpp:123 ver1.1/EventMonitor/Frame.cpp:176
|
||||
#: Frame.cpp:123 Frame.cpp:176
|
||||
msgid "Displays all levels of records"
|
||||
msgstr "Zeigt alle Einträge im Ereignisslog an"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:127 master/EventMonitor/Frame.cpp:178
|
||||
#: ver1.0/EventMonitor/Frame.cpp:127 ver1.0/EventMonitor/Frame.cpp:178
|
||||
#: ver1.1/EventMonitor/Frame.cpp:127 ver1.1/EventMonitor/Frame.cpp:178
|
||||
#: Frame.cpp:127 Frame.cpp:178
|
||||
msgid "Informational"
|
||||
msgstr "Information"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:127 master/EventMonitor/Frame.cpp:178
|
||||
#: ver1.0/EventMonitor/Frame.cpp:127 ver1.0/EventMonitor/Frame.cpp:178
|
||||
#: ver1.1/EventMonitor/Frame.cpp:127 ver1.1/EventMonitor/Frame.cpp:178
|
||||
#: Frame.cpp:127 Frame.cpp:178
|
||||
msgid "Displays all records up to informational level"
|
||||
msgstr "Zeigt alle Einträge der Stufe Information oder wichtiger an."
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:131 master/EventMonitor/Frame.cpp:180
|
||||
#: ver1.0/EventMonitor/Frame.cpp:131 ver1.0/EventMonitor/Frame.cpp:180
|
||||
#: ver1.1/EventMonitor/Frame.cpp:131 ver1.1/EventMonitor/Frame.cpp:180
|
||||
#: Frame.cpp:131 Frame.cpp:180
|
||||
msgid "Warning"
|
||||
msgstr "Warnung"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:131 master/EventMonitor/Frame.cpp:180
|
||||
#: ver1.0/EventMonitor/Frame.cpp:131 ver1.0/EventMonitor/Frame.cpp:180
|
||||
#: ver1.1/EventMonitor/Frame.cpp:131 ver1.1/EventMonitor/Frame.cpp:180
|
||||
#: Frame.cpp:131 Frame.cpp:180
|
||||
msgid "Displays all records up to warning level"
|
||||
msgstr "Zeigt alle Einträge der Stufe Warnung oder wichtiger an."
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:135 master/EventMonitor/Frame.cpp:182
|
||||
#: ver1.0/EventMonitor/Frame.cpp:135 ver1.0/EventMonitor/Frame.cpp:182
|
||||
#: ver1.1/EventMonitor/Frame.cpp:135 ver1.1/EventMonitor/Frame.cpp:182
|
||||
#: Frame.cpp:135 Frame.cpp:182
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:135 master/EventMonitor/Frame.cpp:182
|
||||
#: ver1.0/EventMonitor/Frame.cpp:135 ver1.0/EventMonitor/Frame.cpp:182
|
||||
#: ver1.1/EventMonitor/Frame.cpp:135 ver1.1/EventMonitor/Frame.cpp:182
|
||||
#: Frame.cpp:135 Frame.cpp:182
|
||||
msgid "Displays error level records only"
|
||||
msgstr "Zeigt nur die Fehlermeldungen an"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: ver1.0/EventMonitor/Frame.cpp:142 ver1.0/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: Frame.cpp:142 Frame.cpp:146
|
||||
#, c-format
|
||||
msgid "%s toolbar"
|
||||
msgstr "%s Werkzeugleiste"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: ver1.0/EventMonitor/Frame.cpp:142 ver1.0/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: Frame.cpp:142 Frame.cpp:146
|
||||
#, c-format
|
||||
msgid "Toggles display of %s toolbar"
|
||||
msgstr "Schaltet die Anzeige der %s Werzeugleiste um"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: master/EventMonitor/Frame.cpp:185 ver1.0/EventMonitor/Frame.cpp:142
|
||||
#: ver1.0/EventMonitor/Frame.cpp:146 ver1.0/EventMonitor/Frame.cpp:185
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:185
|
||||
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
|
||||
msgid "View"
|
||||
msgstr "Ansicht"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:146 master/EventMonitor/Frame.cpp:149
|
||||
#: ver1.0/EventMonitor/Frame.cpp:146 ver1.0/EventMonitor/Frame.cpp:149
|
||||
#: ver1.1/EventMonitor/Frame.cpp:146 ver1.1/EventMonitor/Frame.cpp:149
|
||||
#: Frame.cpp:146 Frame.cpp:149
|
||||
msgid "&View"
|
||||
msgstr "An&sicht"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:154 ver1.0/EventMonitor/Frame.cpp:154
|
||||
#: ver1.1/EventMonitor/Frame.cpp:154
|
||||
#: Frame.cpp:154
|
||||
msgid "Copy"
|
||||
msgstr "Kopieren"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:156 ver1.0/EventMonitor/Frame.cpp:156
|
||||
#: ver1.1/EventMonitor/Frame.cpp:156
|
||||
#: Frame.cpp:156
|
||||
msgid "Copy All"
|
||||
msgstr "Alle Kopieren"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:161 ver1.0/EventMonitor/Frame.cpp:161
|
||||
#: ver1.1/EventMonitor/Frame.cpp:161
|
||||
#: Frame.cpp:161
|
||||
msgid "Edit"
|
||||
msgstr "Bearbeiten"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:164 ver1.0/EventMonitor/Frame.cpp:164
|
||||
#: ver1.1/EventMonitor/Frame.cpp:164
|
||||
#: Frame.cpp:164
|
||||
msgid "Auto Scroll"
|
||||
msgstr "Automatischer Bildlauf"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:189 ver1.0/EventMonitor/Frame.cpp:189
|
||||
#: ver1.1/EventMonitor/Frame.cpp:189
|
||||
#: Frame.cpp:189
|
||||
msgid "Trace Log"
|
||||
msgstr "Ereignislog"
|
||||
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "Real-time display of internal events"
|
||||
msgstr "Echtzeitanzeige der internen Ereignisse"
|
||||
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "EVENTM~1|GÉANTLink Event Monitor"
|
||||
msgstr "EVENTM~1|GÉANTLink Ereignismonitor"
|
||||
|
@@ -1,10 +1,13 @@
|
||||
# Translators:
|
||||
# Vicky Kons <vickyk@admin.grnet.gr>, 2016
|
||||
# Zenon Mousmoulas <zenon@mousmoulas.gr>, 2016
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"POT-Creation-Date: 2019-08-12 14:04+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Last-Translator: Zenon Mousmoulas <zenon@mousmoulas.gr>, 2016\n"
|
||||
"Language-Team: Greek (https://www.transifex.com/eduroam_devel/teams/11799/el/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -12,65 +15,44 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: el\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
"X-Poedit-Basepath: ../../..\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: master/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-1: ver1.1/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-2: ver1.0/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: master/EventMonitor/App.cpp:61 ver1.0/EventMonitor/App.cpp:61
|
||||
#: ver1.1/EventMonitor/App.cpp:61 master/EventMonitor/Frame.h:75
|
||||
#: ver1.0/EventMonitor/Frame.h:75 ver1.1/EventMonitor/Frame.h:75
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: App.cpp:61 Frame.h:75 MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "Event Monitor"
|
||||
msgstr "Παρακολούθηση Συνεδριών"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:83 ver1.0/EventMonitor/ETWLog.cpp:83
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:83
|
||||
#: ETWLog.cpp:83
|
||||
#, c-format
|
||||
msgid "Error opening event trace (error %u)."
|
||||
msgstr "Σφάλμα ενακτήριας συνεδρίας (σφάλμα %u)."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:171 ver1.0/EventMonitor/ETWLog.cpp:171
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:171
|
||||
#: ETWLog.cpp:171
|
||||
msgid "Time"
|
||||
msgstr "Χρόνος"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:172 ver1.0/EventMonitor/ETWLog.cpp:172
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:172
|
||||
#: ETWLog.cpp:172
|
||||
msgid "PID"
|
||||
msgstr "PID"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:173 ver1.0/EventMonitor/ETWLog.cpp:173
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:173
|
||||
#: ETWLog.cpp:173
|
||||
msgid "TID"
|
||||
msgstr "TID"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:174 ver1.0/EventMonitor/ETWLog.cpp:174
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:174
|
||||
#: ETWLog.cpp:174
|
||||
msgid "Source"
|
||||
msgstr "Πηγή"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:175 ver1.0/EventMonitor/ETWLog.cpp:175
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:175
|
||||
#: ETWLog.cpp:175
|
||||
msgid "Event"
|
||||
msgstr "Συνεδρία"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:232 ver1.0/EventMonitor/ETWLog.cpp:232
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:232
|
||||
#: ETWLog.cpp:232
|
||||
msgid ""
|
||||
"Access denied creating event session: you need administrative privileges "
|
||||
"(Run As Administrator) or be a member of Performance Log Users group to "
|
||||
@@ -80,265 +62,172 @@ msgstr ""
|
||||
"δικαιώματα διαχειριστή (Εκτέλεση ως διαχειριστής) ή να είστε μέλος της "
|
||||
"ομάδας Perfomance Log Users για να ξεκινήσετε να ψάξετε μία συνεδρία."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:235 ver1.0/EventMonitor/ETWLog.cpp:235
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:235
|
||||
#: ETWLog.cpp:235
|
||||
#, c-format
|
||||
msgid "The %s event session already exists."
|
||||
msgstr "Η %s συνεδρία υπάρχει ήδη."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:239 ver1.0/EventMonitor/ETWLog.cpp:239
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:239
|
||||
#: ETWLog.cpp:239
|
||||
#, c-format
|
||||
msgid "Error creating event session (error %u)."
|
||||
msgstr "Σφάλμα κατά τη δημιουργία συνεδρίας (σφάλμα %u)."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:255 master/EventMonitor/ETWLog.cpp:271
|
||||
#: master/EventMonitor/ETWLog.cpp:285 ver1.0/EventMonitor/ETWLog.cpp:255
|
||||
#: ver1.0/EventMonitor/ETWLog.cpp:271 ver1.0/EventMonitor/ETWLog.cpp:285
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:255 ver1.1/EventMonitor/ETWLog.cpp:271
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:285
|
||||
#: ETWLog.cpp:255 ETWLog.cpp:271 ETWLog.cpp:285
|
||||
#, c-format
|
||||
msgid "Error enabling %s event provider (error %u)."
|
||||
msgstr "Σφάλμα κατά την ενεργοποίηση %s παρόχου στη συνεδρία (σφάλμα %u)."
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:48 master/EventMonitor/Frame.cpp:108
|
||||
#: master/EventMonitor/Frame.cpp:113 master/EventMonitor/Frame.cpp:168
|
||||
#: master/EventMonitor/Frame.cpp:170 ver1.0/EventMonitor/Frame.cpp:48
|
||||
#: ver1.0/EventMonitor/Frame.cpp:108 ver1.0/EventMonitor/Frame.cpp:113
|
||||
#: ver1.0/EventMonitor/Frame.cpp:168 ver1.0/EventMonitor/Frame.cpp:170
|
||||
#: ver1.1/EventMonitor/Frame.cpp:48 ver1.1/EventMonitor/Frame.cpp:108
|
||||
#: ver1.1/EventMonitor/Frame.cpp:113 ver1.1/EventMonitor/Frame.cpp:168
|
||||
#: ver1.1/EventMonitor/Frame.cpp:170
|
||||
#: Frame.cpp:48 Frame.cpp:108 Frame.cpp:113 Frame.cpp:168 Frame.cpp:170
|
||||
#, c-format
|
||||
msgid "Toggles display of %s records"
|
||||
msgstr "Εναλλάσει την εμφάνιση/απόκρυψη των αρχείων %s"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
|
||||
#: ver1.1/EventMonitor/Frame.cpp:65
|
||||
#: Frame.cpp:65
|
||||
msgid "E&xit"
|
||||
msgstr "Ε&ξοδος"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
|
||||
#: ver1.1/EventMonitor/Frame.cpp:65
|
||||
#: Frame.cpp:65
|
||||
msgid "Quits this program"
|
||||
msgstr "Κλείνει αυτό το πρόγραμμα"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:69 ver1.0/EventMonitor/Frame.cpp:69
|
||||
#: ver1.1/EventMonitor/Frame.cpp:69
|
||||
#: Frame.cpp:69
|
||||
msgid "&Program"
|
||||
msgstr "&Πρόγραμμα"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:73
|
||||
#: ver1.1/EventMonitor/Frame.cpp:73
|
||||
#: Frame.cpp:73
|
||||
msgid "&Copy"
|
||||
msgstr "&Αντιγραφή"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:73 master/EventMonitor/Frame.cpp:154
|
||||
#: ver1.0/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:154
|
||||
#: ver1.1/EventMonitor/Frame.cpp:73 ver1.1/EventMonitor/Frame.cpp:154
|
||||
#: Frame.cpp:73 Frame.cpp:154
|
||||
msgid "Copies selected records to clipboard"
|
||||
msgstr "Αντιγράφει επιλεγμένα αρχεία στο πρόχειρο"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/Frame.cpp:78
|
||||
#: ver1.1/EventMonitor/Frame.cpp:78
|
||||
#: Frame.cpp:78
|
||||
msgid "Copy A&ll"
|
||||
msgstr "Αντιγραφή Ό&λων"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:78 master/EventMonitor/Frame.cpp:156
|
||||
#: ver1.0/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/Frame.cpp:156
|
||||
#: ver1.1/EventMonitor/Frame.cpp:78 ver1.1/EventMonitor/Frame.cpp:156
|
||||
#: Frame.cpp:78 Frame.cpp:156
|
||||
msgid "Copies all records to clipboard (including hidden)"
|
||||
msgstr ""
|
||||
"Αντιγράφει όλα τα αρχεία στο πρόχειρο (περιλαμβανομένων και των κρυφών)"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:83 master/EventMonitor/Frame.cpp:158
|
||||
#: ver1.0/EventMonitor/Frame.cpp:83 ver1.0/EventMonitor/Frame.cpp:158
|
||||
#: ver1.1/EventMonitor/Frame.cpp:83 ver1.1/EventMonitor/Frame.cpp:158
|
||||
#: Frame.cpp:83 Frame.cpp:158
|
||||
msgid "Clear"
|
||||
msgstr "Καθαρισμός"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:83 master/EventMonitor/Frame.cpp:158
|
||||
#: ver1.0/EventMonitor/Frame.cpp:83 ver1.0/EventMonitor/Frame.cpp:158
|
||||
#: ver1.1/EventMonitor/Frame.cpp:83 ver1.1/EventMonitor/Frame.cpp:158
|
||||
#: Frame.cpp:83 Frame.cpp:158
|
||||
msgid "Clears all records from the log"
|
||||
msgstr "Καθαρίζει όλα τα αρχεία από το αρχείο καταγραφής"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
|
||||
#: ver1.1/EventMonitor/Frame.cpp:90
|
||||
#: Frame.cpp:90
|
||||
msgid "Select &All"
|
||||
msgstr "Επιλογή &Όλων"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
|
||||
#: ver1.1/EventMonitor/Frame.cpp:90
|
||||
#: Frame.cpp:90
|
||||
msgid "Selects all visible records"
|
||||
msgstr "Επιλέγει όλες τις ορατές εγγραφές"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
|
||||
#: ver1.1/EventMonitor/Frame.cpp:94
|
||||
#: Frame.cpp:94
|
||||
msgid "Select &None"
|
||||
msgstr "Επιλέξτε &Κανένα"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
|
||||
#: ver1.1/EventMonitor/Frame.cpp:94
|
||||
#: Frame.cpp:94
|
||||
msgid "Clears record selection"
|
||||
msgstr "Καθαρίζει τα επιλεγμένα αρχεία "
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:97 master/EventMonitor/Frame.cpp:142
|
||||
#: ver1.0/EventMonitor/Frame.cpp:97 ver1.0/EventMonitor/Frame.cpp:142
|
||||
#: ver1.1/EventMonitor/Frame.cpp:97 ver1.1/EventMonitor/Frame.cpp:142
|
||||
#: Frame.cpp:97 Frame.cpp:142
|
||||
msgid "&Edit"
|
||||
msgstr "&Επεξεργασία"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:101
|
||||
#: ver1.1/EventMonitor/Frame.cpp:101
|
||||
#: Frame.cpp:101
|
||||
msgid "Auto &Scroll"
|
||||
msgstr "Αυτόματη &Κύλιση"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:101 master/EventMonitor/Frame.cpp:164
|
||||
#: ver1.0/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:164
|
||||
#: ver1.1/EventMonitor/Frame.cpp:101 ver1.1/EventMonitor/Frame.cpp:164
|
||||
#: Frame.cpp:101 Frame.cpp:164
|
||||
msgid "Automatically scrolls to the most recent records as they come-in"
|
||||
msgstr "Αυτόματα πηγαίνει στο πιο πρόσφατο αρχείο όπως αυτά εισάγονται"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:123 master/EventMonitor/Frame.cpp:176
|
||||
#: ver1.0/EventMonitor/Frame.cpp:123 ver1.0/EventMonitor/Frame.cpp:176
|
||||
#: ver1.1/EventMonitor/Frame.cpp:123 ver1.1/EventMonitor/Frame.cpp:176
|
||||
#: Frame.cpp:123 Frame.cpp:176
|
||||
msgid "Verbose"
|
||||
msgstr "Verbose"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:123 master/EventMonitor/Frame.cpp:176
|
||||
#: ver1.0/EventMonitor/Frame.cpp:123 ver1.0/EventMonitor/Frame.cpp:176
|
||||
#: ver1.1/EventMonitor/Frame.cpp:123 ver1.1/EventMonitor/Frame.cpp:176
|
||||
#: Frame.cpp:123 Frame.cpp:176
|
||||
msgid "Displays all levels of records"
|
||||
msgstr "Εμφανίζει όλα τα επίπεδα αρχείων"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:127 master/EventMonitor/Frame.cpp:178
|
||||
#: ver1.0/EventMonitor/Frame.cpp:127 ver1.0/EventMonitor/Frame.cpp:178
|
||||
#: ver1.1/EventMonitor/Frame.cpp:127 ver1.1/EventMonitor/Frame.cpp:178
|
||||
#: Frame.cpp:127 Frame.cpp:178
|
||||
msgid "Informational"
|
||||
msgstr "Ενημερωτικό"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:127 master/EventMonitor/Frame.cpp:178
|
||||
#: ver1.0/EventMonitor/Frame.cpp:127 ver1.0/EventMonitor/Frame.cpp:178
|
||||
#: ver1.1/EventMonitor/Frame.cpp:127 ver1.1/EventMonitor/Frame.cpp:178
|
||||
#: Frame.cpp:127 Frame.cpp:178
|
||||
msgid "Displays all records up to informational level"
|
||||
msgstr "Εμφανίζονται όλα τα αρχεία στο ενημερωτικό επίπεδο"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:131 master/EventMonitor/Frame.cpp:180
|
||||
#: ver1.0/EventMonitor/Frame.cpp:131 ver1.0/EventMonitor/Frame.cpp:180
|
||||
#: ver1.1/EventMonitor/Frame.cpp:131 ver1.1/EventMonitor/Frame.cpp:180
|
||||
#: Frame.cpp:131 Frame.cpp:180
|
||||
msgid "Warning"
|
||||
msgstr "Προειδοποίηση"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:131 master/EventMonitor/Frame.cpp:180
|
||||
#: ver1.0/EventMonitor/Frame.cpp:131 ver1.0/EventMonitor/Frame.cpp:180
|
||||
#: ver1.1/EventMonitor/Frame.cpp:131 ver1.1/EventMonitor/Frame.cpp:180
|
||||
#: Frame.cpp:131 Frame.cpp:180
|
||||
msgid "Displays all records up to warning level"
|
||||
msgstr "Εμφανίζονται όλα τα αρχεία στο προειδοποιητικό επίπεδο"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:135 master/EventMonitor/Frame.cpp:182
|
||||
#: ver1.0/EventMonitor/Frame.cpp:135 ver1.0/EventMonitor/Frame.cpp:182
|
||||
#: ver1.1/EventMonitor/Frame.cpp:135 ver1.1/EventMonitor/Frame.cpp:182
|
||||
#: Frame.cpp:135 Frame.cpp:182
|
||||
msgid "Error"
|
||||
msgstr "Σφάλμα"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:135 master/EventMonitor/Frame.cpp:182
|
||||
#: ver1.0/EventMonitor/Frame.cpp:135 ver1.0/EventMonitor/Frame.cpp:182
|
||||
#: ver1.1/EventMonitor/Frame.cpp:135 ver1.1/EventMonitor/Frame.cpp:182
|
||||
#: Frame.cpp:135 Frame.cpp:182
|
||||
msgid "Displays error level records only"
|
||||
msgstr "Εμφανίζονται μόνο τα αρχεία σε επίπεδο σφάλματος"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: ver1.0/EventMonitor/Frame.cpp:142 ver1.0/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: Frame.cpp:142 Frame.cpp:146
|
||||
#, c-format
|
||||
msgid "%s toolbar"
|
||||
msgstr "%s Γραμμή εργαλείων"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: ver1.0/EventMonitor/Frame.cpp:142 ver1.0/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: Frame.cpp:142 Frame.cpp:146
|
||||
#, c-format
|
||||
msgid "Toggles display of %s toolbar"
|
||||
msgstr "Εναλλάσσει την εμφάνιση/απόκρυψη της γραμμής εργαλείων %s"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: master/EventMonitor/Frame.cpp:185 ver1.0/EventMonitor/Frame.cpp:142
|
||||
#: ver1.0/EventMonitor/Frame.cpp:146 ver1.0/EventMonitor/Frame.cpp:185
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:185
|
||||
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
|
||||
msgid "View"
|
||||
msgstr "Προβολή"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:146 master/EventMonitor/Frame.cpp:149
|
||||
#: ver1.0/EventMonitor/Frame.cpp:146 ver1.0/EventMonitor/Frame.cpp:149
|
||||
#: ver1.1/EventMonitor/Frame.cpp:146 ver1.1/EventMonitor/Frame.cpp:149
|
||||
#: Frame.cpp:146 Frame.cpp:149
|
||||
msgid "&View"
|
||||
msgstr "&Προβολή"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:154 ver1.0/EventMonitor/Frame.cpp:154
|
||||
#: ver1.1/EventMonitor/Frame.cpp:154
|
||||
#: Frame.cpp:154
|
||||
msgid "Copy"
|
||||
msgstr "Αντιγραφή"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:156 ver1.0/EventMonitor/Frame.cpp:156
|
||||
#: ver1.1/EventMonitor/Frame.cpp:156
|
||||
#: Frame.cpp:156
|
||||
msgid "Copy All"
|
||||
msgstr "Αντιγραφή όλων"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:161 ver1.0/EventMonitor/Frame.cpp:161
|
||||
#: ver1.1/EventMonitor/Frame.cpp:161
|
||||
#: Frame.cpp:161
|
||||
msgid "Edit"
|
||||
msgstr "Επεξεργασία"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:164 ver1.0/EventMonitor/Frame.cpp:164
|
||||
#: ver1.1/EventMonitor/Frame.cpp:164
|
||||
#: Frame.cpp:164
|
||||
msgid "Auto Scroll"
|
||||
msgstr "Αυτόματη Κύλιση"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:189 ver1.0/EventMonitor/Frame.cpp:189
|
||||
#: ver1.1/EventMonitor/Frame.cpp:189
|
||||
#: Frame.cpp:189
|
||||
msgid "Trace Log"
|
||||
msgstr "Trace Log"
|
||||
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "Real-time display of internal events"
|
||||
msgstr "Απεικόνιση των εσωτερικών γεγονότων σε πραγματικό χρόνο "
|
||||
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "EVENTM~1|GÉANTLink Event Monitor"
|
||||
msgstr "EVENTM~1|GÉANTLink Event Monitor"
|
||||
|
@@ -1,10 +1,12 @@
|
||||
# Translators:
|
||||
# José Manuel Macías, 2016
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"POT-Creation-Date: 2019-08-12 14:04+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Last-Translator: José Manuel Macías, 2016\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/eduroam_devel/teams/11799/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -12,65 +14,44 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.8.11\n"
|
||||
"X-Poedit-Basepath: ../../..\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: master/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-1: ver1.1/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-2: ver1.0/EventMonitor\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: master/EventMonitor/App.cpp:61 ver1.0/EventMonitor/App.cpp:61
|
||||
#: ver1.1/EventMonitor/App.cpp:61 master/EventMonitor/Frame.h:75
|
||||
#: ver1.0/EventMonitor/Frame.h:75 ver1.1/EventMonitor/Frame.h:75
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: App.cpp:61 Frame.h:75 MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "Event Monitor"
|
||||
msgstr "Monitor de eventos"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:83 ver1.0/EventMonitor/ETWLog.cpp:83
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:83
|
||||
#: ETWLog.cpp:83
|
||||
#, c-format
|
||||
msgid "Error opening event trace (error %u)."
|
||||
msgstr "Error abriendo la traza de evento (error %u)."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:171 ver1.0/EventMonitor/ETWLog.cpp:171
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:171
|
||||
#: ETWLog.cpp:171
|
||||
msgid "Time"
|
||||
msgstr "Instante"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:172 ver1.0/EventMonitor/ETWLog.cpp:172
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:172
|
||||
#: ETWLog.cpp:172
|
||||
msgid "PID"
|
||||
msgstr "PID"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:173 ver1.0/EventMonitor/ETWLog.cpp:173
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:173
|
||||
#: ETWLog.cpp:173
|
||||
msgid "TID"
|
||||
msgstr "TID"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:174 ver1.0/EventMonitor/ETWLog.cpp:174
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:174
|
||||
#: ETWLog.cpp:174
|
||||
msgid "Source"
|
||||
msgstr "Fuente"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:175 ver1.0/EventMonitor/ETWLog.cpp:175
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:175
|
||||
#: ETWLog.cpp:175
|
||||
msgid "Event"
|
||||
msgstr "Evento"
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:232 ver1.0/EventMonitor/ETWLog.cpp:232
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:232
|
||||
#: ETWLog.cpp:232
|
||||
msgid ""
|
||||
"Access denied creating event session: you need administrative privileges "
|
||||
"(Run As Administrator) or be a member of Performance Log Users group to "
|
||||
@@ -80,265 +61,172 @@ msgstr ""
|
||||
"administración (ejecutar como administrador) o ser miembro del grupo "
|
||||
"\"Performance Log Users\" para comenzar una sesión de traza de eventos."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:235 ver1.0/EventMonitor/ETWLog.cpp:235
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:235
|
||||
#: ETWLog.cpp:235
|
||||
#, c-format
|
||||
msgid "The %s event session already exists."
|
||||
msgstr "La evento de sesión %s ya existía."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:239 ver1.0/EventMonitor/ETWLog.cpp:239
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:239
|
||||
#: ETWLog.cpp:239
|
||||
#, c-format
|
||||
msgid "Error creating event session (error %u)."
|
||||
msgstr "Error creando una sesión de eventos (error %u)."
|
||||
|
||||
#: master/EventMonitor/ETWLog.cpp:255 master/EventMonitor/ETWLog.cpp:271
|
||||
#: master/EventMonitor/ETWLog.cpp:285 ver1.0/EventMonitor/ETWLog.cpp:255
|
||||
#: ver1.0/EventMonitor/ETWLog.cpp:271 ver1.0/EventMonitor/ETWLog.cpp:285
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:255 ver1.1/EventMonitor/ETWLog.cpp:271
|
||||
#: ver1.1/EventMonitor/ETWLog.cpp:285
|
||||
#: ETWLog.cpp:255 ETWLog.cpp:271 ETWLog.cpp:285
|
||||
#, c-format
|
||||
msgid "Error enabling %s event provider (error %u)."
|
||||
msgstr "Error habilitando el proveedor de eventos %s (error %u)."
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:48 master/EventMonitor/Frame.cpp:108
|
||||
#: master/EventMonitor/Frame.cpp:113 master/EventMonitor/Frame.cpp:168
|
||||
#: master/EventMonitor/Frame.cpp:170 ver1.0/EventMonitor/Frame.cpp:48
|
||||
#: ver1.0/EventMonitor/Frame.cpp:108 ver1.0/EventMonitor/Frame.cpp:113
|
||||
#: ver1.0/EventMonitor/Frame.cpp:168 ver1.0/EventMonitor/Frame.cpp:170
|
||||
#: ver1.1/EventMonitor/Frame.cpp:48 ver1.1/EventMonitor/Frame.cpp:108
|
||||
#: ver1.1/EventMonitor/Frame.cpp:113 ver1.1/EventMonitor/Frame.cpp:168
|
||||
#: ver1.1/EventMonitor/Frame.cpp:170
|
||||
#: Frame.cpp:48 Frame.cpp:108 Frame.cpp:113 Frame.cpp:168 Frame.cpp:170
|
||||
#, c-format
|
||||
msgid "Toggles display of %s records"
|
||||
msgstr "Habilitar mostrar %s registros."
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
|
||||
#: ver1.1/EventMonitor/Frame.cpp:65
|
||||
#: Frame.cpp:65
|
||||
msgid "E&xit"
|
||||
msgstr "&Salir"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
|
||||
#: ver1.1/EventMonitor/Frame.cpp:65
|
||||
#: Frame.cpp:65
|
||||
msgid "Quits this program"
|
||||
msgstr "Salir de este programa"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:69 ver1.0/EventMonitor/Frame.cpp:69
|
||||
#: ver1.1/EventMonitor/Frame.cpp:69
|
||||
#: Frame.cpp:69
|
||||
msgid "&Program"
|
||||
msgstr "&Programa"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:73
|
||||
#: ver1.1/EventMonitor/Frame.cpp:73
|
||||
#: Frame.cpp:73
|
||||
msgid "&Copy"
|
||||
msgstr "&Copiar"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:73 master/EventMonitor/Frame.cpp:154
|
||||
#: ver1.0/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:154
|
||||
#: ver1.1/EventMonitor/Frame.cpp:73 ver1.1/EventMonitor/Frame.cpp:154
|
||||
#: Frame.cpp:73 Frame.cpp:154
|
||||
msgid "Copies selected records to clipboard"
|
||||
msgstr "Copia los registros seleccionados al portapapeles"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/Frame.cpp:78
|
||||
#: ver1.1/EventMonitor/Frame.cpp:78
|
||||
#: Frame.cpp:78
|
||||
msgid "Copy A&ll"
|
||||
msgstr "Copi&ar todo"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:78 master/EventMonitor/Frame.cpp:156
|
||||
#: ver1.0/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/Frame.cpp:156
|
||||
#: ver1.1/EventMonitor/Frame.cpp:78 ver1.1/EventMonitor/Frame.cpp:156
|
||||
#: Frame.cpp:78 Frame.cpp:156
|
||||
msgid "Copies all records to clipboard (including hidden)"
|
||||
msgstr "Copia todos los registros al portapapeles (incluyendo los ocultos)"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:83 master/EventMonitor/Frame.cpp:158
|
||||
#: ver1.0/EventMonitor/Frame.cpp:83 ver1.0/EventMonitor/Frame.cpp:158
|
||||
#: ver1.1/EventMonitor/Frame.cpp:83 ver1.1/EventMonitor/Frame.cpp:158
|
||||
#: Frame.cpp:83 Frame.cpp:158
|
||||
msgid "Clear"
|
||||
msgstr "Limpiar"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:83 master/EventMonitor/Frame.cpp:158
|
||||
#: ver1.0/EventMonitor/Frame.cpp:83 ver1.0/EventMonitor/Frame.cpp:158
|
||||
#: ver1.1/EventMonitor/Frame.cpp:83 ver1.1/EventMonitor/Frame.cpp:158
|
||||
#: Frame.cpp:83 Frame.cpp:158
|
||||
msgid "Clears all records from the log"
|
||||
msgstr "Limpiar todos los registros del log"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
|
||||
#: ver1.1/EventMonitor/Frame.cpp:90
|
||||
#: Frame.cpp:90
|
||||
msgid "Select &All"
|
||||
msgstr "Seleccionar &todos"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
|
||||
#: ver1.1/EventMonitor/Frame.cpp:90
|
||||
#: Frame.cpp:90
|
||||
msgid "Selects all visible records"
|
||||
msgstr "Selecciona todos los registros visibles"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
|
||||
#: ver1.1/EventMonitor/Frame.cpp:94
|
||||
#: Frame.cpp:94
|
||||
msgid "Select &None"
|
||||
msgstr "Seleccionar &ninguno"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
|
||||
#: ver1.1/EventMonitor/Frame.cpp:94
|
||||
#: Frame.cpp:94
|
||||
msgid "Clears record selection"
|
||||
msgstr "Limpia la selección de registros"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:97 master/EventMonitor/Frame.cpp:142
|
||||
#: ver1.0/EventMonitor/Frame.cpp:97 ver1.0/EventMonitor/Frame.cpp:142
|
||||
#: ver1.1/EventMonitor/Frame.cpp:97 ver1.1/EventMonitor/Frame.cpp:142
|
||||
#: Frame.cpp:97 Frame.cpp:142
|
||||
msgid "&Edit"
|
||||
msgstr "&Editar"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:101
|
||||
#: ver1.1/EventMonitor/Frame.cpp:101
|
||||
#: Frame.cpp:101
|
||||
msgid "Auto &Scroll"
|
||||
msgstr "Auto&desplazamiento"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:101 master/EventMonitor/Frame.cpp:164
|
||||
#: ver1.0/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:164
|
||||
#: ver1.1/EventMonitor/Frame.cpp:101 ver1.1/EventMonitor/Frame.cpp:164
|
||||
#: Frame.cpp:101 Frame.cpp:164
|
||||
msgid "Automatically scrolls to the most recent records as they come-in"
|
||||
msgstr ""
|
||||
"Automáticamente se desplaza a los registros más recientes según aparecen"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:123 master/EventMonitor/Frame.cpp:176
|
||||
#: ver1.0/EventMonitor/Frame.cpp:123 ver1.0/EventMonitor/Frame.cpp:176
|
||||
#: ver1.1/EventMonitor/Frame.cpp:123 ver1.1/EventMonitor/Frame.cpp:176
|
||||
#: Frame.cpp:123 Frame.cpp:176
|
||||
msgid "Verbose"
|
||||
msgstr "Detallado"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:123 master/EventMonitor/Frame.cpp:176
|
||||
#: ver1.0/EventMonitor/Frame.cpp:123 ver1.0/EventMonitor/Frame.cpp:176
|
||||
#: ver1.1/EventMonitor/Frame.cpp:123 ver1.1/EventMonitor/Frame.cpp:176
|
||||
#: Frame.cpp:123 Frame.cpp:176
|
||||
msgid "Displays all levels of records"
|
||||
msgstr "Muestra todos los niveles de registros"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:127 master/EventMonitor/Frame.cpp:178
|
||||
#: ver1.0/EventMonitor/Frame.cpp:127 ver1.0/EventMonitor/Frame.cpp:178
|
||||
#: ver1.1/EventMonitor/Frame.cpp:127 ver1.1/EventMonitor/Frame.cpp:178
|
||||
#: Frame.cpp:127 Frame.cpp:178
|
||||
msgid "Informational"
|
||||
msgstr "Informativo"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:127 master/EventMonitor/Frame.cpp:178
|
||||
#: ver1.0/EventMonitor/Frame.cpp:127 ver1.0/EventMonitor/Frame.cpp:178
|
||||
#: ver1.1/EventMonitor/Frame.cpp:127 ver1.1/EventMonitor/Frame.cpp:178
|
||||
#: Frame.cpp:127 Frame.cpp:178
|
||||
msgid "Displays all records up to informational level"
|
||||
msgstr "Muestra todos los registros hasta el nivel informativo"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:131 master/EventMonitor/Frame.cpp:180
|
||||
#: ver1.0/EventMonitor/Frame.cpp:131 ver1.0/EventMonitor/Frame.cpp:180
|
||||
#: ver1.1/EventMonitor/Frame.cpp:131 ver1.1/EventMonitor/Frame.cpp:180
|
||||
#: Frame.cpp:131 Frame.cpp:180
|
||||
msgid "Warning"
|
||||
msgstr "Advertencia"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:131 master/EventMonitor/Frame.cpp:180
|
||||
#: ver1.0/EventMonitor/Frame.cpp:131 ver1.0/EventMonitor/Frame.cpp:180
|
||||
#: ver1.1/EventMonitor/Frame.cpp:131 ver1.1/EventMonitor/Frame.cpp:180
|
||||
#: Frame.cpp:131 Frame.cpp:180
|
||||
msgid "Displays all records up to warning level"
|
||||
msgstr "Muestra todos los registros hasta el nivel de advertencia"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:135 master/EventMonitor/Frame.cpp:182
|
||||
#: ver1.0/EventMonitor/Frame.cpp:135 ver1.0/EventMonitor/Frame.cpp:182
|
||||
#: ver1.1/EventMonitor/Frame.cpp:135 ver1.1/EventMonitor/Frame.cpp:182
|
||||
#: Frame.cpp:135 Frame.cpp:182
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:135 master/EventMonitor/Frame.cpp:182
|
||||
#: ver1.0/EventMonitor/Frame.cpp:135 ver1.0/EventMonitor/Frame.cpp:182
|
||||
#: ver1.1/EventMonitor/Frame.cpp:135 ver1.1/EventMonitor/Frame.cpp:182
|
||||
#: Frame.cpp:135 Frame.cpp:182
|
||||
msgid "Displays error level records only"
|
||||
msgstr "Muestra los registros a nivel de error únicamente"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: ver1.0/EventMonitor/Frame.cpp:142 ver1.0/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: Frame.cpp:142 Frame.cpp:146
|
||||
#, c-format
|
||||
msgid "%s toolbar"
|
||||
msgstr "Barra de herramientas %s"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: ver1.0/EventMonitor/Frame.cpp:142 ver1.0/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: Frame.cpp:142 Frame.cpp:146
|
||||
#, c-format
|
||||
msgid "Toggles display of %s toolbar"
|
||||
msgstr "Habilita aparición de la barra de herramientas %s"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
|
||||
#: master/EventMonitor/Frame.cpp:185 ver1.0/EventMonitor/Frame.cpp:142
|
||||
#: ver1.0/EventMonitor/Frame.cpp:146 ver1.0/EventMonitor/Frame.cpp:185
|
||||
#: ver1.1/EventMonitor/Frame.cpp:142 ver1.1/EventMonitor/Frame.cpp:146
|
||||
#: ver1.1/EventMonitor/Frame.cpp:185
|
||||
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
|
||||
msgid "View"
|
||||
msgstr "Ver"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:146 master/EventMonitor/Frame.cpp:149
|
||||
#: ver1.0/EventMonitor/Frame.cpp:146 ver1.0/EventMonitor/Frame.cpp:149
|
||||
#: ver1.1/EventMonitor/Frame.cpp:146 ver1.1/EventMonitor/Frame.cpp:149
|
||||
#: Frame.cpp:146 Frame.cpp:149
|
||||
msgid "&View"
|
||||
msgstr "&Ver"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:154 ver1.0/EventMonitor/Frame.cpp:154
|
||||
#: ver1.1/EventMonitor/Frame.cpp:154
|
||||
#: Frame.cpp:154
|
||||
msgid "Copy"
|
||||
msgstr "Copiar"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:156 ver1.0/EventMonitor/Frame.cpp:156
|
||||
#: ver1.1/EventMonitor/Frame.cpp:156
|
||||
#: Frame.cpp:156
|
||||
msgid "Copy All"
|
||||
msgstr "Copiar todo"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:161 ver1.0/EventMonitor/Frame.cpp:161
|
||||
#: ver1.1/EventMonitor/Frame.cpp:161
|
||||
#: Frame.cpp:161
|
||||
msgid "Edit"
|
||||
msgstr "Editar"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:164 ver1.0/EventMonitor/Frame.cpp:164
|
||||
#: ver1.1/EventMonitor/Frame.cpp:164
|
||||
#: Frame.cpp:164
|
||||
msgid "Auto Scroll"
|
||||
msgstr "Autodesplazamiento"
|
||||
|
||||
#: master/EventMonitor/Frame.cpp:189 ver1.0/EventMonitor/Frame.cpp:189
|
||||
#: ver1.1/EventMonitor/Frame.cpp:189
|
||||
#: Frame.cpp:189
|
||||
msgid "Trace Log"
|
||||
msgstr "Trazar log"
|
||||
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "Real-time display of internal events"
|
||||
msgstr "Mostrar en tiempo real los eventos internos"
|
||||
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: master/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.0/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Debug.Shortcut-2.idtx:4
|
||||
#: ver1.1/EventMonitor/MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "EVENTM~1|GÉANTLink Event Monitor"
|
||||
msgstr "EVENTM~1|Monitor de eventos de GÉANTLink"
|
||||
|
233
EventMonitor/locale/et_EE.po
Normal file
233
EventMonitor/locale/et_EE.po
Normal file
@@ -0,0 +1,233 @@
|
||||
# Translators:
|
||||
# Indrek Rokk <indrek.rokk@eenet.ee>, 2018
|
||||
# Anne M <anne@eenet.ee>, 2019
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2019-08-12 14:04+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Last-Translator: Anne M <anne@eenet.ee>, 2019\n"
|
||||
"Language-Team: Estonian (https://www.transifex.com/eduroam_devel/teams/11799/et/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: et\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Poedit-Basepath: ..\n"
|
||||
"X-Poedit-KeywordsList: _\n"
|
||||
"X-Poedit-SearchPath-0: .\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: App.cpp:61 Frame.h:75 MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
msgid "Event Monitor"
|
||||
msgstr "Sündmuste monitor"
|
||||
|
||||
#: ETWLog.cpp:83
|
||||
#, c-format
|
||||
msgid "Error opening event trace (error %u)."
|
||||
msgstr "Viga sündmuse jälitamise avamisel (viga %u)."
|
||||
|
||||
#: ETWLog.cpp:171
|
||||
msgid "Time"
|
||||
msgstr "Aeg"
|
||||
|
||||
#: ETWLog.cpp:172
|
||||
msgid "PID"
|
||||
msgstr "PID"
|
||||
|
||||
#: ETWLog.cpp:173
|
||||
msgid "TID"
|
||||
msgstr "TID"
|
||||
|
||||
#: ETWLog.cpp:174
|
||||
msgid "Source"
|
||||
msgstr "Allikas"
|
||||
|
||||
#: ETWLog.cpp:175
|
||||
msgid "Event"
|
||||
msgstr "Sündmus"
|
||||
|
||||
#: ETWLog.cpp:232
|
||||
msgid ""
|
||||
"Access denied creating event session: you need administrative privileges "
|
||||
"(Run As Administrator) or be a member of Performance Log Users group to "
|
||||
"start event tracing session."
|
||||
msgstr ""
|
||||
"Puudub pääsuluba: sündmuse jälitusseansi loomiseks vajad "
|
||||
"administraatoriõigusi (Run As Administrator) või kuulumist soorituste logi "
|
||||
"kasutajagruppi (Performance Log Users)"
|
||||
|
||||
#: ETWLog.cpp:235
|
||||
#, c-format
|
||||
msgid "The %s event session already exists."
|
||||
msgstr "%s sündmuse seanss on juba olemas."
|
||||
|
||||
#: ETWLog.cpp:239
|
||||
#, c-format
|
||||
msgid "Error creating event session (error %u)."
|
||||
msgstr "Viga sündmuse seansi loomisel (viga %u)."
|
||||
|
||||
#: ETWLog.cpp:255 ETWLog.cpp:271 ETWLog.cpp:285
|
||||
#, c-format
|
||||
msgid "Error enabling %s event provider (error %u)."
|
||||
msgstr "Viga %s sündmuse looja võimaldamisel (viga %u)."
|
||||
|
||||
#: Frame.cpp:48 Frame.cpp:108 Frame.cpp:113 Frame.cpp:168 Frame.cpp:170
|
||||
#, c-format
|
||||
msgid "Toggles display of %s records"
|
||||
msgstr "Lülitab %s kirjete näitamise sisse"
|
||||
|
||||
#: Frame.cpp:65
|
||||
msgid "E&xit"
|
||||
msgstr "V&älju"
|
||||
|
||||
#: Frame.cpp:65
|
||||
msgid "Quits this program"
|
||||
msgstr "Lõpetab selle programmi"
|
||||
|
||||
#: Frame.cpp:69
|
||||
msgid "&Program"
|
||||
msgstr "&Programm"
|
||||
|
||||
#: Frame.cpp:73
|
||||
msgid "&Copy"
|
||||
msgstr "&Kopeeri"
|
||||
|
||||
#: Frame.cpp:73 Frame.cpp:154
|
||||
msgid "Copies selected records to clipboard"
|
||||
msgstr "Kopeerib valitud kirjed lõikelauale"
|
||||
|
||||
#: Frame.cpp:78
|
||||
msgid "Copy A&ll"
|
||||
msgstr "Kopee&ri kõik"
|
||||
|
||||
#: Frame.cpp:78 Frame.cpp:156
|
||||
msgid "Copies all records to clipboard (including hidden)"
|
||||
msgstr "Kopeerib kõik (sh varjatud) kirjed lõikelauale"
|
||||
|
||||
#: Frame.cpp:83 Frame.cpp:158
|
||||
msgid "Clear"
|
||||
msgstr "Kustuta"
|
||||
|
||||
#: Frame.cpp:83 Frame.cpp:158
|
||||
msgid "Clears all records from the log"
|
||||
msgstr "Kustutab logist kõik kirjed"
|
||||
|
||||
#: Frame.cpp:90
|
||||
msgid "Select &All"
|
||||
msgstr "Vali k&õik"
|
||||
|
||||
#: Frame.cpp:90
|
||||
msgid "Selects all visible records"
|
||||
msgstr "Valib kõik nähtavad kirjed"
|
||||
|
||||
#: Frame.cpp:94
|
||||
msgid "Select &None"
|
||||
msgstr "Valiku &nullimine"
|
||||
|
||||
#: Frame.cpp:94
|
||||
msgid "Clears record selection"
|
||||
msgstr "Tühjendab kirjete valiku"
|
||||
|
||||
#: Frame.cpp:97 Frame.cpp:142
|
||||
msgid "&Edit"
|
||||
msgstr "R&edigeeri"
|
||||
|
||||
#: Frame.cpp:101
|
||||
msgid "Auto &Scroll"
|
||||
msgstr "A&utomaatne kerimine"
|
||||
|
||||
#: Frame.cpp:101 Frame.cpp:164
|
||||
msgid "Automatically scrolls to the most recent records as they come-in"
|
||||
msgstr ""
|
||||
"Kerib automaatselt kõige värskemate kirjeteni vastavalt nende tekkimisele"
|
||||
|
||||
#: Frame.cpp:123 Frame.cpp:176
|
||||
msgid "Verbose"
|
||||
msgstr "Pikk tulemus"
|
||||
|
||||
#: Frame.cpp:123 Frame.cpp:176
|
||||
msgid "Displays all levels of records"
|
||||
msgstr "Kõigi tasemete kirjete kuvamine"
|
||||
|
||||
#: Frame.cpp:127 Frame.cpp:178
|
||||
msgid "Informational"
|
||||
msgstr "Informatiivne"
|
||||
|
||||
#: Frame.cpp:127 Frame.cpp:178
|
||||
msgid "Displays all records up to informational level"
|
||||
msgstr "Kirjete kuvamine informatiivse tasemeni"
|
||||
|
||||
#: Frame.cpp:131 Frame.cpp:180
|
||||
msgid "Warning"
|
||||
msgstr "Hoiatused"
|
||||
|
||||
#: Frame.cpp:131 Frame.cpp:180
|
||||
msgid "Displays all records up to warning level"
|
||||
msgstr "Kirjete kuvamine hoiatustasemeni"
|
||||
|
||||
#: Frame.cpp:135 Frame.cpp:182
|
||||
msgid "Error"
|
||||
msgstr "Vead"
|
||||
|
||||
#: Frame.cpp:135 Frame.cpp:182
|
||||
msgid "Displays error level records only"
|
||||
msgstr "Kirjete kuvamine ainult veatasemel"
|
||||
|
||||
#: Frame.cpp:142 Frame.cpp:146
|
||||
#, c-format
|
||||
msgid "%s toolbar"
|
||||
msgstr "%s tööriistariba"
|
||||
|
||||
#: Frame.cpp:142 Frame.cpp:146
|
||||
#, c-format
|
||||
msgid "Toggles display of %s toolbar"
|
||||
msgstr "Vahetab %s tööriistariba kuvamise"
|
||||
|
||||
#: Frame.cpp:142 Frame.cpp:146 Frame.cpp:185
|
||||
msgid "View"
|
||||
msgstr "Vaata"
|
||||
|
||||
#: Frame.cpp:146 Frame.cpp:149
|
||||
msgid "&View"
|
||||
msgstr "&Vaata"
|
||||
|
||||
#: Frame.cpp:154
|
||||
msgid "Copy"
|
||||
msgstr "Kopeeri"
|
||||
|
||||
#: Frame.cpp:156
|
||||
msgid "Copy All"
|
||||
msgstr "Kopeeri kõik"
|
||||
|
||||
#: Frame.cpp:161
|
||||
msgid "Edit"
|
||||
msgstr "Redigeeri"
|
||||
|
||||
#: Frame.cpp:164
|
||||
msgid "Auto Scroll"
|
||||
msgstr "Automaatne kerimine"
|
||||
|
||||
#: Frame.cpp:189
|
||||
msgid "Trace Log"
|
||||
msgstr "Jälituslogi"
|
||||
|
||||
#: MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Feature-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "Real-time display of internal events"
|
||||
msgstr "Sisesündmuste reaalajas kuvamine"
|
||||
|
||||
#: MSIBuild/en_US.ARM64.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.Win32.Release.Shortcut-2.idtx:4
|
||||
#: MSIBuild/en_US.x64.Release.Shortcut-2.idtx:4
|
||||
msgid "EVENTM~1|GÉANTLink Event Monitor"
|
||||
msgstr "EVENTM~1|GÉANTLink Event Monitor"
|
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Language-Team: Basque (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/eu_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Language-Team: Finnish (Finland) (https://www.transifex.com/eduroam_devel/teams/11799/fi_FI/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Language-Team: French (Canada) (https://www.transifex.com/eduroam_devel/teams/11799/fr_CA/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Language-Team: French (France) (https://www.transifex.com/eduroam_devel/teams/11799/fr_FR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@@ -4,7 +4,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: EventMonitor\n"
|
||||
"POT-Creation-Date: 2017-02-02 18:14+0100\n"
|
||||
"PO-Revision-Date: 2016-06-02 12:27+0200\n"
|
||||
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
|
||||
"Language-Team: Galician (Spain) (https://www.transifex.com/eduroam_devel/teams/11799/gl_ES/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user