Compare commits

...

742 Commits

Author SHA1 Message Date
d2bf903a49 Update README.md 2018-12-06 08:35:58 +01:00
951c765dc1 Force SHA-256 digest for timestamp signatures
Comodo timestamp server defaults to SHA-1. To make sure timestamp
signatures are SHA-256, add appropriate signtool.exe flag.
2018-11-06 19:56:20 +01:00
a419991d9c Update translations and add Estonian translation 2018-11-06 19:56:20 +01:00
6136d3d1e9 Silence the missing shcore.dll warning on Windows 7 2018-11-06 19:56:20 +01:00
727ef20a8a Preset version to 1.1h 2018-11-06 19:55:19 +01:00
8ba410eb0b Update sub-modules 2018-09-30 16:53:22 +02:00
f9602b703e Make GUI DPI-aware 2018-09-17 11:45:50 +02:00
f981dfb16b Clean-up 2018-09-08 01:12:26 +02:00
a530618f7f Run MSBuild tasks in parallel 2018-09-07 12:55:28 +02:00
ba9c6d3419 Pre-set version to 1.1g 2018-09-07 12:41:23 +02:00
00bf771b5e Set version to 1.1f 2018-09-07 12:30:45 +02:00
56d545baba Add support for ARM64 platform 2018-09-07 12:29:25 +02:00
f637189b90 Fix mess from 59c5fc9d64 2018-09-05 14:12:29 +02:00
75c226a1ef Switch to Visual Studio 2017 2018-09-05 14:05:09 +02:00
96270389cf Stop using internal unique_ptr::_Myptr member 2018-09-05 13:59:09 +02:00
b4de1dd233 Register en_US language in nmake register
When "Language" setting is absent in registry, the initialization of
wxWidget localization raises asserts.
2018-09-05 12:50:28 +02:00
192e1b278c Add explicit constructors/operators to sanitizing_blob_(z)f
Otherwise the compiler might generate default ones - and delete them
too.
2018-09-04 15:49:48 +02:00
9f13059d66 Review implicit narrowing conversions 2018-09-04 15:46:46 +02:00
59c5fc9d64 Distinguish or merge variables with same names
...to resolve C4457 warnings.
2018-09-04 15:25:13 +02:00
1f61096c3d Force disable incremental linking
Incremental linking and reference optimization are mutually exclusive.
While VC2010 defaulted to non-incremental linking, this conflict was not
apparent.
2018-09-04 13:45:01 +02:00
5fbfc3dcc8 Fix incorrect template parameter tolerated by VC2010 2018-09-04 12:26:20 +02:00
ee012e30c5 Remove MFC dependency 2018-09-04 12:12:48 +02:00
1d0410af59 VS10Solution.sln => GEANTLink.sln 2018-09-04 11:37:19 +02:00
b5dd5080f5 Update MSIBuild sub-module 2018-09-04 11:29:51 +02:00
dd805e7199 Upgrade to wxWidgets 3.1.1 and wxFormBuilder 3.8.1 2018-09-03 13:55:51 +02:00
3220e36206 Switch to SHA-256 signing of final MSI files
This breaks support for Windows Vista.
2018-07-04 11:15:43 +02:00
4767fb9a13 Import translations from Transifex 2018-07-04 10:25:13 +02:00
4bfae4a27d Update sub-module 2018-07-04 10:25:05 +02:00
c42b080c31 Update translation template 2018-06-20 15:33:24 +02:00
bc7893804e Stop using <> parentheses to avoid XML/HTML markup
Transifex treats strings enclosed in <> as HTML.
2018-06-20 14:53:47 +02:00
4597e6c78f .gitignore output WLANManager.exe properly 2018-06-20 14:40:22 +02:00
6eb15355e9 Switch to SHA-256 signing 2018-06-20 14:39:05 +02:00
20a9222057 Preset version to 1.1e 2018-06-20 14:38:49 +02:00
36d4ff8757 Enable Italian GUI 2018-06-20 14:37:23 +02:00
a59147ca1c Update translations 2018-06-20 14:36:52 +02:00
5d6bd7aa52 Auto-detect devenv.com path 2018-06-20 14:36:22 +02:00
b1ea8465f4 Set version to 1.1d 2017-12-05 09:39:31 +01:00
0ecb5710b9 Translation update 2017-12-05 09:38:25 +01:00
4e136ecb28 Update wxExtend module 2017-12-05 09:37:49 +01:00
da4f300b47 Update WinStd submodule 2017-12-05 09:37:34 +01:00
e8f2cd237a Ignore post v1.1 folders
For easier switching between branches the non-v1.1 folders has been
.gitignored.
2017-12-05 09:36:39 +01:00
9eaa46e185 Distribution folder changed 2017-11-20 12:07:18 +01:00
067fc26b32 Issue with NULL-initialized new profile configuration fixed 2017-07-10 10:48:55 +02:00
97c788298e Translation update 2017-05-30 12:40:49 +02:00
3ba8cfb4c4 Sub-module update 2017-05-30 12:39:00 +02:00
1a89ca5e70 Version set to 1.1c 2017-05-22 09:29:50 +02:00
54d69aeec1 daea1bba62 reverted 2017-05-22 09:16:27 +02:00
54934a619e WMI\Autologger records not installed any more, since they caused feature completeness check trouble: MsiUseFeature() reports feature broken, when it is denied access to any component folder or registry key
# Conflicts:
#	Makefile
2017-05-22 09:16:27 +02:00
c5f514ac56 MsiUseFeature() returning INSTALLSTATE_BROKEN is tolerated in non-elevated process now 2017-05-22 08:42:16 +02:00
3edcf6e1fd WLANManager.exe now deployed as WLANManager-Win32.exe and WLANManager-x64.exe 2017-05-17 13:02:54 +02:00
9248c02db0 Documentation update 2017-05-17 12:51:16 +02:00
e2287c07c0 Sub-module update 2017-05-17 12:47:51 +02:00
b693f464d3 Secondary error message pop-up removed 2017-05-17 12:45:32 +02:00
753f55ffc0 WLANManager support for multiple wireless interfaces 2017-05-17 12:45:32 +02:00
920d0ab2f7 Indentation fix 2017-03-14 09:37:33 +01:00
d3b9a21c81 Version set to 1.1b 2017-02-24 12:16:02 +01:00
4281672d13 Clean-up 2017-02-23 12:14:20 +01:00
b3b292a848 Incorrect CoCreateInstance() result evaluation fixed
# Conflicts:
#	lib/WinStd
2017-02-23 11:14:32 +01:00
f39d192d91 Debugging-related exception in WlanUIEditProfile() resolved 2017-02-23 11:14:09 +01:00
5bd970b9e7 Locale is dynamic now, since wxLocale does not support re-initialization (when module is reused) 2017-02-22 09:43:57 +01:00
1b143cdbc9 Documentation update
# Conflicts:
#	lib/GTC_UI/include/GTC_UI.h
2017-02-22 09:43:57 +01:00
7b6e1b2438 New version of wxExtend 2017-02-20 10:59:13 +01:00
fc85c6e4bb Compilation of debug MSI files fixed 2017-02-20 10:07:46 +01:00
0bae6380c9 Documentation update 2017-02-13 07:59:50 +01:00
f8f32262c2 64-bit language detection removed from 32-bit MSI resolving ICE80 warning 2017-02-09 13:41:33 +01:00
f43488be98 Uninitialized enum higher bytes when reading as unsigned char fixed 2017-02-09 11:43:55 +01:00
f32d653bb8 eap::config split to eap::config and eap::packable 2017-02-07 09:38:01 +01:00
7e5c98ef39 Version set to 1.1a 2017-02-06 08:15:58 +01:00
af37909893 Translation update 2017-02-06 08:05:33 +01:00
3ff617a048 __DANGEROUS__LOG_CONFIDENTIAL_DATA is now 0/1 #defined 2017-02-02 13:58:21 +01:00
fc0bf839c2 EAP_INNER_EAPHOST is now 0/1 #defined 2017-02-02 13:51:17 +01:00
6ef00f3fc2 EAP_USE_NATIVE_CREDENTIAL_CACHE is now 0/1 #defined 2017-02-02 13:27:54 +01:00
8dcddb9ded Documentation update 2017-02-02 12:17:34 +01:00
d3b69976b9 EapHost credential prompt result evaluation fixed 2017-02-02 11:38:16 +01:00
e93a771e16 EapHost conditional compilation directive fixed 2017-02-02 11:38:16 +01:00
6689383824 Clean-up 2017-02-01 14:38:37 +01:00
58b9b1cf88 Clean-up 2017-02-01 13:12:25 +01:00
89139e824b EapHost peer initialization conditional now 2017-02-01 11:04:07 +01:00
e3904b31eb get_ui_context() upgraded 2017-02-01 10:54:31 +01:00
a6eac3beb4 Simple BLOB encryption/decryption added & comment updates 2017-02-01 10:28:04 +01:00
9e0fc09c40 Missing namespace added 2017-02-01 10:13:41 +01:00
8c0330f324 Clean-up 2017-01-31 13:57:33 +01:00
5bf303aac3 EAP errors now correctly displayed in Event Viewer 2017-01-31 12:38:01 +01:00
d2998c9210 Incorrect RFC quote removed 2017-01-31 11:07:55 +01:00
33fb62a256 Both event channels are registered using Makefile disabled now, to prevent Events.dll getting constantly locked by Event Log service.
# Conflicts:
#	Makefile
2017-01-31 10:45:48 +01:00
368afacbb9 "User ID" and "Password" labels vertically centered 2017-01-31 10:45:15 +01:00
65483351f4 Additional clarification of UI context handling 2017-01-30 14:52:08 +01:00
a3af704d8e Comment fixed 2017-01-30 14:52:08 +01:00
c7ed9c0845 EAP types look-up extended 2017-01-30 12:19:45 +01:00
67426d5db4 Distribution folder changed 2017-01-30 08:57:23 +01:00
ea15fde6c1 Version set to 1.1 2017-01-30 08:51:46 +01:00
78325c98c7 Documentation update 2016-12-13 11:28:29 +01:00
aa3f44260e Event reporting extended to support event channel in Windows Event Viewer 2016-12-09 13:29:07 +01:00
8f054a1f97 Event source in registry changed to match the one in manifest 2016-12-08 08:47:59 +01:00
f4a6e542f0 Translations updated 2016-12-07 13:56:05 +01:00
fb9e6c4e5a Missing credential identity tooltip reintroduced 2016-12-07 13:27:30 +01:00
e317439910 Some extra diagnostic output added when configuration XML contains unknown/unsupported method
# Conflicts:
#	lib/TTLS/src/Config.cpp
2016-12-07 13:23:01 +01:00
f7dcdc2dce Identity read-only text box in credential selection configuration panel has been replaced by static text not to confuse users they can edit it there 2016-12-07 13:18:31 +01:00
fb376b29df Version set to 1.1-beta2 2016-12-05 13:26:17 +01:00
d82e22d188 Post-festum CRL checking introduced 2016-12-05 13:00:39 +01:00
303350dec0 eap::peer_ttls::end_session() fixed to call method's end_session() method 2016-12-05 12:42:35 +01:00
dd144efa5f New authentication status introduced: server compromised 2016-12-05 12:39:04 +01:00
cb253450a0 Distribution folder changed 2016-11-29 13:01:26 +01:00
168aed3000 Charset issue in version resource fixed 2016-11-18 09:12:35 +01:00
2f5742eb9b Version set to 1.1-beta1 2016-11-18 06:50:34 +01:00
79ff14ddd3 Translation update 2016-11-18 06:24:32 +01:00
b4988187c0 Digital signing of CAB files introduced 2016-11-11 12:44:01 +01:00
97f497bc04 ...3.msi and ...3.mst files renamed to remove ".3" versioning in the name, to simplify their deployment 2016-11-11 12:41:26 +01:00
368de2e865 ...3.msi files are finalized now (marked as final, digitally signed, read-only), as they can be used for GPO deployment 2016-11-11 11:50:16 +01:00
2c842bd2bb Makefile sub-target CleanSetup introduced 2016-11-11 11:42:37 +01:00
e10d14681f en_US MSI files prepared using MSILocal.mak now for more uniform building 2016-11-11 11:38:24 +01:00
444ae3d68d POT files updated to contain 1.1 and 1.0 texts 2016-11-08 11:56:38 +01:00
f72de7b8af Distribution folder changed 2016-11-08 11:36:38 +01:00
22a62ea6e4 Sub-module update 2016-11-08 11:36:16 +01:00
4d4bbe66e7 Version set to 1.1-beta 2016-11-07 14:34:19 +01:00
e8d2e33aac WideCharToMultiByte() and MultiByteToWideChar() optimization 2016-11-07 13:44:40 +01:00
9efb75d66f Documentation update 2016-11-07 12:59:50 +01:00
c053fd75e3 POT update 2016-11-07 12:40:51 +01:00
4ae048fd9f Auditing of CryptProtectData() enabled 2016-11-07 11:06:20 +01:00
3b6d2b2c14 Password and certificate output to log is no longer conditioned by _DEBUG 2016-11-07 10:48:13 +01:00
3a653be368 POT update 2016-11-04 14:13:15 +01:00
10aa7ad3f1 MSI localized files contain and install own resources only now 2016-11-04 14:03:33 +01:00
6ccf96c338 Non-ready localizations deactivated 2016-11-04 14:00:30 +01:00
9ef95a8d64 EventMonitor Doxygen documentation update 2016-11-04 12:53:44 +01:00
6166dd3887 Reported events are more consistent now 2016-11-04 11:51:39 +01:00
d08b70c284 Last result status handling improved 2016-11-04 11:50:58 +01:00
7750ebdb66 MSCHAPv2 server challenge issue fixed 2016-11-04 11:49:01 +01:00
c908e8ecfb EAPMsg branch is mainstream now 2016-11-04 10:06:28 +01:00
1fc2b7ff66 Redundant std::string to const char* conversion in exception constructors cleaned 2016-11-04 09:26:27 +01:00
eea136619c method_pap >> method_pap_diameter 2016-11-04 09:18:16 +01:00
88651e4ffe EAP-MSCHAPv2 support finished 2016-11-04 09:16:43 +01:00
fa3e7c0e6d Issue with passing wrong EAP type packet to tunneled method introduced in 70ce94b84e fixed 2016-11-03 11:22:05 +01:00
a8e1ac7455 Separate configuration for EAP-MSCHAPv2 introduced 2016-11-03 11:13:12 +01:00
48ba0b3664 Typo in documentation fixed 2016-11-03 11:11:54 +01:00
e7e484c814 Support for EapHost based inner methods has been (temporarily) disabled 2016-11-03 10:23:30 +01:00
b87e30bc9d Some final adjustments to EapHost inner method code before I put it to rest because of RasMan MSCHAPv2 heap corruption :( 2016-11-03 10:11:31 +01:00
60aa513375 Aesthetic modifications 2016-11-03 09:33:25 +01:00
a450d02485 Maximum inner method packet length now precisely calculated in begin_session() methods too 2016-11-03 07:55:33 +01:00
70ce94b84e Support for Legacy Nak introduced 2016-11-02 11:36:43 +01:00
fba3619747 eap::method_eapmsg initial testing and issue resolving 2016-11-02 11:04:48 +01:00
d234e55ae4 - Doxygen documentation updated
- Some minor issues stumbled upon fixed
- WIN1250 >> UTF-8
2016-11-02 01:25:38 +01:00
ff2871f126 WIN1250 >> UTF-8 2016-11-01 07:02:45 +01:00
438395062b Orphaned PAP.cpp files removed 2016-11-01 06:57:41 +01:00
2ff425713b EventMonitor's wxFormBuilder resources moved to res sub-folder 2016-11-01 06:57:40 +01:00
0387d7d593 Orphaned PAP.cpp files removed 2016-11-01 06:37:37 +01:00
b1a0669c40 EventMonitor's wxFormBuilder resources moved to res sub-folder 2016-11-01 05:56:10 +01:00
52a428bb5e Various ownTLS leftover clean-up 2016-11-01 05:33:55 +01:00
655cbe70d1 EapHostPeerInvokeIdentityUI() call fixed 2016-10-31 17:17:21 +01:00
c31e019cef eap::metod thorough redesign:
- Support for method stacking introduced
- EAP-TLS method has been discontinued
- ownTLS has been discontinued
2016-10-31 16:58:53 +01:00
b054dcdc7a eap::diameter_avp_append() set of functions introduced 2016-10-31 16:28:38 +01:00
0d8f243d31 eap::module::make_error() extended to support EAP_ERROR duplication 2016-10-31 16:23:42 +01:00
96d5b95b6f Doxygen documentation update 2016-10-31 16:22:45 +01:00
af56825d39 Code clean-up 2016-10-28 13:50:30 +02:00
f5a40f7ca8 Doxygen update 2016-10-28 13:47:59 +02:00
6f30239ada method_eaphost is no longer method_noneap child but correctly a method child 2016-10-27 14:13:02 +02:00
55f160bce3 Code clean-up 2016-10-27 13:59:08 +02:00
654c965851 Support for various peer action request extended 2016-10-27 10:00:18 +02:00
aaeb6415ee Unable to set blank certificate credentials issue fixed
# Conflicts:
#	lib/WinStd
2016-10-25 14:15:20 +02:00
fc008bcfb4 Unable to set blank certificate credentials issue fixed 2016-10-25 14:13:12 +02:00
4bbc752995 Discrete output of credentials to event log centralized
# Conflicts:
#	lib/EapHost/src/Credentials.cpp
#	lib/EapHost/src/StdAfx.h
#	lib/Events/res/EventsETW.man
2016-10-25 13:45:00 +02:00
64c3837908 Zero-length event property data retrieval fixed 2016-10-25 13:40:59 +02:00
ddd83a74e5 eap::credentials_eaphost now complete 2016-10-25 13:39:54 +02:00
d87b3d37e5 Discrete output of credentials to event log centralized 2016-10-25 13:37:39 +02:00
04af17121c Redundant eap::credentials_eaphost::get_identity() removed 2016-10-25 13:34:21 +02:00
aa18aed868 Zero-length event property data retrieval fixed 2016-10-25 13:33:13 +02:00
d5870f1252 Configuration value logging replaced with array variant instead of varadic event_provider::write() method for performance reasons 2016-10-25 13:05:44 +02:00
094fce2b2f event_data::blank redefined to prevent confusion with NULL values causing premature varadic argument termination leading to incomplete event data 2016-10-25 13:05:36 +02:00
7d1668e2e0 Configuration value logging replaced with array variant instead of varadic event_provider::write() method for performance reasons 2016-10-25 13:04:12 +02:00
1d302954e3 event_data::blank redefined to prevent confusion with NULL values causing premature varadic argument termination leading to incomplete event data 2016-10-25 13:01:56 +02:00
dd55dfd24d eap::config_method_eaphost::get_method_str() finished 2016-10-25 11:06:11 +02:00
65ea47eb4e EAPMsg >> EapHost 2016-10-25 08:51:13 +02:00
abf54ad342 Doxygen documentation update 2016-10-25 08:51:04 +02:00
2041accecb EAP-Message integration continues... 2016-10-24 15:08:25 +02:00
26a7b7dab7 pEapOutput Prefast specifier for process_request_packet() methods changed
# Conflicts:
#	lib/EAPMsg/include/Method.h
#	lib/EAPMsg/src/Method.cpp
2016-10-24 14:58:17 +02:00
e7e1a6735d pEapOutput Prefast specifier for process_request_packet() methods changed 2016-10-24 14:55:31 +02:00
d08488d916 pEapOutput Prefast specifier for set_response_attributes() methods changed
# Conflicts:
#	lib/EAPBase/include/Method.h
#	lib/EAPBase/src/Method.cpp
#	lib/TTLS/include/Method.h
#	lib/TTLS/src/Method.cpp
2016-10-24 14:44:36 +02:00
2c91b6ca8c pEapOutput Prefast specifier for set_response_attributes() methods changed 2016-10-24 14:42:56 +02:00
f71ff1fb8c new wxExtend library version 2016-10-24 14:21:18 +02:00
4722c42903 Incorrect pEapOutput in method::set_ui_context() methods fixed
# Conflicts:
#	lib/EAPBase/include/Method.h
#	lib/EAPBase/src/Method.cpp
#	lib/TTLS/include/Method.h
#	lib/TTLS/src/Method.cpp
2016-10-24 14:18:11 +02:00
45ce38916b eap_error_runtime introduced 2016-10-24 14:13:27 +02:00
131e19df88 new wxExtend library version 2016-10-24 14:12:24 +02:00
0d73e2f7a2 Incorrect pEapOutput in method::set_ui_context() methods fixed 2016-10-24 14:11:15 +02:00
1ccf97b6d7 ppResult >> pResult 2016-10-24 13:35:46 +02:00
a1f9a7bab9 ppResult >> pResult 2016-10-24 13:33:01 +02:00
6f90cfaf99 Sub-module update 2016-10-18 14:29:16 +02:00
278bc46511 Sub-module update 2016-10-18 14:28:39 +02:00
d602a03cac Incorrect string template fixed 2016-10-17 16:40:09 +02:00
2cf134db1e Incorrect string template fixed 2016-10-17 16:39:23 +02:00
7557bf784a Excessive c_str() removed 2016-10-17 16:37:27 +02:00
fd7b0a93c0 wxEAPGetProviderName() output fixed 2016-10-17 16:15:53 +02:00
68c2c05b41 wxEAPGetProviderName() output fixed 2016-10-17 16:15:26 +02:00
de2506bcc4 Unified credential TTLS prompt replaced with separate prompts for identity provider, outer credentials and inner credentials
EapHost peers provide credential dialogs only and cannot be integrated into unified credential prompt as a panel, requiring additional clicking and pop-ups for user to enter credentials.
2016-10-17 16:05:36 +02:00
1911b53c10 Missing type-cast preventing correct CA certificate file import fixed
(broken in 559ffc5ead)
2016-10-17 14:04:59 +02:00
ee94756655 Missing type-cast preventing correct CA certificate file import fixed
(broken in 559ffc5ead)
2016-10-17 14:04:21 +02:00
af2d0fde1f Missing credentials BLOB sanitizing added 2016-10-17 13:18:54 +02:00
31f4ec4b93 Bulgarian translation included in final MSI 2016-10-17 10:32:07 +02:00
ec238001cd Merge branch 'master' of https://github.com/Amebis/GEANTLink 2016-10-17 10:31:57 +02:00
f42c7f8bb5 Localization update 2016-10-17 10:31:13 +02:00
0dcb8c04c5 Bulgarian translation included in final MSI 2016-10-17 10:28:47 +02:00
8c0fa1dc68 Merge branch 'master' of https://github.com/Amebis/GEANTLink 2016-10-17 10:17:06 +02:00
473070e567 Localization update 2016-10-17 10:16:53 +02:00
8b9ab89c04 Localization update 2016-10-17 10:15:41 +02:00
bafbdec9d3 User interaction and EAP response attributes management delegated to eap::method 2016-10-14 10:34:14 +02:00
3f75ef83bb Non-saving inner method configuration issue fixed 2016-10-14 10:29:14 +02:00
6d4802a06f Sub-module update 2016-10-14 10:11:36 +02:00
75ba227bca Sub-module update 2016-10-14 10:10:46 +02:00
2086653a7b Localization and compilation separated, as satisfied Localization target skipped building 2016-10-11 11:32:54 +02:00
2e38f79a6e Localization and compilation separated, as satisfied Localization target skipped building 2016-10-11 11:32:22 +02:00
6b7a1966e3 Norwegian Bokmål translations added to MSI 2016-10-10 17:40:58 +02:00
3606a8d25d Catalan translations added to MSI 2016-10-10 17:40:57 +02:00
6be4fddcd7 Translation updated 2016-10-10 17:40:57 +02:00
39ddc6333d Norwegian Bokmål translations added to MSI 2016-10-10 17:37:27 +02:00
d7894acf7c Catalan translations added to MSI 2016-10-10 17:36:18 +02:00
9af304d57a Translation updated 2016-10-10 17:33:59 +02:00
7a26128c7b "auto" simplified 2016-10-10 15:00:10 +02:00
f9697dfcee Loading EAPMsg credentials from Windows Credential Manager temporarily commented 2016-10-10 14:54:22 +02:00
e40ee1c34b Missing EapHost peer initialization added 2016-10-10 14:31:32 +02:00
e94e3bdd60 credentials::combine() methods updated with support for EAPMsg:
- Additional parameters
- Additional result code
- User impersonation now mounted inside of credentials::combine() when required
2016-10-10 14:31:23 +02:00
c660e2b3e6 config_method_with_cred::make_credentials() method moved to parent class config_method for seamless EAPMsg method support 2016-10-10 13:20:08 +02:00
864105186b Serbian translation added to MSI
(Except from MSI setup, UI is completely translated to Serbian now)
2016-10-10 10:19:31 +02:00
028742d7e6 Translations update 2016-10-10 10:19:31 +02:00
c94d7897ca Serbian translation added to MSI
(Except from MSI setup, UI is completely translated to Serbian now)
2016-10-10 09:50:50 +02:00
e75e2dcce5 Translations update 2016-10-10 09:46:09 +02:00
e178d6d049 Sub-module update 2016-10-10 09:07:13 +02:00
f89f3eb4b9 Host name and FQDN validators moved to wxExtend; Incorrect FeatureComponent mappings of EventMonitor localization components fixed
# Conflicts:
#	lib/wxExtend
2016-10-10 09:07:03 +02:00
5d891c9581 Sub-module update 2016-10-07 15:38:32 +02:00
e4758faba3 Host name and FQDN validators moved to wxExtend; Incorrect FeatureComponent mappings of EventMonitor localization components fixed 2016-10-07 15:28:47 +02:00
9aacbb2fef Sub-module update 2016-10-07 12:38:04 +02:00
01a83faca6 wxInitializeLocale moved to wxExtend 2016-10-05 12:12:11 +02:00
5c966f35a8 wxInitializeLocale moved to wxExtend 2016-10-05 12:11:17 +02:00
896bff53cc Both XML selection namespaces (eap-metadata and eaphostconfig) are configured now 2016-10-04 12:41:41 +02:00
822cf92915 Some more C casting replaced with C++ dynamic casting 2016-10-04 12:41:01 +02:00
1d06d78294 Some more C casting replaced with C++ dynamic casting 2016-10-04 12:39:32 +02:00
6671c810f4 Documentation update 2016-10-04 12:38:42 +02:00
a2830d2aee EAPMsg profile configuration XML load/save support added 2016-10-04 12:35:32 +02:00
ce05418d8e Both XML selection namespaces (eap-metadata and eaphostconfig) are configured now 2016-10-04 12:33:43 +02:00
583fc19da7 config_method_ttls::make_config_method() method modified to support EAPMsg 2016-10-04 12:12:46 +02:00
597095b536 Support for packing and unpacking of config_method_eapmsg added 2016-10-04 11:23:12 +02:00
5dad353d98 winstd::eap_runtime_error exception introduced 2016-10-04 11:21:40 +02:00
dab9e69dd3 Inner EAP method support progress continues... 2016-10-04 10:32:11 +02:00
2bc6d97ab0 m_cred >> m_cred_blob 2016-10-04 10:30:37 +02:00
2f49934a92 Some more C casting replaced with C++ dynamic casting 2016-10-04 10:20:01 +02:00
e8eec11618 EAP-TTLS inner method no longer needs to have support for configured credentials 2016-10-04 10:13:45 +02:00
03d6823241 Some more C casting replaced with C++ dynamic casting 2016-10-04 09:16:14 +02:00
5a36eb0d23 Documentation update 2016-10-04 09:04:09 +02:00
7d13222838 Inner EAP method support progress continues... 2016-10-03 15:48:54 +02:00
c53ed21d55 Code clean-up 2016-10-03 14:54:02 +02:00
10c03ccedb 1.5.2 False positives from security audit resolved 2016-10-03 14:54:02 +02:00
01245d15d9 ID 8. A typo in the comment from security audit resolved 2016-10-03 14:54:02 +02:00
ff4e8c6885 ID 7. Commented out parts of the code from security audit partially resolved 2016-10-03 14:54:02 +02:00
111ede456e ID 5. Unused variables from security audit partially fixed 2016-10-03 14:54:01 +02:00
f0af016efe ID 4. Possibility of method_tls class initialization list optimization from security audit fixed 2016-10-03 14:54:01 +02:00
559ffc5ead ID 3. C style pointer casting from security audit fixed 2016-10-03 14:53:50 +02:00
28408fcea7 ID 2. Missing functionality from security audit report partially fixed 2016-10-03 14:52:57 +02:00
7924612419 ID 1. Variables shadowing from security audit report fixed 2016-10-03 14:52:44 +02:00
c1a483a0bd Version set to 1.0-beta7 2016-10-03 14:52:12 +02:00
b34aee8493 Translation update 2016-10-03 14:52:01 +02:00
a1455078e9 Explicit server certificate check introduced 2016-10-03 14:51:45 +02:00
76729d51cc Code clean-up 2016-10-03 14:49:17 +02:00
3a6701452a 1.5.2 False positives from security audit resolved 2016-10-03 13:49:32 +02:00
c7b96c9aa3 ID 8. A typo in the comment from security audit resolved 2016-10-03 13:12:47 +02:00
b212d0abc6 ID 7. Commented out parts of the code from security audit partially resolved 2016-10-03 13:09:31 +02:00
bcba624dcb ID 5. Unused variables from security audit partially fixed 2016-10-03 12:50:24 +02:00
b3d4e6b085 ID 4. Possibility of method_tls class initialization list optimization from security audit fixed 2016-10-03 12:45:55 +02:00
c0b51f767c ID 3. C style pointer casting from security audit fixed 2016-10-03 11:40:30 +02:00
c768b44c56 ID 2. Missing functionality from security audit report partially fixed 2016-10-03 09:35:45 +02:00
82f5cd7507 ID 1. Variables shadowing from security audit report fixed 2016-10-03 09:35:14 +02:00
dcbe5410cd Sub-module update 2016-10-03 09:04:21 +02:00
a834fbcb7c Inner EAP method support progress continues... 2016-09-30 15:22:12 +02:00
70f9a95421 Version set to 1.0-beta7 2016-09-30 14:32:59 +02:00
f0f3d5bbce Translation update 2016-09-30 14:32:42 +02:00
1afbef7e2e Explicit server certificate check introduced 2016-09-30 14:24:49 +02:00
13d84c3c4d Various events are propagated to parent classes now 2016-09-30 11:00:23 +02:00
1d4a77b96b Remove CA button enable/disable logic fixed after CA list box switched to single selection in c371187edc commit 2016-09-30 11:00:14 +02:00
7a379a1a87 OnInitDialog events are propagated to parent classes now 2016-09-30 11:00:02 +02:00
2e6d8941b2 Various events are propagated to parent classes now 2016-09-30 10:58:46 +02:00
0369969193 Remove CA button enable/disable logic fixed after CA list box switched to single selection in c371187edc commit 2016-09-30 10:57:08 +02:00
420cf11264 OnInitDialog events are propagated to parent classes now 2016-09-30 10:09:11 +02:00
7d986b82d8 OnUpdateUI events are propagated to parent classes now 2016-09-30 09:58:00 +02:00
1d94f44d73 OnUpdateUI events are propagated to parent classes now 2016-09-30 09:46:51 +02:00
2bc43869b0 Revert "Switching inner authentication method re-layouts configuration dialog now"
This reverts commit 67003bd478.
2016-09-29 15:33:37 +02:00
8d44e750d1 Revert "Switching inner authentication method re-layouts configuration dialog now"
This reverts commit 67003bd478.
2016-09-29 15:28:35 +02:00
caf80e07f9 Switching inner authentication method re-layouts configuration dialog now 2016-09-29 14:48:12 +02:00
0d1bcbf9c4 Localization and compilation separated, as satisfied Localization target skipped building 2016-09-29 14:47:58 +02:00
9ea80712d9 EAPMsg integration 2016-09-29 14:39:39 +02:00
67003bd478 Switching inner authentication method re-layouts configuration dialog now 2016-09-29 14:37:43 +02:00
38afc6172e Localization and compilation separated, as satisfied Localization target skipped building 2016-09-29 14:36:36 +02:00
613117775d Initial versions of EAPMsg libraries 2016-09-29 14:07:52 +02:00
b6adb2a850 Common members from config_method_with_cred moved to parent config_method 2016-09-29 11:23:22 +02:00
cbf7a7ff1f POT update 2016-09-28 13:28:10 +02:00
7bc6494b4c Amend to commit 2684c6b7de 2016-09-28 11:25:35 +02:00
a445103183 Non-working credential storing after switching from configured to stored credentials fixed 2016-09-28 11:23:54 +02:00
3983b0933e Clean-up 2016-09-28 10:59:48 +02:00
2684c6b7de Windows Credential Manager credential retrieval disabled when <allow-save> is false, to prevent loading stale credentials from previous configuration when <allow-save> was true and credentials got stored to Windows Credential Manager 2016-09-28 10:45:06 +02:00
6471a200c6 Clean-up 2016-09-28 10:43:20 +02:00
da0e75a4a3 POT update 2016-09-27 20:16:45 +02:00
832af1b633 Support for KPH password encryption added 2016-09-27 11:44:04 +02:00
22930843e9 Excess terminator in WideCharToMultiByte<>() fixed 2016-09-27 11:42:59 +02:00
6001bd3a49 eap::config_method_with_cred::status >> eap::config_method_with_cred::status_t 2016-09-27 09:27:54 +02:00
106f49f50f Deleting storage credentials clears cached stored credentials too now 2016-09-26 13:48:31 +02:00
08bfa7ccc0 Refresh timer now stopped while manipulating stored credentials 2016-09-26 13:47:54 +02:00
8704ab938f Version set to 1.0-beta6 2016-09-26 13:14:15 +02:00
7169e66eb0 Sub-module update 2016-09-26 13:12:24 +02:00
a5f4cafc55 Configuration dialog banner title updated to include method name 2016-09-26 12:01:46 +02:00
52c0c82979 wxEAPCredentials title is no longer static for easier disambiguation between outer and inner credential set in EAP-TTLS configuration dialog
(closes #20)
2016-09-26 11:43:40 +02:00
a4b9c36242 Over-paranoid Debug Alert with empty certificate list resolved
- The "<empty>" certificate on the list of certificates has now wxCertificateClientData of NULL to declare wxChoice will use client object data;
- wxChoice selection index and availability of client object data are now verified before wxChoice::GetClientObject() call is made
(closes #21)
2016-09-26 11:11:10 +02:00
27ea8802e0 <Password> element is stored encrypted now in profile configuration XML
(closes #18)
2016-09-26 10:20:14 +02:00
bb8e766db7 Module decryption templates fixed 2016-09-26 10:18:55 +02:00
36b2f3c8a8 Always saving blank configured credentials issue fixed 2016-09-26 10:17:47 +02:00
c41bc3908e Password change detection updated not to rely on default password value any more, but monitors password control change events 2016-09-26 10:16:37 +02:00
79cc1af86f Clean-up and XML handling enhancement:
- XML helper functions always return objects by winstd::com_obj or winstd::bstr reference now to ensure proper release by caller
- get_element_value()/put_element_value() can optionally return reference to the XML object if required
- WinStd macros to simplify dplhandle<> and handle<> inherited classes reused by non-copyable classes
2016-09-23 14:43:31 +02:00
640c1abdbd XML get_element_value() and put_element_value() extended to support optional returning of XML element for later reference 2016-09-23 09:50:50 +02:00
9b14bd023f Synced with credmerge branch 2016-09-23 05:37:38 +02:00
3a9b503e48 Version set to 1.0-beta5 2016-09-22 12:43:27 +02:00
1ccfb58af1 Credential prompt panel labels edited 2016-09-22 11:56:21 +02:00
6ed3b6732f Credential source configuration panel redesigned 2016-09-22 11:52:19 +02:00
c99be50152 wxEAPCredentialsPromptPanel >> wxEAPCredentialsPanel, wxEAPTLSServerTrustConfigPanelBase >> wxTLSServerTrustPanelBase 2016-09-22 11:21:23 +02:00
b2d22864a3 wxEAPCredentialsPromptPassPanelBase >> wxPasswordCredentialsPanelBase 2016-09-22 11:16:40 +02:00
2039936823 TLS credential panel simplified 2016-09-22 11:12:06 +02:00
49e3cee12d GUI icons revised 2016-09-22 11:10:01 +02:00
10054b0240 wxEAPCredentialsPromptTLSPanel >> wxTLSCredentialsPanel 2016-09-22 11:06:11 +02:00
963657d6d8 wxTTLSCredentialsPanel constructor parameters match TTLS method now 2016-09-22 11:04:58 +02:00
2b232ba443 Checkbox for remembering credential is added dynamically (on demand) now to reduce GUI clutter 2016-09-21 11:44:34 +02:00
2c138fc0a9 Merge branch 'master' of https://github.com/Amebis/GEANTLink
# Conflicts:
#	lib/TLS_UI/include/TLS_UI.h
2016-09-21 10:50:44 +02:00
1acea44cf4 Client certificate selection simplified 2016-09-21 10:48:45 +02:00
081b6a6b6f wxEAPCredentialsPanel >> wxEAPCredentialsPromptPanel 2016-09-21 10:17:04 +02:00
d92578150a wxEAPCredentialsPanel >> wxEAPCredentialsPromptPanel 2016-09-21 10:09:47 +02:00
c6c72bf9f2 wxEAPCredentialsPromptTLSPanelBase is derived from wxEAPCredentialsPanelBase now 2016-09-21 10:05:52 +02:00
ed0462e1a4 Credential entry panels renamed 2016-09-21 09:49:34 +02:00
aff9f4f9f0 Missing Event project dependencies added 2016-09-21 09:43:29 +02:00
0ab18017cd Pre-shared >> Configured credentials, Own >> Stored credentials 2016-09-21 09:43:02 +02:00
4f736d8406 GUI text changed 2016-09-20 11:14:31 +02:00
204839e656 Version set to 1.0-beta4 2016-09-19 12:52:58 +02:00
8bffe1bec4 Final adjustments of build process:
- Incomplete languages removed
- SetLangMST in MSIBuild merged to AddStorage
2016-09-19 12:52:05 +02:00
b2b1c9578c Translations updated 2016-09-19 11:52:20 +02:00
34304b4aad Translations extracted with MIS.wsf/IDTExtract now 2016-09-19 11:33:04 +02:00
3e40aa8ec9 Source file English "en_US" instead of generic "En" now 2016-09-19 09:35:42 +02:00
a7f41cb794 Localization target correctly creates sl_SI folder now; Creation of other unnecessary folders removed 2016-09-16 21:00:20 +02:00
c37598828e Language setting is set to match MSI installation now 2016-09-16 20:54:51 +02:00
b0815fcd64 MSIBUILD_LANG_PO merged to LANG 2016-09-16 20:54:01 +02:00
b73922ef2f Update README.md 2016-09-16 19:26:42 +02:00
8384cda0d0 Project Readme added
(closes #11)
2016-09-16 18:56:35 +02:00
6e9f8f2bbd 2-phase build simplified to 1-phase 2016-09-16 18:55:05 +02:00
26626af6e9 Sub-module update 2016-09-16 18:53:56 +02:00
af19238431 rcxgettext.exe dependency eliminated 2016-09-16 14:58:54 +02:00
5370861182 NovGUID.exe dependency eliminated 2016-09-16 09:23:36 +02:00
687d4583a9 Unreferenced parameter warning resolved 2016-09-15 14:06:01 +02:00
0d7c582a7b Creating of output localization folders revised 2016-09-15 12:54:03 +02:00
b371883195 Check for unsupported code page added 2016-09-15 12:45:23 +02:00
0846969cc3 POCompile target updated to make output directory 2016-09-15 11:39:06 +02:00
8f5b8d1d40 Sub-module update 2016-09-14 14:48:27 +02:00
5c33e716d6 MSIBuild extended with GÉANT copyright 2016-09-14 11:23:49 +02:00
48987a0f17 Sub-module update 2016-09-14 00:10:46 +02:00
d28ca1a566 Sub-module update 2016-09-14 00:05:50 +02:00
d3105f8c97 Memory leakage in underlying WinStd library fixed 2016-09-13 13:02:12 +02:00
5641920537 "*" wildchar in TLS host names allowed now 2016-09-13 12:13:29 +02:00
ebe37d34a4 Sub-module update 2016-09-13 11:36:29 +02:00
7a13600ae6 Version set to 1.0-beta3 2016-09-13 10:28:55 +02:00
07c1a01f4f Translations updated 2016-09-13 10:28:38 +02:00
27cfc3d475 Sub-module update 2016-09-12 14:27:40 +02:00
22d670fbc8 Typo fixed 2016-09-12 13:35:34 +02:00
59b50fb71c Korean localization stubs added 2016-09-12 12:46:56 +02:00
8a3a9c57a0 Copy command in menu no longer uses stock label, as some GÉANTLink languages does not have wxWidgets translated 2016-09-12 11:23:21 +02:00
abe0dddb0e Version set to 1.0-beta2 2016-09-12 10:21:07 +02:00
465dfeecf1 Translations updated from Transifex 2016-09-12 10:15:38 +02:00
f6cc123745 Semi-automated import of Transifex translations added 2016-09-12 10:05:07 +02:00
c97d3ba0d8 Support for Welsh added 2016-09-12 09:26:11 +02:00
f93489af1c output/locale sub-folder structure creation added 2016-09-12 09:12:39 +02:00
2d7a924dfd Cleaning updated 2016-09-12 09:03:00 +02:00
908d73de2b POT renamed 2016-09-10 09:50:57 +02:00
9b8d5dc96d POT file updated 2016-09-10 09:46:58 +02:00
22da18a4e0 Support for localized MSI added 2016-09-10 09:36:36 +02:00
824cfc0a3a MSI localization files added 2016-09-10 09:29:55 +02:00
aab779e5ae All language identifiers expanded to contain country code 2016-09-09 13:43:15 +02:00
c45dd8a2ea Event Monitor Start Menu shortcut creation added to Makefile 2016-09-09 10:17:26 +02:00
0dcfa30722 Revert "Event Monitor shortcut description dropped as it will not be localized"
This reverts commit 3f49f3e975.
2016-09-09 10:15:51 +02:00
db683f75c0 Version set to 1.0-beta1 2016-09-07 14:04:00 +02:00
4369e9e999 MsiUseFeature utility extended with installed language check 2016-09-07 14:02:50 +02:00
24576d43ea Translation stubs for all target languages added 2016-09-07 12:53:09 +02:00
f0e6f493af wxWidgets localization is no longer a part of this project, they are imported from wxWidget distribution on build instead 2016-09-07 12:51:28 +02:00
327959bf7f Generation of localized IDT files simplified 2016-09-06 16:27:52 +02:00
6669e9a7d3 Clean-up 2016-09-06 16:10:15 +02:00
f47b72ab3f Version set to 1.0-beta 2016-09-06 15:52:09 +02:00
641c9b6932 Credentials are no longer stored using method name (TLS/PAP/MSCHAPv2) but with level/type identifier 2016-09-06 15:39:41 +02:00
b11cb3a5f2 MSCHAPv2 now functional
(closes #5)
2016-09-06 14:10:46 +02:00
c765954c0f "Last Authentication Failed" flag extended to support finer feedback, why last authentication failed 2016-09-06 14:10:02 +02:00
b7ed9d076f When inner method admits its authentication (credentials) failed, failed authentication flag for outer method is cleared 2016-09-06 10:02:55 +02:00
b255aa6505 EapPeerMethodResult's fIsSuccess and dwFailureReasonCode management revised to guarantee configuration gets saved 2016-09-06 09:57:34 +02:00
ff0b6c5ee4 Provider delete warning prompt displays blank provider name as <Your provider> now 2016-09-06 09:55:38 +02:00
d83f5422d7 MSCHAPv2 almost finished... 2016-09-05 16:44:18 +02:00
b2382a0bdb Own credential update logic revised to work for newly added identity providers now, plus updates are every 5s and selective for visible controls only 2016-09-05 11:34:54 +02:00
643270752c Incorrect Slovenian translation fixed 2016-09-05 11:32:51 +02:00
3bdab93f04 Version set to 1.0-alpha17 2016-09-05 10:06:50 +02:00
1ae92e80d8 Slovenian translations updated 2016-09-05 10:02:46 +02:00
c9b192932b MSCHAPv2 development continues... 2016-09-04 21:51:40 +02:00
cbb35ffaef Diameter "privacy" flag is called "protected" actually 2016-09-04 21:48:48 +02:00
4076655e2e MSCHAPv2 work continues... 2016-09-04 18:00:36 +02:00
e4e9604297 method_ttls::derive_challenge() introduced 2016-09-04 18:00:10 +02:00
8ec9f54f62 Sub-module update 2016-09-04 17:58:56 +02:00
765466f535 Missing memory-sanitation added 2016-09-04 17:57:59 +02:00
c33c8b551b Clean-up 2016-09-04 17:57:04 +02:00
4ffccaf6b4 Support for vendor-specific Diameter AVP added 2016-09-04 17:56:00 +02:00
534f234641 "Privacy" Diameter AVP flag declared 2016-09-04 17:54:59 +02:00
0095ebbff6 Provider identity is now coherent to draft-winter-opsawg-eap-metadata-02 2016-09-02 19:24:47 +02:00
ac3ff2d3ca Diameter AVP generation moved to method_noneap::append_avp() 2016-09-02 14:45:01 +02:00
7a3d4e0947 Common PAP and MSCHAPv2 code merged in intermediate base class method_noneap 2016-09-02 14:24:23 +02:00
a8070e9bba Clean-up 2016-09-02 14:07:56 +02:00
bd7f3f4a38 Still trying to make Schannel resume sessions 2016-09-02 14:05:03 +02:00
621669828b Schannel and ownTLS MSK derivation unified 2016-09-02 14:03:34 +02:00
00aee5bb78 ownTLS updated 2016-09-02 11:38:28 +02:00
198b9a576e Maximum packet size parameter is now optional 2016-09-02 10:19:39 +02:00
0a0a28730b wxWidget initialization improved to share same locale 2016-09-02 10:00:19 +02:00
566785192a Requirement that eap::method processes EAP packets only dropped, work with non-EAP methods simplified 2016-09-02 09:50:21 +02:00
7cddd585b7 RADIUS/Diameter AVP header structs updated 2016-09-01 15:43:25 +02:00
1c5f0b5c81 Graceful Schannel context shutdown added, but session resumption still does not work :( 2016-09-01 15:42:57 +02:00
6c11b23267 MSCHAPv2 stub added - it's a PAP clone, so selecting it does PAP really 2016-09-01 14:59:40 +02:00
56e2448f71 Clearing session resumption for ownTLS added.
(Have yet to learn how do you do this for Schannel. Better yet: How do you make Schannel resume a session in the first place.)
2016-09-01 14:59:03 +02:00
1e60d21860 On session reconnect skip inner re-authentication now 2016-09-01 12:49:20 +02:00
0959217ee3 Clean-up 2016-09-01 12:43:26 +02:00
844b185887 EAP packet classes organized in hierarchy now 2016-09-01 10:25:33 +02:00
98bd9f1935 Clean-up 2016-09-01 09:04:39 +02:00
6b2a71cc63 <UserName> is no longer created for empty identities 2016-09-01 05:55:39 +02:00
4d6ac7db3f Signed/unsigned 32-bit compiler warning resolved 2016-09-01 05:55:00 +02:00
ae66af02a2 After careful review of draft-winter-opsawg-eap-metadata the pre/post-processing of <OuterIdentity> was found inaccurate and has been dropped 2016-09-01 05:54:36 +02:00
2339b6b347 Version set to 1.0-alpha16 2016-08-31 18:40:45 +02:00
171e924dcf Estimated flag to enable TLS 1.3 once available added 2016-08-31 18:40:28 +02:00
281c3ee083 Schannel tweaked to support TLS 1.2 now
(closes #16)
2016-08-31 18:13:24 +02:00
145c21682e Support for configuring provider ID using GUI added 2016-08-31 17:41:22 +02:00
0d221d4401 wxWidgets initialization reference counter introduced to prevent second initialization, as we recorded a case where EapHost called our GUI twice in the same DllHost.exe process. 2016-08-31 17:13:59 +02:00
d9bfcc3e49 Credential identities are more carefully prepared for display now 2016-08-31 16:50:12 +02:00
60f1b4ccfb Pre&post-processing of XML configuration introduced to allow draft-winter-opsawg-eap-metadata-02 compliant XML profiles on the outside, while maintaining internal simplicity 2016-08-31 16:33:19 +02:00
c9be6f4f7b Support for multiple identity providers of draft-winter-opsawg-eap-metadata XML configuration added 2016-08-31 14:39:27 +02:00
452fa4b9dc Inserting single-occurrence XML elements with children simplified 2016-08-31 09:48:11 +02:00
68aec5dfb4 Namespace name is static member now 2016-08-31 08:43:03 +02:00
3f49f3e975 Event Monitor shortcut description dropped as it will not be localized 2016-08-31 02:53:19 +02:00
04213715b0 UI texts updated 2016-08-31 01:25:44 +02:00
510bbe10f6 Template for creating XML configuration simplified 2016-08-31 00:41:16 +02:00
5dfd079686 Support for multi-provider management added to GUI 2016-08-31 00:36:19 +02:00
858486412e Confusion between provider ID and provider name resolved 2016-08-30 21:10:10 +02:00
8b266f086f Code clean-up 2016-08-30 17:44:21 +02:00
c40306c624 <Error getting property (error 13)> issue with log parameters solved 2016-08-30 17:43:56 +02:00
24c10b592b Version set to 1.0-alpha15 2016-08-29 20:47:01 +02:00
cafd786e19 Own TLS updated to keep it alive (now that the fuss around outer/inner methods settled) 2016-08-29 20:40:37 +02:00
a7c8052ee2 eap::method revised to support nesting, so the PAP method was made a stand-alone method 2016-08-29 20:05:58 +02:00
a33da0d8d5 CredWrite stores an empty set of credentials for TLS now, avoiding initial credential prompt 2016-08-29 15:11:58 +02:00
91f87aa3c7 WLANManager is deployed separately now 2016-08-29 15:10:27 +02:00
b6ae394eaf User identity derived from certificate is using sAN2 and sAN extensions only now 2016-08-29 13:51:19 +02:00
79499d7afd i and i disambiguation 2016-08-29 13:50:36 +02:00
92f05817fe A desperate attempt to make events shown on non-English Windows 2016-08-29 13:14:09 +02:00
a85833d41d Stale resource cleanup 2016-08-29 12:05:39 +02:00
8a8e6d08e0 Events.dll have missing VERSIONINFO resource now 2016-08-29 11:58:10 +02:00
aa7c5bebda Outer and inner TTLS credentials are combined separately now to provide finer feedback for more accurate logging (again) 2016-08-29 09:27:32 +02:00
ceece01b99 In case of previously-failed authentication attempts we are more careful now not to request credential prompt for machine authentication 2016-08-29 09:25:38 +02:00
1d46db348a Sub-module update 2016-08-29 09:23:50 +02:00
48a7ce91c3 UI text updated 2016-08-28 23:14:59 +02:00
75892b78c0 Version set to 1.0-alpha14 2016-08-28 23:00:27 +02:00
7c938fe291 OnUpdateUI() event handlers optimized to reduce ridiculous CPU consumption of GUI & Incorrect page-provider mapping in wxEAPConfigDialog<> fixed 2016-08-28 22:58:41 +02:00
497f4eca8a wxEAPCredentialsConfigPanel upgraded to use full retrieval of credentials from the store, allowing certificate credentials to display their name again 2016-08-28 20:11:10 +02:00
770b56e2cf credentials::get_name() now distinguish between empty credentials and blank identity 2016-08-28 20:06:54 +02:00
df680e74f6 TLS credentials are considered empty regardless the state of custom identity setting now 2016-08-28 20:05:41 +02:00
e66a7eb9ba dePAPization continues to pave the road for seamless MSCHAPv2 integration 2016-08-28 20:04:45 +02:00
6c66862eed TTLS config and credentials are now expected to always have inner config and credentials object present; it can be blank, but it must not be nullptr 2016-08-28 17:43:06 +02:00
fc5e54db05 Inner configuration/credential management virtualized to reduce cluttering code 2016-08-28 17:20:24 +02:00
d20aafb3ff Identity selection revised to support cases where TLS certificate is present but contains no usable username 2016-08-28 16:38:13 +02:00
8ce7154a77 Loading credentials from XML allows <UserName> absence and assumes blank identity in this case now 2016-08-28 15:46:30 +02:00
d926ea66b0 Sub-module update 2016-08-28 13:42:47 +02:00
3baa77d3bb WLANManager utility introduced
(closes #7)
2016-08-28 12:22:04 +02:00
25eb6d8d72 32-bit C++ compiler warning resolved 2016-08-27 21:18:06 +02:00
349508701c Support for localization added to MSI setup
(closes #9)
2016-08-27 21:17:46 +02:00
9f770bbb3f peer_ttls_ui now initializes wxWidgets further to support localization 2016-08-27 17:54:00 +02:00
bc1c56174a UI language in registry is ll_CC format now 2016-08-27 17:28:30 +02:00
db585975e8 Saving event source set to registry simplified to reduce registry clutter 2016-08-27 17:22:28 +02:00
8bf99423c8 Slovenian localization files added 2016-08-27 16:47:48 +02:00
249c4db1de Default column widths adjusted to better fit the content initially 2016-08-27 16:42:39 +02:00
3dd8f26c94 Registry settings key names changed as separate manufacturer name introduced 2016-08-27 16:41:26 +02:00
4a9d496ba1 Log trace control named for more logical name of settings in registry 2016-08-27 15:49:54 +02:00
6f5bbeffa2 UI text updated 2016-08-27 15:45:31 +02:00
f64dbacdbd Version set to 1.0-alpha13 2016-08-27 13:10:31 +02:00
2a88c4f2a8 Event sources and toolbar management now more dynamic 2016-08-27 13:01:58 +02:00
6ee34cdd47 Additional mnemonics introduced in Edit menu 2016-08-27 09:21:11 +02:00
65c87bcbc0 Toolbar management enhanced 2016-08-27 09:20:06 +02:00
1bdf4a2b8a UI strings revised 2016-08-27 07:30:30 +02:00
a8856b951b Windows folder icon arranged 2016-08-27 06:58:58 +02:00
6e58183d16 Panel icon loading simplified 2016-08-27 06:58:57 +02:00
9daa5b52a4 Incorrect letter case referencing EapHost service fixed 2016-08-27 06:58:57 +02:00
9704046868 EventMonitor upgraded
- Clipboard support
- Filtering by source and/or by message level
- Schannel event source added
(closes #8)
2016-08-27 06:58:21 +02:00
3b8bc90a0f "Add/Remove Programs" contact info changed from Amebis to GÉANT 2016-08-26 17:56:28 +02:00
b5c8b8ee67 Product icon introduced 2016-08-26 17:47:16 +02:00
53e31b1be7 Additional resource-loading functions introduced 2016-08-26 15:54:31 +02:00
5483368640 Version set to 1.0-alpha12 2016-08-25 13:10:42 +02:00
6077063599 The credentials are marked "invalid" at transition from handshake to application data phase only to prevent initial handshake problems from popping-up credential prompt when credentials have nothing to do with the connection failure. 2016-08-25 13:08:11 +02:00
2857b2edd2 First application data message is now appended piggyback to the last client handshake message
(Hopefully resolving issue with Radiator)
2016-08-25 13:00:47 +02:00
6760287f0d Duplicate log record of EAP-TLS handshake removed 2016-08-25 12:58:56 +02:00
7973a8d59b Handshake log events are a bit more specific now 2016-08-25 12:57:47 +02:00
f5d8f653af Texts updated 2016-08-25 10:46:35 +02:00
e1600e5aba Configuration GUIDs are not required any more
This reverts commit 1cb6ca5adb.
2016-08-24 18:59:59 +02:00
352d546da1 Version set to 1.0-alpha11 2016-08-24 18:48:10 +02:00
d2ff78a613 Credential prompt sometimes displayed in background issue fixed now 2016-08-24 18:39:15 +02:00
10807fad18 Variable renamed from Slovenian to English 2016-08-24 18:36:51 +02:00
c6d53cd13c eap::monitor_ui class to prevent multiple launches introduced 2016-08-24 17:45:31 +02:00
6f25e4c0ad wxEAPGeneralDialog constructor parameters extended 2016-08-24 17:43:02 +02:00
edac93e115 Custom TLS identity is correctly enabled/disabled now. 2016-08-24 15:30:27 +02:00
d1c24efcf0 config_method_with_cred renamed to config_connection to describe it better 2016-08-24 11:39:37 +02:00
1cb6ca5adb Connection configuration is equipped with GUID now for multiple credential prompt disambiguation later 2016-08-24 11:34:30 +02:00
38e1443276 Logging of handshake progress introduced 2016-08-24 11:04:04 +02:00
6835f5279c Certificate (TLS) credentials support custom identity now 2016-08-24 11:03:18 +02:00
eb9c8a5f7c If configured trusted root CA certificate list is empty, that really means "Trust no one!" now 2016-08-23 23:40:07 +02:00
5332b538aa Our own TLS merged back to master and compiles conditionally 2016-08-23 22:46:00 +02:00
a9baa07227 Error type detection fixed 2016-08-23 22:41:12 +02:00
387a12ab5e Additional cases of invalid certificate caught 2016-08-23 17:41:20 +02:00
7b3251a758 Error throwing clean-up 2016-08-23 17:20:04 +02:00
894f19a81e Binary publishing updated 2016-08-23 16:45:16 +02:00
318ad7f355 Version set to 1.0-alpha10 2016-08-23 14:53:27 +02:00
ef2042253c When server certificate has no subjectAltName(2), compare host name against Common Name 2016-08-23 14:29:47 +02:00
9b997408a1 Switched to Schannel to do the TLS 2016-08-23 13:53:23 +02:00
5720524abe Version set to 1.0-alpha9 2016-08-18 06:33:02 +02:00
1f1b9b1084 GUI boots with a predefined configuration on new profiles now
(closes #10)
2016-08-18 06:31:16 +02:00
076c6b77d7 GUI updated to show "<Your Provider>" when provider ID is blank 2016-08-18 06:30:02 +02:00
92460c571f Initial focus changed to the first non-mouse-wheel-capturing control to allow initial scrolling of the configuration dialog using mouse wheel 2016-08-17 16:42:19 +02:00
b79a2f26f6 Support for read-only lock added to GUI 2016-08-17 16:27:43 +02:00
373c83dbbe Provider identity and help-desk is configurable via GUI now 2016-08-17 15:56:11 +02:00
543dada025 Provider and method lists are arrays now, to allow random access for configuration dialog coming-up 2016-08-17 14:47:15 +02:00
ce22ec3bfa wxEAPCredentialsPanelPassBase >> wxEAPCredentialsPassPanelBase 2016-08-17 13:48:14 +02:00
a04647b7b5 Version set to 1.0-alpha8 2016-08-17 11:51:36 +02:00
df1d431bd0 - TLS revised (again)
- TLS Session resumption issues resolved
- Credential prompt has "Remember" checkbox initially selected when credentials originate from Windows Credential Manager
- Last authentication attempt failure notice is more general and no longer insinuate user credentials are the likely cause of the failure
- Additional log messages added
2016-08-17 11:50:34 +02:00
16527c8124 Client explicitly refuses to accept change cipher spec if no or NULL cipher was proposed now 2016-08-17 09:32:43 +02:00
69e6b775f8 Hello requests are no longer included in the handshake hashing (as per RFC) 2016-08-17 09:29:55 +02:00
c69316071f Support for encrypted change cipher spec messages added 2016-08-17 09:26:46 +02:00
a02d1e7094 Explicit checks on server certificate chain added:
- Certificate can not be self-signed: Cannot check trust against configured root CAs when server certificate is self-signed
- Server can provide full certificate chain up-to and including root CA. Importing root CA to the store for certificate chain validation would implicitly trust this certificate chain. Thus, we skip all self-signed certificates on import.
2016-08-17 09:22:38 +02:00
078636eb14 make_change_chiper_spec() removed as this message can simply be created using make_message() 2016-08-17 09:09:42 +02:00
cabae26e0b Flags describing handshake messages received assembled in a boolean table of flags 2016-08-17 09:01:11 +02:00
7376693838 Additional constants 2016-08-17 08:34:25 +02:00
a5b3914a09 Comments and some minor clean-up 2016-08-16 22:27:30 +02:00
8beb7bd27a Version set to 1.0-alpha7 2016-08-16 16:59:03 +02:00
00dd1277c5 Switched to the new key import method, as the old one had issues with PROV_RSA_AES crystallographic provider 2016-08-16 16:55:18 +02:00
e9839706b6 TLS clean-up 2016-08-16 16:44:19 +02:00
f5b03bc0bf Annotation update 2016-08-16 10:39:42 +02:00
c953fb8db4 Version set to 1.0-alpha6 2016-08-16 01:00:41 +02:00
db27355e46 Some last compiler warnings resolved 2016-08-16 00:58:22 +02:00
85d7c3d4ec Support for TLS 1.2 added 2016-08-16 00:47:47 +02:00
d68fd6ce08 Support for TLS 1.1 finished 2016-08-15 22:49:45 +02:00
82e910fea4 Late pad-checking added to prevent [Canvel, B] attack 2016-08-15 22:48:08 +02:00
7fa3289e3d Incorrect parameter reference fixed 2016-08-15 22:45:54 +02:00
de802b7a28 Byte-enums redefined & code clean-up 2016-08-15 21:01:38 +02:00
67fe27f6fd Support for stream ciphers added 2016-08-15 19:04:56 +02:00
c8cfe4da42 TLS version no longer static, thou still fixed to TLS 1.0 2016-08-15 19:04:21 +02:00
3267b7f53d Missing credential storage added 2016-08-15 18:36:01 +02:00
7b3ecda484 Clean-up 2016-08-15 18:35:15 +02:00
d8ccf7cbc0 Credential management revised 2016-08-15 17:33:10 +02:00
4dc7083028 wxEAPProviderLockedPanelBase renamed to wxEAPGeneralNotePanel to accommodate general use later 2016-08-15 16:53:42 +02:00
e34d2ba275 Prefast declaration update 2016-08-15 15:10:42 +02:00
3d6849a523 Peer correctly returns providers configuration instead of method configuration in method_tls::get_result() 2016-08-15 14:13:14 +02:00
217c3dd090 Issue with TLS credentials panel resetting PAP credentials in TTLS fixed 2016-08-15 14:05:14 +02:00
e807336e7b The TLS phase can be determined from flags alone, therefore m_phase member eliminated 2016-08-15 10:40:27 +02:00
95426cde7c Clean-up 2016-08-15 10:09:01 +02:00
92c62c53d7 16B PAP password padding added (RFC 5281) 2016-08-15 05:40:23 +02:00
99aa53726d - PPP authentication EAP response packet is correctly formed now
- MS-MPPE-Send-Key/MS-MPPE-Recv-Key sorted out
2016-08-14 21:04:19 +02:00
95e2f7e01b Encryption/decryption revised
- Number of memory copying reduced
- HMAC verification of server packets added
- Handshake hashing simplified
2016-08-14 18:51:18 +02:00
735d669887 Check for "change cipher spec" before server "finished" message added 2016-08-14 16:32:28 +02:00
a8db309a76 Wrong HMAC byte order issue fixed 2016-08-14 16:31:38 +02:00
7b94f01aa7 method_tls::create_key() optimization 2016-08-14 16:31:07 +02:00
12beee54ad Ambiguous variable name changed 2016-08-14 16:24:07 +02:00
956ef9bd4e CryptGenRandom() return status check added 2016-08-14 16:22:59 +02:00
f9c5f608d0 Fixed missing server handshake message hashing 2016-08-14 14:03:12 +02:00
4982fc1a9a Ambiguous logical expression equipped with parentheses 2016-08-14 14:01:20 +02:00
e7e8a88f32 Initialization of eap::tls_conn_state introduced 2016-08-14 13:59:54 +02:00
9a2663eb18 Non TLS1PRF case fixed in method_tls::prf() 2016-08-14 13:31:39 +02:00
940def31e6 Unused tls_conn_state member removed 2016-08-14 13:29:51 +02:00
47653492a2 Session key importing honours MSDN recommendation about exponent-one key usage 2016-08-14 12:44:49 +02:00
d1925a0704 method_tls::prf() simplified 2016-08-14 12:41:19 +02:00
a90a7722c7 PAP introduced 2016-08-13 18:56:37 +02:00
ae37c9aa6c TLS and TTLS distinction 2016-08-13 18:55:33 +02:00
cbda758178 MS-MPPE-Send-Key and MS-MPPE-Recv-Key are swapped now 2016-08-13 18:52:20 +02:00
04444eb99d Encrypted pre-master secret byte order is correct now 2016-08-13 18:51:14 +02:00
b7b45ea64c Cipher block length is correctly translated from bits to bytes now 2016-08-13 18:50:09 +02:00
4528f2d1fc Simplification 2016-08-13 18:48:56 +02:00
eb918f3141 Processing of vendor specific TLS messages introduced 2016-08-13 18:48:02 +02:00
c749753c68 State constants renamed more systematically 2016-08-13 18:45:40 +02:00
9f92a73aa1 make_handshake() renamed to make_message() and made more general 2016-08-13 18:42:52 +02:00
6d54d45512 Pre-master secret encryption moved to make_client_key_exchange() 2016-08-13 18:39:22 +02:00
9498e8c9a9 Fixed issue occurred after careless eap::tls_random::time elimination 2016-08-13 18:32:40 +02:00
f9c6bce0f8 Diameter AVP helper structures added 2016-08-13 18:26:19 +02:00
3d54c84430 method_ttls is now descendant of method_tls 2016-08-13 08:48:24 +02:00
1306c958fc config_method_ttls is now descendant of config_method_tls 2016-08-13 08:48:01 +02:00
09924ea3d2 credentials_ttls is descendant of credentials_tls again 2016-08-13 08:36:10 +02:00
537d0c0cbc Changing TLS configuration resets TLS session resumption 2016-08-13 08:31:03 +02:00
6408dbe237 Missing credentials error check lost with b71e30f642 reimplemented 2016-08-13 08:29:01 +02:00
534f6f6d7d tls_conn_state is class now 2016-08-13 08:09:47 +02:00
f7fdfb8dda EAP packet type check moved to Main.cpp 2016-08-13 08:09:13 +02:00
c7a41d891a TLS work continues... 2016-08-12 21:09:50 +02:00
a8c306953a TLS work continues... 2016-08-11 15:13:50 +02:00
77fe6b1bed TLS connection state moved from eap::method_tls to eap::method_tls::conn_state to make reusable later 2016-08-11 12:00:38 +02:00
659629ed93 Clean-up 2016-08-11 09:44:01 +02:00
6b4f597f27 - Microsoft's HMAC had problems with secrets longer than 16B, therefore we implemented our own
- Key generation finished
- Additional memory sanitization
2016-08-10 16:10:40 +02:00
fb0fa0de31 HMAC fixed to start with the correct key now 2016-08-10 11:18:20 +02:00
e92f47677d TLS implementation continues... 2016-08-09 18:37:12 +02:00
ba5bf1e533 HMAC cleanup 2016-08-09 06:39:33 +02:00
1bf51fda25 win_runtime_error moved to WinStd; eapxml functions return HRESULT now 2016-08-09 01:05:00 +02:00
b71e30f642 EAP_ERROR replaced with C++ exceptions for increased code readability 2016-08-08 22:59:17 +02:00
788c8cdb16 TLS implementation continues... 2016-08-08 18:52:13 +02:00
ce9e636840 TLS start packet processing logic made more robust 2016-08-08 10:42:24 +02:00
8f4c177d49 eap namespace clean-up 2016-08-08 10:13:34 +02:00
bf4b7f9787 Packet data updated correctly now; Missing server ACK detection added 2016-08-08 08:59:11 +02:00
be3c591955 TLS fragmented message correctly assembled now & Event manifest revised 2016-08-07 13:51:40 +02:00
d199cb68bb Work continues...
- More event reporting added
- unsigned long and DWORD replaced with unsigned int for code readability and (possibly) portability
- Client hello message fixed
- SSL version reverted to TLS 1.0, will catch-up later if required
2016-08-07 12:15:45 +02:00
e649a86b1f Error checking and size asserts added 2016-08-07 06:56:29 +02:00
a0efb6742d EAP-TTLS work continues... 2016-08-06 16:27:15 +02:00
b39cc927d2 Session.h/cpp >> Method.h/cpp 2016-08-06 10:36:58 +02:00
faadb712fc Sessions are actually methods now 2016-08-06 10:28:15 +02:00
97d0f75f8d eap::method introduced 2016-08-06 09:52:29 +02:00
4114863a94 Duplicate error logging removed 2016-08-06 08:21:14 +02:00
afe5450b95 Peer (Main.cpp) no longer manipulates session directly. Session management moved to eap::peer. 2016-08-06 08:06:38 +02:00
ac606b7a2e config_providers renamed to config_provider_list to avoid confusion with config_provider 2016-08-06 07:06:48 +02:00
2aa4bce8cc eap::config::m_module reference again 2016-08-06 07:01:12 +02:00
b0323d894a Issues with pre-shared credentials after being moved to heap fixed 2016-08-05 16:28:21 +02:00
42459ff16a EAP events changed to use numerical EAP type 2016-08-05 16:15:08 +02:00
2711425677 Documentation update 2016-08-05 15:52:27 +02:00
54bb2050fa peer and peer_ui are no longer templates; method specific BLOB management moved from Main(_UI).cpp to modules. 2016-08-05 15:45:45 +02:00
437f5f91b8 eap::peer<> and eap::session<> redundant template argument removed 2016-08-05 13:45:18 +02:00
91dcc0bbbc peer_base eliminated 2016-08-05 13:40:54 +02:00
a60458cdab eap::module is no longer abstract 2016-08-05 13:18:25 +02:00
4fc029138c config_method_with_cred is no longer a template 2016-08-05 11:51:59 +02:00
f4be571499 Pre-shared credentials moved to heap 2016-08-05 11:38:43 +02:00
460adb9858 m_module is now a pointer instead of reference 2016-08-05 11:23:59 +02:00
a9ecde86d9 TLS specific package communication moved from TTLS to TLS session 2016-08-05 11:01:30 +02:00
7e7c657358 Documentation update 2016-08-05 10:55:23 +02:00
f2aa43913d EAP-TTLS session development continues... 2016-08-05 00:32:57 +02:00
a102b43a19 eap::type_t >> winstd::eap_type_t 2016-08-04 12:08:20 +02:00
22a87bf90d eap::session::get_response_packet() implemented 2016-08-04 10:07:03 +02:00
caf0352833 Packet processing methods made pure virtual in eap::session<>, stubs created in eap::session_ttls 2016-08-03 15:31:06 +02:00
f68a65f8f8 eap::session<> remembers basic EAP session parameters now 2016-08-03 15:22:52 +02:00
3e82b7df49 eap::method_property => winstd::eap_method_prop 2016-08-03 15:09:58 +02:00
cb24fbd6a3 eap::peer_ttls::get_method_properties() implemented 2016-08-03 13:50:12 +02:00
b32b63631a Guests are not allowed to save credentials 2016-08-03 12:36:29 +02:00
5fe06deb97 Provider-locked configuration notice removed from credential prompt for aesthetic reasons 2016-08-03 12:35:51 +02:00
cadf7272df Credential UI revised to honor read-only, allow-save, and config/prompt mode correctly 2016-08-03 12:34:49 +02:00
2868fd3848 Cached credentials have priority now 2016-08-03 10:17:40 +02:00
9fed6dcf9d Sub-module update 2016-08-03 09:22:52 +02:00
a81ddde411 MSVC specific __super keyword replaced 2016-08-03 09:22:41 +02:00
aafd012809 Credential dialog is no longer displayed partially off the screen 2016-07-21 23:53:40 +02:00
3e60bebe3a Credential's "Remember" checkbox logic revised 2016-07-21 23:53:11 +02:00
6ae8029a47 config_method split into config_method and config_method_with_cred<> 2016-07-21 22:30:03 +02:00
ac88d55fe4 EapPeerInvokeConfigUI() checks for blank configuration now 2016-07-21 21:57:31 +02:00
955d7f5dc1 Missing credentials are correctly honoured now 2016-07-21 14:21:33 +02:00
b4667cac18 Inner-method-name-determining-from-NULL-pointer-crash fixed :) 2016-07-21 14:15:39 +02:00
98f20668c3 credentials_ttls::target_suffix() implemented 2016-07-21 14:14:26 +02:00
df773b649c Event colours updated for greater disambiguation between EAPHost and GÉANTLink entries 2016-07-21 13:29:55 +02:00
6d8bd3f1c1 Cached credentials are correctly honored now 2016-07-21 13:21:40 +02:00
fa84cf93b9 32-bit C compiler warning fixed 2016-07-21 12:52:30 +02:00
f459a036da peer_ttls::get_identity() finished 2016-07-21 12:36:18 +02:00
cc43b44d91 credentials_ttls::get_identity() introduced 2016-07-21 12:35:19 +02:00
35034789d2 String typing fixed 2016-07-21 12:34:49 +02:00
4834c9e4da credentials::get_name() fixed to return "<blank>" for empty credentials 2016-07-21 12:34:19 +02:00
ee8410bdb9 credentials::target_suffix() is public now, as it can be reused to provide GUI method identifier 2016-07-21 12:33:32 +02:00
d69e8b3f6a EapPeerGetIdentity() accounts for missing cached credentials now 2016-07-21 12:30:46 +02:00
4ab60271b7 Missing key-pair added to EAPTTLS resources 2016-07-21 12:29:49 +02:00
1b9f33a6fc Path-delimiters unified in RC files 2016-07-21 12:29:23 +02:00
627b20aabc pack() => operator <<, unpack() => operator >>, get_pk_size() => pksizeof() 2016-07-21 09:20:09 +02:00
51428d290f Memory overflow detection when packing/unpacking BLOB added 2016-07-20 19:29:21 +02:00
2f4425f38c EAPSerial.h merged into EAP.h 2016-07-20 18:17:25 +02:00
b26ab72e6e Some more template simplifications followed 2016-07-20 18:10:38 +02:00
9376404164 eap::config_provider changed from template to class followed by a mass detemplatization of other classes 2016-07-20 17:57:43 +02:00
a7d75ea72d eap::config_provider detemplatization 2016-07-20 16:47:37 +02:00
780b738842 config_provider::m_methods is a list of pointers to method configurations now paving the road to config_provider detemplatization 2016-07-20 16:04:56 +02:00
e87c0af221 Secondary method configurations properly initialized now 2016-07-20 15:33:00 +02:00
180d9b265c eap::config_method is no longer a template class 2016-07-20 15:21:58 +02:00
ce0bbc5b45 config_method::m_preshared moved to heap, which in turn required shift to virtual methods for packing/unpacking BLOBs 2016-07-20 14:59:12 +02:00
3e82e988d4 Identity of digital certificates is correctly resolved now 2016-07-20 12:59:58 +02:00
418e591aa6 Tool-tip update 2016-07-20 12:39:33 +02:00
b7ea2f7a72 EapPeerGetUIContext()/eap::session::get_ui_context() completed 2016-07-20 12:04:11 +02:00
07b4ce988b eap::credentials_ttls::m_inner is std::unique_ptr managed now
(Also fixes a memory leak caused by missing destructor pointer delete)
2016-07-20 11:47:40 +02:00
427e2fb892 config_method_ttls::m_inner is managed by std::unique_ptr now 2016-07-20 11:35:29 +02:00
db69c23689 usr => cred 2016-07-20 11:27:23 +02:00
43751ed908 Template arguments and type names unified 2016-07-20 11:25:03 +02:00
2a19b4624a Class consistency renaming 2016-07-20 11:05:01 +02:00
434e042f8b Class naming update 2016-07-20 10:37:12 +02:00
512f46f014 pack/unpack & load/save nesting arranged all the way up to eap::config 2016-07-20 10:31:34 +02:00
a92cafea36 eap::credentials::get_name() method introduced to allow more detailed display of certificate names 2016-07-20 10:05:36 +02:00
4f6943044f eap::credentials::m_identity replaced with virtual method get_identity() 2016-07-20 09:54:26 +02:00
504ea681a9 Strings packed/unpacked as zero-terminated (instead of length prefixed) now 2016-07-20 09:22:54 +02:00
54fc2dd830 Generic templates for data packing/unpacking replaced with specific to avoid accidental use 2016-07-20 09:14:47 +02:00
a0303f0a1f EAP-TTLS module and session data types for interactive prompt/response data changed to bool for simplicity of next commit 2016-07-20 09:10:54 +02:00
40c992e1a5 Memory sanitizing on BLOB free removed, since BLOBS are encrypted from d15b7066cd on 2016-07-20 08:48:28 +02:00
4630b32f77 target_suffix() method is private now 2016-07-19 13:39:41 +02:00
4acabbca4e Configuration and credentials logging introduced 2016-07-19 12:53:54 +02:00
2f28b89ab2 Trusted Root CA list displays the certificate names in the consistent way with credential certificates now 2016-07-19 12:15:01 +02:00
9257391938 eapxml::get_xpath() introduced 2016-07-19 12:05:38 +02:00
4e407b7dad Minor flaws with array and struct display fixed 2016-07-19 12:04:49 +02:00
faea2f3771 eap::get_cert_title() moved from TLS_UI to TLS 2016-07-19 12:03:02 +02:00
0ee9bade32 EAPMETHOD_TRACE_EAP_ERROR => EAPMETHOD_TRACE_EVT_EAP_ERROR 2016-07-19 08:54:32 +02:00
34f16478e4 EventMonitor icon added 2016-07-19 07:01:04 +02:00
00244e3846 EventMonitor is functional now 2016-07-18 16:49:55 +02:00
6822a91f41 Paths to files are generated using folder properties instead of component's key-file referencing to avoid ICE69 warnings 2016-07-18 09:46:47 +02:00
06adf7ddae EventMonitor replaced with Windows-based application (work in progress...) 2016-07-15 13:16:17 +02:00
8eb1936adf Internal and output folders now using $(MSBuildProjectName) instead of $(ProjectName), to distinguish project variations of essentially the same module 2016-07-15 12:45:34 +02:00
c8de331d50 Translation template added 2016-07-15 10:54:58 +02:00
560aa3068d General package information moved from NMAKE macros to Property table, to allow translation to other scripts (than Windows-1252 and Windows-1250) 2016-07-15 10:54:44 +02:00
d792520f51 Version set to 1.0-alpha5
(closes #2)
2016-06-23 17:19:47 +02:00
9f4c4514cb EAPHost trace added 2016-06-23 17:16:52 +02:00
de94d27380 EventMonitor added to MSI 2016-06-23 17:16:24 +02:00
ded87eb18c EventMonitor requires elevation now 2016-06-23 17:16:03 +02:00
0639169d9a EventMonitor utility is operational now 2016-06-23 15:46:58 +02:00
fa141fc525 Correct event is reported for DWORD-returning functions now 2016-06-23 15:46:12 +02:00
1fc77fc63d EAP method type is now a map 2016-06-23 15:44:57 +02:00
d15b7066cd RSA encryption replaced with RSA session key exchange and AES data encryption; BLOBs are encrypted again 2016-06-23 00:47:38 +02:00
922d0ac3d0 Additional RSA credential encryption replaced with product-specific entropy in user-specific encryption pass, to circumvent RSA data length limitation 2016-06-22 23:32:28 +02:00
f3cb90d1c3 EventMonitor development continues... 2016-06-22 18:03:47 +02:00
a7e0e5ebd8 MSIBUILD_PRODUCT_NAME check added 2016-06-22 18:02:42 +02:00
3238881af8 Event provider registration added 2016-06-22 18:02:20 +02:00
9d0d3418b0 Sub-module update 2016-06-22 18:01:52 +02:00
81a268df1b Sub-module update 2016-06-22 17:59:43 +02:00
d1a4487503 BLOB encryption temporary disabled, as RSA can not encrypt data this long 2016-06-22 17:59:26 +02:00
24008000a9 Merge branch 'master' of https://github.com/Amebis/GEANTLink 2016-06-22 09:18:41 +02:00
bdd3fc616c EAP BLOBs are encrypted now 2016-06-22 09:18:27 +02:00
e31fc08a64 EventMonitor utility introduced 2016-06-22 06:28:21 +02:00
a2ca2fd850 Logging and error reporting simplified 2016-06-21 13:15:50 +02:00
e98856f934 Support for provider contact info added 2016-06-21 10:46:05 +02:00
b634956901 Credentials dialog banner title now dynamic 2016-06-21 09:18:17 +02:00
0c8492ccd1 CredProtect() replaced with CryptProtectData() << the former didn't work between normal and UAC-elevated processes: stored credentials are no longer valid and should be reentered 2016-06-20 16:37:48 +02:00
768e0a5a36 Previously unused templates fixed 2016-06-20 16:24:58 +02:00
ac23d5f04f Custom credential prompt labels are honored now (for password-based methods) 2016-06-20 15:14:48 +02:00
e52b9a636f Support for read-only configurations added 2016-06-20 14:51:21 +02:00
2f0948b4fd Version set to 1.0-alpha4 2016-06-18 10:53:23 +02:00
33a72acac7 MsiUseFeature utility added
(closes #3)
2016-06-18 10:51:12 +02:00
d430b63829 (Pre-shared) client certificates are no longer maintained by hash only 2016-06-16 00:29:56 +02:00
cda81dd696 Aesthetic modifications 2016-06-16 00:25:10 +02:00
6e15d3535d Support for NULL certificates added 2016-06-16 00:24:52 +02:00
ec0b283540 Functions using EAP_ERROR descriptor return bool now for code simplicity 2016-06-15 22:59:52 +02:00
03358170f4 EAP-TTLS PAP credentials panel loads correctly now 2016-06-15 22:58:07 +02:00
a9fdd1d71d Support for pre-shared credentials introduced 2016-06-15 20:00:04 +02:00
ef9fa750a0 UI tune-up 2016-06-15 15:44:10 +02:00
fed1e6052a Encryption enhanced and moved to module 2016-06-15 14:20:12 +02:00
2f0252a33f Added missing result check 2016-06-15 14:06:11 +02:00
11c28326aa Serialization of TTLS credentials added 2016-06-15 11:30:03 +02:00
df2fee4cef Virtual method implementations moved to .cpp files
get_method_id() now const
2016-06-15 11:26:51 +02:00
9cf80108b5 Credential saving to XML introduced to support pre-shared credentials 2016-06-15 11:05:32 +02:00
e0460fa15b Redundant sizeof(char) removed for code clarity 2016-06-15 10:52:23 +02:00
8bff2d3060 Test credentials read added to debug builds of CredWrite 2016-06-15 10:44:31 +02:00
822852c8b4 Password encryption/decryption moved to standalone methods to make reusable 2016-06-15 10:25:52 +02:00
155671a4da .gitignore update 2016-06-14 10:23:01 +02:00
f675083891 Doxygen documentation update 2016-06-12 09:07:42 +02:00
cf7ca9c8e9 EAP modules divided to libraries 2016-06-10 12:24:49 +02:00
398 changed files with 83583 additions and 10832 deletions

6
.gitignore vendored
View File

@@ -1,4 +1,2 @@
/*.opensdf
/*.suo
/*.sdf
/ipch
/.vs
/doc

3
.gitmodules vendored
View File

@@ -4,3 +4,6 @@
[submodule "lib/WinStd"]
path = lib/WinStd
url = https://github.com/Amebis/WinStd.git
[submodule "lib/wxExtend"]
path = lib/wxExtend
url = https://github.com/Amebis/wxExtend.git

View File

@@ -7,8 +7,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\EAPMethods\EAPMethodEvents\temp\EAPMethodEvents.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>EAPMETHOD_TYPE=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup />

Binary file not shown.

View File

@@ -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">
<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,88 +30,133 @@
<ProjectGuid>{2D3CE079-7EB1-4F47-B79E-F0310671ECCB}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>CredWrite</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.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>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</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>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</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="..\include\$(Platform).props" />
<Import Project="..\include\$(Configuration).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="..\include\$(Platform).props" />
<Import Project="..\include\$(Configuration).props" />
<Import Project="CredWrite.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\$(Platform).props" />
<Import Project="..\include\$(Configuration).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="..\include\$(Platform).props" />
<Import Project="..\include\$(Configuration).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="..\include\$(Platform).props" />
<Import Project="..\include\$(Configuration).props" />
<Import Project="CredWrite.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\$(Platform).props" />
<Import Project="..\include\$(Configuration).props" />
<Import Project="CredWrite.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<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 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" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\EAPMethods\src\EAP.cpp" />
<ClCompile Include="..\EAPMethods\src\PAP.cpp" />
<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)'=='Debug|ARM64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="CredWrite.rc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EAPMethods\EAPMethodEvents\EAPMethodEvents.vcxproj">
<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.vcxproj">
<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\WinStd\build\WinStd-15.0.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
</ProjectReference>
</ItemGroup>

View File

@@ -26,12 +26,6 @@
<ClCompile Include="Main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\EAPMethods\src\EAP.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\EAPMethods\src\PAP.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="CredWrite.rc">

View File

@@ -20,8 +20,6 @@
#include "StdAfx.h"
#pragma comment(lib, "Crypt32.lib")
using namespace std;
using namespace winstd;
@@ -42,7 +40,7 @@ static int CredWrite()
return -1;
}
eap::credentials_pap cred(g_module);
eap::credentials_pass cred_pass(g_module);
// Prepare identity (user name).
{
@@ -52,7 +50,7 @@ static int CredWrite()
bool is_last;
dec.decode(identity_utf8, is_last, pwcArglist[1], (size_t)-1);
MultiByteToWideChar(CP_UTF8, 0, identity_utf8.data(), (int)identity_utf8.size(), cred.m_identity);
MultiByteToWideChar(CP_UTF8, 0, identity_utf8.data(), (int)identity_utf8.size(), cred_pass.m_identity);
}
// Prepare password.
@@ -63,7 +61,7 @@ static int CredWrite()
bool is_last;
dec.decode(password_utf8, is_last, pwcArglist[2], (size_t)-1);
MultiByteToWideChar(CP_UTF8, 0, password_utf8.data(), (int)password_utf8.size(), cred.m_password);
MultiByteToWideChar(CP_UTF8, 0, password_utf8.data(), (int)password_utf8.size(), cred_pass.m_password);
}
// Generate target name (aka realm).
@@ -73,25 +71,44 @@ static int CredWrite()
target_name = pwcArglist[3];
} else {
// Get the realm from user name.
LPCWSTR _identity = cred.m_identity.c_str(), domain;
if ((domain = wcschr(_identity, L'@')) != NULL)
target_name = domain + 1;
else if ((domain = wcschr(_identity, L'\\')) != NULL)
target_name.assign(_identity, domain);
else
LPCWSTR _identity = cred_pass.m_identity.c_str(), domain;
if ((domain = wcschr(_identity, L'@')) != NULL) {
target_name = L"urn:RFC4282:realm:";
target_name += domain + 1;
} else
target_name = L"*";
}
// Write credentials.
EAP_ERROR *pEapError;
DWORD dwResult;
if ((dwResult = cred.store(target_name.c_str(), &pEapError)) != ERROR_SUCCESS) {
if (pEapError) {
OutputDebugStr(_T("%ls (error %u)\n"), pEapError->pRootCauseString, pEapError->dwWinError);
g_module.free_error_memory(pEapError);
} else
OutputDebugStr(_T("Writing credentials failed (error %u).\n"), dwResult);
// Determine credential level.
unsigned int level;
if (nArgs > 4) {
// User explicitly set the level.
level = wcstoul(pwcArglist[4], NULL, 10);
} else {
// Set default level.
level = 0;
}
// Write credentials.
#ifdef _DEBUG
{
eap::credentials_pass cred_stored(g_module);
try {
cred_stored.retrieve(target_name.c_str(), level);
} catch(win_runtime_error &err) {
OutputDebugStr(_T("%hs (error %u)\n"), err.what(), err.number());
} catch(...) {
OutputDebugStr(_T("Reading credentials failed.\n"));
}
}
#endif
try {
cred_pass.store(target_name.c_str(), level);
} catch(win_runtime_error &err) {
OutputDebugStr(_T("%hs (error %u)\n"), err.what(), err.number());
return 2;
} catch(...) {
OutputDebugStr(_T("Writing credentials failed.\n"));
return 2;
}

View File

@@ -1,14 +1,15 @@
#CredWrite
Imports given credentials to Windows Credential Manager for G<EFBFBD>ANTLink use
# CredWrite
Imports given credentials to Windows Credential Manager for GÉANTLink use
##Usage
## Usage
```
CredWrite <username> <password> [<realm>]
CredWrite <username> <password> [<realm> [level]]
```
- `username` - Base64 encoded UTF-8 user name (usually of the form user@domain or domain\user)
- `password` - Base64 encoded UTF-8 user password
- `realm` - A realm ID to allow grouping of credentials over different WLAN profiles (optional, default is domain part of `username`)
- `level` - Credential level (0=outer, 1=inner, 2=inner-inner..., default is 0=outer)
The credentials are stored to Windows Credential Manager in invoking user's roaming profile.

View File

@@ -20,17 +20,15 @@
#pragma once
#include "../include/Version.h"
#include "../EAPMethods/include/EAP.h"
#include "../EAPMethods/include/PAP.h"
#include "../lib/EAPBase/include/Credentials.h"
#include "../lib/EAPBase/include/Module.h"
#include <WinStd/Common.h>
#include <WinStd/Base64.h>
#include <WinStd/Cred.h>
#include <WinStd/Crypt.h>
#include <WinStd/Win.h>
#include <tchar.h>
#include <Windows.h>
#include <eaptypes.h> // Must include after <Windows.h>
#include <tchar.h>
#include <memory>

View File

@@ -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.
@@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.
PROJECT_NAME = "EAPModules"
PROJECT_NAME = "GÉANTLink"
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
@@ -44,14 +44,14 @@ 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 Modules"
PROJECT_BRIEF = "EAP Supplicant for Windows"
# 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
# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo
# to the output directory.
PROJECT_LOGO =
PROJECT_LOGO = include\icon_ui.ico
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is
@@ -694,7 +694,7 @@ CITE_BIB_FILES =
# messages are off.
# The default value is: NO.
QUIET = NO
QUIET = YES
# The WARNINGS tag can be used to turn on/off the warning messages that are
# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
@@ -726,7 +726,7 @@ WARN_IF_DOC_ERROR = YES
# documentation, but not about the absence of documentation.
# The default value is: NO.
WARN_NO_PARAMDOC = NO
WARN_NO_PARAMDOC = YES
# The WARN_FORMAT tag determines the format of the warning messages that doxygen
# can produce. The string should contain the $file, $line, and $text tags, which
@@ -789,7 +789,17 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is
# run.
EXCLUDE = res
EXCLUDE = \
CredWrite\README.md \
EventMonitor\res \
lib\EAPBase_UI\res \
lib\EapHost_UI\res \
lib\TLS_UI\res \
lib\TTLS_UI\res \
lib\WinStd \
lib\wxExtend \
MsiUseFeature\README.md \
WLANManager\README.md
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded

View File

@@ -1 +0,0 @@
/doc

View File

@@ -1,11 +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="..\..\include\ResourceDLL.props" />
<Import Project="..\build\Common.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup />
<ItemGroup />
</Project>

Binary file not shown.

View File

@@ -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">
<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>
@@ -21,95 +29,139 @@
<PropertyGroup Label="Globals">
<ProjectGuid>{331B6077-E3E2-4867-B93E-9D3F57280DE7}</ProjectGuid>
<RootNamespace>EAPTTLS</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.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>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</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>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</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="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).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="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).props" />
<Import Project="EAPTTLS.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).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="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).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="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).props" />
<Import Project="EAPTTLS.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).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)'=='Debug|ARM64'" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
<ItemGroup>
<ClInclude Include="..\include\EAP.h" />
<ClInclude Include="..\include\EAPSerial.h" />
<ClInclude Include="..\include\TLS.h" />
<ClInclude Include="..\include\TTLS.h" />
<ClInclude Include="..\include\EAPXML.h" />
<ClInclude Include="..\include\PAP.h" />
<ClInclude Include="StdAfx.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\EAP.cpp" />
<ClCompile Include="..\src\TLS.cpp" />
<ClCompile Include="..\src\TTLS.cpp" />
<ClCompile Include="..\src\Main.cpp" />
<ClCompile Include="..\src\PAP.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)'=='Debug|ARM64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="EAPTTLS.rc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\lib\WinStd\build\WinStd.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
<ProjectReference Include="..\..\lib\EAPBase\build\EAPBase.vcxproj">
<Project>{ad6816a0-9600-4e01-8c49-39d03d1e791f}</Project>
</ProjectReference>
<ProjectReference Include="..\EAPMethodEvents\EAPMethodEvents.vcxproj">
<ProjectReference Include="..\..\lib\EapHost\build\EapHost.vcxproj">
<Project>{b385ec2b-c3f4-48bb-9bac-8b996de7f754}</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-15.0.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="..\build\EAPMethod.def" />

View File

@@ -18,24 +18,6 @@
<ClInclude Include="StdAfx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\TTLS.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\PAP.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\EAPXML.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\TLS.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\EAP.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\EAPSerial.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="StdAfx.cpp">
@@ -44,18 +26,6 @@
<ClCompile Include="..\src\Main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\PAP.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\EAP.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\TLS.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\TTLS.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="EAPTTLS.rc">

View File

@@ -20,31 +20,5 @@
#pragma once
#include "../../include/Version.h"
#include "../include/EAP.h"
#include "../include/EAPSerial.h"
#include "../include/TLS.h"
#include "../include/TTLS.h"
#include "../include/EAPXML.h"
#include "../include/PAP.h"
#include <WinStd/Base64.h>
#include <WinStd/Cred.h>
#include <WinStd/Crypt.h>
#include <WinStd/ETW.h>
#include <WinStd/Hex.h>
#include <WinStd/Win.h>
#include <eaptypes.h>
#include <eapmethodpeerapis.h>
#include <Commctrl.h>
#include <Msi.h>
#include <tchar.h>
#include <Shlwapi.h>
#include <Windows.h>
#include <EAPMethodETW.h>
#pragma comment(lib, "Crypt32.lib")
#include "../../lib/TTLS/include/Method.h"
#include "../../lib/TTLS/include/Module.h"

Binary file not shown.

View File

@@ -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">
<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>
@@ -21,116 +29,199 @@
<PropertyGroup Label="Globals">
<ProjectGuid>{DD7A97CA-F18E-43B7-95C4-D06E6A291624}</ProjectGuid>
<RootNamespace>EAPTTLSUI</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.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>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</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>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</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="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).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="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).props" />
<Import Project="EAPTTLSUI.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).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="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).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="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).props" />
<Import Project="EAPTTLSUI.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\include\$(Platform).props" />
<Import Project="..\..\include\$(Configuration).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)'=='Debug|ARM64'" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
<ItemGroup>
<ClInclude Include="..\include\EAP.h" />
<ClInclude Include="..\include\EAPXML.h" />
<ClInclude Include="..\include\EAP_UI.h" />
<ClInclude Include="..\include\PAP_UI.h" />
<ClInclude Include="..\include\TLS.h" />
<ClInclude Include="..\include\TTLS.h" />
<ClInclude Include="..\include\TTLS_UI.h" />
<ClInclude Include="..\include\PAP.h" />
<ClInclude Include="..\include\TLS_UI.h" />
<ClInclude Include="..\res\wxEAP_UI.h" />
<ClInclude Include="StdAfx.h" />
<ClInclude Include="..\res\wxTLS_UI.h" />
<ClInclude Include="..\res\wxTTLS_UI.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\res\wxEAP_UI.cpp" />
<ClCompile Include="..\res\wxTLS_UI.cpp" />
<ClCompile Include="..\res\wxTTLS_UI.cpp" />
<ClCompile Include="..\src\EAP.cpp" />
<ClCompile Include="..\src\PAP_UI.cpp" />
<ClCompile Include="..\src\TLS.cpp" />
<ClCompile Include="..\src\TTLS.cpp" />
<ClCompile Include="..\src\TTLS_UI.cpp" />
<ClCompile Include="..\src\Main_UI.cpp" />
<ClCompile Include="..\src\PAP.cpp" />
<ClCompile Include="..\src\EAP_UI.cpp" />
<ClCompile Include="..\src\TLS_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)'=='Debug|ARM64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="EAPTTLSUI.rc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\lib\WinStd\build\WinStd.vcxproj">
<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\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\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-15.0.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
</ProjectReference>
<ProjectReference Include="..\EAPMethodEvents\EAPMethodEvents.vcxproj">
<Project>{d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b}</Project>
<ProjectReference Include="..\..\lib\wxExtend\build\wxExtendLib-15.0.vcxproj">
<Project>{d3e29951-d9f5-486d-a167-20ae8e90b1fa}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="..\build\EAPMethodUI.def" />
<None Include="..\res\wxEAP_UI.fbp" />
<None Include="..\res\wxTLS_UI.fbp" />
<None Include="..\res\wxTTLS_UI.fbp" />
<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\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>

View File

@@ -13,97 +13,23 @@
<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="Header Files\wx">
<UniqueIdentifier>{51f0404d-9280-4fcc-8138-5d1f815ce568}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\wx">
<UniqueIdentifier>{9befee7a-5dff-41dd-b080-4e26ccb19a7f}</UniqueIdentifier>
</Filter>
<Filter Include="Resource Files\wx">
<UniqueIdentifier>{0ec1840b-101c-415a-91c6-2c7eb4530c15}</UniqueIdentifier>
<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>
<ClInclude Include="..\include\TTLS.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\PAP.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\TLS_UI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\TLS.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\res\wxEAP_UI.h">
<Filter>Header Files\wx</Filter>
</ClInclude>
<ClInclude Include="..\res\wxTLS_UI.h">
<Filter>Header Files\wx</Filter>
</ClInclude>
<ClInclude Include="..\res\wxTTLS_UI.h">
<Filter>Header Files\wx</Filter>
</ClInclude>
<ClInclude Include="..\include\EAP.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\EAP_UI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\TTLS_UI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\EAPXML.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\PAP_UI.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="StdAfx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\PAP.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\res\wxEAP_UI.cpp">
<Filter>Source Files\wx</Filter>
</ClCompile>
<ClCompile Include="..\res\wxTLS_UI.cpp">
<Filter>Source Files\wx</Filter>
</ClCompile>
<ClCompile Include="..\res\wxTTLS_UI.cpp">
<Filter>Source Files\wx</Filter>
</ClCompile>
<ClCompile Include="..\src\EAP.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\EAP_UI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\TLS.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\TLS_UI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\TTLS.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\TTLS_UI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\Main_UI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\PAP_UI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="EAPTTLSUI.rc">
@@ -114,14 +40,100 @@
<None Include="..\build\EAPMethodUI.def">
<Filter>Source Files</Filter>
</None>
<None Include="..\res\wxEAP_UI.fbp">
<Filter>Resource Files\wx</Filter>
</None>
<None Include="..\res\wxTTLS_UI.fbp">
<Filter>Resource Files\wx</Filter>
</None>
<None Include="..\res\wxTLS_UI.fbp">
<Filter>Resource Files\wx</Filter>
<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>
<POCompile Include="..\locale\et_EE.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
</ItemGroup>
</Project>

View File

@@ -18,48 +18,6 @@
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
*/
#define _CRT_SECURE_NO_WARNINGS
#pragma once
#include "../../include/Version.h"
#include "../include/EAP.h"
#include "../include/EAP_UI.h"
#include "../include/EAPSerial.h"
#include "../include/EAPXML.h"
#include "../include/TLS.h"
#include "../include/TLS_UI.h"
#include "../include/TTLS.h"
#include "../include/TTLS_UI.h"
#include "../include/PAP.h"
#include "../include/PAP_UI.h"
#include "../res/wxTLS_UI.h"
#include "../res/wxTTLS_UI.h"
#include <WinStd/Base64.h>
#include <WinStd/Cred.h>
#include <WinStd/Crypt.h>
#include <WinStd/ETW.h>
#include <WinStd/Hex.h>
#include <WinStd/Win.h>
#include <wx/app.h>
#include <wx/filedlg.h>
#include <wx/init.h>
#include <wx/msgdlg.h>
#include <eaptypes.h>
#include <eapmethodpeerapis.h>
#include <Commctrl.h>
#include <cryptuiapi.h>
#include <Msi.h>
#include <tchar.h>
#include <Shlwapi.h>
#include <Windows.h>
#include <EAPMethodETW.h>
#pragma comment(lib, "Crypt32.lib")
#include "../../lib/TTLS_UI/include/Module.h"

Binary file not shown.

View File

@@ -8,11 +8,8 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir);..\EAPMethodEvents\temp\EAPMethodEvents.$(Platform).$(Configuration).$(PlatformToolset);..\include;..\..\lib\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(ProjectDir);..\..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\include;..\..\lib\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>temp\EAPMethodEvents.$(Platform).$(Configuration).$(PlatformToolset);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup />
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -1,370 +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 <WinStd/Crypt.h>
#include <list>
#include <string>
#include <vector>
namespace eapserial
{
template <class T> inline void pack(_Inout_ unsigned char *&cursor, _In_ const T &val);
template <class T> inline size_t get_pk_size(_In_ const T &val);
template <class T> inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ T &val);
template<class _Elem, class _Traits, class _Ax> inline void pack(_Inout_ unsigned char *&cursor, _In_ const std::basic_string<_Elem, _Traits, _Ax> &val);
template<class _Elem, class _Traits, class _Ax> inline size_t get_pk_size(const std::basic_string<_Elem, _Traits, _Ax> &val);
template<class _Elem, class _Traits, class _Ax> inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ std::basic_string<_Elem, _Traits, _Ax> &val);
template<class _Traits, class _Ax> inline void pack(_Inout_ unsigned char *&cursor, _In_ const std::basic_string<wchar_t, _Traits, _Ax> &val);
template<class _Traits, class _Ax> inline size_t get_pk_size(const std::basic_string<wchar_t, _Traits, _Ax> &val);
template<class _Traits, class _Ax> inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &val);
template<class _Ty, class _Ax> inline void pack(_Inout_ unsigned char *&cursor, _In_ const std::vector<_Ty, _Ax> &val);
template<class _Ty, class _Ax> inline size_t get_pk_size(const std::vector<_Ty, _Ax> &val);
template<class _Ty, class _Ax> inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ std::vector<_Ty, _Ax> &val);
template<class _Ty, class _Ax> inline void pack(_Inout_ unsigned char *&cursor, _In_ const std::list<_Ty, _Ax> &val);
template<class _Ty, class _Ax> inline size_t get_pk_size(const std::list<_Ty, _Ax> &val);
template<class _Ty, class _Ax> inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ std::list<_Ty, _Ax> &val);
inline void pack(_Inout_ unsigned char *&cursor, _In_ const winstd::cert_context &val);
inline size_t get_pk_size(const winstd::cert_context &val);
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ winstd::cert_context &val);
}
#pragma once
namespace eapserial
{
///
/// Packs a primitive data
///
/// \param[inout] cursor Memory cursor
/// \param[in] val Variable with data to pack
///
template <class T>
inline void pack(_Inout_ unsigned char *&cursor, _In_ const T &val)
{
memcpy(cursor, &val, sizeof(T));
cursor += sizeof(T);
}
///
/// Returns packed size of a primitive data
///
/// \param[in] val Data to pack
///
/// \returns Size of data when packed (in bytes)
///
template <class T>
inline size_t get_pk_size(_In_ const T &val)
{
UNREFERENCED_PARAMETER(val);
return sizeof(T);
}
///
/// Unpacks a primitive data
///
/// \param[inout] cursor Memory cursor
/// \param[out] val Variable to receive unpacked value
///
template <class T>
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ T &val)
{
memcpy(&val, cursor, sizeof(T));
cursor += sizeof(T);
}
///
/// Packs a string
///
/// \param[inout] cursor Memory cursor
/// \param[in] val String to pack
///
template<class _Elem, class _Traits, class _Ax>
inline void pack(_Inout_ unsigned char *&cursor, _In_ const std::basic_string<_Elem, _Traits, _Ax> &val)
{
std::basic_string<_Elem, _Traits, _Ax>::size_type count = val.length();
*(std::basic_string<_Elem, _Traits, _Ax>::size_type*&)cursor = count;
cursor += sizeof(std::basic_string<_Elem, _Traits, _Ax>::size_type);
size_t nSize = sizeof(_Elem)*count;
memcpy(cursor, (const _Elem*)val.c_str(), nSize);
cursor += nSize;
}
///
/// Returns packed size of a string
///
/// \param[in] val String to pack
///
/// \returns Size of data when packed (in bytes)
///
template<class _Elem, class _Traits, class _Ax>
inline size_t get_pk_size(const std::basic_string<_Elem, _Traits, _Ax> &val)
{
return sizeof(std::basic_string<_Elem, _Traits, _Ax>::size_type) + sizeof(_Elem)*val.length();
}
///
/// Unpacks a string
///
/// \param[inout] cursor Memory cursor
/// \param[out] val String to unpack to
///
template<class _Elem, class _Traits, class _Ax>
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ std::basic_string<_Elem, _Traits, _Ax> &val)
{
std::basic_string<_Elem, _Traits, _Ax>::size_type count = *(const std::basic_string<_Elem, _Traits, _Ax>::size_type*&)cursor;
cursor += sizeof(std::basic_string<_Elem, _Traits, _Ax>::size_type);
val.assign((const _Elem*&)cursor, count);
cursor += sizeof(_Elem)*count;
}
///
/// Packs a wide string
///
/// \param[inout] cursor Memory cursor
/// \param[in] val String to pack
///
template<class _Traits, class _Ax>
inline void pack(_Inout_ unsigned char *&cursor, _In_ const std::basic_string<wchar_t, _Traits, _Ax> &val)
{
std::string val_utf8;
WideCharToMultiByte(CP_UTF8, 0, val.c_str(), (int)val.length(), val_utf8, NULL, NULL);
pack(cursor, val_utf8);
}
///
/// Returns packed size of a wide string
///
/// \param[in] val String to pack
///
/// \returns Size of data when packed (in bytes)
///
template<class _Traits, class _Ax>
inline size_t get_pk_size(const std::basic_string<wchar_t, _Traits, _Ax> &val)
{
return sizeof(std::string::size_type) + sizeof(char)*WideCharToMultiByte(CP_UTF8, 0, val.c_str(), (int)val.length(), NULL, 0, NULL, NULL);
}
///
/// Unpacks a wide string
///
/// \param[inout] cursor Memory cursor
/// \param[out] val String to unpack to
///
template<class _Traits, class _Ax>
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &val)
{
std::string val_utf8;
unpack(cursor, val_utf8);
MultiByteToWideChar(CP_UTF8, 0, val_utf8.c_str(), (int)val_utf8.length(), val);
}
///
/// Packs a vector
///
/// \param[inout] cursor Memory cursor
/// \param[in] val Vector to pack
///
template<class _Ty, class _Ax>
inline void pack(_Inout_ unsigned char *&cursor, _In_ const std::vector<_Ty, _Ax> &val)
{
std::vector<_Ty, _Ax>::size_type count = val.size();
*(std::vector<_Ty, _Ax>::size_type*&)cursor = count;
cursor += sizeof(std::vector<_Ty, _Ax>::size_type);
// Since we do not know wheter vector elements are primitives or objects, iterate instead of memcpy.
// For performance critical vectors of flat opaque data types write specialized template instantiation.
for (std::vector<_Ty, _Ax>::size_type i = 0; i < count; i++)
pack(cursor, val[i]);
}
///
/// Returns packed size of a vector
///
/// \param[in] val Vector to pack
///
/// \returns Size of data when packed (in bytes)
///
template<class _Ty, class _Ax>
inline size_t get_pk_size(const std::vector<_Ty, _Ax> &val)
{
// Since we do not know wheter vector elements are primitives or objects, iterate instead of sizeof().
// For performance critical vectors of flat opaque data types write specialized template instantiation.
size_t size = sizeof(std::vector<_Ty, _Ax>::size_type);
for (std::vector<_Ty, _Ax>::size_type i = 0, count = val.size(); i < count; i++)
size += get_pk_size(val[i]);
return size;
}
///
/// Unpacks a vector
///
/// \param[inout] cursor Memory cursor
/// \param[out] val Vector to unpack to
///
template<class _Ty, class _Ax>
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ std::vector<_Ty, _Ax> &val)
{
std::vector<_Ty, _Ax>::size_type count = *(const std::vector<_Ty, _Ax>::size_type*&)cursor;
cursor += sizeof(std::vector<_Ty, _Ax>::size_type);
// Since we do not know wheter vector elements are primitives or objects, iterate instead of assign().
// For performance critical vectors of flat opaque data types write specialized template instantiation.
val.clear();
val.reserve(count);
for (std::vector<_Ty, _Ax>::size_type i = 0; i < count; i++) {
_Ty el;
unpack(cursor, el);
val.push_back(el);
}
}
///
/// Packs a list
///
/// \param[inout] cursor Memory cursor
/// \param[in] val List to pack
///
template<class _Ty, class _Ax>
inline void pack(_Inout_ unsigned char *&cursor, _In_ const std::list<_Ty, _Ax> &val)
{
std::list<_Ty, _Ax>::size_type count = val.size();
*(std::list<_Ty, _Ax>::size_type*&)cursor = count;
cursor += sizeof(std::list<_Ty, _Ax>::size_type);
// Since we do not know wheter list elements are primitives or objects, iterate instead of memcpy.
// For performance critical vectors of flat opaque data types write specialized template instantiation.
for (std::list<_Ty, _Ax>::const_iterator i = val.cbegin(), i_end = val.cend(); i != i_end; ++i)
pack(cursor, *i);
}
///
/// Returns packed size of a list
///
/// \param[in] val List to pack
///
/// \returns Size of data when packed (in bytes)
///
template<class _Ty, class _Ax>
inline size_t get_pk_size(const std::list<_Ty, _Ax> &val)
{
// Since we do not know wheter list elements are primitives or objects, iterate instead of sizeof().
// For performance critical vectors of flat opaque data types write specialized template instantiation.
size_t size = sizeof(std::list<_Ty, _Ax>::size_type);
for (std::list<_Ty, _Ax>::const_iterator i = val.cbegin(), i_end = val.cend(); i != i_end; ++i)
size += get_pk_size(*i);
return size;
}
///
/// Unpacks a list
///
/// \param[inout] cursor Memory cursor
/// \param[out] val List to unpack to
///
template<class _Ty, class _Ax>
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ std::list<_Ty, _Ax> &val)
{
std::list<_Ty, _Ax>::size_type count = *(const std::list<_Ty, _Ax>::size_type*&)cursor;
cursor += sizeof(std::list<_Ty, _Ax>::size_type);
// Since we do not know wheter list elements are primitives or objects, iterate instead of assign().
// For performance critical vectors of flat opaque data types write specialized template instantiation.
val.clear();
for (std::list<_Ty, _Ax>::size_type i = 0; i < count; i++) {
_Ty el;
unpack(cursor, el);
val.push_back(el);
}
}
///
/// Packs a certificate context
///
/// \param[inout] cursor Memory cursor
/// \param[in] val Certificate context to pack
///
inline void pack(_Inout_ unsigned char *&cursor, _In_ const winstd::cert_context &val)
{
*(DWORD*&)cursor = val->dwCertEncodingType;
cursor += sizeof(DWORD);
*(DWORD*&)cursor = val->cbCertEncoded;
cursor += sizeof(DWORD);
memcpy(cursor, val->pbCertEncoded, val->cbCertEncoded);
cursor += val->cbCertEncoded;
}
///
/// Returns packed size of a certificate context
///
/// \param[in] val Certificate context to pack
///
/// \returns Size of data when packed (in bytes)
///
inline size_t get_pk_size(const winstd::cert_context &val)
{
return sizeof(DWORD) + sizeof(DWORD) + val->cbCertEncoded;
}
///
/// Unpacks a certificate context
///
/// \param[inout] cursor Memory cursor
/// \param[out] val Certificate context to unpack to
///
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ winstd::cert_context &val)
{
DWORD dwCertEncodingType = *(DWORD*&)cursor;
cursor += sizeof(DWORD);
DWORD dwCertEncodedSize = *(DWORD*&)cursor;
cursor += sizeof(DWORD);
val.create(dwCertEncodingType, (BYTE*)cursor, dwCertEncodedSize);
cursor += dwCertEncodedSize;
}
}

View File

@@ -1,384 +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 <WinStd/Base64.h>
#include <WinStd/COM.h>
#include <WinStd/Hex.h>
#include <assert.h>
#include <MsXml.h>
#include <string>
#include <vector>
namespace eapxml
{
inline DWORD get_document(_In_ IXMLDOMNode *pXmlNode, _Out_ IXMLDOMDocument2 **ppXmlDoc);
inline DWORD select_node(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ IXMLDOMNode **ppXmlNode);
inline DWORD select_nodes(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ IXMLDOMNodeList **ppXmlNodes);
inline DWORD select_element(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ IXMLDOMElement **ppXmlElement);
inline DWORD create_element(_In_ IXMLDOMDocument *pDoc, _In_z_ const BSTR bstrElementName, _In_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement);
inline DWORD create_element(_In_ IXMLDOMDocument *pDoc, IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementNameSelect, _In_z_ const BSTR bstrElementNameCreate, _In_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement);
inline bool has_parent(_In_ IXMLDOMNode *pXmlNode);
inline DWORD get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ BSTR *pbstrValue);
template<class _Traits, class _Ax> inline DWORD get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue);
inline DWORD get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ DWORD *pdwValue);
inline DWORD get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ bool *pbValue);
template<class _Ty, class _Ax> inline DWORD get_element_base64(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue);
template<class _Ty, class _Ax> inline DWORD get_element_hex(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue);
inline DWORD get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ BSTR *pbstrValue);
template<class _Traits, class _Ax> inline DWORD get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue);
inline DWORD put_element(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement);
inline DWORD put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_z_ const BSTR bstrValue);
inline DWORD put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ DWORD dwValue);
inline DWORD put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ bool bValue);
inline DWORD put_element_base64(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen);
inline DWORD put_element_hex(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen);
}
#pragma once
namespace eapxml
{
inline DWORD get_document(_In_ IXMLDOMNode *pXmlNode, _Out_ IXMLDOMDocument2 **ppXmlDoc)
{
assert(pXmlNode);
assert(ppXmlDoc);
HRESULT hr;
winstd::com_obj<IXMLDOMDocument> doc;
return
SUCCEEDED(hr = pXmlNode->get_ownerDocument(&doc)) &&
SUCCEEDED(hr = doc.query_interface(ppXmlDoc)) ? ERROR_SUCCESS : HRESULT_CODE(hr);
}
inline DWORD select_node(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ IXMLDOMNode **ppXmlNode)
{
assert(pXmlParent);
assert(ppXmlNode);
HRESULT hr;
return
SUCCEEDED(hr = pXmlParent->selectSingleNode(bstrNodeName, ppXmlNode)) ?
*ppXmlNode ? ERROR_SUCCESS : ERROR_NO_DATA : HRESULT_CODE(hr);
}
inline DWORD select_nodes(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrNodeName, _Out_ IXMLDOMNodeList **ppXmlNodes)
{
assert(pXmlParent);
assert(ppXmlNodes);
HRESULT hr;
return
SUCCEEDED(hr = pXmlParent->selectNodes(bstrNodeName, ppXmlNodes)) ?
*ppXmlNodes ? ERROR_SUCCESS : ERROR_NO_DATA : HRESULT_CODE(hr);
}
inline DWORD select_element(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ IXMLDOMElement **ppXmlElement)
{
assert(ppXmlElement);
DWORD dwResult;
HRESULT hr;
winstd::com_obj<IXMLDOMNode> pXmlNode;
return
(dwResult = select_node(pXmlParent, bstrElementName, &pXmlNode)) == ERROR_SUCCESS ?
SUCCEEDED(hr = pXmlNode.query_interface(ppXmlElement)) ?
*ppXmlElement ? ERROR_SUCCESS : ERROR_NO_DATA : HRESULT_CODE(hr) : dwResult;
}
inline DWORD create_element(_In_ IXMLDOMDocument *pDoc, _In_z_ const BSTR bstrElementName, _In_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement)
{
assert(pDoc);
assert(ppXmlElement);
static const winstd::variant varNodeTypeEl(NODE_ELEMENT);
HRESULT hr;
winstd::com_obj<IXMLDOMNode> pXmlNode;
return
SUCCEEDED(hr = pDoc->createNode(varNodeTypeEl, bstrElementName, bstrNamespace, &pXmlNode)) ?
SUCCEEDED(hr = pXmlNode.query_interface(ppXmlElement)) ?
*ppXmlElement ? ERROR_SUCCESS : ERROR_NO_DATA : HRESULT_CODE(hr) : HRESULT_CODE(hr);
}
inline DWORD create_element(_In_ IXMLDOMDocument *pDoc, IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementNameSelect, _In_z_ const BSTR bstrElementNameCreate, _In_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement)
{
assert(pDoc);
assert(pXmlParent);
assert(ppXmlElement);
DWORD dwResult;
HRESULT hr;
return
(dwResult = select_element(pXmlParent, bstrElementNameSelect, ppXmlElement)) == ERROR_SUCCESS ? ERROR_SUCCESS :
(dwResult = create_element(pDoc, bstrElementNameCreate, bstrNamespace, ppXmlElement)) == ERROR_SUCCESS ?
SUCCEEDED(hr = pXmlParent->appendChild(*ppXmlElement, NULL)) ? ERROR_SUCCESS : HRESULT_CODE(hr) : dwResult;
}
inline bool has_parent(_In_ IXMLDOMNode *pXmlNode)
{
assert(pXmlNode);
winstd::com_obj<IXMLDOMNode> pXmlNodeParent;
return SUCCEEDED(pXmlNode->get_parentNode(&pXmlNodeParent)) && pXmlNodeParent;
}
inline DWORD get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ BSTR *pbstrValue)
{
assert(pbstrValue);
DWORD dwResult;
HRESULT hr;
winstd::com_obj<IXMLDOMElement> pXmlElement;
return
(dwResult = select_element(pXmlParent, bstrElementName, &pXmlElement)) == ERROR_SUCCESS ?
SUCCEEDED(hr = pXmlElement->get_text(pbstrValue)) ?
*pbstrValue ? ERROR_SUCCESS : ERROR_NO_DATA : HRESULT_CODE(hr) : dwResult;
}
template<class _Traits, class _Ax>
inline DWORD get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue)
{
winstd::bstr bstr;
DWORD dwResult = get_element_value(pXmlParent, bstrElementName, &bstr);
if (dwResult == ERROR_SUCCESS)
sValue.assign(bstr, bstr.length());
return dwResult;
}
inline DWORD get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ DWORD *pdwValue)
{
assert(pdwValue);
winstd::bstr bstr;
DWORD dwResult = get_element_value(pXmlParent, bstrElementName, &bstr);
if (dwResult == ERROR_SUCCESS)
*pdwValue = wcstoul(bstr, NULL, 10);
return dwResult;
}
inline DWORD get_element_value(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ bool *pbValue)
{
assert(pbValue);
winstd::bstr bstr;
DWORD dwResult = get_element_value(pXmlParent, bstrElementName, &bstr);
if (dwResult == ERROR_SUCCESS) {
if (CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"true" , -1, NULL, NULL, 0) == CSTR_EQUAL ||
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"1" , -1, NULL, NULL, 0) == CSTR_EQUAL)
*pbValue = true;
else if (
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"false", -1, NULL, NULL, 0) == CSTR_EQUAL ||
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstr, bstr.length(), L"0" , -1, NULL, NULL, 0) == CSTR_EQUAL)
*pbValue = false;
else
dwResult = ERROR_INVALID_DATA;
}
return dwResult;
}
template<class _Ty, class _Ax>
inline DWORD get_element_base64(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue)
{
winstd::bstr bstr;
DWORD dwResult = get_element_value(pXmlParent, bstrElementName, &bstr);
if (dwResult == ERROR_SUCCESS) {
winstd::base64_dec dec;
bool is_last;
dec.decode(aValue, is_last, (BSTR)bstr, bstr.length());
}
return dwResult;
}
template<class _Ty, class _Ax>
inline DWORD get_element_hex(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _Out_ std::vector<_Ty, _Ax> &aValue)
{
winstd::bstr bstr;
DWORD dwResult = get_element_value(pXmlParent, bstrElementName, &bstr);
if (dwResult == ERROR_SUCCESS) {
winstd::hex_dec dec;
bool is_last;
dec.decode(aValue, is_last, (BSTR)bstr, bstr.length());
}
return dwResult;
}
inline DWORD get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ BSTR *pbstrValue)
{
assert(pbstrValue);
HRESULT hr;
winstd::com_obj<IXMLDOMElement> pXmlElement;
DWORD dwResult = select_element(pXmlParent, bstrElementName, &pXmlElement);
if (dwResult != ERROR_SUCCESS)
return dwResult;
winstd::com_obj<IXMLDOMNodeList> pXmlListLocalizedText;
long lCount = 0;
if (select_nodes(pXmlElement, winstd::bstr(L"eap-metadata:localized-text"), &pXmlListLocalizedText) != ERROR_SUCCESS ||
FAILED(pXmlListLocalizedText->get_length(&lCount)) ||
lCount <= 0)
{
return
SUCCEEDED(hr = pXmlElement->get_text(pbstrValue)) ?
*pbstrValue ? ERROR_SUCCESS : ERROR_NO_DATA : HRESULT_CODE(hr);
}
winstd::bstr bstrDefault, bstrEn;
for (long i = 0; ; i++) {
if (i >= lCount) {
if (bstrDefault != NULL) {
// Return "C" localization.
*pbstrValue = bstrDefault.detach();
return ERROR_SUCCESS;
} else if (bstrEn != NULL) {
// Return "en" localization.
*pbstrValue = bstrEn.detach();
return ERROR_SUCCESS;
} else
return ERROR_NOT_FOUND;
}
winstd::com_obj<IXMLDOMNode> pXmlElLocalizedText;
pXmlListLocalizedText->get_item(i, &pXmlElLocalizedText);
{
// Read <lang>.
winstd::bstr bstrLang;
if (get_element_value(pXmlElLocalizedText, winstd::bstr(L"eap-metadata:lang"), &bstrLang) != ERROR_SUCCESS ||
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstrLang, bstrLang.length(), L"C" , -1, NULL, NULL, 0) == CSTR_EQUAL)
{
// <lang> is missing or "C" language found.
winstd::bstr bstr;
if ((dwResult = get_element_value(pXmlElLocalizedText, winstd::bstr(L"eap-metadata:text"), &bstr)) == ERROR_SUCCESS)
bstrDefault.attach(bstr.detach());
} else if (CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstrLang, bstrLang.length(), pszLang, -1, NULL, NULL, 0) == CSTR_EQUAL) {
// Found an exact match.
return get_element_value(pXmlElLocalizedText, winstd::bstr(L"eap-metadata:text"), pbstrValue);
} else if (CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstrLang, bstrLang.length(), L"en", -1, NULL, NULL, 0) == CSTR_EQUAL) {
// "en" language found.
winstd::bstr bstr;
if ((dwResult = get_element_value(pXmlElLocalizedText, winstd::bstr(L"eap-metadata:text"), &bstr)) == ERROR_SUCCESS)
bstrEn.attach(bstr.detach());
}
}
}
}
template<class _Traits, class _Ax>
inline DWORD get_element_localized(_In_ IXMLDOMNode *pXmlParent, _In_z_ const BSTR bstrElementName, _In_z_ LPCWSTR pszLang, _Out_ std::basic_string<wchar_t, _Traits, _Ax> &sValue)
{
winstd::bstr bstr;
DWORD dwResult = get_element_localized(pXmlParent, bstrElementName, pszLang, &bstr);
if (dwResult == ERROR_SUCCESS)
sValue.assign(bstr, bstr.length());
return dwResult;
}
inline DWORD put_element(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _Out_ IXMLDOMElement **ppXmlElement)
{
assert(pDoc);
assert(pCurrentDOMNode);
assert(ppXmlElement);
static const VARIANT varNodeTypeEl = { VT_I4, 0, 0, 0, { NODE_ELEMENT } };
HRESULT hr;
winstd::com_obj<IXMLDOMNode> pXmlEl;
return
SUCCEEDED(hr = pDoc->createNode(varNodeTypeEl, bstrElementName, bstrNamespace, &pXmlEl)) &&
SUCCEEDED(hr = pCurrentDOMNode->appendChild(pXmlEl, NULL)) &&
SUCCEEDED(hr = pXmlEl.query_interface(ppXmlElement)) ? ERROR_SUCCESS : HRESULT_CODE(hr);
}
inline DWORD put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_z_ const BSTR bstrValue)
{
assert(pDoc);
static const VARIANT varNodeTypeEl = { VT_I4, 0, 0, 0, { NODE_ELEMENT } };
HRESULT hr;
winstd::com_obj<IXMLDOMNode> pXmlEl;
winstd::com_obj<IXMLDOMText> pXmlElText;
return
SUCCEEDED(hr = pDoc->createNode(varNodeTypeEl, bstrElementName, bstrNamespace, &pXmlEl)) &&
SUCCEEDED(hr = pDoc->createTextNode(bstrValue, &pXmlElText)) &&
SUCCEEDED(hr = pXmlEl->appendChild(pXmlElText, NULL)) &&
SUCCEEDED(hr = pCurrentDOMNode->appendChild(pXmlEl, NULL)) ? ERROR_SUCCESS : HRESULT_CODE(hr);
}
inline DWORD put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ DWORD dwValue)
{
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(winstd::wstring_printf(L"%d", dwValue)));
}
inline DWORD put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ bool bValue)
{
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(bValue ? L"true": L"false"));
}
inline DWORD put_element_base64(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen)
{
std::wstring sBase64;
winstd::base64_enc enc;
enc.encode(sBase64, pValue, nValueLen);
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(sBase64));
}
inline DWORD put_element_hex(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_count_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen)
{
std::wstring sHex;
winstd::hex_enc enc;
enc.encode(sHex, pValue, nValueLen);
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(sHex));
}
}

View File

@@ -1,444 +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 "EAP.h"
#include "../res/wxEAP_UI.h"
#include <WinStd/Cred.h>
#include <wx/dialog.h>
#include <wx/icon.h>
#include <wx/log.h>
#include <CommCtrl.h>
namespace eap
{
template <class _Tmeth, class _Tid, class _Tint, class _Tintres> class peer_ui;
}
template <class _Tcfg, class _wxT> class wxEAPConfigDialog;
class wxEAPCredentialsDialog;
class wxEAPBannerPanel;
template <class _Tcfg, class _Tcred, class _Tpanel> class wxEAPCredentialsConfigPanel;
template <class _Tbase, class _Tcred> class wxCredentialsPanel;
class wxPasswordCredentialsPanel;
inline bool wxSetIconFromResource(wxStaticBitmap *bmp, wxIcon &icon, HINSTANCE hinst, PCWSTR pszName);
#pragma once
namespace eap
{
///
/// EAP UI peer base abstract class template
///
/// A group of methods all EAP UI peers must or should implement.
///
template <class _Tcfg, class _Tid, class _Tint, class _Tintres>
class peer_ui : public peer_base<_Tcfg, _Tid, _Tint, _Tintres>
{
public:
///
/// Constructor
///
peer_ui() : peer_base<_Tcfg, _Tid, _Tint, _Tintres>() {}
///
/// 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)
///
/// \param[in] hwndParent Parent window
/// \param[inout] cfg Configuration to edit
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD invoke_config_ui(
_In_ HWND hwndParent,
_Inout_ config_type &cfg,
_Out_ EAP_ERROR **ppEapError) = 0;
///
/// 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)
///
/// \param[in] hwndParent Parent window
/// \param[in] dwFlags Flags passed to `EapPeerInvokeIdentityUI()` call
/// \param[inout] cfg Configuration
/// \param[inout] usr User data to edit
/// \param[out] ppwszIdentity Pointer to user identity. Free using `module::free_memory()`.
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD invoke_identity_ui(
_In_ HWND hwndParent,
_In_ DWORD dwFlags,
_Inout_ config_type &cfg,
_Inout_ identity_type &usr,
_Out_ LPWSTR *ppwszIdentity,
_Out_ EAP_ERROR **ppEapError) = 0;
///
/// 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)
///
/// \param[in] hwndParent Parent window
/// \param[in] req Interactive request
/// \param[out] res Interactive response
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD invoke_interactive_ui(
_In_ HWND hwndParent,
_In_ const interactive_request_type &req,
_Out_ interactive_response_type &res,
_Out_ EAP_ERROR **ppEapError) = 0;
};
}
///
/// EAP configuration dialog
///
template <class _Tmeth, class _wxT>
class wxEAPConfigDialog : public wxEAPConfigDialogBase
{
public:
///
/// Configuration provider data type
///
typedef eap::config_provider<_Tmeth> _Tprov;
///
/// Configuration data type
///
typedef eap::config_providers<_Tprov> config_type;
///
/// This data type
///
typedef wxEAPConfigDialog<_Tmeth, _wxT> _T;
public:
///
/// Constructs a configuration dialog
///
wxEAPConfigDialog(config_type &cfg, wxWindow* parent) :
m_cfg(cfg),
wxEAPConfigDialogBase(parent)
{
// Set extra style here, as wxFormBuilder overrides all default flags.
this->SetExtraStyle(this->GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY);
for (std::list<_Tprov>::iterator provider = m_cfg.m_providers.begin(), provider_end = m_cfg.m_providers.end(); provider != provider_end; ++provider) {
bool is_single = provider->m_methods.size() == 1;
std::list<_Tmeth>::size_type count = 0;
std::list<_Tmeth>::iterator method = provider->m_methods.begin(), method_end = provider->m_methods.end();
for (; method != method_end; ++method, count++)
m_providers->AddPage(
new _wxT(
provider->m_methods.front(),
provider->m_id.c_str(),
m_providers),
is_single ? provider->m_id : winstd::tstring_printf(_T("%s (%u)"), provider->m_id.c_str(), count));
}
this->Layout();
this->GetSizer()->Fit(this);
m_buttonsOK->SetDefault();
}
protected:
/// \cond internal
virtual void OnInitDialog(wxInitDialogEvent& event)
{
// Forward the event to child panels.
for (wxWindowList::compatibility_iterator provider = m_providers->GetChildren().GetFirst(); provider; provider = provider->GetNext()) {
_wxT *prov = wxDynamicCast(provider->GetData(), _wxT);
if (prov)
prov->GetEventHandler()->ProcessEvent(event);
}
}
/// \endcond
protected:
config_type &m_cfg; ///< EAP providers configuration
};
///
/// EAP credentials dialog
///
class wxEAPCredentialsDialog : public wxEAPCredentialsDialogBase
{
public:
///
/// Constructs a credential dialog
///
wxEAPCredentialsDialog(wxWindow* parent);
///
/// Adds panels to the dialog
///
void AddContents(wxPanel **contents, size_t content_count);
protected:
/// \cond internal
virtual void OnInitDialog(wxInitDialogEvent& event);
/// \endcond
};
///
/// EAP dialog banner
///
class wxEAPBannerPanel : public wxEAPBannerPanelBase
{
public:
///
/// Constructs a banner pannel and set the title text to product name
///
wxEAPBannerPanel(wxWindow* parent);
protected:
/// \cond internal
virtual bool AcceptsFocusFromKeyboard() const { return false; }
/// \endcond
};
///
/// Base template for credentials configuration panel
///
template <class _Tcfg, class _Tcred, class _Tpanel>
class wxEAPCredentialsConfigPanel : public wxEAPCredentialsConfigPanelBase
{
public:
///
/// Constructs a credential configuration panel
///
/// \param[inout] cfg Configuration data
/// \param[in] pszCredTarget Target name of credentials in Windows Credential Manager. Can be further decorated to create final target name.
/// \param[in] parent Parent window
///
wxEAPCredentialsConfigPanel(_Tcfg &cfg, LPCTSTR pszCredTarget, wxWindow *parent) :
m_cfg(cfg),
m_target(pszCredTarget),
m_cred(m_cfg.m_module),
wxEAPCredentialsConfigPanelBase(parent)
{
// Load and set icon.
if (m_shell32.load(_T("shell32.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE))
wxSetIconFromResource(m_credentials_icon, m_icon, m_shell32, MAKEINTRESOURCE(48));
}
protected:
/// \cond internal
virtual void OnUpdateUI(wxUpdateUIEvent& event)
{
UNREFERENCED_PARAMETER(event);
DWORD dwResult;
std::unique_ptr<CREDENTIAL, winstd::CredFree_delete<CREDENTIAL> > cred;
if (CredRead(m_cred.target_name(m_target.c_str()).c_str(), CRED_TYPE_GENERIC, 0, (PCREDENTIAL*)&cred)) {
m_clear->Enable(true);
m_identity->SetValue(cred->UserName && cred->UserName[0] != 0 ? cred->UserName : _("<blank>"));
} else if ((dwResult = GetLastError()) == ERROR_NOT_FOUND) {
m_clear->Enable(false);
m_identity->Clear();
} else {
m_clear->Enable(true);
m_identity->SetValue(wxString::Format(_("<error %u>"), dwResult));
}
}
virtual void OnSet(wxCommandEvent& event)
{
UNREFERENCED_PARAMETER(event);
wxEAPCredentialsDialog dlg(this);
_Tpanel *panel = new _Tpanel(m_cred, m_target.c_str(), &dlg, true);
dlg.AddContents((wxPanel**)&panel, 1);
dlg.ShowModal();
}
virtual void OnClear(wxCommandEvent& event)
{
UNREFERENCED_PARAMETER(event);
if (!CredDelete(m_cred.target_name(m_target.c_str()).c_str(), CRED_TYPE_GENERIC, 0))
wxLogError(_("Deleting credentials failed (error %u)."), GetLastError());
}
/// \endcond
protected:
_Tcfg &m_cfg; ///< EAP configuration
winstd::library m_shell32; ///< shell32.dll resource library reference
wxIcon m_icon; ///< Panel icon
winstd::tstring m_target; ///< Credential Manager target
private:
_Tcred m_cred; ///< Temporary credential data
};
///
/// Base template for all credential panels
///
template <class _Tbase, class _Tcred>
class wxCredentialsPanel : public _Tbase
{
public:
///
/// Constructs a credentials panel
///
/// \param[inout] cred Credentials data
/// \param[in] pszCredTarget Target name of credentials in Windows Credential Manager. Can be further decorated to create final target name.
/// \param[in] parent Parent window
/// \param[in] is_config Is this panel used to pre-enter credentials? When \c true, the "Remember" checkbox is always selected and disabled.
///
wxCredentialsPanel(_Tcred &cred, LPCTSTR pszCredTarget, wxWindow* parent, bool is_config = false) :
m_cred(cred),
m_target(pszCredTarget),
_Tbase(parent)
{
if (is_config) {
// User is setting credentials via configuration UI.
// => Pointless if not stored to Credential Manager
m_remember->SetValue(true);
m_remember->Enable(false);
}
}
protected:
/// \cond internal
virtual bool TransferDataToWindow()
{
wxCHECK(_Tbase::TransferDataToWindow(), false);
// Read credentials from Credential Manager
EAP_ERROR *pEapError;
DWORD dwResult;
if ((dwResult = m_cred.retrieve(m_target.c_str(), &pEapError)) == ERROR_SUCCESS) {
m_remember->SetValue(true);
} else if (dwResult != ERROR_NOT_FOUND) {
if (pEapError) {
wxLogError(winstd::tstring_printf(_("Error reading credentials from Credential Manager: %ls (error %u)"), pEapError->pRootCauseString, pEapError->dwWinError).c_str());
m_cred.m_module.free_error_memory(pEapError);
} else
wxLogError(_("Reading credentials failed (error %u)."), dwResult);
}
return true;
}
virtual bool TransferDataFromWindow()
{
// Write credentials to credential manager.
if (m_remember->GetValue()) {
EAP_ERROR *pEapError;
DWORD dwResult;
if ((dwResult = m_cred.store(m_target.c_str(), &pEapError)) != ERROR_SUCCESS) {
if (pEapError) {
wxLogError(winstd::tstring_printf(_("Error writing credentials to Credential Manager: %ls (error %u)"), pEapError->pRootCauseString, pEapError->dwWinError).c_str());
m_cred.m_module.free_error_memory(pEapError);
} else
wxLogError(_("Writing credentials failed (error %u)."), dwResult);
}
}
return _Tbase::TransferDataFromWindow();
}
/// \endcond
protected:
_Tcred &m_cred; ///< Password credentials
winstd::tstring m_target; ///< Credential Manager target
};
///
/// Password credentials panel
///
class wxPasswordCredentialsPanel : public wxCredentialsPanel<wxPasswordCredentialsPanelBase, eap::credentials_pass>
{
public:
///
/// Constructs a password credentials panel
///
/// \param[inout] cred Credentials data
/// \param[in] pszCredTarget Target name of credentials in Windows Credential Manager. Can be further decorated to create final target name.
/// \param[in] parent Parent window
/// \param[in] is_config Is this panel used to pre-enter credentials? When \c true, the "Remember" checkbox is always selected and disabled.
///
wxPasswordCredentialsPanel(eap::credentials_pass &cred, LPCTSTR pszCredTarget, wxWindow* parent, bool is_config = false);
protected:
/// \cond internal
virtual bool TransferDataToWindow();
virtual bool TransferDataFromWindow();
/// \endcond
protected:
winstd::library m_shell32; ///< shell32.dll resource library reference
wxIcon m_icon; ///< Panel icon
private:
static const wxStringCharType *s_dummy_password;
};
///
/// Sets icon from resource
///
inline bool wxSetIconFromResource(wxStaticBitmap *bmp, wxIcon &icon, HINSTANCE hinst, PCWSTR pszName)
{
wxASSERT(bmp);
HICON hIcon;
if (SUCCEEDED(LoadIconWithScaleDown(hinst, pszName, GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON), &hIcon))) {
icon.CreateFromHICON(hIcon);
bmp->SetIcon(icon);
return true;
} else
return false;
}

View File

@@ -1,205 +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 "EAP.h"
namespace eap
{
class config_pap;
class credentials_pap;
}
namespace eapserial
{
inline void pack(_Inout_ unsigned char *&cursor, _In_ const eap::config_pap &val);
inline size_t get_pk_size(const eap::config_pap &val);
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ eap::config_pap &val);
}
#pragma once
namespace eap
{
///
/// PAP configuration
///
class config_pap : public config_pass
{
public:
///
/// Constructs configuration
///
/// \param[in] mod Reference of the EAP module to use for global services
///
config_pap(_In_ module &mod);
///
/// Copies configuration
///
/// \param[in] other Configuration to copy from
///
config_pap(_In_ const config_pap &other);
///
/// Moves configuration
///
/// \param[in] other Configuration to move from
///
config_pap(_Inout_ config_pap &&other);
///
/// Copies configuration
///
/// \param[in] other Configuration to copy from
///
/// \returns Reference to this object
///
config_pap& operator=(_In_ const config_pap &other);
///
/// Moves configuration
///
/// \param[in] other Configuration to move from
///
/// \returns Reference to this object
///
config_pap& operator=(_Inout_ config_pap &&other);
///
/// Clones configuration
///
/// \returns Pointer to cloned configuration
///
virtual config* clone() const { return new config_pap(*this); }
///
/// Returns EAP method type of this configuration
///
/// \returns `eap::type_pap`
///
virtual eap::type_t get_method_id() { return eap::type_pap; }
};
///
/// PAP credentials
///
class credentials_pap : public credentials_pass
{
public:
///
/// Constructs credentials
///
/// \param[in] mod Reference of the EAP module to use for global services
///
credentials_pap(_In_ module &mod);
///
/// Copies credentials
///
/// \param[in] other Credentials to copy from
///
credentials_pap(_In_ const credentials_pap &other);
///
/// Moves credentials
///
/// \param[in] other Credentials to move from
///
credentials_pap(_Inout_ credentials_pap &&other);
///
/// Copies credentials
///
/// \param[in] other Credentials to copy from
///
/// \returns Reference to this object
///
credentials_pap& operator=(_In_ const credentials_pap &other);
///
/// Moves credentials
///
/// \param[in] other Credentials to move from
///
/// \returns Reference to this object
///
credentials_pap& operator=(_Inout_ credentials_pap &&other);
///
/// Clones credentials
///
/// \returns Pointer to cloned credentials
///
virtual config* clone() const { return new credentials_pap(*this); }
/// \name Storage
/// @{
///
/// Return target suffix for Windows Credential Manager credential name
///
virtual LPCTSTR target_suffix() const { return _T("PAP"); }
/// @}
};
}
namespace eapserial
{
///
/// Packs a PAP based method configuration
///
/// \param[inout] cursor Memory cursor
/// \param[in] val Configuration to pack
///
inline void pack(_Inout_ unsigned char *&cursor, _In_ const eap::config_pap &val)
{
pack(cursor, (const eap::config_pass&)val);
}
///
/// Returns packed size of a PAP based method configuration
///
/// \param[in] val Configuration to pack
///
/// \returns Size of data when packed (in bytes)
///
inline size_t get_pk_size(const eap::config_pap &val)
{
return get_pk_size((const eap::config_pass&)val);
}
///
/// Unpacks a PAP based method configuration
///
/// \param[inout] cursor Memory cursor
/// \param[out] val Configuration to unpack to
///
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ eap::config_pap &val)
{
unpack(cursor, (eap::config_pass&)val);
}
}

View File

@@ -1,352 +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 "EAP.h"
#include "EAPSerial.h"
namespace eap
{
class config_tls;
class credentials_tls;
}
namespace eapserial
{
inline void pack(_Inout_ unsigned char *&cursor, _In_ const eap::config_tls &val);
inline size_t get_pk_size(const eap::config_tls &val);
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ eap::config_tls &val);
inline void pack(_Inout_ unsigned char *&cursor, _In_ const eap::credentials_tls &val);
inline size_t get_pk_size(const eap::credentials_tls &val);
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ eap::credentials_tls &val);
}
#pragma once
namespace eap
{
///
/// TLS configuration
///
class config_tls : public config_method
{
public:
///
/// Constructs configuration
///
/// \param[in] mod Reference of the EAP module to use for global services
///
config_tls(_In_ module &mod);
///
/// Copies configuration
///
/// \param[in] other Configuration to copy from
///
config_tls(_In_ const config_tls &other);
///
/// Moves configuration
///
/// \param[in] other Configuration to move from
///
config_tls(_Inout_ config_tls &&other);
///
/// Copies configuration
///
/// \param[in] other Configuration to copy from
///
/// \returns Reference to this object
///
config_tls& operator=(_In_ const config_tls &other);
///
/// Moves configuration
///
/// \param[in] other Configuration to move from
///
/// \returns Reference to this object
///
config_tls& operator=(_Inout_ config_tls &&other);
///
/// Clones configuration
///
/// \returns Pointer to cloned configuration
///
virtual config* clone() const { return new config_tls(*this); }
/// \name XML configuration management
/// @{
///
/// Save configuration to XML document
///
/// \param[in] pDoc XML document
/// \param[in] pConfigRoot Suggested root element for saving configuration
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError) const;
///
/// Load configuration from XML document
///
/// \param[in] pConfigRoot Root element for loading configuration
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD load(_In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError);
/// @}
///
/// Returns EAP method type of this configuration
///
/// \returns `eap::type_tls`
///
virtual eap::type_t get_method_id() { return eap::type_tls; }
///
/// Adds CA to the list of trusted root CA's
///
/// \sa [CertCreateCertificateContext function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa376033.aspx)
///
bool add_trusted_ca(_In_ DWORD dwCertEncodingType, _In_ const BYTE *pbCertEncoded, _In_ DWORD cbCertEncoded);
public:
std::list<winstd::cert_context> m_trusted_root_ca; ///< Trusted root CAs
std::list<std::string> m_server_names; ///< Acceptable authenticating server names
};
///
/// TLS credentials
///
class credentials_tls : public credentials
{
public:
///
/// Constructs credentials
///
/// \param[in] mod Reference of the EAP module to use for global services
///
credentials_tls(_In_ module &mod);
///
/// Copies credentials
///
/// \param[in] other Credentials to copy from
///
credentials_tls(_In_ const credentials_tls &other);
///
/// Moves credentials
///
/// \param[in] other Credentials to move from
///
credentials_tls(_Inout_ credentials_tls &&other);
///
/// Copies credentials
///
/// \param[in] other Credentials to copy from
///
/// \returns Reference to this object
///
credentials_tls& operator=(_In_ const credentials_tls &other);
///
/// Moves credentials
///
/// \param[in] other Credentials to move from
///
/// \returns Reference to this object
///
credentials_tls& operator=(_Inout_ credentials_tls &&other);
///
/// Clones credentials
///
/// \returns Pointer to cloned credentials
///
virtual config* clone() const { return new credentials_tls(*this); }
///
/// Resets credentials
///
virtual void clear();
///
/// Test credentials if blank
///
virtual bool empty() const;
/// \name XML credentials management
/// @{
///
/// Load credentials from XML document
///
/// \param[in] pConfigRoot Root element for loading credentials
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD load(_In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError);
/// @}
/// \name Storage
/// @{
///
/// Save credentials to Windows Credential Manager
///
/// \param[in] pszTargetName The name in Windows Credential Manager to store credentials as
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD store(_In_ LPCTSTR pszTargetName, _Out_ EAP_ERROR **ppEapError) const;
///
/// Retrieve credentials from Windows Credential Manager
///
/// \param[in] pszTargetName The name in Windows Credential Manager to retrieve credentials from
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD retrieve(_In_ LPCTSTR pszTargetName, _Out_ EAP_ERROR **ppEapError);
///
/// Return target suffix for Windows Credential Manager credential name
///
virtual LPCTSTR target_suffix() const { return _T("TLS"); }
/// @}
public:
std::vector<unsigned char> m_cert_hash; ///< Client certificate hash (certificates are kept in Personal Certificate Storage)
};
}
namespace eapserial
{
///
/// Packs a TLS method configuration
///
/// \param[inout] cursor Memory cursor
/// \param[in] val Configuration to pack
///
inline void pack(_Inout_ unsigned char *&cursor, _In_ const eap::config_tls &val)
{
pack(cursor, (const eap::config_method&)val);
pack(cursor, val.m_trusted_root_ca );
pack(cursor, val.m_server_names );
}
///
/// Returns packed size of a TLS method configuration
///
/// \param[in] val Configuration to pack
///
/// \returns Size of data when packed (in bytes)
///
inline size_t get_pk_size(const eap::config_tls &val)
{
return
get_pk_size((const eap::config_method&)val) +
get_pk_size(val.m_trusted_root_ca ) +
get_pk_size(val.m_server_names );
}
///
/// Unpacks a TLS method configuration
///
/// \param[inout] cursor Memory cursor
/// \param[out] val Configuration to unpack to
///
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ eap::config_tls &val)
{
unpack(cursor, (eap::config_method&)val );
unpack(cursor, val.m_trusted_root_ca);
unpack(cursor, val.m_server_names );
}
///
/// Packs a TLS method credentials
///
/// \param[inout] cursor Memory cursor
/// \param[in] val Credentials to pack
///
inline void pack(_Inout_ unsigned char *&cursor, _In_ const eap::credentials_tls &val)
{
pack(cursor, (const eap::credentials&)val);
pack(cursor, val.m_cert_hash );
}
///
/// Returns packed size of a TLS method credentials
///
/// \param[in] val Credentials to pack
///
/// \returns Size of data when packed (in bytes)
///
inline size_t get_pk_size(const eap::credentials_tls &val)
{
return
get_pk_size((const eap::credentials&)val) +
get_pk_size(val.m_cert_hash );
}
///
/// Unpacks a TLS method credentials
///
/// \param[inout] cursor Memory cursor
/// \param[out] val Credentials to unpack to
///
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ eap::credentials_tls &val)
{
unpack(cursor, (eap::credentials&)val);
unpack(cursor, val.m_cert_hash );
}
}

View File

@@ -1,346 +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 "TLS.h"
#include "../res/wxTLS_UI.h"
#include <wx/icon.h>
#include <wx/validate.h>
#include <vector>
class wxCertificateClientData;
class wxCertificateSelectionClientData;
class wxHostNameValidator;
class wxFQDNValidator;
class wxFQDNListValidator;
class wxEAPTLSCredentialsPanel;
class wxEAPTLSServerTrustPanel;
typedef wxEAPCredentialsConfigPanel<eap::config_tls, eap::credentials_tls, wxEAPTLSCredentialsPanel> wxEAPTLSCredentialsConfigPanel;
class wxEAPTLSConfigPanel;
namespace eap
{
void get_cert_title(PCCERT_CONTEXT cert, winstd::tstring &title);
}
#pragma once
///
/// Helper class for auto-destroyable certificates used in wxWidget's item containers
///
class wxCertificateClientData : public wxClientData
{
public:
///
/// Constructs client data object with existing handle
///
wxCertificateClientData(PCCERT_CONTEXT cert);
///
/// Releases certificate handle and destructs the object
///
virtual ~wxCertificateClientData();
public:
PCCERT_CONTEXT m_cert; ///< Certificate
};
///
/// Helper class for auto-destroyable certificates used in wxWidget's item containers
///
class wxCertificateSelectionClientData : public wxClientData
{
public:
///
/// Default constructor
///
wxCertificateSelectionClientData();
///
/// Constructs client data object
///
wxCertificateSelectionClientData(const wchar_t *identity, unsigned char *hash, size_t hash_size);
///
/// Constructs client data object with copy
///
wxCertificateSelectionClientData(const std::wstring &identity, const std::vector<unsigned char> &hash);
///
/// Constructs client data object with move
///
wxCertificateSelectionClientData(std::wstring &&identity, std::vector<unsigned char> &&hash);
///
/// Constructs client data object with copy
///
wxCertificateSelectionClientData(const wxCertificateSelectionClientData &other);
///
/// Constructs client data object with move
///
wxCertificateSelectionClientData(wxCertificateSelectionClientData &&other);
public:
std::wstring m_identity; ///< Client identity
std::vector<unsigned char> m_hash; ///< Client certificate hash (certificates are kept in Personal Certificate Storage)
};
///
/// Validator for host name
///
class wxHostNameValidator : public wxValidator
{
wxDECLARE_DYNAMIC_CLASS(wxHostNameValidator);
wxDECLARE_NO_ASSIGN_CLASS(wxHostNameValidator);
public:
///
/// Construct the validator with a value to store data
///
wxHostNameValidator(std::string *val = NULL);
///
/// Copy constructor
///
wxHostNameValidator(const wxHostNameValidator &other);
///
/// Copies this validator
///
virtual wxObject* Clone() const;
///
/// Validates the value
///
virtual bool Validate(wxWindow *parent);
///
/// Transfers the value to the window
///
virtual bool TransferToWindow();
///
/// Transfers the value from the window
///
virtual bool TransferFromWindow();
///
/// Parses FQDN value
///
static bool Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, std::string *val_out = NULL);
protected:
std::string *m_val; ///< Pointer to variable to receive control's parsed value
};
///
/// Validator for FQDN
///
class wxFQDNValidator : public wxValidator
{
wxDECLARE_DYNAMIC_CLASS(wxFQDNValidator);
wxDECLARE_NO_ASSIGN_CLASS(wxFQDNValidator);
public:
///
/// Construct the validator with a value to store data
///
wxFQDNValidator(std::string *val = NULL);
///
/// Copy constructor
///
wxFQDNValidator(const wxFQDNValidator &other);
///
/// Copies this validator
///
virtual wxObject* Clone() const;
///
/// Validates the value
///
virtual bool Validate(wxWindow *parent);
///
/// Transfers the value to the window
///
virtual bool TransferToWindow();
///
/// Transfers the value from the window
///
virtual bool TransferFromWindow();
///
/// Parses FQDN value
///
static bool Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, std::string *val_out = NULL);
protected:
std::string *m_val; ///< Pointer to variable to receive control's parsed value
};
///
/// Validator for FQDN lists
///
class wxFQDNListValidator : public wxValidator
{
wxDECLARE_DYNAMIC_CLASS(wxFQDNListValidator);
wxDECLARE_NO_ASSIGN_CLASS(wxFQDNListValidator);
public:
///
/// Construct the validator with a value to store data
///
wxFQDNListValidator(std::list<std::string> *val = NULL);
///
/// Copy constructor
///
wxFQDNListValidator(const wxFQDNListValidator &other);
///
/// Copies this validator
///
virtual wxObject* Clone() const;
///
/// Validates the value
///
virtual bool Validate(wxWindow *parent);
///
/// Transfers the value to the window
///
virtual bool TransferToWindow();
///
/// Transfers the value from the window
///
virtual bool TransferFromWindow();
///
/// Parses FQDN list value
///
static bool Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, std::list<std::string> *val_out = NULL);
protected:
std::list<std::string> *m_val; ///< Pointer to variable to receive control's parsed value
};
///
/// EAPTLS credential panel
///
class wxEAPTLSCredentialsPanel : public wxCredentialsPanel<wxEAPTLSCredentialsPanelBase, eap::credentials_tls>
{
public:
///
/// Constructs a configuration panel
///
wxEAPTLSCredentialsPanel(eap::credentials_tls &cred, LPCTSTR pszCredTarget, wxWindow* parent, bool is_config = false);
protected:
/// \cond internal
virtual bool TransferDataToWindow();
virtual bool TransferDataFromWindow();
virtual void OnCertSelect(wxCommandEvent& event);
/// \endcond
protected:
winstd::library m_shell32; ///< shell32.dll resource library reference
wxIcon m_icon; ///< Panel icon
};
///
/// EAPTLS server trust configuration panel
///
class wxEAPTLSServerTrustPanel : public wxEAPTLSServerTrustConfigPanelBase
{
public:
///
/// Constructs a configuration panel
///
wxEAPTLSServerTrustPanel(eap::config_tls &cfg, wxWindow* parent);
protected:
/// \cond internal
virtual bool TransferDataToWindow();
virtual bool TransferDataFromWindow();
virtual void OnRootCA(wxCommandEvent& event);
virtual void OnRootCADClick(wxCommandEvent& event);
virtual void OnRootCAAddStore(wxCommandEvent& event);
virtual void OnRootCAAddFile(wxCommandEvent& event);
virtual void OnRootCARemove(wxCommandEvent& event);
/// \endcond
///
/// Adds a certificate to the list of trusted root CA list
///
/// \param[in] cert Certificate
///
/// \returns
/// - \c true if certificate was added;
/// - \c false if duplicate found or an error occured.
///
bool AddRootCA(PCCERT_CONTEXT cert);
protected:
eap::config_tls &m_cfg; ///< TLS configuration
winstd::library m_certmgr; ///< certmgr.dll resource library reference
wxIcon m_icon; ///< Panel icon
};
///
/// EAPTLS configuration panel
///
class wxEAPTLSConfigPanel : public wxPanel
{
public:
///
/// Constructs a configuration panel
///
wxEAPTLSConfigPanel(eap::config_tls &cfg, LPCTSTR pszCredTarget, wxWindow* parent);
///
/// Destructs the configuration panel
///
virtual ~wxEAPTLSConfigPanel();
protected:
/// \cond internal
virtual void OnInitDialog(wxInitDialogEvent& event);
/// \endcond
protected:
wxEAPTLSServerTrustPanel *m_server_trust; ///< Server trust configuration panel
wxEAPTLSCredentialsConfigPanel *m_credentials; ///< Credentials configuration panel
};

View File

@@ -1,405 +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 "EAP.h"
#include "EAPSerial.h"
#include "TLS.h"
#include "PAP.h"
#include <WinStd/Crypt.h>
namespace eap
{
class config_ttls;
class credentials_ttls;
class session_ttls;
class peer_ttls;
}
namespace eapserial
{
inline void pack(_Inout_ unsigned char *&cursor, _In_ const eap::config_ttls &val);
inline size_t get_pk_size(const eap::config_ttls &val);
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ eap::config_ttls &val);
}
#pragma once
namespace eap
{
///
/// TTLS configuration
///
class config_ttls : public config_tls
{
public:
///
/// Constructs configuration
///
/// \param[in] mod Reference of the EAP module to use for global services
///
config_ttls(_In_ module &mod);
///
/// Copies configuration
///
/// \param[in] other Configuration to copy from
///
config_ttls(const _In_ config_ttls &other);
///
/// Moves configuration
///
/// \param[in] other Configuration to move from
///
config_ttls(_Inout_ config_ttls &&other);
///
/// Destructs configuration
///
virtual ~config_ttls();
///
/// Copies configuration
///
/// \param[in] other Configuration to copy from
///
/// \returns Reference to this object
///
config_ttls& operator=(const _In_ config_ttls &other);
///
/// Moves configuration
///
/// \param[in] other Configuration to move from
///
/// \returns Reference to this object
///
config_ttls& operator=(_Inout_ config_ttls &&other);
///
/// Clones configuration
///
/// \returns Pointer to cloned configuration
///
virtual config* clone() const { return new config_ttls(*this); }
/// \name XML configuration management
/// @{
///
/// Save configuration to XML document
///
/// \param[in] pDoc XML document
/// \param[in] pConfigRoot Suggested root element for saving configuration
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError) const;
///
/// Load configuration from XML document
///
/// \param[in] pConfigRoot Root element for loading configuration
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD load(_In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError);
/// @}
///
/// Returns EAP method type of this configuration
///
/// \returns `eap::type_ttls`
///
virtual eap::type_t get_method_id() { return eap::type_ttls; }
public:
config_method *m_inner; ///< Inner authentication configuration
};
///
/// TTLS credentials
///
class credentials_ttls : public credentials_tls
{
public:
///
/// Constructs credentials
///
/// \param[in] mod Reference of the EAP module to use for global services
///
credentials_ttls(_In_ module &mod);
///
/// Copies credentials
///
/// \param[in] other Credentials to copy from
///
credentials_ttls(_In_ const credentials_ttls &other);
///
/// Moves credentials
///
/// \param[in] other Credentials to move from
///
credentials_ttls(_Inout_ credentials_ttls &&other);
///
/// Copies credentials
///
/// \param[in] other Credentials to copy from
///
/// \returns Reference to this object
///
credentials_ttls& operator=(_In_ const credentials_ttls &other);
///
/// Moves credentials
///
/// \param[in] other Credentials to move from
///
/// \returns Reference to this object
///
credentials_ttls& operator=(_Inout_ credentials_ttls &&other);
///
/// Clones credentials
///
/// \returns Pointer to cloned credentials
///
virtual config* clone() const { return new credentials_ttls(*this); }
///
/// Resets credentials
///
virtual void clear();
///
/// Test credentials if blank
///
virtual bool empty() const;
/// \name XML credentials management
/// @{
///
/// Load credentials from XML document
///
/// \param[in] pConfigRoot Root element for loading credentials
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD load(_In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError);
/// @}
/// \name Storage
/// @{
///
/// Save credentials to Windows Credential Manager
///
/// \param[in] pszTargetName The name in Windows Credential Manager to store credentials as
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD store(_In_ LPCTSTR pszTargetName, _Out_ EAP_ERROR **ppEapError) const;
///
/// Retrieve credentials from Windows Credential Manager
///
/// \param[in] pszTargetName The name in Windows Credential Manager to retrieve credentials from
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD retrieve(_In_ LPCTSTR pszTargetName, _Out_ EAP_ERROR **ppEapError);
/// @}
public:
credentials *m_inner; ///< Inner credentials
};
///
/// TTLS session
///
class session_ttls : public session
{
public:
///
/// Constructor
///
session_ttls();
};
///
/// TTLS peer
///
class peer_ttls : public peer<eap::config_ttls, eap::credentials_ttls, int, int>
{
public:
///
/// Constructor
///
peer_ttls();
///
/// Initializes an EAP peer method for EAPHost.
///
/// \sa [EapPeerGetInfo function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363613.aspx)
///
virtual DWORD initialize(_Out_ EAP_ERROR **ppEapError);
///
/// 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)
///
virtual DWORD shutdown(_Out_ EAP_ERROR **ppEapError);
///
/// 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)
///
virtual DWORD get_identity(
_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);
///
/// 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)
///
virtual DWORD get_method_properties(
_In_ DWORD dwVersion,
_In_ DWORD dwFlags,
_In_ HANDLE hUserImpersonationToken,
_In_ DWORD dwEapConnDataSize,
_In_count_(dwEapConnDataSize) const BYTE *pEapConnData,
_In_ DWORD dwUserDataSize,
_In_count_(dwUserDataSize) const BYTE *pUserData,
_Out_ EAP_METHOD_PROPERTY_ARRAY *pMethodPropertyArray,
_Out_ EAP_ERROR **ppEapError) const;
};
}
namespace eapserial
{
///
/// Packs a TTLS based method configuration
///
/// \param[inout] cursor Memory cursor
/// \param[in] val Configuration to pack
///
inline void pack(_Inout_ unsigned char *&cursor, _In_ const eap::config_ttls &val)
{
pack(cursor, (const eap::config_tls&)val);
if (val.m_inner) {
if (dynamic_cast<eap::config_pap*>(val.m_inner)) {
pack(cursor, (unsigned char)eap::type_pap);
pack(cursor, (const eap::config_pap&)*val.m_inner);
} else {
assert(0); // Unsupported inner authentication method type.
pack(cursor, (unsigned char)0);
}
} else
pack(cursor, (unsigned char)0);
}
///
/// Returns packed size of a TTLS based method configuration
///
/// \param[in] val Configuration to pack
///
/// \returns Size of data when packed (in bytes)
///
inline size_t get_pk_size(const eap::config_ttls &val)
{
size_t size_inner = sizeof(unsigned char);
if (val.m_inner) {
if (dynamic_cast<eap::config_pap*>(val.m_inner))
size_inner += get_pk_size((const eap::config_pap&)*val.m_inner);
else
assert(0); // Unsupported inner authentication method type.
}
return
get_pk_size((const eap::config_tls&)val) +
size_inner;
}
///
/// Unpacks a TTLS based method configuration
///
/// \param[inout] cursor Memory cursor
/// \param[out] val Configuration to unpack to
///
inline void unpack(_Inout_ const unsigned char *&cursor, _Out_ eap::config_ttls &val)
{
unpack(cursor, (eap::config_tls&)val);
assert(!val.m_inner);
unsigned char eap_type;
unpack(cursor, eap_type);
switch (eap_type) {
case eap::type_pap:
val.m_inner = new eap::config_pap(val.m_module);
unpack(cursor, (eap::config_pap&)*val.m_inner);
break;
case 0 : break;
default : assert(0); // Unsupported inner authentication method type.
}
}
}

View File

@@ -1,181 +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 "TTLS.h"
#include "EAP_UI.h"
#include "../res/wxEAP_UI.h"
#include "../res/wxTTLS_UI.h"
#include "../res/wxTLS_UI.h"
namespace eap
{
class peer_ttls_ui;
}
class wxEAPTTLSConfigPanel;
class wxEAPTTLSConfig;
#pragma once
#include <wx/icon.h>
#include <wx/scrolwin.h>
#include <wx/choicebk.h>
namespace eap
{
///
/// TTLS UI peer
///
class peer_ttls_ui : public peer_ui<eap::config_ttls, eap::credentials_ttls, int, int>
{
public:
///
/// Constructor
///
peer_ttls_ui();
///
/// 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)
///
/// \param[in] hwndParent Parent window
/// \param[inout] cfg Configuration to edit
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD invoke_config_ui(
_In_ HWND hwndParent,
_Inout_ config_type &cfg,
_Out_ EAP_ERROR **ppEapError);
///
/// 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)
///
/// \param[in] hwndParent Parent window
/// \param[in] dwFlags Flags passed to `EapPeerInvokeIdentityUI()` call
/// \param[inout] cfg Configuration
/// \param[inout] usr User data to edit
/// \param[out] ppwszIdentity Pointer to user identity. Free using `module::free_memory()`.
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD invoke_identity_ui(
_In_ HWND hwndParent,
_In_ DWORD dwFlags,
_Inout_ config_type &cfg,
_Inout_ identity_type &usr,
_Out_ LPWSTR *ppwszIdentity,
_Out_ EAP_ERROR **ppEapError);
///
/// 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)
///
/// \param[in] hwndParent Parent window
/// \param[in] req Interactive request
/// \param[out] res Interactive response
/// \param[out] ppEapError Pointer to error descriptor in case of failure. Free using `module::free_error_memory()`.
///
/// \returns
/// - \c ERROR_SUCCESS if succeeded
/// - error code otherwise
///
virtual DWORD invoke_interactive_ui(
_In_ HWND hwndParent,
_In_ const interactive_request_type &req,
_Out_ interactive_response_type &res,
_Out_ EAP_ERROR **ppEapError);
};
}
///
/// EAPTTLS configuration panel
///
class wxEAPTTLSConfigPanel : public wxEAPTTLSConfigPanelBase
{
public:
///
/// Constructs a configuration panel
///
wxEAPTTLSConfigPanel(eap::config_ttls &cfg, wxWindow* parent);
protected:
/// \cond internal
virtual bool TransferDataToWindow();
virtual bool TransferDataFromWindow();
virtual void OnOuterIdentityCustom(wxCommandEvent& event);
/// \endcond
protected:
eap::config_ttls &m_cfg; ///< TLS configuration
winstd::library m_shell32; ///< shell32.dll resource library reference
wxIcon m_icon; ///< Panel icon
};
///
/// EAPTTLS configuration
///
class wxEAPTTLSConfig : public wxScrolledWindow
{
public:
///
/// Constructs a configuration panel
///
/// \param[inout] cfg Configuration data
/// \param[in] pszCredTarget Target name of credentials in Windows Credential Manager. Can be further decorated to create final target name.
/// \param[in] parent Parent window
///
wxEAPTTLSConfig(eap::config_ttls &cfg, LPCTSTR pszCredTarget, wxWindow* parent);
///
/// Destructs the configuration panel
///
virtual ~wxEAPTTLSConfig();
protected:
/// \cond internal
virtual bool TransferDataToWindow();
virtual bool TransferDataFromWindow();
virtual void OnInitDialog(wxInitDialogEvent& event);
/// \endcond
protected:
eap::config_ttls &m_cfg; ///< TTLS configuration
wxStaticText *m_outer_title; ///< Outer authentication title
wxEAPTTLSConfigPanel *m_outer_identity; ///< Outer identity configuration panel
wxEAPTLSConfigPanel *m_tls; ///< TLS configuration panel
wxStaticText *m_inner_title; ///< Inner authentication title
wxChoicebook *m_inner_type; ///< Inner authentication type
eap::config_pap m_cfg_pap; ///< Temporary PAP configuration
};

2
EAPMethods/locale/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/*.mo
/eapmethods_*.po

File diff suppressed because it is too large Load Diff

1027
EAPMethods/locale/bg_BG.po Normal file

File diff suppressed because it is too large Load Diff

1017
EAPMethods/locale/ca_ES.po Normal file

File diff suppressed because it is too large Load Diff

971
EAPMethods/locale/cs_CZ.po Normal file
View File

@@ -0,0 +1,971 @@
# 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-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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: cs_CZ\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr "+"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

970
EAPMethods/locale/cy_UK.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: cy\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

1026
EAPMethods/locale/de_DE.po Normal file

File diff suppressed because it is too large Load Diff

1033
EAPMethods/locale/el_GR.po Normal file

File diff suppressed because it is too large Load Diff

1027
EAPMethods/locale/es_ES.po Normal file

File diff suppressed because it is too large Load Diff

1012
EAPMethods/locale/et_EE.po Normal file

File diff suppressed because it is too large Load Diff

970
EAPMethods/locale/eu_ES.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: eu_ES\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

970
EAPMethods/locale/fi_FI.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: fi_FI\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

970
EAPMethods/locale/fr_CA.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr_CA\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

970
EAPMethods/locale/fr_FR.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr_FR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

970
EAPMethods/locale/gl_ES.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: gl_ES\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

1009
EAPMethods/locale/hr_HR.po Normal file

File diff suppressed because it is too large Load Diff

970
EAPMethods/locale/hu_HU.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-08-25 06:18+0000\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
"Language-Team: Hungarian (https://www.transifex.com/eduroam_devel/teams/11799/hu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

970
EAPMethods/locale/is_IS.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

1026
EAPMethods/locale/it_IT.po Normal file

File diff suppressed because it is too large Load Diff

971
EAPMethods/locale/ko_KR.po Normal file
View File

@@ -0,0 +1,971 @@
# Translators:
# Park DOHO <fdd@korea.com>, 2016
# 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-08-25 06:18+0000\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2017\n"
"Language-Team: Korean (Korea) (https://www.transifex.com/eduroam_devel/teams/11799/ko_KR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ko_KR\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr "경고"
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr "프로파일 설정"
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr "인증서 쓰기 실패"
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr "삭제 실패 (오류 %u)."
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr "정보 기억"
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr "+"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr "프로파일 추가"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr "-"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr "프로파일 삭제"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr "고급..."
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr "프로파일 열기"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr "인증서 삭제"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr "인증서 설정"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr "계정정보를 입력하세요."
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr "아이디:"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr "아이디를 입력하세요(user@domain.org, DOMAIN\\User, 등)"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr "비밀번호:"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr "비밀번호를 입력하세요"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr "아이디"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr "EAP 연결 설정"
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr "인증서 추가"
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr "인증서 파일 (*.cer;*.crt;*.der;*.p7b;*.pem)"
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr "X.509 인증서 파일 (*.cer;*.crt;*.der;*.pem)"
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr "PKCS #7 인증서 파일 (*.p7b)"
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr "모든파일 (*.*)"
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr "지원하지 않는 인증서 파일 %s"
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr "오류"
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr "일차인증"
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr "이차인증"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr "이차인증 방식을 선택하세요"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr "일차인증"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr "EAP 방식"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

1006
EAPMethods/locale/lt_LT.po Normal file

File diff suppressed because it is too large Load Diff

1009
EAPMethods/locale/nb_NO.po Normal file

File diff suppressed because it is too large Load Diff

970
EAPMethods/locale/nl_NL.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

1019
EAPMethods/locale/pl_PL.po Normal file

File diff suppressed because it is too large Load Diff

971
EAPMethods/locale/pt_PT.po Normal file
View File

@@ -0,0 +1,971 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2017
# Pedro Simões <psimoes@fccn.pt>, 2017
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EAPMethods\n"
"POT-Creation-Date: 2018-06-20 15:30+0200\n"
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
"Last-Translator: Pedro Simões <psimoes@fccn.pt>, 2017\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/eduroam_devel/teams/11799/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr "Alerta"
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr "Credenciais EAP"
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr "Definições do Fornecedor"
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr "&Memorizar"
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr "+"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr "Adiciona novo fornecedor"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr "-"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr "Remove o fornecedor selecionado"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr "Avançadas..."
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr "Identidade:"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr "&Definir Credenciais..."
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr "ID do utilizador:"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr "Palavra passe:"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr "Coloque aqui a sua palavra passe"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr "ID do utilizador"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr "A sua Organização"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr "%s Credenciais"
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr "o seu fornecedor"
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr "Abrir o seu programa de email"
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr "Marcar o número de telefone"
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr "O seu fornecedor"
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr "&Definições"
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr "Palavra-passe"
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr "&Remover CA"
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr "Certificado do Utilizador"
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr "Adicionar Certificado"
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr "Todos os Ficheiros (*.*)"
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr "Erro"
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

970
EAPMethods/locale/ru_RU.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: ru_RU\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

970
EAPMethods/locale/sk_SK.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: sk_SK\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

1006
EAPMethods/locale/sl_SI.po Normal file

File diff suppressed because it is too large Load Diff

1028
EAPMethods/locale/sr_RS.po Normal file

File diff suppressed because it is too large Load Diff

970
EAPMethods/locale/sv_SE.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

972
EAPMethods/locale/tr_TR.po Normal file
View File

@@ -0,0 +1,972 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2017
# Gokhan Eryol <gokhaneryol@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-08-25 06:18+0000\n"
"Last-Translator: Gokhan Eryol <gokhaneryol@gmail.com>, 2017\n"
"Language-Team: Turkish (https://www.transifex.com/eduroam_devel/teams/11799/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr "+"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr "Yeni sağlayıcı ekler"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr "-"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr "Seçili sağlayıcıyı kaldırır"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr "Gelişmiş..."
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr "Kimlik:"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr "Kullanıcı Adı ve Parola"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr "Lütfen kullanıcı adı ve parolanızı sağlayınız."
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr "Kullanıcı Adı:"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
"Kullanıcı adınızı buraya giriniz (user@domain.org, ALANADI\\Kullanıcı, vb.)"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr "Parola:"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr "Parolanızı buraya giriniz"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr "Kullanıcı Adı"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr "Lütfen kullanıcı adınızı sağlayınız."
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr "Hata"
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr "Harici Kimlik"
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

970
EAPMethods/locale/vi_VN.po Normal file
View File

@@ -0,0 +1,970 @@
# 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-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"
"Content-Transfer-Encoding: 8bit\n"
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.0.8\n"
"X-Poedit-Basepath: ../../..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: master/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-1: master/lib/EapHost_UI\n"
"X-Poedit-SearchPath-10: ver1.1/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-11: ver1.1/lib/PAP_UI\n"
"X-Poedit-SearchPath-12: ver1.1/lib/TLS_UI\n"
"X-Poedit-SearchPath-13: ver1.1/lib/TTLS_UI\n"
"X-Poedit-SearchPath-14: ver1.1/EAPMethods\n"
"X-Poedit-SearchPath-15: ver1.0/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-16: ver1.0/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-17: ver1.0/lib/PAP_UI\n"
"X-Poedit-SearchPath-18: ver1.0/lib/TLS_UI\n"
"X-Poedit-SearchPath-19: ver1.0/lib/TTLS_UI\n"
"X-Poedit-SearchPath-2: master/lib/GTC_UI\n"
"X-Poedit-SearchPath-20: ver1.0/EAPMethods\n"
"X-Poedit-SearchPath-3: master/lib/MSCHAPv2_UI\n"
"X-Poedit-SearchPath-4: master/lib/PAP_UI\n"
"X-Poedit-SearchPath-5: master/lib/TLS_UI\n"
"X-Poedit-SearchPath-6: master/lib/TTLS_UI\n"
"X-Poedit-SearchPath-7: master/EAPMethods\n"
"X-Poedit-SearchPath-8: ver1.1/lib/EAPBase_UI\n"
"X-Poedit-SearchPath-9: ver1.1/lib/EapHost_UI\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
#, c-format
msgid ""
"Are you sure you want to permanently remove %s provider from configuration?"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:285
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:302
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:284
msgid "Warning"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:371
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:367
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:377
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:119
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:128
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:370
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119
msgid "EAP Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:641
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:640
msgid "Provider Settings"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:674
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:673
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229
#, c-format
msgid "%s User Credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:793
#: master/lib/TTLS_UI/src/Module.cpp:285 master/lib/TTLS_UI/src/Module.cpp:357
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724
#: ver1.0/lib/TTLS_UI/src/Module.cpp:275 ver1.0/lib/TTLS_UI/src/Module.cpp:285
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/TTLS_UI/src/Module.cpp:263 ver1.1/lib/TTLS_UI/src/Module.cpp:319
#, c-format
msgid "Error writing credentials to Credential Manager: %hs (error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:796
#: master/lib/TTLS_UI/src/Module.cpp:287 master/lib/TTLS_UI/src/Module.cpp:359
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727
#: ver1.0/lib/TTLS_UI/src/Module.cpp:277 ver1.0/lib/TTLS_UI/src/Module.cpp:287
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:795
#: ver1.1/lib/TTLS_UI/src/Module.cpp:265 ver1.1/lib/TTLS_UI/src/Module.cpp:321
msgid "Writing credentials failed."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:816
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:815
#, c-format
msgid "Deleting credentials failed (error %u)."
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:854
#, c-format
msgid "(error %u)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:859
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:858
msgid "(error)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: master/lib/TLS_UI/src/TLS_UI.cpp:61
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61
msgid "(empty)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:870
#: master/lib/EAPBase_UI/include/EAP_UI.h:879
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:803
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:812
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:869
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:878
msgid "(blank ID)"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:919
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:918
msgid "&Remember"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:920
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:919
msgid "Check if you would like to save credentials"
msgstr ""
#: master/lib/EAPBase_UI/include/EAP_UI.h:1131
#: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000
#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1077
msgid "(Your Organization)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:37
msgid "+"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:38
msgid "Adds new provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:42
msgid "-"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:43
msgid "Removes selected provider"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:47
msgid "Advanced..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:48
msgid "Opens dialog with provider settings"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:240
msgid "Select the source where your credentials used to connect are stored."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:244
msgid "Use credentials from Credential &Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:245
msgid ""
"Select this option if you would like to use credentials stored in Windows "
"Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:255
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:299
msgid "Identity:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:262
msgid "Your present credentials stored in Windows Credential Manager"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:272
msgid "&Clear Credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:273
msgid ""
"Click to clear your credentials from Credential Manager.\n"
"Note: You will be prompted to enter credentials when connecting."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:277
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:316
msgid "&Set Credentials..."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:278
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:317
msgid "Click here to set or modify your credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:288
msgid "Use credentials from &profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:289
msgid ""
"Select this option if you would like to store credentials as a part of "
"profile configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:306
msgid "Profile configuration credentials"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:359
msgid "User ID and Password"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:369
msgid "Please provide your user ID and password."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:443
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:379
msgid "User ID:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:448
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:384
msgid "Enter your user name here (user@domain.org, DOMAIN\\User, etc.)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:388
msgid "Password:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:393
msgid "Enter your password here"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:423
msgid "User ID"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:433
msgid "Please provide your user ID."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:473
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:424
msgid "Your Organization"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:484
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:435
msgid ""
"Describe your organization to customize user prompts. When organization is "
"introduced, end-users find program messages easier to understand and act."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:491
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:442
msgid "Your organization &name:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:496
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:447
msgid ""
"Your organization name as it will appear on helpdesk contact notifications"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:451
msgid "(Keep it short, please)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:510
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:461
msgid "Helpdesk contact &information:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:520
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:471
msgid "¶"
msgstr "¶"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:527
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:478
msgid "Your helpdesk website address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:531
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:482
msgid "*"
msgstr "*"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:538
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:489
msgid "Your helpdesk e-mail address"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:542
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:493
msgid ")"
msgstr ")"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:549
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:500
msgid "Your helpdesk phone number"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:577
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:528
msgid "Provider Unique Identifier"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:588
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:539
msgid ""
"Assign your organization a unique ID to allow sharing the same credential "
"set across different network profiles."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:595
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:546
msgid "&Namespace:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:RFC4282:realm"
msgstr "urn:RFC4282:realm"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:599
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550
msgid "urn:uuid"
msgstr "urn:uuid"
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:611
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:562
msgid "Provider unique &identifier:"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:616
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:567
msgid "Your organization ID to assign same credentials from other profiles"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:641
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:592
msgid "Configuration Lock"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:652
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:603
msgid ""
"Your configuration can be locked to prevent accidental modification by end-"
"users. Users will only be allowed to enter credentials."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:659
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:610
msgid ""
"&Lock this configuration and prevent any further modification via user "
"interface."
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:662
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:613
msgid "(Warning: Once locked, you can not revert using this dialog!)"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.h:69
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:69
msgid "EAP Connection Configuration"
msgstr ""
#: master/lib/EAPBase_UI/res/wxEAP_UI.h:336
#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314
msgid "EAP Identity Provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:103
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:99
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:103
#, c-format
msgid "%s Credentials"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:139
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:173
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:139
#, c-format
msgid "For additional help and instructions, please contact %s at:"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:140
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:174
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:140
msgid "your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:159
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:193
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:159
msgid "Open the default web browser"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:170
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:170
msgid "Open your e-mail program"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:181
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:215
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:181
msgid "Dial the phone number"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:203
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:235
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:204
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:236
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:204
msgid "Your provider"
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:225
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:257
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:225
msgid "Previous attempt to connect reported invalid credentials."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:226
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:258
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:226
msgid "Previous attempt to connect reported your credentials expired."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:227
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:259
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:227
msgid ""
"Previous attempt to connect reported your credentials are being changed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:228
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:260
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:228
msgid "Previous attempt to connect failed."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:229
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:261
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:229
msgid "Please, make sure your credentials are correct, or try again later."
msgstr ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:250
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:282
#: ver1.1/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 ""
#: master/lib/EAPBase_UI/src/EAP_UI.cpp:251
#: ver1.0/lib/EAPBase_UI/src/EAP_UI.cpp:283
#: ver1.1/lib/EAPBase_UI/src/EAP_UI.cpp:251
msgid "Please, reconsider necessity to enter your credentials."
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:17
msgid "Inner EAP Method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:28
msgid "Select and configure inner EAP method"
msgstr ""
#: master/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
#: ver1.1/lib/EapHost_UI/res/wxEapHost_UI.cpp:40
msgid "&Settings"
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:59
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:59
#, c-format
msgid "Enumerating EAP methods failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:61
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:61
#, c-format
msgid "Enumerating EAP methods failed (error %u)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:136
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:136
#, c-format
msgid "Configuring EAP method failed (error %u, %s, %s)."
msgstr ""
#: master/lib/EapHost_UI/src/EapHost_UI.cpp:138
#: ver1.1/lib/EapHost_UI/src/EapHost_UI.cpp:138
#, c-format
msgid "Configuring EAP method failed (error %u)."
msgstr ""
#: master/lib/GTC_UI/include/GTC_UI.h:111
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:16
msgid "GTC Challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:26
msgid "Please provide your response."
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:38
msgid "Server challenge"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:43
msgid "Enter your response here"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:70
msgid "EAP-GTC authentication &mode:"
msgstr ""
#: master/lib/GTC_UI/res/wxGTC_UI.cpp:75
msgid "Select EAP-GTC authentication mode from the list"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:39
msgid "Challenge/Response"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:41
msgid "Password"
msgstr ""
#: master/lib/GTC_UI/src/GTC_UI.cpp:119
#, c-format
msgid "%s Challenge"
msgstr ""
#: master/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.0/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
#: ver1.1/lib/MSCHAPv2_UI/src/MSCHAPv2_UI.cpp:33
msgid "MSCHAPv2 User ID and Password"
msgstr ""
#: master/lib/PAP_UI/src/PAP_UI.cpp:33 ver1.0/lib/PAP_UI/src/PAP_UI.cpp:33
#: ver1.1/lib/PAP_UI/src/PAP_UI.cpp:33
msgid "PAP User ID and Password"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:17 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:17
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:17
msgid "Server Trust"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:28 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:28
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid ""
"Describe the servers you trust to prevent credential interception in case of"
" man-in-the-middle attacks."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:35 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:35
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:40 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:40
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:40
msgid ""
"Server's certificate must be issued by one of certificate authorities listed"
" here"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:47 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:47
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:47
msgid "Add CA from Store..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:48 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:48
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:48
msgid ""
"Adds a new certificate authority from the certificate store to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:52 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:52
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:52
msgid "Add CA from File..."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:53 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:53
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:53
msgid "Adds a new certificate authority from the file to the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:57 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:57
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:57
msgid "&Remove CA"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:58 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:58
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:58
msgid "Removes selected certificate authorities from the list"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:71 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:71
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:71
msgid "Acceptable server &names:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:76 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:76
#: ver1.1/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 ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:80 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:80
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:80
msgid "(Example: foo.bar.com;server2.bar.com)"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:118 master/lib/TLS_UI/src/TLS_UI.cpp:325
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:118 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325
msgid "User Certificate"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:128
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:128
msgid "Please select your &certificate to use for authentication."
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:135
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:135
msgid "Client certificate to use for authentication"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:142
#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:142
msgid "Custom &identity:"
msgstr ""
#: master/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:147
#: ver1.1/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 ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:252 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:246
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:252
msgid "Add Certificate"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:253 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:247
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:253
msgid "Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:254 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:248
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:254
msgid "X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:255 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:249
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:255
msgid "PKCS #7 Certificate Files (*.p7b)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:256 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:250
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:256
msgid "All Files (*.*)"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
#, c-format
msgid "Invalid or unsupported certificate file %s"
msgstr ""
#: master/lib/TLS_UI/src/TLS_UI.cpp:270 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:264
#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:270
msgid "Error"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:17
msgid "Outer Identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:28
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:35
msgid "&True identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:36
msgid "Use my true user name"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:40
msgid "Use &empty outer identity"
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"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:48
msgid "&Custom outer identity:"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:49
msgid "Specify custom outer identity"
msgstr ""
#: master/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.0/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
#: ver1.1/lib/TTLS_UI/res/wxTTLS_UI.cpp:54
msgid "Custom outer identity to use"
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:394 ver1.1/lib/TTLS_UI/src/Module.cpp:356
#, c-format
msgid "Invoking EAP identity UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:396 ver1.1/lib/TTLS_UI/src/Module.cpp:358
#, c-format
msgid "Invoking EAP identity UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:532
#, c-format
msgid "Invoking EAP interactive UI failed (error %u, %s, %s)."
msgstr ""
#: master/lib/TTLS_UI/src/Module.cpp:535
#, c-format
msgid "Invoking EAP interactive UI failed (error %u)."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:118
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:182
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:117
msgid "Inner Authentication"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:124
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:188
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:123
msgid "Select inner authentication method from the list"
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:126
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:190
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:125
msgid "PAP"
msgstr "PAP"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:128
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:192
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:127
msgid "MSCHAPv2"
msgstr "MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129
msgid "EAP-MSCHAPv2"
msgstr "EAP-MSCHAPv2"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "EAP-GTC"
msgstr "EAP-GTC"
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:135
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:132
msgid "Other EAP methods..."
msgstr ""
#: master/lib/TTLS_UI/src/TTLS_UI.cpp:141
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61
#: ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:197
#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:138
msgid "Outer Authentication"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP Methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4
msgid "Modules to support individual EAP methods"
msgstr ""
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "TTLS"
msgstr "TTLS"
#: master/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: master/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5
#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5
msgid "Tunneled Transport Layer Security"
msgstr ""

Binary file not shown.

View File

@@ -1,260 +0,0 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Jun 17 2015)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#include <StdAfx.h>
#include "wxEAP_UI.h"
///////////////////////////////////////////////////////////////////////////
wxEAPConfigDialogBase::wxEAPConfigDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
wxBoxSizer* sb_content;
sb_content = new wxBoxSizer( wxVERTICAL );
m_banner = new wxEAPBannerPanel( this );
sb_content->Add( m_banner, 0, wxEXPAND|wxBOTTOM, 5 );
m_providers = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
sb_content->Add( m_providers, 1, wxEXPAND|wxALL, 5 );
m_buttons = new wxStdDialogButtonSizer();
m_buttonsOK = new wxButton( this, wxID_OK );
m_buttons->AddButton( m_buttonsOK );
m_buttonsCancel = new wxButton( this, wxID_CANCEL );
m_buttons->AddButton( m_buttonsCancel );
m_buttons->Realize();
sb_content->Add( m_buttons, 0, wxEXPAND|wxALL, 5 );
this->SetSizer( sb_content );
this->Layout();
sb_content->Fit( this );
// Connect Events
this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( wxEAPConfigDialogBase::OnInitDialog ) );
}
wxEAPConfigDialogBase::~wxEAPConfigDialogBase()
{
// Disconnect Events
this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( wxEAPConfigDialogBase::OnInitDialog ) );
}
wxEAPCredentialsDialogBase::wxEAPCredentialsDialogBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
wxBoxSizer* sb_content;
sb_content = new wxBoxSizer( wxVERTICAL );
m_banner = new wxEAPBannerPanel( this );
sb_content->Add( m_banner, 0, wxEXPAND|wxBOTTOM, 5 );
m_panels = new wxBoxSizer( wxVERTICAL );
sb_content->Add( m_panels, 1, wxEXPAND|wxALL, 5 );
m_buttons = new wxStdDialogButtonSizer();
m_buttonsOK = new wxButton( this, wxID_OK );
m_buttons->AddButton( m_buttonsOK );
m_buttonsCancel = new wxButton( this, wxID_CANCEL );
m_buttons->AddButton( m_buttonsCancel );
m_buttons->Realize();
sb_content->Add( m_buttons, 0, wxEXPAND|wxALL, 5 );
this->SetSizer( sb_content );
this->Layout();
sb_content->Fit( this );
// Connect Events
this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( wxEAPCredentialsDialogBase::OnInitDialog ) );
}
wxEAPCredentialsDialogBase::~wxEAPCredentialsDialogBase()
{
// Disconnect Events
this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( wxEAPCredentialsDialogBase::OnInitDialog ) );
}
wxEAPBannerPanelBase::wxEAPBannerPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT ) );
this->SetMinSize( wxSize( -1,48 ) );
wxBoxSizer* sc_content;
sc_content = new wxBoxSizer( wxVERTICAL );
m_title = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
m_title->Wrap( -1 );
m_title->SetFont( wxFont( 18, 70, 90, 90, false, wxEmptyString ) );
m_title->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHTTEXT ) );
sc_content->Add( m_title, 0, wxALL|wxEXPAND, 5 );
this->SetSizer( sc_content );
this->Layout();
sc_content->Fit( this );
}
wxEAPBannerPanelBase::~wxEAPBannerPanelBase()
{
}
wxEAPCredentialsConfigPanelBase::wxEAPCredentialsConfigPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
wxStaticBoxSizer* sb_credentials;
sb_credentials = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Client Credentials") ), wxVERTICAL );
wxBoxSizer* sb_credentials_horiz;
sb_credentials_horiz = new wxBoxSizer( wxHORIZONTAL );
m_credentials_icon = new wxStaticBitmap( sb_credentials->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
sb_credentials_horiz->Add( m_credentials_icon, 0, wxALL, 5 );
wxBoxSizer* sb_credentials_vert;
sb_credentials_vert = new wxBoxSizer( wxVERTICAL );
m_credentials_label = new wxStaticText( sb_credentials->GetStaticBox(), wxID_ANY, _("Manage your credentials stored in Windows Credential Manager."), wxDefaultPosition, wxDefaultSize, 0 );
m_credentials_label->Wrap( 446 );
sb_credentials_vert->Add( m_credentials_label, 0, wxALL|wxEXPAND, 5 );
wxFlexGridSizer* sb_credentials_tbl;
sb_credentials_tbl = new wxFlexGridSizer( 0, 2, 5, 5 );
sb_credentials_tbl->AddGrowableCol( 1 );
sb_credentials_tbl->SetFlexibleDirection( wxBOTH );
sb_credentials_tbl->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_identity_label = new wxStaticText( sb_credentials->GetStaticBox(), wxID_ANY, _("Identity:"), wxDefaultPosition, wxDefaultSize, 0 );
m_identity_label->Wrap( -1 );
sb_credentials_tbl->Add( m_identity_label, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
m_identity = new wxTextCtrl( sb_credentials->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
m_identity->SetToolTip( _("Enter your user name here (user@domain.org, DOMAINUser, etc.)") );
sb_credentials_tbl->Add( m_identity, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
sb_credentials_vert->Add( sb_credentials_tbl, 0, wxEXPAND|wxALL, 5 );
wxBoxSizer* sb_buttons;
sb_buttons = new wxBoxSizer( wxHORIZONTAL );
m_set = new wxButton( sb_credentials->GetStaticBox(), wxID_ANY, _("&Set Credentials..."), wxDefaultPosition, wxDefaultSize, 0 );
m_set->SetToolTip( _("Click here to set or modify your credentials") );
sb_buttons->Add( m_set, 0, wxRIGHT, 5 );
m_clear = new wxButton( sb_credentials->GetStaticBox(), wxID_ANY, _("&Clear Credentials"), wxDefaultPosition, wxDefaultSize, 0 );
m_clear->SetToolTip( _("Click to clear your credentials from Credential Manager.\nNote: You will be prompted to enter credentials when connecting.") );
sb_buttons->Add( m_clear, 0, wxLEFT, 5 );
sb_credentials_vert->Add( sb_buttons, 0, wxALIGN_RIGHT|wxALL, 5 );
sb_credentials_horiz->Add( sb_credentials_vert, 1, wxEXPAND, 5 );
sb_credentials->Add( sb_credentials_horiz, 1, wxEXPAND, 5 );
this->SetSizer( sb_credentials );
this->Layout();
// Connect Events
this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxEAPCredentialsConfigPanelBase::OnUpdateUI ) );
m_set->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnSet ), NULL, this );
m_clear->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnClear ), NULL, this );
}
wxEAPCredentialsConfigPanelBase::~wxEAPCredentialsConfigPanelBase()
{
// Disconnect Events
this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxEAPCredentialsConfigPanelBase::OnUpdateUI ) );
m_set->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnSet ), NULL, this );
m_clear->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPCredentialsConfigPanelBase::OnClear ), NULL, this );
}
wxPasswordCredentialsPanelBase::wxPasswordCredentialsPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
wxStaticBoxSizer* sb_credentials;
sb_credentials = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Client Credentials") ), wxVERTICAL );
wxBoxSizer* sb_credentials_horiz;
sb_credentials_horiz = new wxBoxSizer( wxHORIZONTAL );
m_credentials_icon = new wxStaticBitmap( sb_credentials->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
sb_credentials_horiz->Add( m_credentials_icon, 0, wxALL, 5 );
wxBoxSizer* sb_credentials_vert;
sb_credentials_vert = new wxBoxSizer( wxVERTICAL );
m_credentials_label = new wxStaticText( sb_credentials->GetStaticBox(), wxID_ANY, _("Please provide your user ID and password."), wxDefaultPosition, wxDefaultSize, 0 );
m_credentials_label->Wrap( 446 );
sb_credentials_vert->Add( m_credentials_label, 0, wxALL|wxEXPAND, 5 );
wxFlexGridSizer* sb_credentials_tbl;
sb_credentials_tbl = new wxFlexGridSizer( 0, 2, 5, 5 );
sb_credentials_tbl->AddGrowableCol( 1 );
sb_credentials_tbl->SetFlexibleDirection( wxBOTH );
sb_credentials_tbl->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
m_identity_label = new wxStaticText( sb_credentials->GetStaticBox(), wxID_ANY, _("User ID:"), wxDefaultPosition, wxDefaultSize, 0 );
m_identity_label->Wrap( -1 );
sb_credentials_tbl->Add( m_identity_label, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
m_identity = new wxTextCtrl( sb_credentials->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_identity->SetToolTip( _("Enter your user name here (user@domain.org, DOMAIN\\User, etc.)") );
sb_credentials_tbl->Add( m_identity, 2, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
m_password_label = new wxStaticText( sb_credentials->GetStaticBox(), wxID_ANY, _("Password:"), wxDefaultPosition, wxDefaultSize, 0 );
m_password_label->Wrap( -1 );
sb_credentials_tbl->Add( m_password_label, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
m_password = new wxTextCtrl( sb_credentials->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD );
m_password->SetToolTip( _("Enter your password here") );
sb_credentials_tbl->Add( m_password, 2, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
sb_credentials_vert->Add( sb_credentials_tbl, 0, wxEXPAND|wxALL, 5 );
m_remember = new wxCheckBox( sb_credentials->GetStaticBox(), wxID_ANY, _("&Remember"), wxDefaultPosition, wxDefaultSize, 0 );
m_remember->SetHelpText( _("Check if you would like to save username and password") );
sb_credentials_vert->Add( m_remember, 0, wxALL|wxEXPAND, 5 );
sb_credentials_horiz->Add( sb_credentials_vert, 1, wxEXPAND, 5 );
sb_credentials->Add( sb_credentials_horiz, 0, wxEXPAND, 5 );
this->SetSizer( sb_credentials );
this->Layout();
}
wxPasswordCredentialsPanelBase::~wxPasswordCredentialsPanelBase()
{
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,154 +0,0 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Jun 17 2015)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#ifndef __WXEAP_UI_H__
#define __WXEAP_UI_H__
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
#include <wx/intl.h>
class wxEAPBannerPanel;
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/string.h>
#include <wx/notebook.h>
#include <wx/sizer.h>
#include <wx/button.h>
#include <wx/dialog.h>
#include <wx/stattext.h>
#include <wx/panel.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/statbmp.h>
#include <wx/textctrl.h>
#include <wx/statbox.h>
#include <wx/checkbox.h>
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/// Class wxEAPConfigDialogBase
///////////////////////////////////////////////////////////////////////////////
class wxEAPConfigDialogBase : public wxDialog
{
private:
protected:
wxEAPBannerPanel *m_banner;
wxNotebook* m_providers;
wxStdDialogButtonSizer* m_buttons;
wxButton* m_buttonsOK;
wxButton* m_buttonsCancel;
// Virtual event handlers, overide them in your derived class
virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }
public:
wxEAPConfigDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("EAP Method Configuration"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~wxEAPConfigDialogBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxEAPCredentialsDialogBase
///////////////////////////////////////////////////////////////////////////////
class wxEAPCredentialsDialogBase : public wxDialog
{
private:
protected:
wxEAPBannerPanel *m_banner;
wxBoxSizer* m_panels;
wxStdDialogButtonSizer* m_buttons;
wxButton* m_buttonsOK;
wxButton* m_buttonsCancel;
// Virtual event handlers, overide them in your derived class
virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }
public:
wxEAPCredentialsDialogBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("EAP Credentials"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
~wxEAPCredentialsDialogBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxEAPBannerPanelBase
///////////////////////////////////////////////////////////////////////////////
class wxEAPBannerPanelBase : public wxPanel
{
private:
protected:
wxStaticText* m_title;
public:
wxEAPBannerPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = 0 );
~wxEAPBannerPanelBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxEAPCredentialsConfigPanelBase
///////////////////////////////////////////////////////////////////////////////
class wxEAPCredentialsConfigPanelBase : public wxPanel
{
private:
protected:
wxStaticBitmap* m_credentials_icon;
wxStaticText* m_credentials_label;
wxStaticText* m_identity_label;
wxTextCtrl* m_identity;
wxButton* m_set;
wxButton* m_clear;
// Virtual event handlers, overide them in your derived class
virtual void OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }
virtual void OnSet( wxCommandEvent& event ) { event.Skip(); }
virtual void OnClear( wxCommandEvent& event ) { event.Skip(); }
public:
wxEAPCredentialsConfigPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,-1 ), long style = wxTAB_TRAVERSAL );
~wxEAPCredentialsConfigPanelBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxPasswordCredentialsPanelBase
///////////////////////////////////////////////////////////////////////////////
class wxPasswordCredentialsPanelBase : public wxPanel
{
private:
protected:
wxStaticBitmap* m_credentials_icon;
wxStaticText* m_credentials_label;
wxStaticText* m_identity_label;
wxTextCtrl* m_identity;
wxStaticText* m_password_label;
wxTextCtrl* m_password;
wxCheckBox* m_remember;
public:
wxPasswordCredentialsPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,-1 ), long style = wxTAB_TRAVERSAL );
~wxPasswordCredentialsPanelBase();
};
#endif //__WXEAP_UI_H__

View File

@@ -1,188 +0,0 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Jun 17 2015)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#include <StdAfx.h>
#include "wxTLS_UI.h"
///////////////////////////////////////////////////////////////////////////
wxEAPTLSServerTrustConfigPanelBase::wxEAPTLSServerTrustConfigPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
wxStaticBoxSizer* sb_server_trust;
sb_server_trust = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Server Trust") ), wxVERTICAL );
wxBoxSizer* sb_server_trust_horiz;
sb_server_trust_horiz = new wxBoxSizer( wxHORIZONTAL );
m_server_trust_icon = new wxStaticBitmap( sb_server_trust->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
sb_server_trust_horiz->Add( m_server_trust_icon, 0, wxALL, 5 );
wxBoxSizer* sb_server_trust_vert;
sb_server_trust_vert = new wxBoxSizer( wxVERTICAL );
m_server_trust_label = new wxStaticText( sb_server_trust->GetStaticBox(), wxID_ANY, _("Describe the servers you trust to prevent credential interception in case of man-in-the-middle attacks."), wxDefaultPosition, wxDefaultSize, 0 );
m_server_trust_label->Wrap( 446 );
sb_server_trust_vert->Add( m_server_trust_label, 0, wxALL|wxEXPAND, 5 );
wxBoxSizer* sb_root_ca;
sb_root_ca = new wxBoxSizer( wxVERTICAL );
m_root_ca_lbl = new wxStaticText( sb_server_trust->GetStaticBox(), wxID_ANY, _("Acceptable Certificate Authorities:"), wxDefaultPosition, wxDefaultSize, 0 );
m_root_ca_lbl->Wrap( -1 );
sb_root_ca->Add( m_root_ca_lbl, 0, wxEXPAND|wxBOTTOM, 5 );
m_root_ca = new wxListBox( sb_server_trust->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SORT );
m_root_ca->SetToolTip( _("List of certificate authorities server's certificate must be issued by") );
sb_root_ca->Add( m_root_ca, 1, wxEXPAND|wxBOTTOM, 5 );
wxBoxSizer* sb_root_ca_btn;
sb_root_ca_btn = new wxBoxSizer( wxHORIZONTAL );
m_root_ca_add_store = new wxButton( sb_server_trust->GetStaticBox(), wxID_ANY, _("Add CA from Store..."), wxDefaultPosition, wxDefaultSize, 0 );
m_root_ca_add_store->SetToolTip( _("Adds a new certificate authority from the certificate store to the list") );
sb_root_ca_btn->Add( m_root_ca_add_store, 0, wxRIGHT, 5 );
m_root_ca_add_file = new wxButton( sb_server_trust->GetStaticBox(), wxID_ANY, _("Add CA from File..."), wxDefaultPosition, wxDefaultSize, 0 );
m_root_ca_add_file->SetToolTip( _("Adds a new certificate authority from the file to the list") );
sb_root_ca_btn->Add( m_root_ca_add_file, 0, wxRIGHT|wxLEFT, 5 );
m_root_ca_remove = new wxButton( sb_server_trust->GetStaticBox(), wxID_ANY, _("&Remove CA"), wxDefaultPosition, wxDefaultSize, 0 );
m_root_ca_remove->Enable( false );
m_root_ca_remove->SetToolTip( _("Removes selected certificate authorities from the list") );
sb_root_ca_btn->Add( m_root_ca_remove, 0, wxLEFT, 5 );
sb_root_ca->Add( sb_root_ca_btn, 0, wxALIGN_RIGHT, 5 );
sb_server_trust_vert->Add( sb_root_ca, 1, wxEXPAND|wxALL, 5 );
wxBoxSizer* sb_server_names;
sb_server_names = new wxBoxSizer( wxVERTICAL );
m_server_names_label = new wxStaticText( sb_server_trust->GetStaticBox(), wxID_ANY, _("Acceptable server &names:"), wxDefaultPosition, wxDefaultSize, 0 );
m_server_names_label->Wrap( -1 );
sb_server_names->Add( m_server_names_label, 0, wxBOTTOM, 5 );
m_server_names = new wxTextCtrl( sb_server_trust->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_server_names->SetToolTip( _("A semicolon delimited list of acceptable server FQDN names; blank to skip name check; \"*\" wildchar allowed") );
sb_server_names->Add( m_server_names, 0, wxEXPAND|wxBOTTOM, 5 );
m_server_names_note = new wxStaticText( sb_server_trust->GetStaticBox(), wxID_ANY, _("(Example: foo.bar.com;*.domain.org)"), wxDefaultPosition, wxDefaultSize, 0 );
m_server_names_note->Wrap( -1 );
sb_server_names->Add( m_server_names_note, 0, wxALIGN_RIGHT, 5 );
sb_server_trust_vert->Add( sb_server_names, 0, wxEXPAND|wxALL, 5 );
sb_server_trust_horiz->Add( sb_server_trust_vert, 1, wxEXPAND, 5 );
sb_server_trust->Add( sb_server_trust_horiz, 1, wxEXPAND, 5 );
this->SetSizer( sb_server_trust );
this->Layout();
// Connect Events
m_root_ca->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( wxEAPTLSServerTrustConfigPanelBase::OnRootCA ), NULL, this );
m_root_ca->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( wxEAPTLSServerTrustConfigPanelBase::OnRootCADClick ), NULL, this );
m_root_ca_add_store->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPTLSServerTrustConfigPanelBase::OnRootCAAddStore ), NULL, this );
m_root_ca_add_file->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPTLSServerTrustConfigPanelBase::OnRootCAAddFile ), NULL, this );
m_root_ca_remove->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPTLSServerTrustConfigPanelBase::OnRootCARemove ), NULL, this );
}
wxEAPTLSServerTrustConfigPanelBase::~wxEAPTLSServerTrustConfigPanelBase()
{
// Disconnect Events
m_root_ca->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( wxEAPTLSServerTrustConfigPanelBase::OnRootCA ), NULL, this );
m_root_ca->Disconnect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( wxEAPTLSServerTrustConfigPanelBase::OnRootCADClick ), NULL, this );
m_root_ca_add_store->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPTLSServerTrustConfigPanelBase::OnRootCAAddStore ), NULL, this );
m_root_ca_add_file->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPTLSServerTrustConfigPanelBase::OnRootCAAddFile ), NULL, this );
m_root_ca_remove->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( wxEAPTLSServerTrustConfigPanelBase::OnRootCARemove ), NULL, this );
}
wxEAPTLSCredentialsPanelBase::wxEAPTLSCredentialsPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
wxStaticBoxSizer* sb_credentials;
sb_credentials = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("TLS Client Certificate") ), wxVERTICAL );
wxBoxSizer* sb_credentials_horiz;
sb_credentials_horiz = new wxBoxSizer( wxHORIZONTAL );
m_credentials_icon = new wxStaticBitmap( sb_credentials->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
sb_credentials_horiz->Add( m_credentials_icon, 0, wxALL, 5 );
wxBoxSizer* sb_credentials_vert;
sb_credentials_vert = new wxBoxSizer( wxVERTICAL );
m_credentials_label = new wxStaticText( sb_credentials->GetStaticBox(), wxID_ANY, _("Please select your client certificate to use for authentication."), wxDefaultPosition, wxDefaultSize, 0 );
m_credentials_label->Wrap( 446 );
sb_credentials_vert->Add( m_credentials_label, 0, wxALL|wxEXPAND, 5 );
wxBoxSizer* sb_cert_radio;
sb_cert_radio = new wxBoxSizer( wxVERTICAL );
m_cert_none = new wxRadioButton( sb_credentials->GetStaticBox(), wxID_ANY, _("Co&nnect without providing a client certificate"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
m_cert_none->SetToolTip( _("Select if your server does not require you to provide a client certificate") );
sb_cert_radio->Add( m_cert_none, 1, wxEXPAND, 5 );
wxBoxSizer* sb_cert_select;
sb_cert_select = new wxBoxSizer( wxHORIZONTAL );
m_cert_select = new wxRadioButton( sb_credentials->GetStaticBox(), wxID_ANY, _("Use the following &certificate:"), wxDefaultPosition, wxDefaultSize, 0 );
m_cert_select->SetToolTip( _("Select if you need to provide a client certificate when connecting") );
sb_cert_select->Add( m_cert_select, 0, wxEXPAND, 5 );
wxArrayString m_cert_select_valChoices;
m_cert_select_val = new wxChoice( sb_credentials->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cert_select_valChoices, wxCB_SORT );
m_cert_select_val->SetSelection( 0 );
m_cert_select_val->SetToolTip( _("Client certificate to use for authentication") );
sb_cert_select->Add( m_cert_select_val, 1, wxEXPAND, 5 );
sb_cert_radio->Add( sb_cert_select, 1, wxEXPAND, 5 );
sb_credentials_vert->Add( sb_cert_radio, 0, wxEXPAND|wxALL, 5 );
m_remember = new wxCheckBox( sb_credentials->GetStaticBox(), wxID_ANY, _("&Remember"), wxDefaultPosition, wxDefaultSize, 0 );
m_remember->SetHelpText( _("Check if you would like to save certificate selection") );
sb_credentials_vert->Add( m_remember, 0, wxALL|wxEXPAND, 5 );
sb_credentials_horiz->Add( sb_credentials_vert, 1, wxEXPAND, 5 );
sb_credentials->Add( sb_credentials_horiz, 0, wxEXPAND, 5 );
this->SetSizer( sb_credentials );
this->Layout();
// Connect Events
m_cert_select->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( wxEAPTLSCredentialsPanelBase::OnCertSelect ), NULL, this );
}
wxEAPTLSCredentialsPanelBase::~wxEAPTLSCredentialsPanelBase()
{
// Disconnect Events
m_cert_select->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( wxEAPTLSCredentialsPanelBase::OnCertSelect ), NULL, this );
}

View File

@@ -1,727 +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;
//////////////////////////////////////////////////////////////////////
// eap::session
//////////////////////////////////////////////////////////////////////
eap::session::session()
{
}
eap::session::~session()
{
}
DWORD eap::session::begin(
_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_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(dwFlags);
UNREFERENCED_PARAMETER(pAttributeArray);
UNREFERENCED_PARAMETER(hTokenImpersonateUser);
UNREFERENCED_PARAMETER(dwConnectionDataSize);
UNREFERENCED_PARAMETER(pConnectionData);
UNREFERENCED_PARAMETER(dwUserDataSize);
UNREFERENCED_PARAMETER(pUserData);
UNREFERENCED_PARAMETER(dwMaxSendPacketSize);
UNREFERENCED_PARAMETER(ppEapError);
return ERROR_SUCCESS;
}
DWORD eap::session::end(_Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(ppEapError);
return ERROR_SUCCESS;
}
DWORD eap::session::process_request_packet(
_In_ DWORD dwReceivedPacketSize,
_In_bytecount_(dwReceivedPacketSize) const EapPacket *pReceivedPacket,
_Out_ EapPeerMethodOutput *pEapOutput,
_Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(dwReceivedPacketSize);
UNREFERENCED_PARAMETER(pReceivedPacket);
UNREFERENCED_PARAMETER(pEapOutput);
UNREFERENCED_PARAMETER(ppEapError);
return ERROR_NOT_SUPPORTED;
}
DWORD eap::session::get_response_packet(
_Inout_ DWORD *pdwSendPacketSize,
_Inout_bytecap_(*dwSendPacketSize) EapPacket *pSendPacket,
_Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(pdwSendPacketSize);
UNREFERENCED_PARAMETER(pSendPacket);
UNREFERENCED_PARAMETER(ppEapError);
return ERROR_NOT_SUPPORTED;
}
DWORD eap::session::get_result(_In_ EapPeerMethodResultReason reason, _Out_ EapPeerMethodResult *ppResult, _Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(reason);
UNREFERENCED_PARAMETER(ppResult);
UNREFERENCED_PARAMETER(ppEapError);
return ERROR_NOT_SUPPORTED;
}
DWORD eap::session::get_ui_context(
_Out_ DWORD *pdwUIContextDataSize,
_Out_ BYTE **ppUIContextData,
_Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(pdwUIContextDataSize);
UNREFERENCED_PARAMETER(ppUIContextData);
UNREFERENCED_PARAMETER(ppEapError);
return ERROR_NOT_SUPPORTED;
}
DWORD eap::session::set_ui_context(
_In_ DWORD dwUIContextDataSize,
_In_count_(dwUIContextDataSize) const BYTE *pUIContextData,
_In_ const EapPeerMethodOutput *pEapOutput,
_Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(dwUIContextDataSize);
UNREFERENCED_PARAMETER(pUIContextData);
UNREFERENCED_PARAMETER(pEapOutput);
UNREFERENCED_PARAMETER(ppEapError);
return ERROR_NOT_SUPPORTED;
}
DWORD eap::session::get_response_attributes(_Out_ EapAttributes *pAttribs, _Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(pAttribs);
UNREFERENCED_PARAMETER(ppEapError);
return ERROR_NOT_SUPPORTED;
}
DWORD eap::session::set_response_attributes(const _In_ EapAttributes *pAttribs, _Out_ EapPeerMethodOutput *pEapOutput, _Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(pAttribs);
UNREFERENCED_PARAMETER(pEapOutput);
UNREFERENCED_PARAMETER(ppEapError);
return ERROR_NOT_SUPPORTED;
}
//////////////////////////////////////////////////////////////////////
// eap::config
//////////////////////////////////////////////////////////////////////
eap::config::config(_In_ module &mod) :
m_module(mod)
{
}
eap::config::config(_In_ const config &other) :
m_module(other.m_module)
{
}
eap::config::config(_Inout_ config &&other) :
m_module(other.m_module)
{
}
eap::config::~config()
{
}
eap::config& eap::config::operator=(_In_ const config &other)
{
UNREFERENCED_PARAMETER(other);
assert(&m_module == &other.m_module); // Copy configuration within same module only!
return *this;
}
eap::config& eap::config::operator=(_Inout_ config &&other)
{
UNREFERENCED_PARAMETER(other);
assert(&m_module == &other.m_module); // Copy configuration within same module only!
return *this;
}
//////////////////////////////////////////////////////////////////////
// eap::config_method
//////////////////////////////////////////////////////////////////////
eap::config_method::config_method(_In_ module &mod) :
m_allow_save(true),
config(mod)
{
}
eap::config_method::config_method(_In_ const config_method &other) :
m_allow_save(other.m_allow_save),
m_anonymous_identity(other.m_anonymous_identity),
config(other)
{
}
eap::config_method::config_method(_Inout_ config_method &&other) :
m_allow_save(std::move(other.m_allow_save)),
m_anonymous_identity(std::move(other.m_anonymous_identity)),
config(std::move(other))
{
}
eap::config_method& eap::config_method::operator=(_In_ const config_method &other)
{
if (this != &other) {
(config&)*this = other;
m_allow_save = other.m_allow_save;
m_anonymous_identity = other.m_anonymous_identity;
}
return *this;
}
eap::config_method& eap::config_method::operator=(_Inout_ config_method &&other)
{
if (this != &other) {
(config&&)*this = std::move(other);
m_allow_save = std::move(other.m_allow_save);
m_anonymous_identity = std::move(other.m_anonymous_identity);
}
return *this;
}
DWORD eap::config_method::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError) const
{
const bstr bstrNamespace(L"urn:ietf:params:xml:ns:yang:ietf-eap-metadata");
DWORD dwResult;
// <ClientSideCredential>
com_obj<IXMLDOMElement> pXmlElClientSideCredential;
if ((dwResult = eapxml::create_element(pDoc, pConfigRoot, bstr(L"eap-metadata:ClientSideCredential"), bstr(L"ClientSideCredential"), bstrNamespace, &pXmlElClientSideCredential)) != ERROR_SUCCESS) {
*ppEapError = m_module.make_error(dwResult, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error creating <ClientSideCredential> element."), NULL);
return dwResult;
}
// <ClientSideCredential>/<allow-save>
if ((dwResult = eapxml::put_element_value(pDoc, pXmlElClientSideCredential, bstr(L"allow-save"), bstrNamespace, m_allow_save)) != ERROR_SUCCESS) {
*ppEapError = m_module.make_error(dwResult, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error creating <allow-save> element."), NULL);
return dwResult;
}
// <ClientSideCredential>/<AnonymousIdentity>
if (!m_anonymous_identity.empty())
if ((dwResult = eapxml::put_element_value(pDoc, pXmlElClientSideCredential, bstr(L"AnonymousIdentity"), bstrNamespace, bstr(m_anonymous_identity))) != ERROR_SUCCESS) {
*ppEapError = m_module.make_error(dwResult, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error creating <AnonymousIdentity> element."), NULL);
return dwResult;
}
return ERROR_SUCCESS;
}
DWORD eap::config_method::load(_In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(ppEapError);
m_allow_save = true;
m_anonymous_identity.clear();
// <ClientSideCredential>
com_obj<IXMLDOMElement> pXmlElClientSideCredential;
if (eapxml::select_element(pConfigRoot, bstr(L"eap-metadata:ClientSideCredential"), &pXmlElClientSideCredential) == ERROR_SUCCESS) {
// <allow-save>
eapxml::get_element_value(pXmlElClientSideCredential, bstr(L"eap-metadata:allow-save"), &m_allow_save);
// <AnonymousIdentity>
eapxml::get_element_value(pXmlElClientSideCredential, bstr(L"eap-metadata:AnonymousIdentity"), m_anonymous_identity);
}
return ERROR_SUCCESS;
}
//////////////////////////////////////////////////////////////////////
// eap::credentials
//////////////////////////////////////////////////////////////////////
eap::credentials::credentials(_In_ module &mod) : config(mod)
{
}
eap::credentials::credentials(_In_ const credentials &other) :
m_identity(other.m_identity),
config(other)
{
}
eap::credentials::credentials(_Inout_ credentials &&other) :
m_identity(std::move(other.m_identity)),
config(std::move(other))
{
}
eap::credentials& eap::credentials::operator=(_In_ const credentials &other)
{
if (this != &other) {
(config&)*this = other;
m_identity = other.m_identity;
}
return *this;
}
eap::credentials& eap::credentials::operator=(_Inout_ credentials &&other)
{
if (this != &other) {
(config&)*this = std::move(other);
m_identity = std::move(other.m_identity);
}
return *this;
}
void eap::credentials::clear()
{
m_identity.clear();
}
bool eap::credentials::empty() const
{
return m_identity.empty();
}
DWORD eap::credentials::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError) const
{
UNREFERENCED_PARAMETER(pDoc);
UNREFERENCED_PARAMETER(pConfigRoot);
UNREFERENCED_PARAMETER(ppEapError);
// Yeah, right!? Credentials are non-exportable!
return ERROR_NOT_SUPPORTED;
}
//////////////////////////////////////////////////////////////////////
// eap::credentials_pass
//////////////////////////////////////////////////////////////////////
eap::credentials_pass::credentials_pass(_In_ module &mod) : credentials(mod)
{
}
eap::credentials_pass::credentials_pass(_In_ const credentials_pass &other) :
m_password(other.m_password),
credentials(other)
{
}
eap::credentials_pass::credentials_pass(_Inout_ credentials_pass &&other) :
m_password(std::move(other.m_password)),
credentials(std::move(other))
{
}
eap::credentials_pass& eap::credentials_pass::operator=(_In_ const credentials_pass &other)
{
if (this != &other) {
(credentials&)*this = other;
m_password = other.m_password;
}
return *this;
}
eap::credentials_pass& eap::credentials_pass::operator=(_Inout_ credentials_pass &&other)
{
if (this != &other) {
(credentials&)*this = std::move(other);
m_password = std::move(other.m_password);
}
return *this;
}
void eap::credentials_pass::clear()
{
credentials::clear();
m_password.clear();
}
bool eap::credentials_pass::empty() const
{
return credentials::empty() && m_password.empty();
}
DWORD eap::credentials_pass::load(_In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError)
{
assert(pConfigRoot);
UNREFERENCED_PARAMETER(ppEapError);
eapxml::get_element_value(pConfigRoot, bstr(L"eap-metadata:UserName"), m_identity);
bstr pass;
if ((eapxml::get_element_value(pConfigRoot, bstr(L"eap-metadata:Password"), &pass)) == ERROR_SUCCESS)
m_password = pass;
SecureZeroMemory((BSTR)pass, sizeof(OLECHAR)*pass.length());
return ERROR_SUCCESS;
}
DWORD eap::credentials_pass::store(_In_ LPCTSTR pszTargetName, _Out_ EAP_ERROR **ppEapError) const
{
assert(pszTargetName);
assert(ppEapError);
DWORD dwResult;
string password_enc;
// Prepare cryptographics provider.
crypt_prov cp;
if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" CryptAcquireContext failed."), NULL);
return dwResult;
}
// Import the public key.
HRSRC res = FindResource(m_module.m_instance, MAKEINTRESOURCE(IDR_EAP_KEY_PUBLIC), RT_RCDATA);
assert(res);
HGLOBAL res_handle = LoadResource(m_module.m_instance, res);
assert(res_handle);
crypt_key key;
unique_ptr<CERT_PUBLIC_KEY_INFO, LocalFree_delete<CERT_PUBLIC_KEY_INFO> > keyinfo_data;
DWORD keyinfo_size = 0;
if (!CryptDecodeObjectEx(X509_ASN_ENCODING, X509_PUBLIC_KEY_INFO, (const BYTE*)::LockResource(res_handle), ::SizeofResource(m_module.m_instance, res), CRYPT_DECODE_ALLOC_FLAG, NULL, &keyinfo_data, &keyinfo_size)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" CryptDecodeObjectEx failed."), NULL);
return dwResult;
}
if (!key.import_public(cp, X509_ASN_ENCODING, keyinfo_data.get())) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Public key import failed."), NULL);
return dwResult;
}
// Convert password to UTF-8.
sanitizing_string password_utf8;
WideCharToMultiByte(CP_UTF8, 0, m_password.c_str(), (int)m_password.length(), password_utf8, NULL, NULL);
// Pre-allocate memory to allow space, as encryption will grow the data, and we need additional 16B at the end for MD5 hash.
DWORD dwBlockLen;
vector<char, sanitizing_allocator<char> > password(password_utf8.length());
memcpy(password.data(), password_utf8.c_str(), sizeof(char)*password_utf8.length());
if (!CryptGetKeyParam(key, KP_BLOCKLEN, dwBlockLen, 0)) dwBlockLen = 0;
password.reserve((password.size() + dwBlockLen - 1) / dwBlockLen * dwBlockLen + 16);
// Encrypt the password using our public key. Calculate MD5 hash and append it.
crypt_hash hash;
if (!hash.create(cp, CALG_MD5)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Creating MD5 hash failed."), NULL);
return dwResult;
}
if (!CryptEncrypt(key, hash, TRUE, 0, password)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Encrypting password failed."), NULL);
return dwResult;
}
vector<char> hash_bin;
CryptGetHashParam(hash, HP_HASHVAL, hash_bin, 0);
password.insert(password.end(), hash_bin.begin(), hash_bin.end());
// Convert encrypted password to Base64, since CredProtectA() fail for binary strings.
string password_base64;
base64_enc enc;
enc.encode(password_base64, password.data(), password.size());
// Encrypt the password using user's key.
CRED_PROTECTION_TYPE cpt;
if (!CredProtectA(TRUE, password_base64.c_str(), (DWORD)password_base64.length(), password_enc, &cpt)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" CredProtect failed."), NULL);
return dwResult;
}
tstring target(target_name(pszTargetName));
// Write credentials.
assert(password_enc.size()*sizeof(char) < CRED_MAX_CREDENTIAL_BLOB_SIZE);
assert(m_identity.length() < CRED_MAX_USERNAME_LENGTH );
CREDENTIAL cred = {
0, // Flags
CRED_TYPE_GENERIC, // Type
(LPTSTR)target.c_str(), // TargetName
_T(""), // Comment
{ 0, 0 }, // LastWritten
(DWORD)password_enc.size()*sizeof(char), // CredentialBlobSize
(LPBYTE)password_enc.data(), // CredentialBlob
CRED_PERSIST_ENTERPRISE, // Persist
0, // AttributeCount
NULL, // Attributes
NULL, // TargetAlias
(LPTSTR)m_identity.c_str() // UserName
};
if (!CredWrite(&cred, 0)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" CredWrite failed."), NULL);
return dwResult;
}
return ERROR_SUCCESS;
}
DWORD eap::credentials_pass::retrieve(_In_ LPCTSTR pszTargetName, _Out_ EAP_ERROR **ppEapError)
{
assert(pszTargetName);
DWORD dwResult;
// Read credentials.
unique_ptr<CREDENTIAL, CredFree_delete<CREDENTIAL> > cred;
if (!CredRead(target_name(pszTargetName).c_str(), CRED_TYPE_GENERIC, 0, (PCREDENTIAL*)&cred)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" CredRead failed."), NULL);
return dwResult;
}
m_identity = cred->UserName;
// Decrypt the password using user's key.
string password_base64;
if (!CredUnprotectA(TRUE, (LPCSTR)(cred->CredentialBlob), cred->CredentialBlobSize/sizeof(char), password_base64)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" CredUnprotect failed."), NULL);
return dwResult;
}
// Convert Base64 to binary encrypted password, since CredProtectA() fail for binary strings.
vector<char, sanitizing_allocator<char> > password;
base64_dec dec;
bool is_last;
dec.decode(password, is_last, password_base64.c_str(), password_base64.length());
// Prepare cryptographics provider.
crypt_prov cp;
if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" CryptAcquireContext failed."), NULL);
return dwResult;
}
// Create hash.
crypt_hash hash;
if (!hash.create(cp, CALG_MD5)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Creating MD5 hash failed."), NULL);
return dwResult;
}
DWORD dwHashSize, dwHashSizeSize = sizeof(dwHashSize);
CryptGetHashParam(hash, HP_HASHSIZE, (LPBYTE)&dwHashSize, &dwHashSizeSize, 0);
if (password.size() < dwHashSize) {
*ppEapError = m_module.make_error(dwResult = ERROR_INVALID_DATA, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Encrypted password too short."), NULL);
return dwResult;
}
// Truncate hash from encrypted password.
vector<char> hash_bin;
size_t enc_size = password.size() - dwHashSize;
hash_bin.assign(password.begin() + enc_size, password.end());
password.resize(enc_size);
// Import the private key.
HRSRC res = FindResource(m_module.m_instance, MAKEINTRESOURCE(IDR_EAP_KEY_PRIVATE), RT_RCDATA);
assert(res);
HGLOBAL res_handle = LoadResource(m_module.m_instance, res);
assert(res_handle);
crypt_key key;
unique_ptr<unsigned char[], LocalFree_delete<unsigned char[]> > keyinfo_data;
DWORD keyinfo_size = 0;
if (!CryptDecodeObjectEx(X509_ASN_ENCODING, PKCS_RSA_PRIVATE_KEY, (const BYTE*)::LockResource(res_handle), ::SizeofResource(m_module.m_instance, res), CRYPT_DECODE_ALLOC_FLAG, NULL, &keyinfo_data, &keyinfo_size)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" CryptDecodeObjectEx failed."), NULL);
return dwResult;
}
if (!key.import(cp, keyinfo_data.get(), keyinfo_size, NULL, 0)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Private key import failed."), NULL);
return dwResult;
}
// Decrypt the password using our private key. Calculate MD5 hash and verify it.
if (!CryptDecrypt(key, hash, TRUE, 0, password)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Decrypting password failed."), NULL);
return dwResult;
}
vector<char> hash2_bin;
CryptGetHashParam(hash, HP_HASHVAL, hash2_bin, 0);
if (hash_bin != hash2_bin) {
*ppEapError = m_module.make_error(dwResult = ERROR_INVALID_DATA, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Invalid password data."), NULL);
return dwResult;
}
// Convert password from UTF-8.
MultiByteToWideChar(CP_UTF8, 0, password.data(), (int)password.size(), m_password);
return ERROR_SUCCESS;
}
//////////////////////////////////////////////////////////////////////
// eap::module
//////////////////////////////////////////////////////////////////////
eap::module::module() :
m_instance(NULL)
{
m_ep.create(&EAPMETHOD_TRACE_EVENT_PROVIDER);
m_ep.write(&EAPMETHOD_TRACE_EVT_MODULE_LOAD, event_data((BYTE)EAPMETHOD_TYPE), event_data::blank);
m_heap.create(0, 0, 0);
}
eap::module::~module()
{
m_ep.write(&EAPMETHOD_TRACE_EVT_MODULE_UNLOAD, event_data((BYTE)EAPMETHOD_TYPE), event_data::blank);
}
EAP_ERROR* eap::module::make_error(_In_ DWORD dwErrorCode, _In_ DWORD dwReasonCode, _In_ LPCGUID pRootCauseGuid, _In_ LPCGUID pRepairGuid, _In_ LPCGUID pHelpLinkGuid, _In_z_ LPCWSTR pszRootCauseString, _In_z_ LPCWSTR pszRepairString) const
{
// Calculate memory size requirement.
SIZE_T
nRootCauseSize = pszRootCauseString != NULL && pszRootCauseString[0] ? (wcslen(pszRootCauseString) + 1)*sizeof(WCHAR) : 0,
nRepairStringSize = pszRepairString != NULL && pszRepairString [0] ? (wcslen(pszRepairString ) + 1)*sizeof(WCHAR) : 0,
nEapErrorSize = sizeof(EAP_ERROR) + nRootCauseSize + nRepairStringSize;
EAP_ERROR *pError = (EAP_ERROR*)HeapAlloc(m_heap, 0, nEapErrorSize);
if (!pError)
return NULL;
BYTE *p = (BYTE*)(pError + 1);
// Fill the error descriptor.
pError->dwWinError = dwErrorCode;
pError->type.eapType.type = EAPMETHOD_TYPE;
pError->type.eapType.dwVendorId = 0;
pError->type.eapType.dwVendorType = 0;
pError->type.dwAuthorId = 67532;
pError->dwReasonCode = dwReasonCode;
pError->rootCauseGuid = pRootCauseGuid != NULL ? *pRootCauseGuid : GUID_NULL;
pError->repairGuid = pRepairGuid != NULL ? *pRepairGuid : GUID_NULL;
pError->helpLinkGuid = pHelpLinkGuid != NULL ? *pHelpLinkGuid : GUID_NULL;
if (nRootCauseSize) {
pError->pRootCauseString = (LPWSTR)p;
memcpy(pError->pRootCauseString, pszRootCauseString, nRootCauseSize);
p += nRootCauseSize;
} else
pError->pRootCauseString = NULL;
if (nRepairStringSize) {
pError->pRepairString = (LPWSTR)p;
memcpy(pError->pRepairString, pszRepairString, nRepairStringSize);
p += nRepairStringSize;
} else
pError->pRepairString = NULL;
// Write trace event.
vector<EVENT_DATA_DESCRIPTOR> evt_desc;
evt_desc.reserve(8);
evt_desc.push_back(event_data(pError->dwWinError));
evt_desc.push_back(event_data(pError->type.eapType.type));
evt_desc.push_back(event_data(pError->dwReasonCode));
evt_desc.push_back(event_data(&(pError->rootCauseGuid), sizeof(GUID)));
evt_desc.push_back(event_data(&(pError->repairGuid), sizeof(GUID)));
evt_desc.push_back(event_data(&(pError->helpLinkGuid), sizeof(GUID)));
evt_desc.push_back(event_data(pError->pRootCauseString));
evt_desc.push_back(event_data(pError->pRepairString));
m_ep.write(&EAPMETHOD_TRACE_EAP_ERROR, (ULONG)evt_desc.size(), evt_desc.data());
return pError;
}
BYTE* eap::module::alloc_memory(_In_ size_t size)
{
return (BYTE*)HeapAlloc(m_heap, 0, size);
}
void eap::module::free_memory(_In_ BYTE *ptr)
{
ETW_FN_VOID;
// Since we do security here and some of the BLOBs contain credentials, sanitize every memory block before freeing.
SecureZeroMemory(ptr, HeapSize(m_heap, 0, ptr));
HeapFree(m_heap, 0, ptr);
}
void eap::module::free_error_memory(_In_ EAP_ERROR *err)
{
ETW_FN_VOID;
// pRootCauseString and pRepairString always trail the ppEapError to reduce number of (de)allocations.
HeapFree(m_heap, 0, err);
}

View File

@@ -1,106 +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>
//////////////////////////////////////////////////////////////////////
// wxEAPCredentialsDialog
//////////////////////////////////////////////////////////////////////
wxEAPCredentialsDialog::wxEAPCredentialsDialog(wxWindow* parent) : wxEAPCredentialsDialogBase(parent)
{
// Set extra style here, as wxFormBuilder overrides all default flags.
this->SetExtraStyle(this->GetExtraStyle() | wxWS_EX_VALIDATE_RECURSIVELY);
m_buttonsOK->SetDefault();
}
void wxEAPCredentialsDialog::AddContents(wxPanel **contents, size_t content_count)
{
if (content_count) {
for (size_t i = 0; i < content_count; i++)
m_panels->Add(contents[i], 0, wxALL|wxEXPAND, 5);
this->Layout();
this->GetSizer()->Fit(this);
contents[0]->SetFocusFromKbd();
}
}
void wxEAPCredentialsDialog::OnInitDialog(wxInitDialogEvent& event)
{
for (wxSizerItemList::compatibility_iterator panel = m_panels->GetChildren().GetFirst(); panel; panel = panel->GetNext())
panel->GetData()->GetWindow()->GetEventHandler()->ProcessEvent(event);
}
//////////////////////////////////////////////////////////////////////
// wxEAPBannerPanel
//////////////////////////////////////////////////////////////////////
wxEAPBannerPanel::wxEAPBannerPanel(wxWindow* parent) : wxEAPBannerPanelBase(parent)
{
m_title->SetLabelText(wxT(PRODUCT_NAME_STR));
}
//////////////////////////////////////////////////////////////////////
// wxPasswordCredentialsPanel
//////////////////////////////////////////////////////////////////////
const wxStringCharType *wxPasswordCredentialsPanel::s_dummy_password = wxT("dummypass");
wxPasswordCredentialsPanel::wxPasswordCredentialsPanel(eap::credentials_pass &cred, LPCTSTR pszCredTarget, wxWindow* parent, bool is_config) :
wxCredentialsPanel<wxPasswordCredentialsPanelBase, eap::credentials_pass>(cred, pszCredTarget, parent, is_config)
{
// Load and set icon.
if (m_shell32.load(_T("shell32.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE))
wxSetIconFromResource(m_credentials_icon, m_icon, m_shell32, MAKEINTRESOURCE(269));
}
bool wxPasswordCredentialsPanel::TransferDataToWindow()
{
wxCHECK(__super::TransferDataToWindow(), false);
m_identity->SetValue(m_cred.m_identity);
m_identity->SetSelection(0, -1);
m_password->SetValue(m_cred.m_password.empty() ? wxEmptyString : s_dummy_password);
return true;
}
bool wxPasswordCredentialsPanel::TransferDataFromWindow()
{
m_cred.m_identity = m_identity->GetValue();
wxString pass = m_password->GetValue();
if (pass.compare(s_dummy_password) != 0) {
m_cred.m_password = pass;
pass.assign(pass.length(), wxT('*'));
}
return __super::TransferDataFromWindow();
}

File diff suppressed because it is too large Load Diff

View File

@@ -20,6 +20,11 @@
#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
@@ -46,6 +51,11 @@ BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID l
#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) {
@@ -68,6 +78,8 @@ BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID l
///
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);
}
@@ -80,6 +92,8 @@ VOID WINAPI EapPeerFreeMemory(_In_ void *pUIContextData)
///
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);
}
@@ -94,58 +108,52 @@ DWORD WINAPI EapPeerConfigXml2Blob(
_In_ DWORD dwFlags,
_In_ EAP_METHOD_TYPE eapMethodType,
_In_ IXMLDOMDocument2 *pConfigDoc,
_Out_ BYTE **ppConfigOut,
_Out_ DWORD *pdwConfigOutSize,
_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)
dwResult = ERROR_INVALID_PARAMETER;
else if (eapMethodType.eapType.type != EAPMETHOD_TYPE)
*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, 0, NULL, NULL, NULL, winstd::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(), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, 0, NULL, NULL, NULL, winstd::wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)eapMethodType.dwAuthorId, (int)67532).c_str(), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pConfigDoc is NULL."), NULL);
else if (!ppConfigOut)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" ppConfigOut is NULL."), NULL);
else if (!pdwConfigOutSize)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pdwConfigOutSize is NULL."), NULL);
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 {
UNREFERENCED_PARAMETER(dwFlags);
// 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>
pConfigDoc->setProperty(winstd::bstr(L"SelectionNamespaces"), winstd::variant(L"xmlns:eaphostconfig=\"http://www.microsoft.com/provisioning/EapHostConfig\""));
winstd::com_obj<IXMLDOMElement> pXmlElConfig;
if ((dwResult = eapxml::select_element(pConfigDoc, winstd::bstr(L"//eaphostconfig:Config"), &pXmlElConfig)) != ERROR_SUCCESS)
return dwResult;
// Load configuration.
pConfigDoc->setProperty(winstd::bstr(L"SelectionNamespaces"), winstd::variant(L"xmlns:eap-metadata=\"urn:ietf:params:xml:ns:yang:ietf-eap-metadata\""));
_EAPMETHOD_PEER_UI::config_type cfg(g_peer);
dwResult = cfg.load(pXmlElConfig, ppEapError);
if (dwResult != ERROR_SUCCESS)
return dwResult;
// Allocate BLOB for configuration.
assert(ppConfigOut);
assert(pdwConfigOutSize);
*pdwConfigOutSize = (DWORD)eapserial::get_pk_size(cfg);
*ppConfigOut = g_peer.alloc_memory(*pdwConfigOutSize);
if (!*ppConfigOut) {
*ppEapError = g_peer.make_error(dwResult = ERROR_OUTOFMEMORY, 0, NULL, NULL, NULL, winstd::tstring_printf(_T(__FUNCTION__) _T(" Error allocating memory for configuration BLOB (%uB)."), *pdwConfigOutSize).c_str(), NULL);
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;
}
// Pack BLOB to output.
unsigned char *cursor = *ppConfigOut;
eapserial::pack(cursor, cfg);
assert(cursor - *ppConfigOut <= (ptrdiff_t)*pdwConfigOutSize);
// 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;
@@ -160,73 +168,78 @@ DWORD WINAPI EapPeerConfigXml2Blob(
/// \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_(dwConfigInSize) const BYTE *pConfigIn,
_In_ DWORD dwConfigInSize,
_Out_ IXMLDOMDocument2 **ppConfigDoc,
_Out_ EAP_ERROR **ppEapError)
_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)
dwResult = ERROR_INVALID_PARAMETER;
else if (eapMethodType.eapType.type != EAPMETHOD_TYPE)
*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, 0, NULL, NULL, NULL, winstd::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(), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, 0, NULL, NULL, NULL, winstd::wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)eapMethodType.dwAuthorId, (int)67532).c_str(), NULL);
else if (!pConfigIn && dwConfigInSize)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pConfigIn is NULL."), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" ppConfigDoc is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppConfigDoc is NULL.")));
else {
UNREFERENCED_PARAMETER(dwFlags);
HRESULT hr;
// Unpack configuration.
_EAPMETHOD_PEER_UI::config_type cfg(g_peer);
if (pConfigIn || !dwConfigInSize) {
const unsigned char *cursor = pConfigIn;
eapserial::unpack(cursor, cfg);
assert(cursor - pConfigIn <= (ptrdiff_t)dwConfigInSize);
}
// Create configuration XML document.
winstd::com_obj<IXMLDOMDocument2> pDoc;
if (FAILED(hr = pDoc.create(CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER))) {
*ppEapError = g_peer.make_error(dwResult = HRESULT_CODE(hr), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error creating XML document."), NULL);
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;
}
pDoc->put_async(VARIANT_FALSE);
pConfigDoc->put_async(VARIANT_FALSE);
// Load empty XML configuration.
VARIANT_BOOL isSuccess = VARIANT_FALSE;
if (FAILED((hr = pDoc->loadXML(L"<Config xmlns=\"http://www.microsoft.com/provisioning/EapHostConfig\"><EAPIdentityProviderList xmlns=\"urn:ietf:params:xml:ns:yang:ietf-eap-metadata\"></EAPIdentityProviderList></Config>", &isSuccess))))
return dwResult = HRESULT_CODE(hr);
if (!isSuccess) {
*ppEapError = g_peer.make_error(dwResult = ERROR_XML_PARSE_ERROR, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Loading XML template failed."), NULL);
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.
winstd::com_obj<IXMLDOMNode> pXmlElConfig;
pDoc->setProperty(winstd::bstr(L"SelectionNamespaces"), winstd::variant(L"xmlns:eaphostconfig=\"http://www.microsoft.com/provisioning/EapHostConfig\""));
if ((dwResult = eapxml::select_node(pDoc, winstd::bstr(L"eaphostconfig:Config"), &pXmlElConfig)) != ERROR_SUCCESS) {
*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_FOUND, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error selecting <Config> element."), NULL);
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 all providers.
pDoc->setProperty(winstd::bstr(L"SelectionNamespaces"), winstd::variant(L"xmlns:eap-metadata=\"urn:ietf:params:xml:ns:yang:ietf-eap-metadata\""));
if ((dwResult = cfg.save(pDoc, pXmlElConfig, ppEapError)) != ERROR_SUCCESS)
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 = pDoc.detach();
*ppConfigDoc = pConfigDoc.detach();
}
return dwResult;
@@ -250,52 +263,39 @@ DWORD WINAPI EapPeerInvokeConfigUI(
{
UNREFERENCED_PARAMETER(dwFlags);
DWORD dwResult = ERROR_SUCCESS;
winstd::actctx_activator actctx(g_act_ctx);
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;
else if (!pEapType)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pEapType is NULL."), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, 0, NULL, NULL, NULL, winstd::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(), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, 0, NULL, NULL, NULL, winstd::wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)pEapType->dwAuthorId, (int)67532).c_str(), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pConnectionDataIn is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionDataIn is NULL.")));
else if (!pdwConnectionDataOutSize)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pdwConnectionDataOutSize is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwConnectionDataOutSize is NULL.")));
else if (!ppConnectionDataOut)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" ppConnectionDataOut is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppConnectionDataOut is NULL.")));
else {
// Unpack configuration.
_EAPMETHOD_PEER_UI::config_type cfg(g_peer);
if (pConnectionDataIn || !dwConnectionDataInSize) {
const unsigned char *cursor = pConnectionDataIn;
eapserial::unpack(cursor, cfg);
assert(cursor - pConnectionDataIn <= (ptrdiff_t)dwConnectionDataInSize);
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;
}
if ((dwResult = g_peer.invoke_config_ui(hwndParent, cfg, ppEapError)) != ERROR_SUCCESS)
return dwResult;
// Allocate BLOB for configuration.
assert(ppConnectionDataOut);
assert(pdwConnectionDataOutSize);
*pdwConnectionDataOutSize = (DWORD)eapserial::get_pk_size(cfg);
*ppConnectionDataOut = g_peer.alloc_memory(*pdwConnectionDataOutSize);
if (!*ppConnectionDataOut) {
*ppEapError = g_peer.make_error(dwResult = ERROR_OUTOFMEMORY, 0, NULL, NULL, NULL, winstd::tstring_printf(_T(__FUNCTION__) _T(" Error allocating memory for configuration BLOB (%uB)."), *pdwConnectionDataOutSize).c_str(), NULL);
return dwResult;
}
// Pack BLOB to output.
unsigned char *cursor = *ppConnectionDataOut;
eapserial::pack(cursor, cfg);
assert(cursor - *ppConnectionDataOut <= (ptrdiff_t)*pdwConnectionDataOutSize);
}
return dwResult;
@@ -321,7 +321,8 @@ DWORD WINAPI EapPeerInvokeIdentityUI(
_Out_ EAP_ERROR **ppEapError)
{
DWORD dwResult = ERROR_SUCCESS;
winstd::actctx_activator actctx(g_act_ctx);
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
@@ -329,56 +330,34 @@ DWORD WINAPI EapPeerInvokeIdentityUI(
// Parameter check
if (!ppEapError)
dwResult = ERROR_INVALID_PARAMETER;
else if (!pEapType)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pEapType is NULL."), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, 0, NULL, NULL, NULL, winstd::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(), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, 0, NULL, NULL, NULL, winstd::wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)pEapType->dwAuthorId, (int)67532).c_str(), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pConnectionData is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pConnectionData is NULL.")));
else if (!pUserData && dwUserDataSize)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pUserData is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pUserData is NULL.")));
else if (!pdwUserDataOutSize)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pdwUserDataOutSize is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwUserDataOutSize is NULL.")));
else if (!ppUserDataOut)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" ppUserDataOut is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppUserDataOut is NULL.")));
else if (!ppwszIdentity)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" ppwszIdentity is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppwszIdentity is NULL.")));
else {
// Unpack configuration.
_EAPMETHOD_PEER_UI::config_type cfg(g_peer);
if (pConnectionData || !dwConnectionDataSize) {
const unsigned char *cursor = pConnectionData;
eapserial::unpack(cursor, cfg);
assert(cursor - pConnectionData <= (ptrdiff_t)dwConnectionDataSize);
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;
}
// Unpack configuration.
_EAPMETHOD_PEER_UI::identity_type usr(g_peer);
if (pUserData || !dwUserDataSize) {
const unsigned char *cursor = pUserData;
eapserial::unpack(cursor, usr);
assert(cursor - pUserData <= (ptrdiff_t)dwUserDataSize);
}
if ((dwResult = g_peer.invoke_identity_ui(hwndParent, dwFlags, cfg, usr, ppwszIdentity, ppEapError)) != ERROR_SUCCESS)
return dwResult;
// Allocate BLOB for user data.
assert(ppUserDataOut);
assert(pdwUserDataOutSize);
*pdwUserDataOutSize = (DWORD)eapserial::get_pk_size(usr);
*ppUserDataOut = g_peer.alloc_memory(*pdwUserDataOutSize);
if (!*ppUserDataOut) {
*ppEapError = g_peer.make_error(dwResult = ERROR_OUTOFMEMORY, 0, NULL, NULL, NULL, winstd::tstring_printf(_T(__FUNCTION__) _T(" Error allocating memory for configuration BLOB (%uB)."), *pdwUserDataOutSize).c_str(), NULL);
return dwResult;
}
// Pack BLOB to output.
unsigned char *cursor = *ppUserDataOut;
eapserial::pack(cursor, usr);
assert(cursor - *ppUserDataOut <= (ptrdiff_t)*pdwUserDataOutSize);
}
return dwResult;
@@ -400,53 +379,39 @@ DWORD WINAPI EapPeerInvokeInteractiveUI(
_Out_ EAP_ERROR **ppEapError)
{
DWORD dwResult = ERROR_SUCCESS;
winstd::actctx_activator actctx(g_act_ctx);
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;
else if (!pEapType)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pEapType is NULL."), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, 0, NULL, NULL, NULL, winstd::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(), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_NOT_SUPPORTED, 0, NULL, NULL, NULL, winstd::wstring_printf(_T(__FUNCTION__) _T(" EAP author (%d) does not match the supported author (%d)."), (int)pEapType->dwAuthorId, (int)67532).c_str(), NULL);
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)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pUIContextData is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pUIContextData is NULL.")));
else if (!pdwDataFromInteractiveUISize)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" pdwDataFromInteractiveUISize is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" pdwDataFromInteractiveUISize is NULL.")));
else if (!ppDataFromInteractiveUI)
*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" ppDataFromInteractiveUI is NULL."), NULL);
g_peer.log_error(*ppEapError = g_peer.make_error(dwResult = ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" ppDataFromInteractiveUI is NULL.")));
else {
// Unpack request.
_EAPMETHOD_PEER_UI::interactive_request_type req;
if (pUIContextData || !dwUIContextDataSize) {
const unsigned char *cursor = pUIContextData;
eapserial::unpack(cursor, req);
assert(cursor - pUIContextData <= (ptrdiff_t)dwUIContextDataSize);
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;
}
_EAPMETHOD_PEER_UI::interactive_response_type res;
if ((dwResult = g_peer.invoke_interactive_ui(hwndParent, req, res, ppEapError)) != ERROR_SUCCESS)
return dwResult;
// Allocate BLOB for user data.
assert(ppDataFromInteractiveUI);
assert(pdwDataFromInteractiveUISize);
*pdwDataFromInteractiveUISize = (DWORD)eapserial::get_pk_size(res);
*ppDataFromInteractiveUI = g_peer.alloc_memory(*pdwDataFromInteractiveUISize);
if (!*ppDataFromInteractiveUI) {
*ppEapError = g_peer.make_error(dwResult = ERROR_OUTOFMEMORY, 0, NULL, NULL, NULL, winstd::tstring_printf(_T(__FUNCTION__) _T(" Error allocating memory for interactive response (%uB)."), *pdwDataFromInteractiveUISize).c_str(), NULL);
return dwResult;
}
// Pack BLOB to output.
unsigned char *cursor = *ppDataFromInteractiveUI;
eapserial::pack(cursor, res);
assert(cursor - *ppDataFromInteractiveUI <= (ptrdiff_t)*pdwDataFromInteractiveUISize);
}
return dwResult;

View File

@@ -1,99 +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>
//////////////////////////////////////////////////////////////////////
// eap::config_pap
//////////////////////////////////////////////////////////////////////
eap::config_pap::config_pap(_In_ module &mod) : config_pass(mod)
{
}
eap::config_pap::config_pap(_In_ const config_pap &other) :
config_pass(other)
{
}
eap::config_pap::config_pap(_Inout_ config_pap &&other) :
config_pass(std::move(other))
{
}
eap::config_pap& eap::config_pap::operator=(_In_ const config_pap &other)
{
if (this != &other)
(config_pass&)*this = other;
return *this;
}
eap::config_pap& eap::config_pap::operator=(_Inout_ config_pap &&other)
{
if (this != &other)
(config_pass&&)*this = std::move(other);
return *this;
}
//////////////////////////////////////////////////////////////////////
// eap::credentials_pap
//////////////////////////////////////////////////////////////////////
eap::credentials_pap::credentials_pap(_In_ module &mod) : credentials_pass(mod)
{
}
eap::credentials_pap::credentials_pap(_In_ const credentials_pap &other) :
credentials_pass(other)
{
}
eap::credentials_pap::credentials_pap(_Inout_ credentials_pap &&other) :
credentials_pass(std::move(other))
{
}
eap::credentials_pap& eap::credentials_pap::operator=(_In_ const credentials_pap &other)
{
if (this != &other)
(credentials_pass&)*this = other;
return *this;
}
eap::credentials_pap& eap::credentials_pap::operator=(_Inout_ credentials_pap &&other)
{
if (this != &other)
(credentials_pass&&)*this = std::move(other);
return *this;
}

View File

@@ -1,329 +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;
//////////////////////////////////////////////////////////////////////
// eap::config_tls
//////////////////////////////////////////////////////////////////////
eap::config_tls::config_tls(_In_ module &mod) : config_method(mod)
{
}
eap::config_tls::config_tls(_In_ const config_tls &other) :
m_trusted_root_ca(other.m_trusted_root_ca),
m_server_names(other.m_server_names),
config_method(other)
{
}
eap::config_tls::config_tls(_Inout_ config_tls &&other) :
m_trusted_root_ca(std::move(other.m_trusted_root_ca)),
m_server_names(std::move(other.m_server_names)),
config_method(std::move(other))
{
}
eap::config_tls& eap::config_tls::operator=(_In_ const eap::config_tls &other)
{
if (this != &other) {
(config_method&)*this = other;
m_trusted_root_ca = other.m_trusted_root_ca;
m_server_names = other.m_server_names;
}
return *this;
}
eap::config_tls& eap::config_tls::operator=(_Inout_ eap::config_tls &&other)
{
if (this != &other) {
(config_method&&)*this = std::move(other);
m_trusted_root_ca = std::move(other.m_trusted_root_ca);
m_server_names = std::move(other.m_server_names);
}
return *this;
}
DWORD eap::config_tls::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError) const
{
const bstr bstrNamespace(L"urn:ietf:params:xml:ns:yang:ietf-eap-metadata");
DWORD dwResult;
HRESULT hr;
// <ServerSideCredential>
com_obj<IXMLDOMElement> pXmlElServerSideCredential;
if ((dwResult = eapxml::create_element(pDoc, pConfigRoot, bstr(L"eap-metadata:ServerSideCredential"), bstr(L"ServerSideCredential"), bstrNamespace, &pXmlElServerSideCredential)) != ERROR_SUCCESS) {
*ppEapError = m_module.make_error(dwResult, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error creating <ServerSideCredential> element."), NULL);
return dwResult;
}
for (list<cert_context>::const_iterator i = m_trusted_root_ca.begin(), i_end = m_trusted_root_ca.end(); i != i_end; ++i) {
// <CA>
com_obj<IXMLDOMElement> pXmlElCA;
if ((dwResult = eapxml::create_element(pDoc, bstr(L"CA"), bstrNamespace, &pXmlElCA))) {
*ppEapError = m_module.make_error(dwResult, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error creating <CA> element."), NULL);
return dwResult;
}
// <CA>/<format>
if ((dwResult = eapxml::put_element_value(pDoc, pXmlElCA, bstr(L"format"), bstrNamespace, bstr(L"PEM"))) != ERROR_SUCCESS) {
*ppEapError = m_module.make_error(dwResult, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error creating <format> element."), NULL);
return dwResult;
}
// <CA>/<cert-data>
const cert_context &cc = *i;
if ((dwResult = eapxml::put_element_base64(pDoc, pXmlElCA, bstr(L"cert-data"), bstrNamespace, cc->pbCertEncoded, cc->cbCertEncoded)) != ERROR_SUCCESS) {
*ppEapError = m_module.make_error(dwResult, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error creating <cert-data> element."), NULL);
return dwResult;
}
if (FAILED(hr = pXmlElServerSideCredential->appendChild(pXmlElCA, NULL))) {
*ppEapError = m_module.make_error(dwResult = HRESULT_CODE(hr), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error appending <CA> element."), NULL);
return dwResult;
}
}
// <ServerName>
for (list<string>::const_iterator i = m_server_names.begin(), i_end = m_server_names.end(); i != i_end; ++i) {
wstring str;
MultiByteToWideChar(CP_UTF8, 0, i->c_str(), (int)i->length(), str);
if ((dwResult = eapxml::put_element_value(pDoc, pXmlElServerSideCredential, bstr(L"ServerName"), bstrNamespace, bstr(str))) != ERROR_SUCCESS) {
*ppEapError = m_module.make_error(dwResult, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error creating <ServerName> element."), NULL);
return dwResult;
}
}
return config_method::save(pDoc, pConfigRoot, ppEapError);
}
DWORD eap::config_tls::load(_In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError)
{
m_trusted_root_ca.clear();
m_server_names.clear();
// <ServerSideCredential>
com_obj<IXMLDOMElement> pXmlElServerSideCredential;
if (eapxml::select_element(pConfigRoot, bstr(L"eap-metadata:ServerSideCredential"), &pXmlElServerSideCredential) == ERROR_SUCCESS) {
// <CA>
com_obj<IXMLDOMNodeList> pXmlListCAs;
long lCACount = 0;
if (eapxml::select_nodes(pXmlElServerSideCredential, bstr(L"eap-metadata:CA"), &pXmlListCAs) == ERROR_SUCCESS && SUCCEEDED(pXmlListCAs->get_length(&lCACount))) {
for (long j = 0; j < lCACount; j++) {
// Load CA certificate.
com_obj<IXMLDOMNode> pXmlElCA;
pXmlListCAs->get_item(j, &pXmlElCA);
bstr bstrFormat;
if (eapxml::get_element_value(pXmlElCA, bstr(L"eap-metadata:format"), &bstrFormat) == ERROR_SUCCESS) {
if (CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstrFormat, bstrFormat.length(), L"PEM", -1, NULL, NULL, 0) == CSTR_EQUAL) {
vector<unsigned char> aData;
if (eapxml::get_element_base64(pXmlElCA, bstr(L"eap-metadata:cert-data"), aData) == ERROR_SUCCESS)
add_trusted_ca(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, aData.data(), (DWORD)aData.size());
}
}
}
}
// <ServerName>
com_obj<IXMLDOMNodeList> pXmlListServerIDs;
long lServerIDCount = 0;
if (eapxml::select_nodes(pXmlElServerSideCredential, bstr(L"eap-metadata:ServerName"), &pXmlListServerIDs) == ERROR_SUCCESS && SUCCEEDED(pXmlListServerIDs->get_length(&lServerIDCount))) {
for (long j = 0; j < lServerIDCount; j++) {
// Load server name (<ServerName>).
com_obj<IXMLDOMNode> pXmlElServerID;
pXmlListServerIDs->get_item(j, &pXmlElServerID);
bstr bstrServerID;
pXmlElServerID->get_text(&bstrServerID);
// Server names (FQDNs) are always ASCII. Hopefully. Convert them to UTF-8 anyway for consistent comparison. CP_ANSI varies.
string str;
WideCharToMultiByte(CP_UTF8, 0, bstrServerID, bstrServerID.length(), str, NULL, NULL);
m_server_names.push_back(str);
}
}
}
return config_method::load(pConfigRoot, ppEapError);
}
bool eap::config_tls::add_trusted_ca(_In_ DWORD dwCertEncodingType, _In_ const BYTE *pbCertEncoded, _In_ DWORD cbCertEncoded)
{
cert_context cert;
if (!cert.create(dwCertEncodingType, pbCertEncoded, cbCertEncoded)) {
// Invalid or unsupported certificate.
return false;
}
for (list<cert_context>::const_iterator i = m_trusted_root_ca.cbegin(), i_end = m_trusted_root_ca.cend();; ++i) {
if (i != i_end) {
if (*i == cert) {
// This certificate is already on the list.
return false;
}
} else {
// End of list reached. Append certificate.
m_trusted_root_ca.push_back(std::move(cert));
return true;
}
}
}
//////////////////////////////////////////////////////////////////////
// eap::credentials_tls
//////////////////////////////////////////////////////////////////////
eap::credentials_tls::credentials_tls(_In_ module &mod) : credentials(mod)
{
}
eap::credentials_tls::credentials_tls(_In_ const credentials_tls &other) :
m_cert_hash(other.m_cert_hash),
credentials(other)
{
}
eap::credentials_tls::credentials_tls(_Inout_ credentials_tls &&other) :
m_cert_hash(std::move(m_cert_hash)),
credentials(std::move(other))
{
}
eap::credentials_tls& eap::credentials_tls::operator=(_In_ const credentials_tls &other)
{
if (this != &other) {
(credentials&)*this = other;
m_cert_hash = other.m_cert_hash;
}
return *this;
}
eap::credentials_tls& eap::credentials_tls::operator=(_Inout_ credentials_tls &&other)
{
if (this != &other) {
(credentials&)*this = std::move(other);
m_cert_hash = std::move(other.m_cert_hash);
}
return *this;
}
void eap::credentials_tls::clear()
{
credentials::clear();
m_cert_hash.clear();
}
bool eap::credentials_tls::empty() const
{
return credentials::empty() && m_cert_hash.empty();
}
DWORD eap::credentials_tls::load(_In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError)
{
assert(pConfigRoot);
UNREFERENCED_PARAMETER(ppEapError);
eapxml::get_element_hex(pConfigRoot, bstr(L"CertHash"), m_cert_hash);
return ERROR_SUCCESS;
}
DWORD eap::credentials_tls::store(_In_ LPCTSTR pszTargetName, _Out_ EAP_ERROR **ppEapError) const
{
assert(pszTargetName);
assert(ppEapError);
DWORD dwResult;
tstring target(target_name(pszTargetName));
// Write credentials.
assert(m_cert_hash.size()*sizeof(char) < CRED_MAX_CREDENTIAL_BLOB_SIZE);
assert(m_identity.length() < CRED_MAX_USERNAME_LENGTH );
CREDENTIAL cred = {
0, // Flags
CRED_TYPE_GENERIC, // Type
(LPTSTR)target.c_str(), // TargetName
_T(""), // Comment
{ 0, 0 }, // LastWritten
(DWORD)m_cert_hash.size()*sizeof(char), // CredentialBlobSize
(LPBYTE)m_cert_hash.data(), // CredentialBlob
CRED_PERSIST_ENTERPRISE, // Persist
0, // AttributeCount
NULL, // Attributes
NULL, // TargetAlias
(LPTSTR)m_identity.c_str() // UserName
};
if (!CredWrite(&cred, 0)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" CredWrite failed."), NULL);
return dwResult;
}
return ERROR_SUCCESS;
}
DWORD eap::credentials_tls::retrieve(_In_ LPCTSTR pszTargetName, _Out_ EAP_ERROR **ppEapError)
{
assert(pszTargetName && _tcslen(pszTargetName) < CRED_MAX_GENERIC_TARGET_NAME_LENGTH);
DWORD dwResult;
// Read credentials.
unique_ptr<CREDENTIAL, CredFree_delete<CREDENTIAL> > cred;
if (!CredRead(target_name(pszTargetName).c_str(), CRED_TYPE_GENERIC, 0, (PCREDENTIAL*)&cred)) {
*ppEapError = m_module.make_error(dwResult = GetLastError(), 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" CredRead failed."), NULL);
return dwResult;
}
if (cred->UserName)
m_identity = cred->UserName;
else
m_identity.clear();
m_cert_hash.assign(cred->CredentialBlob, cred->CredentialBlob + cred->CredentialBlobSize);
return ERROR_SUCCESS;
}

View File

@@ -1,658 +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, "Cryptui.lib")
//////////////////////////////////////////////////////////////////////
// eap::get_cert_title
//////////////////////////////////////////////////////////////////////
void eap::get_cert_title(PCCERT_CONTEXT cert, winstd::tstring &title)
{
winstd::tstring name, str, issuer;
FILETIME ft;
SYSTEMTIME st;
title.clear();
// Prepare certificate information
CertGetNameString(cert, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, NULL, name);
title += name;
FileTimeToLocalFileTime(&(cert->pCertInfo->NotBefore), &ft);
FileTimeToSystemTime(&ft, &st);
GetDateFormat(LOCALE_USER_DEFAULT, DATE_SHORTDATE, &st, NULL, str);
title += _T(", ");
title += str;
FileTimeToLocalFileTime(&(cert->pCertInfo->NotAfter ), &ft);
FileTimeToSystemTime(&ft, &st);
GetDateFormat(LOCALE_USER_DEFAULT, DATE_SHORTDATE, &st, NULL, str);
title += _T('-');
title += str;
CertGetNameString(cert, CERT_NAME_SIMPLE_DISPLAY_TYPE, CERT_NAME_ISSUER_FLAG, NULL, issuer);
if (name != issuer) {
title += _T(", ");
title += issuer;
}
}
//////////////////////////////////////////////////////////////////////
// wxCertificateClientData
//////////////////////////////////////////////////////////////////////
wxCertificateClientData::wxCertificateClientData(PCCERT_CONTEXT cert) : m_cert(cert)
{
}
wxCertificateClientData::~wxCertificateClientData()
{
if (m_cert)
CertFreeCertificateContext(m_cert);
}
//////////////////////////////////////////////////////////////////////
// wxCertificateSelectionClientData
//////////////////////////////////////////////////////////////////////
wxCertificateSelectionClientData::wxCertificateSelectionClientData()
{
}
wxCertificateSelectionClientData::wxCertificateSelectionClientData(const wchar_t *identity, unsigned char *hash, size_t hash_size) :
m_identity(identity),
m_hash(hash, hash + hash_size)
{
}
wxCertificateSelectionClientData::wxCertificateSelectionClientData(const std::wstring &identity, const std::vector<unsigned char> &hash) :
m_identity(identity),
m_hash(hash)
{
}
wxCertificateSelectionClientData::wxCertificateSelectionClientData(std::wstring &&identity, std::vector<unsigned char> &&hash) :
m_identity(std::move(identity)),
m_hash(std::move(hash))
{
}
wxCertificateSelectionClientData::wxCertificateSelectionClientData(const wxCertificateSelectionClientData &other) :
m_identity(other.m_identity),
m_hash(other.m_hash)
{
}
wxCertificateSelectionClientData::wxCertificateSelectionClientData(wxCertificateSelectionClientData &&other) :
m_identity(std::move(other.m_identity)),
m_hash(std::move(other.m_hash))
{
}
//////////////////////////////////////////////////////////////////////
// wxHostNameValidator
//////////////////////////////////////////////////////////////////////
wxIMPLEMENT_DYNAMIC_CLASS(wxHostNameValidator, wxValidator);
wxHostNameValidator::wxHostNameValidator(std::string *val) :
m_val(val),
wxValidator()
{
}
wxHostNameValidator::wxHostNameValidator(const wxHostNameValidator &other) :
m_val(other.m_val),
wxValidator(other)
{
}
wxObject* wxHostNameValidator::Clone() const
{
return new wxHostNameValidator(*this);
}
bool wxHostNameValidator::Validate(wxWindow *parent)
{
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
if (!ctrl->IsEnabled()) return true;
wxString val(ctrl->GetValue());
return Parse(val, 0, val.Length(), ctrl, parent);
}
bool wxHostNameValidator::TransferToWindow()
{
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
if (m_val)
((wxTextCtrl*)GetWindow())->SetValue(*m_val);
return true;
}
bool wxHostNameValidator::TransferFromWindow()
{
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
wxString val(ctrl->GetValue());
return Parse(val, 0, val.Length(), ctrl, NULL, m_val);
}
bool wxHostNameValidator::Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, std::string *val_out)
{
const wxStringCharType *buf = val_in;
size_t i = i_start;
for (;;) {
if (i >= i_end) {
// End of host name found.
if (val_out) val_out->assign(val_in.c_str() + i_start, i - i_start);
return true;
} else if (_tcschr(wxT("abcdefghijklmnopqrstuvwxyz0123456789-*"), buf[i])) {
// Valid character found.
i++;
} else {
// Invalid character found.
ctrl->SetFocus();
ctrl->SetSelection(i, i + 1);
wxMessageBox(wxString::Format(_("Invalid character in host name found: %c"), buf[i]), _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
return false;
}
}
}
//////////////////////////////////////////////////////////////////////
// wxFQDNValidator
//////////////////////////////////////////////////////////////////////
wxIMPLEMENT_DYNAMIC_CLASS(wxFQDNValidator, wxValidator);
wxFQDNValidator::wxFQDNValidator(std::string *val) :
m_val(val),
wxValidator()
{
}
wxFQDNValidator::wxFQDNValidator(const wxFQDNValidator &other) :
m_val(other.m_val),
wxValidator(other)
{
}
wxObject* wxFQDNValidator::Clone() const
{
return new wxFQDNValidator(*this);
}
bool wxFQDNValidator::Validate(wxWindow *parent)
{
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
if (!ctrl->IsEnabled()) return true;
wxString val(ctrl->GetValue());
return Parse(val, 0, val.Length(), ctrl, parent);
}
bool wxFQDNValidator::TransferToWindow()
{
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
if (m_val)
((wxTextCtrl*)GetWindow())->SetValue(*m_val);
return true;
}
bool wxFQDNValidator::TransferFromWindow()
{
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
wxString val(ctrl->GetValue());
return Parse(val, 0, val.Length(), ctrl, NULL, m_val);
}
bool wxFQDNValidator::Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, std::string *val_out)
{
const wxStringCharType *buf = val_in;
size_t i = i_start;
for (;;) {
const wxStringCharType *buf_next;
if ((buf_next = wmemchr(buf + i, L'.', i_end - i)) != NULL) {
// FQDN separator found.
if (!wxHostNameValidator::Parse(val_in, i, buf_next - buf, ctrl, parent))
return false;
i = buf_next - buf + 1;
} else if (wxHostNameValidator::Parse(val_in, i, i_end, ctrl, parent)) {
// The rest of the FQDN parsed succesfully.
if (val_out) val_out->assign(val_in.c_str() + i_start, i_end - i_start);
return true;
} else
return false;
}
}
//////////////////////////////////////////////////////////////////////
// wxFQDNListValidator
//////////////////////////////////////////////////////////////////////
wxIMPLEMENT_DYNAMIC_CLASS(wxFQDNListValidator, wxValidator);
wxFQDNListValidator::wxFQDNListValidator(std::list<std::string> *val) :
m_val(val),
wxValidator()
{
}
wxFQDNListValidator::wxFQDNListValidator(const wxFQDNListValidator &other) :
m_val(other.m_val),
wxValidator(other)
{
}
wxObject* wxFQDNListValidator::Clone() const
{
return new wxFQDNListValidator(*this);
}
bool wxFQDNListValidator::Validate(wxWindow *parent)
{
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
if (!ctrl->IsEnabled()) return true;
wxString val(ctrl->GetValue());
return Parse(val, 0, val.Length(), ctrl, parent);
}
bool wxFQDNListValidator::TransferToWindow()
{
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
if (m_val) {
wxString str;
for (std::list<std::string>::const_iterator name = m_val->cbegin(), name_end = m_val->cend(); name != name_end; ++name) {
if (!str.IsEmpty()) str += wxT("; ");
str += *name;
}
((wxTextCtrl*)GetWindow())->SetValue(str);
}
return true;
}
bool wxFQDNListValidator::TransferFromWindow()
{
wxASSERT(GetWindow()->IsKindOf(CLASSINFO(wxTextCtrl)));
wxTextCtrl *ctrl = (wxTextCtrl*)GetWindow();
wxString val(ctrl->GetValue());
return Parse(val, 0, val.Length(), ctrl, NULL, m_val);
}
bool wxFQDNListValidator::Parse(const wxString &val_in, size_t i_start, size_t i_end, wxTextCtrl *ctrl, wxWindow *parent, std::list<std::string> *val_out)
{
const wxStringCharType *buf = val_in;
std::string _fqdn, *fqdn = val_out ? &_fqdn : NULL;
std::list<std::string> _val_out;
size_t i = i_start;
for (;;) {
// Skip initial white-space.
for (; i < i_end && _istspace(buf[i]); i++);
const wxStringCharType *buf_next;
if ((buf_next = wmemchr(buf + i, L';', i_end - i)) != NULL) {
// FQDN list separator found.
// Skip trailing white-space.
size_t i_next = buf_next - buf;
for (; i < i_next && _istspace(buf[i_next - 1]); i_next--);
if (!wxFQDNValidator::Parse(val_in, i, i_next, ctrl, parent, fqdn))
return false;
if (fqdn && !fqdn->empty()) _val_out.push_back(std::move(*fqdn));
i = buf_next - buf + 1;
} else {
// Skip trailing white-space.
for (; i < i_end && _istspace(buf[i_end - 1]); i_end--);
if (wxHostNameValidator::Parse(val_in, i, i_end, ctrl, parent, fqdn)) {
// The rest of the FQDN list parsed succesfully.
if (fqdn && !fqdn->empty()) _val_out.push_back(std::move(*fqdn));
if (val_out) *val_out = std::move(_val_out);
return true;
} else
return false;
}
}
}
//////////////////////////////////////////////////////////////////////
// wxEAPTLSCredentialsPanel
//////////////////////////////////////////////////////////////////////
wxEAPTLSCredentialsPanel::wxEAPTLSCredentialsPanel(eap::credentials_tls &cred, LPCTSTR pszCredTarget, wxWindow* parent, bool is_config) :
wxCredentialsPanel<wxEAPTLSCredentialsPanelBase, eap::credentials_tls>(cred, pszCredTarget, parent, is_config)
{
// Load and set icon.
if (m_shell32.load(_T("shell32.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE))
wxSetIconFromResource(m_credentials_icon, m_icon, m_shell32, MAKEINTRESOURCE(269));
}
bool wxEAPTLSCredentialsPanel::TransferDataToWindow()
{
wxCHECK(__super::TransferDataToWindow(), false);
// Populate certificate list.
bool is_found = false;
winstd::cert_store store;
if (store.create(CERT_STORE_PROV_SYSTEM, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, (HCRYPTPROV)NULL, CERT_SYSTEM_STORE_CURRENT_USER, _T("My"))) {
for (PCCERT_CONTEXT cert = NULL; (cert = CertEnumCertificatesInStore(store, cert)) != NULL;) {
DWORD dwKeySpec = 0, dwSize = sizeof(dwKeySpec);
if (!CertGetCertificateContextProperty(cert, CERT_KEY_SPEC_PROP_ID, &dwKeySpec, &dwSize) || !dwKeySpec) {
// Skip certificates without private key.
continue;
}
// Prepare certificate information.
std::unique_ptr<wxCertificateSelectionClientData> data(new wxCertificateSelectionClientData);
eap::get_cert_title(cert, data->m_identity);
// Add to list.
CertGetCertificateContextProperty(cert, CERT_HASH_PROP_ID, data->m_hash);
bool is_selected = data->m_hash == m_cred.m_cert_hash;
int i = m_cert_select_val->Append(data->m_identity, data.release());
if (is_selected) {
m_cert_select_val->SetSelection(i);
is_found = true;
}
}
}
if (is_found) {
m_cert_select ->SetValue(true);
m_cert_select_val->Enable(true);
} else {
m_cert_none ->SetValue(true);
m_cert_select_val->Enable(false);
if (!m_cert_select_val->IsEmpty())
m_cert_select_val->SetSelection(0);
}
return true;
}
bool wxEAPTLSCredentialsPanel::TransferDataFromWindow()
{
if (m_cert_none->GetValue())
m_cred.clear();
else {
const wxCertificateSelectionClientData *data = dynamic_cast<const wxCertificateSelectionClientData*>(m_cert_select_val->GetClientObject(m_cert_select_val->GetSelection()));
if (data) {
m_cred.m_identity = data->m_identity;
m_cred.m_cert_hash = data->m_hash;
} else
m_cred.clear();
}
return __super::TransferDataFromWindow();
}
void wxEAPTLSCredentialsPanel::OnCertSelect(wxCommandEvent& event)
{
UNREFERENCED_PARAMETER(event);
m_cert_select_val->Enable(m_cert_select->GetValue());
}
//////////////////////////////////////////////////////////////////////
// wxEAPTLSServerTrustPanel
//////////////////////////////////////////////////////////////////////
wxEAPTLSServerTrustPanel::wxEAPTLSServerTrustPanel(eap::config_tls &cfg, wxWindow* parent) :
m_cfg(cfg),
wxEAPTLSServerTrustConfigPanelBase(parent)
{
// Load and set icon.
if (m_certmgr.load(_T("certmgr.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE))
wxSetIconFromResource(m_server_trust_icon, m_icon, m_certmgr, MAKEINTRESOURCE(218));
m_server_names->SetValidator(wxFQDNListValidator(&(m_cfg.m_server_names)));
}
bool wxEAPTLSServerTrustPanel::TransferDataToWindow()
{
wxCHECK(wxEAPTLSServerTrustConfigPanelBase::TransferDataToWindow(), false);
// Populate trusted CA list.
for (std::list<winstd::cert_context>::const_iterator cert = m_cfg.m_trusted_root_ca.cbegin(), cert_end = m_cfg.m_trusted_root_ca.cend(); cert != cert_end; ++cert) {
winstd::tstring name;
if (CertGetNameString(*cert, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, NULL, name) > 0)
m_root_ca->Append(wxString(name), new wxCertificateClientData(cert->duplicate()));
}
return true;
}
bool wxEAPTLSServerTrustPanel::TransferDataFromWindow()
{
// Parse trusted CA list.
m_cfg.m_trusted_root_ca.clear();
for (unsigned int i = 0, i_end = m_root_ca->GetCount(); i < i_end; i++) {
wxCertificateClientData *cert = dynamic_cast<wxCertificateClientData*>(m_root_ca->GetClientObject(i));
if (cert)
m_cfg.add_trusted_ca(cert->m_cert->dwCertEncodingType, cert->m_cert->pbCertEncoded, cert->m_cert->cbCertEncoded);
}
return wxEAPTLSServerTrustConfigPanelBase::TransferDataFromWindow();
}
void wxEAPTLSServerTrustPanel::OnRootCA(wxCommandEvent& event)
{
wxCertificateClientData *cert = dynamic_cast<wxCertificateClientData*>(event.GetClientObject());
m_root_ca_remove->Enable(cert ? true : false);
}
void wxEAPTLSServerTrustPanel::OnRootCADClick(wxCommandEvent& event)
{
wxCertificateClientData *cert = dynamic_cast<wxCertificateClientData*>(event.GetClientObject());
if (cert)
CryptUIDlgViewContext(CERT_STORE_CERTIFICATE_CONTEXT, cert->m_cert, this->GetHWND(), NULL, 0, NULL);
}
void wxEAPTLSServerTrustPanel::OnRootCAAddStore(wxCommandEvent& event)
{
UNREFERENCED_PARAMETER(event);
winstd::cert_store store;
if (store.create(NULL, _T("ROOT"))) {
winstd::cert_context cert;
cert.attach(CryptUIDlgSelectCertificateFromStore(store, this->GetHWND(), NULL, NULL, 0, 0, NULL));
if (cert)
AddRootCA(cert);
}
}
void wxEAPTLSServerTrustPanel::OnRootCAAddFile(wxCommandEvent& event)
{
UNREFERENCED_PARAMETER(event);
const wxString separator(wxT("|"));
wxFileDialog open_dialog(this, _("Add Certificate"), wxEmptyString, wxEmptyString,
_("Certificate Files (*.cer;*.crt;*.der;*.p7b;*.pem)") + separator + wxT("*.cer;*.crt;*.der;*.p7b;*.pem") + separator +
_("X.509 Certificate Files (*.cer;*.crt;*.der;*.pem)") + separator + wxT("*.cer;*.crt;*.der;*.pem") + separator +
_("PKCS #7 Certificate Files (*.p7b)") + separator + wxT("*.p7b") + separator +
_("All Files (*.*)") + separator + wxT("*.*"),
wxFD_OPEN|wxFD_FILE_MUST_EXIST|wxFD_MULTIPLE);
if (open_dialog.ShowModal() == wxID_CANCEL) {
event.Skip();
return;
}
wxArrayString paths;
open_dialog.GetPaths(paths);
for (size_t i = 0, i_end = paths.GetCount(); i < i_end; i++) {
// Load certificate(s) from file.
winstd::cert_store cs;
if (cs.create(CERT_STORE_PROV_FILENAME, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, NULL, CERT_STORE_OPEN_EXISTING_FLAG | CERT_STORE_READONLY_FLAG, (LPCTSTR)(paths[i]))) {
for (PCCERT_CONTEXT cert = NULL; (cert = CertEnumCertificatesInStore(cs, cert)) != NULL;)
AddRootCA(cert);
} else
wxMessageBox(wxString::Format(_("Invalid or unsupported certificate file %s"), paths[i]), _("Error"), wxOK | wxICON_EXCLAMATION, this);
}
}
void wxEAPTLSServerTrustPanel::OnRootCARemove(wxCommandEvent& event)
{
UNREFERENCED_PARAMETER(event);
wxArrayInt selections;
for (int i = m_root_ca->GetSelections(selections); i--; )
m_root_ca->Delete(selections[i]);
m_root_ca_remove->Enable(false);
}
bool wxEAPTLSServerTrustPanel::AddRootCA(PCCERT_CONTEXT cert)
{
for (unsigned int i = 0, i_end = m_root_ca->GetCount(); i < i_end; i++) {
wxCertificateClientData *c = dynamic_cast<wxCertificateClientData*>(m_root_ca->GetClientObject(i));
if (c && c->m_cert &&
c->m_cert->cbCertEncoded == cert->cbCertEncoded &&
memcmp(c->m_cert->pbCertEncoded, cert->pbCertEncoded, cert->cbCertEncoded) == 0)
{
// This certificate is already on the list.
m_root_ca->SetSelection(i);
m_root_ca_remove->Enable();
return false;
}
}
// Add certificate to the list.
winstd::tstring name;
if (CertGetNameString(cert, CERT_NAME_SIMPLE_DISPLAY_TYPE, 0, NULL, name) > 0) {
int i = m_root_ca->Append(wxString(name), new wxCertificateClientData(CertDuplicateCertificateContext(cert)));
if (0 <= i) {
m_root_ca->SetSelection(i);
m_root_ca_remove->Enable();
}
return true;
}
return false;
}
//////////////////////////////////////////////////////////////////////
// wxEAPTLSConfigPanel
//////////////////////////////////////////////////////////////////////
wxEAPTLSConfigPanel::wxEAPTLSConfigPanel(eap::config_tls &cfg, LPCTSTR pszCredTarget, wxWindow* parent) : wxPanel(parent)
{
wxBoxSizer* sb_content;
sb_content = new wxBoxSizer( wxVERTICAL );
m_server_trust = new wxEAPTLSServerTrustPanel(cfg, this);
sb_content->Add(m_server_trust, 0, wxALL|wxEXPAND, 5);
if (cfg.m_allow_save) {
m_credentials = new wxEAPTLSCredentialsConfigPanel(cfg, pszCredTarget, this);
sb_content->Add(m_credentials, 0, wxALL|wxEXPAND, 5);
} else
m_credentials = NULL;
sb_content->Add(10, 10, 1, wxEXPAND, 5);
this->SetSizer(sb_content);
this->Layout();
// Connect Events
this->Connect(wxEVT_INIT_DIALOG, wxInitDialogEventHandler(wxEAPTLSConfigPanel::OnInitDialog));
}
wxEAPTLSConfigPanel::~wxEAPTLSConfigPanel()
{
// Disconnect Events
this->Disconnect(wxEVT_INIT_DIALOG, wxInitDialogEventHandler(wxEAPTLSConfigPanel::OnInitDialog));
}
void wxEAPTLSConfigPanel::OnInitDialog(wxInitDialogEvent& event)
{
// Forward the event to child panels.
m_server_trust->GetEventHandler()->ProcessEvent(event);
if (m_credentials)
m_credentials->GetEventHandler()->ProcessEvent(event);
}

View File

@@ -1,375 +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, "Msi.lib")
#pragma comment(lib, "msxml6.lib")
using namespace std;
using namespace winstd;
//////////////////////////////////////////////////////////////////////
// eap::config_ttls
//////////////////////////////////////////////////////////////////////
eap::config_ttls::config_ttls(_In_ module &mod) :
m_inner(NULL),
config_tls(mod)
{
}
eap::config_ttls::config_ttls(const _In_ config_ttls &other) :
m_inner(other.m_inner ? (config_method*)other.m_inner->clone() : NULL),
config_tls(other)
{
}
eap::config_ttls::config_ttls(_Inout_ config_ttls &&other) :
m_inner(other.m_inner),
config_tls(std::move(other))
{
other.m_inner = NULL;
}
eap::config_ttls::~config_ttls()
{
if (m_inner)
delete m_inner;
}
eap::config_ttls& eap::config_ttls::operator=(const _In_ config_ttls &other)
{
if (this != &other) {
(config_tls&)*this = other;
if (m_inner) delete m_inner;
m_inner = other.m_inner ? (config_method*)other.m_inner->clone() : NULL;
}
return *this;
}
eap::config_ttls& eap::config_ttls::operator=(_Inout_ config_ttls &&other)
{
if (this != &other) {
(config_tls&&)*this = std::move(other);
if (m_inner) delete m_inner;
m_inner = other.m_inner;
other.m_inner = NULL;
}
return *this;
}
DWORD eap::config_ttls::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError) const
{
const bstr bstrNamespace(L"urn:ietf:params:xml:ns:yang:ietf-eap-metadata");
DWORD dwResult;
// <InnerAuthenticationMethod>
com_obj<IXMLDOMElement> pXmlElInnerAuthenticationMethod;
if ((dwResult = eapxml::create_element(pDoc, pConfigRoot, bstr(L"eap-metadata:InnerAuthenticationMethod"), bstr(L"InnerAuthenticationMethod"), bstrNamespace, &pXmlElInnerAuthenticationMethod)) != ERROR_SUCCESS) {
*ppEapError = m_module.make_error(dwResult, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error creating <InnerAuthenticationMethod> element."), NULL);
return dwResult;
}
if (dynamic_cast<const config_pap*>(m_inner)) {
// <InnerAuthenticationMethod>/<NonEAPAuthMethod>
if ((dwResult = eapxml::put_element_value(pDoc, pXmlElInnerAuthenticationMethod, bstr(L"NonEAPAuthMethod"), bstrNamespace, bstr(L"PAP"))) != ERROR_SUCCESS) {
*ppEapError = m_module.make_error(dwResult, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error creating <NonEAPAuthMethod> element."), NULL);
return dwResult;
}
// <InnerAuthenticationMethod>/...
if ((dwResult = m_inner->save(pDoc, pXmlElInnerAuthenticationMethod, ppEapError)) != ERROR_SUCCESS)
return dwResult;
} else
return dwResult = ERROR_NOT_SUPPORTED;
return config_tls::save(pDoc, pConfigRoot, ppEapError);
}
DWORD eap::config_ttls::load(_In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError)
{
assert(ppEapError);
DWORD dwResult;
// Load inner authentication configuration (<InnerAuthenticationMethod>).
com_obj<IXMLDOMElement> pXmlElInnerAuthenticationMethod;
if ((dwResult = eapxml::select_element(pConfigRoot, bstr(L"eap-metadata:InnerAuthenticationMethod"), &pXmlElInnerAuthenticationMethod)) != ERROR_SUCCESS) {
*ppEapError = m_module.make_error(dwResult, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error selecting <InnerAuthenticationMethod> element."), NULL);
return dwResult;
}
// Determine inner authentication type (<EAPMethod> and <NonEAPAuthMethod>).
//DWORD dwMethodID;
bstr bstrMethod;
/*if (eapxml::get_element_value(pXmlElInnerAuthenticationMethod, bstr(L"eap-metadata:EAPMethod"), &dwMethodID) == ERROR_SUCCESS &&
dwMethodID == EAP_TYPE_MSCHAPV2)
{
// MSCHAPv2
// TODO: Add MSCHAPv2 support.
return ERROR_NOT_SUPPORTED;
} else*/ if (eapxml::get_element_value(pXmlElInnerAuthenticationMethod, bstr(L"eap-metadata:NonEAPAuthMethod"), &bstrMethod) == ERROR_SUCCESS &&
CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, bstrMethod, bstrMethod.length(), L"PAP", -1, NULL, NULL, 0) == CSTR_EQUAL)
{
// PAP
assert(!m_inner);
m_inner = new eap::config_pap(m_module);
if ((dwResult = m_inner->load(pXmlElInnerAuthenticationMethod, ppEapError)) != ERROR_SUCCESS)
return dwResult;
} else {
*ppEapError = m_module.make_error(dwResult = ERROR_NOT_SUPPORTED, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Unsupported inner authentication method."), NULL);
return dwResult;
}
return config_tls::load(pConfigRoot, ppEapError);
}
//////////////////////////////////////////////////////////////////////
// eap::credentials_ttls
//////////////////////////////////////////////////////////////////////
eap::credentials_ttls::credentials_ttls(_In_ module &mod) : credentials_tls(mod)
{
}
eap::credentials_ttls::credentials_ttls(_In_ const credentials_ttls &other) :
m_inner(other.m_inner ? (credentials*)other.m_inner->clone() : NULL),
credentials_tls(other)
{
}
eap::credentials_ttls::credentials_ttls(_Inout_ credentials_ttls &&other) :
m_inner(other.m_inner),
credentials_tls(std::move(other))
{
other.m_inner = NULL;
}
eap::credentials_ttls& eap::credentials_ttls::operator=(_In_ const credentials_ttls &other)
{
if (this != &other) {
(credentials_tls&)*this = other;
if (m_inner) delete m_inner;
m_inner = other.m_inner ? (credentials*)other.m_inner->clone() : NULL;
}
return *this;
}
eap::credentials_ttls& eap::credentials_ttls::operator=(_Inout_ credentials_ttls &&other)
{
if (this != &other) {
(credentials_tls&)*this = std::move(other);
if (m_inner) delete m_inner;
m_inner = other.m_inner;
other.m_inner = NULL;
}
return *this;
}
void eap::credentials_ttls::clear()
{
credentials_tls::clear();
if (m_inner)
m_inner->clear();
}
bool eap::credentials_ttls::empty() const
{
return credentials_tls::empty() && (!m_inner || m_inner->empty());
}
DWORD eap::credentials_ttls::load(_In_ IXMLDOMNode *pConfigRoot, _Out_ EAP_ERROR **ppEapError)
{
assert(pConfigRoot);
DWORD dwResult;
if ((dwResult = credentials_tls::load(pConfigRoot, ppEapError)) != ERROR_SUCCESS)
return dwResult;
if (m_inner) {
com_obj<IXMLDOMNode> pXmlElInnerAuthenticationMethod;
if ((dwResult = eapxml::select_node(pConfigRoot, bstr(L"eap-metadata:InnerAuthenticationMethod"), &pXmlElInnerAuthenticationMethod)) != ERROR_SUCCESS) {
*ppEapError = m_module.make_error(dwResult = ERROR_NOT_FOUND, 0, NULL, NULL, NULL, _T(__FUNCTION__) _T(" Error selecting <InnerAuthenticationMethod> element."), NULL);
return dwResult;
}
if ((dwResult = m_inner->load(pXmlElInnerAuthenticationMethod, ppEapError)) != ERROR_SUCCESS)
return dwResult;
}
return ERROR_SUCCESS;
}
DWORD eap::credentials_ttls::store(_In_ LPCTSTR pszTargetName, _Out_ EAP_ERROR **ppEapError) const
{
DWORD dwResult;
if ((dwResult = credentials_tls::store(pszTargetName, ppEapError)) != ERROR_SUCCESS)
return dwResult;
if (m_inner) {
if ((dwResult = m_inner->store(pszTargetName, ppEapError)) != ERROR_SUCCESS)
return dwResult;
}
return ERROR_SUCCESS;
}
DWORD eap::credentials_ttls::retrieve(_In_ LPCTSTR pszTargetName, _Out_ EAP_ERROR **ppEapError)
{
DWORD dwResult;
if ((dwResult = credentials_tls::retrieve(pszTargetName, ppEapError)) != ERROR_SUCCESS)
return dwResult;
if (m_inner) {
if ((dwResult = m_inner->retrieve(pszTargetName, ppEapError)) != ERROR_SUCCESS)
return dwResult;
}
return ERROR_SUCCESS;
}
//////////////////////////////////////////////////////////////////////
// eap::session_ttls
//////////////////////////////////////////////////////////////////////
eap::session_ttls::session_ttls() : session()
{
}
//////////////////////////////////////////////////////////////////////
// eap::peer_ttls
//////////////////////////////////////////////////////////////////////
eap::peer_ttls::peer_ttls() : peer()
{
}
DWORD eap::peer_ttls::initialize(_Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(ppEapError);
// MSI's feature completeness check removed: It might invoke UI (prompt user for missing MSI),
// which would be disasterous in EapHost system service.
#if 0
// Perform the Microsoft Installer's feature completeness check manually.
// If execution got this far in the first place (dependent DLLs are present and loadable).
// Furthermore, this increments program usage counter.
if (MsiQueryFeatureState(_T(PRODUCT_VERSION_GUID), _T("featEAPTTLS")) != INSTALLSTATE_UNKNOWN)
MsiUseFeature(_T(PRODUCT_VERSION_GUID), _T("featEAPTTLS"));
#endif
return ERROR_SUCCESS;
}
DWORD eap::peer_ttls::shutdown(_Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(ppEapError);
return ERROR_SUCCESS;
}
DWORD eap::peer_ttls::get_identity(
_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)
{
UNREFERENCED_PARAMETER(dwFlags);
UNREFERENCED_PARAMETER(dwConnectionDataSize);
UNREFERENCED_PARAMETER(pConnectionData);
UNREFERENCED_PARAMETER(dwUserDataSize);
UNREFERENCED_PARAMETER(pUserData);
UNREFERENCED_PARAMETER(hTokenImpersonateUser);
UNREFERENCED_PARAMETER(pfInvokeUI);
UNREFERENCED_PARAMETER(pdwUserDataOutSize);
UNREFERENCED_PARAMETER(ppUserDataOut);
UNREFERENCED_PARAMETER(ppwszIdentity);
UNREFERENCED_PARAMETER(ppEapError);
DWORD dwResult = ERROR_NOT_SUPPORTED;
ETW_FN_DWORD(dwResult);
return dwResult;
}
DWORD eap::peer_ttls::get_method_properties(
_In_ DWORD dwVersion,
_In_ DWORD dwFlags,
_In_ HANDLE hUserImpersonationToken,
_In_ DWORD dwEapConnDataSize,
_In_count_(dwEapConnDataSize) const BYTE *pEapConnData,
_In_ DWORD dwUserDataSize,
_In_count_(dwUserDataSize) const BYTE *pUserData,
_Out_ EAP_METHOD_PROPERTY_ARRAY *pMethodPropertyArray,
_Out_ EAP_ERROR **ppEapError) const
{
UNREFERENCED_PARAMETER(dwVersion);
UNREFERENCED_PARAMETER(dwFlags);
UNREFERENCED_PARAMETER(hUserImpersonationToken);
UNREFERENCED_PARAMETER(dwEapConnDataSize);
UNREFERENCED_PARAMETER(pEapConnData);
UNREFERENCED_PARAMETER(dwUserDataSize);
UNREFERENCED_PARAMETER(pUserData);
UNREFERENCED_PARAMETER(pMethodPropertyArray);
UNREFERENCED_PARAMETER(ppEapError);
DWORD dwResult = ERROR_NOT_SUPPORTED;
ETW_FN_DWORD(dwResult);
return dwResult;
}

View File

@@ -1,259 +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>
//////////////////////////////////////////////////////////////////////
// eap::peer_ttls_ui
//////////////////////////////////////////////////////////////////////
eap::peer_ttls_ui::peer_ttls_ui() : peer_ui<eap::config_ttls, eap::credentials_ttls, int, int>()
{
}
DWORD eap::peer_ttls_ui::invoke_config_ui(
_In_ HWND hwndParent,
_Inout_ config_type &cfg,
_Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(ppEapError);
// Initialize application.
new wxApp();
wxEntryStart(m_instance);
int result;
{
// Create wxWidget-approved parent window.
wxWindow parent;
parent.SetHWND((WXHWND)hwndParent);
parent.AdoptAttributesFromHWND();
wxTopLevelWindows.Append(&parent);
// Create and launch configuration dialog.
wxEAPConfigDialog<config_ttls, wxEAPTTLSConfig> dlg(cfg, &parent);
result = dlg.ShowModal();
wxTopLevelWindows.DeleteObject(&parent);
parent.SetHWND((WXHWND)NULL);
}
// Clean-up and return.
wxEntryCleanup();
return result == wxID_OK ? ERROR_SUCCESS : ERROR_CANCELLED;
}
DWORD eap::peer_ttls_ui::invoke_identity_ui(
_In_ HWND hwndParent,
_In_ DWORD dwFlags,
_Inout_ config_type &cfg,
_Inout_ identity_type &usr,
_Out_ LPWSTR *ppwszIdentity,
_Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(dwFlags);
UNREFERENCED_PARAMETER(cfg);
UNREFERENCED_PARAMETER(usr);
UNREFERENCED_PARAMETER(ppwszIdentity);
UNREFERENCED_PARAMETER(ppEapError);
InitCommonControls();
MessageBox(hwndParent, _T(PRODUCT_NAME_STR) _T(" credential prompt goes here!"), _T(PRODUCT_NAME_STR) _T(" Credentials"), MB_OK);
return ERROR_SUCCESS;
}
DWORD eap::peer_ttls_ui::invoke_interactive_ui(
_In_ HWND hwndParent,
_In_ const interactive_request_type &req,
_Out_ interactive_response_type &res,
_Out_ EAP_ERROR **ppEapError)
{
UNREFERENCED_PARAMETER(req);
UNREFERENCED_PARAMETER(res);
UNREFERENCED_PARAMETER(ppEapError);
InitCommonControls();
MessageBox(hwndParent, _T(PRODUCT_NAME_STR) _T(" interactive UI goes here!"), _T(PRODUCT_NAME_STR) _T(" Prompt"), MB_OK);
return ERROR_SUCCESS;
}
//////////////////////////////////////////////////////////////////////
// wxEAPTTLSConfigPanel
//////////////////////////////////////////////////////////////////////
wxEAPTTLSConfigPanel::wxEAPTTLSConfigPanel(eap::config_ttls &cfg, wxWindow* parent) :
m_cfg(cfg),
wxEAPTTLSConfigPanelBase(parent)
{
// Load and set icon.
if (m_shell32.load(_T("shell32.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE))
wxSetIconFromResource(m_outer_identity_icon, m_icon, m_shell32, MAKEINTRESOURCE(265));
}
bool wxEAPTTLSConfigPanel::TransferDataToWindow()
{
wxCHECK(wxEAPTTLSConfigPanelBase::TransferDataToWindow(), false);
// Populate identity controls.
if (m_cfg.m_anonymous_identity.empty()) {
m_outer_identity_same->SetValue(true);
m_outer_identity_custom_val->Enable(false);
} else if (m_cfg.m_anonymous_identity == L"@") {
m_outer_identity_empty->SetValue(true);
m_outer_identity_custom_val->Enable(false);
} else {
m_outer_identity_custom->SetValue(true);
m_outer_identity_custom_val->Enable(true);
m_outer_identity_custom_val->SetValue(m_cfg.m_anonymous_identity);
}
return true;
}
bool wxEAPTTLSConfigPanel::TransferDataFromWindow()
{
if (m_outer_identity_same->GetValue())
m_cfg.m_anonymous_identity.clear();
else if (m_outer_identity_empty->GetValue())
m_cfg.m_anonymous_identity = L"@";
else
m_cfg.m_anonymous_identity = m_outer_identity_custom_val->GetValue();
return wxEAPTTLSConfigPanelBase::TransferDataFromWindow();
}
void wxEAPTTLSConfigPanel::OnOuterIdentityCustom(wxCommandEvent& event)
{
UNREFERENCED_PARAMETER(event);
m_outer_identity_custom_val->Enable(m_outer_identity_custom->GetValue());
}
//////////////////////////////////////////////////////////////////////
// wxEAPTTLSConfig
//////////////////////////////////////////////////////////////////////
wxEAPTTLSConfig::wxEAPTTLSConfig(eap::config_ttls &cfg, LPCTSTR pszCredTarget, wxWindow* parent) :
m_cfg(cfg),
m_cfg_pap(cfg.m_module),
wxScrolledWindow(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL)
{
wxBoxSizer* sb_content;
sb_content = new wxBoxSizer( wxVERTICAL );
m_outer_title = new wxStaticText(this, wxID_ANY, _("Outer Authentication"), wxDefaultPosition, wxDefaultSize, 0);
m_outer_title->SetFont(wxFont(18, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString));
m_outer_title->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_INACTIVECAPTION ) );
sb_content->Add(m_outer_title, 0, wxALL|wxALIGN_RIGHT, 5);
m_outer_identity = new wxEAPTTLSConfigPanel(m_cfg, this);
sb_content->Add(m_outer_identity, 0, wxALL|wxEXPAND, 5);
m_tls = new wxEAPTLSConfigPanel(m_cfg, pszCredTarget, this);
sb_content->Add(m_tls, 0, wxALL|wxEXPAND, 5);
sb_content->Add(20, 20, 1, wxEXPAND, 5);
m_inner_title = new wxStaticText(this, wxID_ANY, _("Inner Authentication"), wxDefaultPosition, wxDefaultSize, 0);
m_inner_title->SetFont(wxFont(18, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString));
m_inner_title->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_INACTIVECAPTION ) );
sb_content->Add(m_inner_title, 0, wxALL|wxALIGN_RIGHT, 5);
m_inner_type = new wxChoicebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxCHB_DEFAULT);
m_inner_type->SetToolTip( _("Select inner authentication method from the list") );
m_inner_type->AddPage(new wxPAPConfigPanel(m_cfg_pap, pszCredTarget, m_inner_type), _("PAP"));
sb_content->Add(m_inner_type, 0, wxALL|wxEXPAND, 5);
wxSize size = sb_content->CalcMin();
if (size.y > 500) {
// Increase the width to allow space for vertical scroll bar (to prevent horizontal one) and truncate the height.
size.x += wxSystemSettings::GetMetric(wxSYS_VSCROLL_X, this);
size.y = 500;
}
this->SetMinSize(size);
this->SetScrollRate(5, 5);
this->SetSizer(sb_content);
this->Layout();
m_outer_identity->SetFocusFromKbd();
// Connect Events
this->Connect(wxEVT_INIT_DIALOG, wxInitDialogEventHandler(wxEAPTTLSConfig::OnInitDialog));
}
wxEAPTTLSConfig::~wxEAPTTLSConfig()
{
// Disconnect Events
this->Disconnect(wxEVT_INIT_DIALOG, wxInitDialogEventHandler(wxEAPTTLSConfig::OnInitDialog));
}
bool wxEAPTTLSConfig::TransferDataToWindow()
{
eap::config_pap *cfg_pap = dynamic_cast<eap::config_pap*>(m_cfg.m_inner);
if (cfg_pap) {
m_cfg_pap = *cfg_pap;
m_inner_type->SetSelection(0); // 0=PAP
} else
wxFAIL_MSG(wxT("Unsupported inner authentication method type."));
return wxScrolledWindow::TransferDataToWindow();
}
bool wxEAPTTLSConfig::TransferDataFromWindow()
{
wxCHECK(wxScrolledWindow::TransferDataFromWindow(), false);
switch (m_inner_type->GetSelection()) {
case 0: // 0=PAP
delete m_cfg.m_inner;
m_cfg.m_inner = new eap::config_pap(m_cfg_pap);
break;
default:
wxFAIL_MSG(wxT("Unsupported inner authentication method type."));
}
return true;
}
void wxEAPTTLSConfig::OnInitDialog(wxInitDialogEvent& event)
{
// Forward the event to child panels.
m_outer_identity->GetEventHandler()->ProcessEvent(event);
m_tls->GetEventHandler()->ProcessEvent(event);
for (wxWindowList::compatibility_iterator inner = m_inner_type->GetChildren().GetFirst(); inner; inner = inner->GetNext())
inner->GetData()->GetEventHandler()->ProcessEvent(event);
}

78
EventMonitor/App.cpp Normal file
View File

@@ -0,0 +1,78 @@
/*
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"
#if defined(__WXMSW__)
#pragma comment(lib, "msi.lib")
#endif
//////////////////////////////////////////////////////////////////////////
// wxEventMonitorApp
//////////////////////////////////////////////////////////////////////////
wxIMPLEMENT_APP(wxEventMonitorApp);
wxEventMonitorApp::wxEventMonitorApp() : wxApp()
{
}
bool wxEventMonitorApp::OnInit()
{
#if defined(__WXMSW__)
// To compensate migration to non-advertised shortcut, do the Microsoft Installer's feature completeness check manually.
// If execution got this far in the first place (EXE and dependent DLLs are present and loadable).
// Furthermore, this increments program usage counter.
if (::MsiQueryFeatureState(_T(PRODUCT_VERSION_GUID), _T("featEventMonitor")) != INSTALLSTATE_UNKNOWN)
::MsiUseFeature(_T(PRODUCT_VERSION_GUID), _T("featEventMonitor"));
#endif
wxInitializeConfig();
if (!wxApp::OnInit())
return false;
if (wxInitializeLocale(m_locale)) {
wxVERIFY(m_locale.AddCatalog(wxT("wxExtend") wxT(wxExtendVersion)));
wxVERIFY(m_locale.AddCatalog(wxT("EventMonitor")));
}
#ifdef __WXMSW__
// Find EventMonitor window if already running.
HWND hWnd = ::FindWindow(_T("wxWindowNR"), _("Event Monitor"));
if (hWnd) {
if (::IsIconic(hWnd))
::SendMessage(hWnd, WM_SYSCOMMAND, SC_RESTORE, 0);
::SetActiveWindow(hWnd);
::SetForegroundWindow(hWnd);
// Not an error condition actually; Just nothing else to do...
return false;
}
#endif
wxEventMonitorFrame *mainWnd = new wxEventMonitorFrame(NULL);
wxPersistentRegisterAndRestore<wxEventMonitorFrame>(mainWnd);
mainWnd->Show();
return true;
}

70
EventMonitor/App.h Normal file
View File

@@ -0,0 +1,70 @@
/*
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/>.
*/
///
/// \defgroup EventMonitor Event Monitor
/// Real-time log of application events
///
class wxEventMonitorApp;
#pragma once
#include "Frame.h"
#include <wx/app.h>
#include <wx/config.h>
#include <wx/intl.h>
/// \addtogroup EventMonitor
/// @{
///
/// EventMonitor application
///
class wxEventMonitorApp : public wxApp
{
public:
wxEventMonitorApp();
///
/// Called when application initializes.
///
/// \returns
/// - \c true if initialization succeeded
/// - \c false otherwise
///
virtual bool OnInit();
///
/// Called when application uninitializes.
///
/// \returns Result code to return to OS
///
//virtual int OnExit();
public:
wxLocale m_locale; ///< Current locale
};
/// @}
wxDECLARE_APP(wxEventMonitorApp);

1138
EventMonitor/ETWLog.cpp Normal file

File diff suppressed because it is too large Load Diff

375
EventMonitor/ETWLog.h Normal file
View File

@@ -0,0 +1,375 @@
/*
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 <wx/event.h>
/// \addtogroup EventMonitor
/// @{
///
/// Maximum number of event records kept
///
#define wxETWEVENT_RECORDS_MAX 1000000
/// @}
class wxETWEvent;
wxDECLARE_EVENT(wxEVT_ETW_EVENT, wxETWEvent);
#define wxETWEventHandler(func) wxEVENT_HANDLER_CAST(wxETWEventFunction, func)
#define EVT_ETW_EVENT(func) wx__DECLARE_EVT0(wxEVT_ETW_EVENT, wxETWEventHandler(func))
class wxEventTraceProcessorThread;
class wxETWListCtrl;
class wxPersistentETWListCtrl;
#pragma once
#include <wx/listctrl.h>
#include <wx/persist/window.h>
#include <wx/thread.h>
#include <WinStd/ETW.h>
#include <memory>
#include <vector>
#include <set>
/// \addtogroup EventMonitor
/// @{
///
/// ETW event
///
class wxETWEvent : public wxEvent
{
public:
///
/// Creates ETW event
///
/// \param[in] type The unique type of event
/// \param[in] record ETW event record
///
wxETWEvent(wxEventType type = wxEVT_NULL, const EVENT_RECORD &record = s_record_null);
///
/// Copies an ETW event
///
/// \param[in] event ETW event to copy from
///
wxETWEvent(const wxETWEvent& event);
///
/// Clones the ETW event
///
/// \returns Event copy
///
virtual wxEvent *Clone() const
{
return new wxETWEvent(*this);
}
///
/// Returns ETW event record assosiated with event
///
inline const winstd::event_rec& GetRecord() const
{
return m_record;
}
///
/// Returns ETW event record assosiated with event
///
inline winstd::event_rec& GetRecord()
{
return m_record;
}
private:
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxETWEvent)
public:
static const EVENT_RECORD s_record_null; ///< Blank ETW event record
protected:
winstd::event_rec m_record; ///< ETW event record
};
///
/// Prototype of the function consuming `wxETWEvent` events
///
typedef void (wxEvtHandler::*wxETWEventFunction)(wxETWEvent&);
///
/// Monitors ETW events and forwards them as `wxETWEvent` event
///
class wxEventTraceProcessorThread : public wxThread
{
public:
///
/// A thread to process ETW events
///
/// \param[in] parent Event handler this thread will send record notifications
/// \param[in] sessions An array of sessions to monitor
///
wxEventTraceProcessorThread(wxEvtHandler *parent, const wxArrayString &sessions);
///
/// Destructor
///
virtual ~wxEventTraceProcessorThread();
///
/// Closes all session handles to allow graceful thread termination
///
void Abort();
protected:
/// \cond internal
virtual ExitCode Entry();
/// \endcond
private:
/// \cond internal
static VOID WINAPI EventRecordCallback(PEVENT_RECORD pEvent);
/// \endcond
protected:
std::vector<TRACEHANDLE> m_traces; ///< An array of tracing sessions this thread is monitoring
wxEvtHandler *m_parent; ///< Pointer to the event handler this thread is sending record notifications
};
///
/// Event list control
///
class wxETWListCtrl : public wxListCtrl
{
protected:
///
/// Functor for GUID comparison
///
struct less_guid : public std::binary_function<GUID, GUID, bool>
{
///
/// Compares two GUIDs
///
bool operator()(const GUID &a, const GUID &b) const
{
if (a.Data1 < b.Data1) return true;
if (a.Data1 > b.Data1) return false;
if (a.Data2 < b.Data2) return true;
if (a.Data2 > b.Data2) return false;
if (a.Data3 < b.Data3) return true;
if (a.Data3 > b.Data3) return false;
if (memcmp(a.Data4, b.Data4, sizeof(a.Data4)) < 0) return true;
return false;
}
};
///
/// A set of GUIDs
///
typedef std::set<GUID, less_guid> guidset;
public:
///
/// Creates a list control for ETW log display
///
/// \param[in] parent Parent window. Must not be \c NULL.
/// \param[in] id Window identifier. The value \c wxID_ANY indicates a default value.
/// \param[in] pos Window position. If \c wxDefaultPosition is specified then a default position is chosen.
/// \param[in] size Window size. If \c wxDefaultSize is specified then the window is sized appropriately.
/// \param[in] style Window style. See \c wxListCtrl.
/// \param[in] validator Window validator
/// \param[in] name Window name
///
wxETWListCtrl(
wxWindow *parent,
wxWindowID id = wxID_ANY,
const wxPoint &pos = wxDefaultPosition,
const wxSize &size = wxDefaultSize,
long style = wxLC_NO_SORT_HEADER|wxLC_REPORT|wxLC_VIRTUAL|wxNO_BORDER,
const wxValidator &validator = wxDefaultValidator,
const wxString &name = wxListCtrlNameStr);
///
/// Destructor
///
virtual ~wxETWListCtrl();
///
/// Returns true if the list is empty
///
inline bool IsEmpty() const
{
return m_rec_db.empty();
}
///
/// Copies selected rows to clipboard
///
void CopySelected() const;
///
/// Copies all rows (including hidden ones) to clipboard
///
void CopyAll() const;
///
/// Empties the list
///
void ClearAll();
///
/// Selects all rows
///
void SelectAll();
///
/// Clears row selection
///
void SelectNone();
///
/// Rebuilds the list
///
void RebuildItems();
///
/// Checks if given ETW source is enabled
///
/// \param[in] guid GUID of ETW source
///
/// \returns
/// - \c true if ETW source with \p guid GUID is enabled;
/// - \c false otherwise.
///
inline bool IsSourceEnabled(const GUID &guid) const
{
return m_sources.find(guid) != m_sources.end();
}
///
/// Enables/Disables ETW source
///
/// \param[in] guid GUID of ETW source
/// \param[in] enable \c true to enable, \c false to disable
///
inline void EnableSource(const GUID &guid, bool enable = true)
{
auto s = m_sources.find(guid);
if (enable) {
if (s == m_sources.end()) {
m_sources.insert(guid);
RebuildItems();
}
} else {
if (s != m_sources.end()) {
m_sources.erase(s);
RebuildItems();
}
}
}
friend class wxPersistentETWListCtrl; // Allow saving/restoring window state.
protected:
/// \cond internal
bool IsVisible(const EVENT_RECORD &rec) const;
void FormatRow(const winstd::event_rec &rec, std::string &rowA, std::wstring &rowW) const;
bool CopyToClipboard(const std::string &dataA, const std::wstring &dataW) const;
virtual wxListItemAttr *OnGetItemAttr(long item) const;
virtual wxString OnGetItemText(long item, long column) const;
virtual wxString OnGetItemText(const winstd::event_rec &rec, long column) const;
void OnETWEvent(wxETWEvent& event);
/// \endcond
DECLARE_EVENT_TABLE()
public:
bool m_scroll_auto; ///< Is autoscrolling enabled?
UCHAR m_level; ///< Shows messages up to this level of verboseness
static const GUID s_provider_eaphost; ///< EapHost event provider ID
static const GUID s_provider_schannel; ///< Schannel event provider ID
protected:
winstd::event_session m_session; ///< Event session
wxEventTraceProcessorThread *m_proc; ///< Processor thread
guidset m_sources; ///< Set of enabled sources
wxListItemAttr m_item_attr[2][4]; ///< Current item attributes
winstd::vector_queue<winstd::event_rec> m_rec_db; ///< Event record database
winstd::vector_queue<size_t> m_rec_idx; ///< Event record database indices of shown records
size_t m_col_format_width[5]; ///< Column widths for pre-formatted row display (0 = unlimited)
};
///
/// Supports saving/restoring `wxETWListCtrl` state
///
class wxPersistentETWListCtrl : public wxPersistentWindow<wxETWListCtrl>
{
public:
///
/// Constructor for a persistent window object
///
/// \param[in] wnd Window this object will save/restore
///
wxPersistentETWListCtrl(wxETWListCtrl *wnd);
///
/// Returns the string uniquely identifying the objects supported by this adapter.
///
/// \returns This implementation always returns `wxT(wxPERSIST_TLW_KIND)`
///
virtual wxString GetKind() const;
///
/// Saves the object properties
///
virtual void Save() const;
///
/// Restores the object properties
///
/// \returns
/// - \c true if the properties were successfully restored;
/// - \c false otherwise.
///
virtual bool Restore();
};
///
/// Creates persistent window object for `wxETWListCtrl` class window
///
inline wxPersistentObject *wxCreatePersistentObject(wxETWListCtrl *wnd)
{
return new wxPersistentETWListCtrl(wnd);
}
/// @}

View File

@@ -0,0 +1,17 @@
<?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.

View File

@@ -0,0 +1,207 @@
<?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>{E0D0725B-B2FC-4225-9481-CA9B1B6306F2}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>EventMonitor</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.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>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</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>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</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\$(Platform).props" />
<Import Project="..\include\$(Configuration).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\$(Platform).props" />
<Import Project="..\include\$(Configuration).props" />
<Import Project="EventMonitor.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\$(Platform).props" />
<Import Project="..\include\$(Configuration).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\$(Platform).props" />
<Import Project="..\include\$(Configuration).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\$(Platform).props" />
<Import Project="..\include\$(Configuration).props" />
<Import Project="EventMonitor.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\include\$(Platform).props" />
<Import Project="..\include\$(Configuration).props" />
<Import Project="EventMonitor.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<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 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>
<ItemGroup>
<ClInclude Include="App.h" />
<ClInclude Include="ETWLog.h" />
<ClInclude Include="Frame.h" />
<ClInclude Include="LogPanel.h" />
<ClInclude Include="StdAfx.h" />
<ClInclude Include="res\wxEventMonitor_UI.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="App.cpp" />
<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)'=='Debug|ARM64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="res\wxEventMonitor_UI.cpp" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\lib\Events\build\Events.vcxproj">
<Project>{d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\WinStd\build\WinStd-15.0.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\wxExtend\build\wxExtendLib-15.0.vcxproj">
<Project>{d3e29951-d9f5-486d-a167-20ae8e90b1fa}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="locale\EventMonitor.pot" />
<None Include="res\EventMonitor.ico" />
<None Include="res\wxEventMonitor_UI.fbp" />
</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\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>

View File

@@ -0,0 +1,169 @@
<?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>
<ResourceCompile Include="EventMonitor.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="StdAfx.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="App.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="res\wxEventMonitor_UI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Frame.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="LogPanel.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ETWLog.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="StdAfx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="App.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="res\wxEventMonitor_UI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Frame.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="LogPanel.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ETWLog.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="res\wxEventMonitor_UI.fbp">
<Filter>Resource Files</Filter>
</None>
<None Include="locale\EventMonitor.pot">
<Filter>Resource Files\Localization</Filter>
</None>
<None Include="res\EventMonitor.ico">
<Filter>Resource Files</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>
<POCompile Include="locale\et_EE.po">
<Filter>Resource Files\Localization</Filter>
</POCompile>
</ItemGroup>
</Project>

444
EventMonitor/Frame.cpp Normal file
View File

@@ -0,0 +1,444 @@
/*
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"
//////////////////////////////////////////////////////////////////////////
// wxEventMonitorFrame
//////////////////////////////////////////////////////////////////////////
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(FromDIP(wxSize(150,150)), wxDefaultSize);
m_mgr.SetManagedWindow(this);
m_mgr.SetFlags(wxAUI_MGR_DEFAULT);
// Load main window icons.
#ifdef __WINDOWS__
wxIconBundle icons;
icons.AddIcon(wxIcon(wxT("00_EventMonitor.ico"), wxBITMAP_TYPE_ICO_RESOURCE, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON)));
icons.AddIcon(wxIcon(wxT("00_EventMonitor.ico"), wxBITMAP_TYPE_ICO_RESOURCE, ::GetSystemMetrics(SM_CXICON ), ::GetSystemMetrics(SM_CYICON )));
this->SetIcons(icons);
#else
this->SetIcon(wxIcon(wxICON(00_EventMonitor.ico)));
#endif
wxString prod_name(wxT(PRODUCT_NAME_STR));
wxString prod_status_bar;
prod_status_bar.Printf(_("Toggles display of %s records"), wxT(PRODUCT_NAME_STR));
winstd::library lib_comres;
lib_comres.load(_T("comres.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE);
winstd::library lib_ieframe;
lib_ieframe.load(_T("ieframe.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE);
winstd::library lib_shell32;
lib_shell32.load(_T("shell32.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE);
wxSize size_menu(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON));
wxSize size_tool(size_menu);
m_menubar = new wxMenuBar(0);
m_menuProgram = new wxMenu();
wxMenuItem* m_menuItemExit;
m_menuItemExit = new wxMenuItem(m_menuProgram, wxID_EXIT, _("E&xit") + wxT('\t') + wxT("Alt+F4"), _("Quits this program"), wxITEM_NORMAL);
m_menuItemExit->SetBitmaps(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(240), size_menu));
m_menuProgram->Append(m_menuItemExit);
m_menubar->Append(m_menuProgram, _("&Program"));
m_menuEdit = new wxMenu();
wxMenuItem* m_menuEditCopy;
m_menuEditCopy = new wxMenuItem(m_menuEdit, wxID_COPY, _("&Copy") + wxT('\t') + wxT("Ctrl+C"), _("Copies selected records to clipboard"), wxITEM_NORMAL);
m_menuEditCopy->SetBitmaps(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(243), size_menu));
m_menuEdit->Append(m_menuEditCopy);
wxMenuItem* m_menuEditCopyAll;
m_menuEditCopyAll = new wxMenuItem(m_menuEdit, wxID_COPY_ALL, _("Copy A&ll") + wxT('\t') + wxT("Ctrl+Shift+C"), _("Copies all records to clipboard (including hidden)"), wxITEM_NORMAL);
m_menuEditCopyAll->SetBitmaps(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(133), size_menu));
m_menuEdit->Append(m_menuEditCopyAll);
wxMenuItem* m_menuEditClear;
m_menuEditClear = new wxMenuItem(m_menuEdit, wxID_CLEAR, _("Clear"), _("Clears all records from the log"), wxITEM_NORMAL);
m_menuEditClear->SetBitmaps(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(200), size_menu));
m_menuEdit->Append(m_menuEditClear);
m_menuEdit->AppendSeparator();
wxMenuItem* m_menuEditSelectAll;
m_menuEditSelectAll = new wxMenuItem(m_menuEdit, wxID_SELECT_ALL, _("Select &All") + wxT('\t') + wxT("Ctrl+A"), _("Selects all visible records"), wxITEM_NORMAL);
m_menuEdit->Append(m_menuEditSelectAll);
wxMenuItem* m_menuEditSelectNone;
m_menuEditSelectNone = new wxMenuItem(m_menuEdit, wxID_SELECT_NONE, _("Select &None") , _("Clears record selection"), wxITEM_NORMAL);
m_menuEdit->Append(m_menuEditSelectNone);
m_menubar->Append(m_menuEdit, _("&Edit"));
m_menuView = new wxMenu();
wxMenuItem* m_menuViewScrollAuto;
m_menuViewScrollAuto = new wxMenuItem(m_menuView, wxID_VIEW_SCROLL_AUTO, _("Auto &Scroll") + wxT('\t') + wxT("Ctrl+S"), _("Automatically scrolls to the most recent records as they come-in"), wxITEM_CHECK);
//m_menuViewScrollAuto->SetBitmaps(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(231), size_menu));
m_menuView->Append(m_menuViewScrollAuto);
m_menuView->AppendSeparator();
wxMenuItem* m_menuViewSourceEapHost;
m_menuViewSourceEapHost = new wxMenuItem(m_menuView, wxID_VIEW_SOURCE_EAPHOST, wxT("EapHost"), wxString::Format(_("Toggles display of %s records"), wxT("EapHost")), wxITEM_CHECK);
//m_menuViewSourceEapHost->SetBitmaps(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(273), size_menu));
m_menuView->Append(m_menuViewSourceEapHost);
wxMenuItem* m_menuViewSourceSchannel;
m_menuViewSourceSchannel = new wxMenuItem(m_menuView, wxID_VIEW_SOURCE_SCHANNEL, wxT("Schannel"), wxString::Format(_("Toggles display of %s records"), wxT("Schannel")), wxITEM_CHECK);
//m_menuViewSourceSchannel->SetBitmaps(wxLoadIconFromResource(lib_ieframe, MAKEINTRESOURCE(36870), size_menu));
m_menuView->Append(m_menuViewSourceSchannel);
m_menuViewSourceProduct = new wxMenuItem(m_menuView, wxID_VIEW_SOURCE_PRODUCT, prod_name , prod_status_bar, wxITEM_CHECK);
//m_menuViewSourceProduct->SetBitmaps(wxIcon(wxT("product.ico"), wxBITMAP_TYPE_ICO_RESOURCE, size_menu.GetWidth(), size_menu.GetHeight()));
m_menuView->Append(m_menuViewSourceProduct);
m_menuView->AppendSeparator();
m_menuViewLevelVerbose = new wxMenuItem(m_menuView, wxID_VIEW_LEVEL_VERBOSE, _("Verbose") + wxT('\t') + wxT("Ctrl+1"), _("Displays all levels of records"), wxITEM_RADIO);
//m_menuViewLevelVerbose->SetBitmaps(wxLoadIconFromResource(lib_comres, MAKEINTRESOURCE(2863), size_menu));
m_menuView->Append(m_menuViewLevelVerbose);
m_menuViewLevelInformation = new wxMenuItem(m_menuView, wxID_VIEW_LEVEL_INFORMATION, _("Informational") + wxT('\t') + wxT("Ctrl+2"), _("Displays all records up to informational level"), wxITEM_RADIO);
//m_menuViewLevelInformation->SetBitmaps(wxLoadIconFromResource(lib_comres, MAKEINTRESOURCE(2859), size_menu));
m_menuView->Append(m_menuViewLevelInformation);
m_menuViewLevelWarning = new wxMenuItem(m_menuView, wxID_VIEW_LEVEL_WARNING, _("Warning") + wxT('\t') + wxT("Ctrl+3"), _("Displays all records up to warning level"), wxITEM_RADIO);
//m_menuViewLevelWarning->SetBitmaps(wxLoadIconFromResource(lib_comres, MAKEINTRESOURCE(2865), size_menu));
m_menuView->Append(m_menuViewLevelWarning);
m_menuViewLevelError = new wxMenuItem(m_menuView, wxID_VIEW_LEVEL_ERROR, _("Error") + wxT('\t') + wxT("Ctrl+4"), _("Displays error level records only"), wxITEM_RADIO);
//m_menuViewLevelError->SetBitmaps(wxLoadIconFromResource(lib_comres, MAKEINTRESOURCE(2861), size_menu));
m_menuView->Append(m_menuViewLevelError);
m_menuView->AppendSeparator();
wxMenuItem* m_menuViewToolbarEdit;
m_menuViewToolbarEdit = new wxMenuItem(m_menuView, wxID_VIEW_TOOLBAR_EDIT, wxString::Format(_("%s toolbar"), _("&Edit")), wxString::Format(_("Toggles display of %s toolbar"), _("View")), wxITEM_CHECK);
m_menuView->Append(m_menuViewToolbarEdit);
wxMenuItem* m_menuViewToolbarView;
m_menuViewToolbarView = new wxMenuItem(m_menuView, wxID_VIEW_TOOLBAR_VIEW, wxString::Format(_("%s toolbar"), _("&View")), wxString::Format(_("Toggles display of %s toolbar"), _("View")), wxITEM_CHECK);
m_menuView->Append(m_menuViewToolbarView);
m_menubar->Append(m_menuView, _("&View"));
this->SetMenuBar(m_menubar);
m_toolbarEdit = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_LAYOUT);
m_toolEditCopy = m_toolbarEdit->AddTool(wxID_COPY, _("Copy"), wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(243), size_tool), _("Copies selected records to clipboard") + wxT(" (") + wxT("Ctrl+C") + wxT(")"), wxITEM_NORMAL);
m_toolEditCopyAll = m_toolbarEdit->AddTool(wxID_COPY_ALL, _("Copy All"), wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(133), size_tool), _("Copies all records to clipboard (including hidden)") + wxT(" (") + wxT("Ctrl+Shift+C") + wxT(")"), wxITEM_NORMAL);
m_toolEditClear = m_toolbarEdit->AddTool(wxID_CLEAR, _("Clear"), wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(200), size_tool), _("Clears all records from the log"), wxITEM_NORMAL);
m_toolbarEdit->Realize();
m_mgr.AddPane(m_toolbarEdit, wxAuiPaneInfo().Name(wxT("ToolbarEdit")).Top().Caption(_("Edit")).PinButton(true).Dock().Resizable().FloatingSize(wxDefaultSize).LeftDockable(false).RightDockable(false).Layer(1).ToolbarPane());
m_toolbarView = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_HORZ_LAYOUT);
m_toolViewScrollAuto = m_toolbarView->AddTool(wxID_VIEW_SCROLL_AUTO, _("Auto Scroll"), wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(231), size_tool), _("Automatically scrolls to the most recent records as they come-in") + wxT(" (") + wxT("Ctrl+S") + wxT(")"), wxITEM_CHECK);
m_toolbarView->AddSeparator();
m_toolViewSourceEapHost = m_toolbarView->AddTool(wxID_VIEW_SOURCE_EAPHOST, "EapHost", wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(273), size_tool), wxString::Format(_("Toggles display of %s records"), wxT("EapHost")), wxITEM_CHECK);
m_toolViewSourceSchannel = m_toolbarView->AddTool(wxID_VIEW_SOURCE_SCHANNEL, "Schannel", wxLoadIconFromResource(lib_ieframe, MAKEINTRESOURCE(36870), size_tool), wxString::Format(_("Toggles display of %s records"), wxT("Schannel")), wxITEM_CHECK);
m_toolViewSourceProduct = m_toolbarView->AddTool(wxID_VIEW_SOURCE_PRODUCT, prod_name, wxIcon(wxT("product.ico"), wxBITMAP_TYPE_ICO_RESOURCE, size_tool.GetWidth(), size_tool.GetHeight()), prod_status_bar, wxITEM_CHECK);
m_toolbarView->AddSeparator();
m_toolViewLevelVerbose = m_toolbarView->AddTool(wxID_VIEW_LEVEL_VERBOSE, _("Verbose"), wxLoadIconFromResource(lib_comres, MAKEINTRESOURCE(2863), size_tool), _("Displays all levels of records") + wxT(" (") + wxT("Ctrl+1") + wxT(")"), wxITEM_RADIO);
m_toolViewLevelInformation = m_toolbarView->AddTool(wxID_VIEW_LEVEL_INFORMATION, _("Informational"), wxLoadIconFromResource(lib_comres, MAKEINTRESOURCE(2859), size_tool), _("Displays all records up to informational level") + wxT(" (") + wxT("Ctrl+2") + wxT(")"), wxITEM_RADIO);
m_toolViewLevelWarning = m_toolbarView->AddTool(wxID_VIEW_LEVEL_WARNING, _("Warning"), wxLoadIconFromResource(lib_comres, MAKEINTRESOURCE(2865), size_tool), _("Displays all records up to warning level") + wxT(" (") + wxT("Ctrl+3") + wxT(")"), wxITEM_RADIO);
m_toolViewLevelError = m_toolbarView->AddTool(wxID_VIEW_LEVEL_ERROR, _("Error"), wxLoadIconFromResource(lib_comres, MAKEINTRESOURCE(2861), size_tool), _("Displays error level records only") + wxT(" (") + wxT("Ctrl+4") + wxT(")"), wxITEM_RADIO);
m_toolbarView->Realize();
m_mgr.AddPane(m_toolbarView, wxAuiPaneInfo().Name(wxT("ToolbarView")).Top().Caption(_("View")).PinButton(true).Dock().Resizable().FloatingSize(wxDefaultSize).LeftDockable(false).RightDockable(false).Layer(1).ToolbarPane());
m_panel = new wxEventMonitorLogPanel(this);
m_mgr.AddPane(m_panel, wxAuiPaneInfo() .Name(wxT("LogPanel")).Center() .Caption(_("Trace Log")).CaptionVisible(false).CloseButton(false).PaneBorder(false).Dock().Resizable().FloatingSize(wxDefaultSize).Floatable(false));
m_statusBar = this->CreateStatusBar(1, wxST_SIZEGRIP, wxID_ANY);
m_mgr.Update();
this->Centre(wxBOTH);
// Restore persistent state of wxAuiManager manually, since m_mgr is not on the heap.
wxPersistentAuiManager(&m_mgr).Restore();
// Connect Events
this->Connect(wxID_EXIT , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnExit ));
this->Connect(wxID_COPY , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnEditCopyUpdate ));
this->Connect(wxID_COPY , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnEditCopy ));
this->Connect(wxID_COPY_ALL , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnEditCopyAllUpdate ));
this->Connect(wxID_COPY_ALL , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnEditCopyAll ));
this->Connect(wxID_CLEAR , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnEditClearUpdate ));
this->Connect(wxID_CLEAR , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnEditClear ));
this->Connect(wxID_SELECT_ALL , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnEditSelectAllUpdate ));
this->Connect(wxID_SELECT_ALL , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnEditSelectAll ));
this->Connect(wxID_SELECT_NONE , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnEditSelectNoneUpdate));
this->Connect(wxID_SELECT_NONE , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnEditSelectNone ));
this->Connect(wxID_VIEW_SCROLL_AUTO , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewScrollUpdate ));
this->Connect(wxID_VIEW_SCROLL_AUTO , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewScroll ));
this->Connect(wxID_VIEW_SOURCE_EAPHOST , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewSourceUpdate ), new wxObjectWithData<GUID>(wxETWListCtrl::s_provider_eaphost ));
this->Connect(wxID_VIEW_SOURCE_EAPHOST , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewSource ), new wxObjectWithData<GUID>(wxETWListCtrl::s_provider_eaphost ));
this->Connect(wxID_VIEW_SOURCE_SCHANNEL, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewSourceUpdate ), new wxObjectWithData<GUID>(wxETWListCtrl::s_provider_schannel));
this->Connect(wxID_VIEW_SOURCE_SCHANNEL, wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewSource ), new wxObjectWithData<GUID>(wxETWListCtrl::s_provider_schannel));
this->Connect(wxID_VIEW_SOURCE_PRODUCT , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewSourceUpdate ), new wxObjectWithData<GUID>(EAPMETHOD_TRACE_EVENT_PROVIDER ));
this->Connect(wxID_VIEW_SOURCE_PRODUCT , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewSource ), new wxObjectWithData<GUID>(EAPMETHOD_TRACE_EVENT_PROVIDER ));
this->Connect(wxID_VIEW_LEVEL_VERBOSE , wxID_VIEW_LEVEL_ERROR, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewLevelUpdate ));
this->Connect(wxID_VIEW_LEVEL_VERBOSE , wxID_VIEW_LEVEL_ERROR, wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewLevel ));
this->Connect(wxID_VIEW_TOOLBAR_EDIT , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewToolbarUpdate ), new wxObjectWithData<wxAuiPaneInfo*>(&m_mgr.GetPane(m_toolbarEdit)));
this->Connect(wxID_VIEW_TOOLBAR_EDIT , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewToolbar ), new wxObjectWithData<wxAuiPaneInfo*>(&m_mgr.GetPane(m_toolbarEdit)));
this->Connect(wxID_VIEW_TOOLBAR_VIEW , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewToolbarUpdate ), new wxObjectWithData<wxAuiPaneInfo*>(&m_mgr.GetPane(m_toolbarView)));
this->Connect(wxID_VIEW_TOOLBAR_VIEW , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewToolbar ), new wxObjectWithData<wxAuiPaneInfo*>(&m_mgr.GetPane(m_toolbarView)));
}
wxEventMonitorFrame::~wxEventMonitorFrame()
{
// Disconnect Events
this->Disconnect(wxID_EXIT , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnExit ));
this->Disconnect(wxID_COPY , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnEditCopyUpdate ));
this->Disconnect(wxID_COPY , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnEditCopy ));
this->Disconnect(wxID_COPY_ALL , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnEditCopyAllUpdate ));
this->Disconnect(wxID_COPY_ALL , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnEditCopyAll ));
this->Disconnect(wxID_CLEAR , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnEditClearUpdate ));
this->Disconnect(wxID_CLEAR , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnEditClear ));
this->Disconnect(wxID_SELECT_ALL , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnEditSelectAllUpdate ));
this->Disconnect(wxID_SELECT_ALL , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnEditSelectAll ));
this->Disconnect(wxID_SELECT_NONE , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnEditSelectNoneUpdate));
this->Disconnect(wxID_SELECT_NONE , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnEditSelectNone ));
this->Disconnect(wxID_VIEW_SCROLL_AUTO , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewScrollUpdate ));
this->Disconnect(wxID_VIEW_SCROLL_AUTO , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewScroll ));
this->Disconnect(wxID_VIEW_SOURCE_EAPHOST , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewSourceUpdate ));
this->Disconnect(wxID_VIEW_SOURCE_EAPHOST , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewSource ));
this->Disconnect(wxID_VIEW_SOURCE_SCHANNEL, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewSourceUpdate ));
this->Disconnect(wxID_VIEW_SOURCE_SCHANNEL, wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewSource ));
this->Disconnect(wxID_VIEW_SOURCE_PRODUCT , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewSourceUpdate ));
this->Disconnect(wxID_VIEW_SOURCE_PRODUCT , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewSource ));
this->Disconnect(wxID_VIEW_LEVEL_VERBOSE , wxID_VIEW_LEVEL_ERROR, wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewLevelUpdate ));
this->Disconnect(wxID_VIEW_LEVEL_VERBOSE , wxID_VIEW_LEVEL_ERROR, wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewLevel ));
this->Disconnect(wxID_VIEW_TOOLBAR_EDIT , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewToolbarUpdate ));
this->Disconnect(wxID_VIEW_TOOLBAR_EDIT , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewToolbar ));
this->Disconnect(wxID_VIEW_TOOLBAR_VIEW , wxEVT_UPDATE_UI, wxUpdateUIEventHandler(wxEventMonitorFrame::OnViewToolbarUpdate ));
this->Disconnect(wxID_VIEW_TOOLBAR_VIEW , wxEVT_MENU , wxCommandEventHandler (wxEventMonitorFrame::OnViewToolbar ));
// Save wxAuiManager's state.
wxPersistentAuiManager(&m_mgr).Save();
m_mgr.UnInit();
}
/// \cond internal
void wxEventMonitorFrame::OnExit(wxCommandEvent& event)
{
Close();
event.Skip();
}
void wxEventMonitorFrame::OnEditCopyUpdate(wxUpdateUIEvent& event)
{
event.Enable(m_panel->m_log->GetSelectedItemCount() != 0);
}
void wxEventMonitorFrame::OnEditCopy(wxCommandEvent& /*event*/)
{
m_panel->m_log->CopySelected();
}
void wxEventMonitorFrame::OnEditCopyAllUpdate(wxUpdateUIEvent& event)
{
event.Enable(!m_panel->m_log->IsEmpty());
}
void wxEventMonitorFrame::OnEditCopyAll(wxCommandEvent& /*event*/)
{
m_panel->m_log->CopyAll();
}
void wxEventMonitorFrame::OnEditClearUpdate(wxUpdateUIEvent& event)
{
event.Enable(!m_panel->m_log->IsEmpty());
}
void wxEventMonitorFrame::OnEditClear(wxCommandEvent& /*event*/)
{
m_panel->m_log->ClearAll();
}
void wxEventMonitorFrame::OnEditSelectAllUpdate(wxUpdateUIEvent& event)
{
event.Enable(m_panel->m_log->GetSelectedItemCount() != m_panel->m_log->GetItemCount());
}
void wxEventMonitorFrame::OnEditSelectAll(wxCommandEvent& /*event*/)
{
m_panel->m_log->SelectAll();
}
void wxEventMonitorFrame::OnEditSelectNoneUpdate(wxUpdateUIEvent& event)
{
event.Enable(m_panel->m_log->GetSelectedItemCount() != 0);
}
void wxEventMonitorFrame::OnEditSelectNone(wxCommandEvent& /*event*/)
{
m_panel->m_log->SelectNone();
}
void wxEventMonitorFrame::OnViewScrollUpdate(wxUpdateUIEvent& event)
{
event.Check(m_panel->m_log->m_scroll_auto);
}
void wxEventMonitorFrame::OnViewScroll(wxCommandEvent& event)
{
m_panel->m_log->m_scroll_auto = event.IsChecked();
if (m_panel->m_log->m_scroll_auto) {
// Scroll to the last record.
long count = m_panel->m_log->GetItemCount();
if (count)
m_panel->m_log->EnsureVisible(count - 1);
}
}
void wxEventMonitorFrame::OnViewSourceUpdate(wxUpdateUIEvent& event)
{
wxObjectWithData<GUID> *source = dynamic_cast<wxObjectWithData<GUID>*>(event.m_callbackUserData);
if (source) {
// Update GUI control according to event source state.
event.Check(m_panel->m_log->IsSourceEnabled(source->m_data));
event.Enable(true);
} else
event.Enable(false);
}
void wxEventMonitorFrame::OnViewSource(wxCommandEvent& event)
{
wxObjectWithData<GUID> *source = dynamic_cast<wxObjectWithData<GUID>*>(event.m_callbackUserData);
if (source) {
// Enable event source.
m_panel->m_log->EnableSource(source->m_data, event.IsChecked());
}
}
void wxEventMonitorFrame::OnViewLevelUpdate(wxUpdateUIEvent& event)
{
// Update GUI control according to log level.
event.Check(TRACE_LEVEL_ERROR + wxID_VIEW_LEVEL_ERROR - event.GetId() == m_panel->m_log->m_level);
}
void wxEventMonitorFrame::OnViewLevel(wxCommandEvent& event)
{
UCHAR state_new = TRACE_LEVEL_ERROR + wxID_VIEW_LEVEL_ERROR - event.GetId();
if (m_panel->m_log->m_level != state_new) {
// Set new log level.
m_panel->m_log->m_level = state_new;
m_panel->m_log->RebuildItems();
}
}
void wxEventMonitorFrame::OnViewToolbarUpdate(wxUpdateUIEvent& event)
{
wxObjectWithData<wxAuiPaneInfo*> *source = dynamic_cast<wxObjectWithData<wxAuiPaneInfo*>*>(event.m_callbackUserData);
if (source && source->m_data) {
// Update GUI control according to toolbar/panel visibility.
event.Check(source->m_data->IsShown());
event.Enable(true);
} else
event.Enable(false);
}
void wxEventMonitorFrame::OnViewToolbar(wxCommandEvent& event)
{
wxObjectWithData<wxAuiPaneInfo*> *source = dynamic_cast<wxObjectWithData<wxAuiPaneInfo*>*>(event.m_callbackUserData);
if (source && source->m_data) {
// Toggle toolbar/panel visibility.
source->m_data->Show(!source->m_data->IsShown());
m_mgr.Update();
}
}
/// \endcond
//////////////////////////////////////////////////////////////////////////
// wxPersistentEventMonitorFrame
//////////////////////////////////////////////////////////////////////////
wxPersistentEventMonitorFrame::wxPersistentEventMonitorFrame(wxEventMonitorFrame *wnd) : wxPersistentTLW(wnd)
{
}
void wxPersistentEventMonitorFrame::Save() const
{
const wxEventMonitorFrame * const wnd = static_cast<const wxEventMonitorFrame*>(GetWindow());
wxPersistentEventMonitorLogPanel(wnd->m_panel).Save();
wxPersistentTLW::Save();
}
bool wxPersistentEventMonitorFrame::Restore()
{
const bool r = wxPersistentTLW::Restore();
wxEventMonitorFrame * const wnd = static_cast<wxEventMonitorFrame*>(GetWindow());
wxPersistentEventMonitorLogPanel(wnd->m_panel).Restore();
return r;
}

175
EventMonitor/Frame.h Normal file
View File

@@ -0,0 +1,175 @@
/*
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/>.
*/
class wxEventMonitorFrame;
class wxPersistentEventMonitorFrame;
#pragma once;
#include "LogPanel.h"
#include <wx/frame.h>
#include <wx/menu.h>
#include <wx/statusbr.h>
#include <wx/aui/auibar.h>
#include <wx/aui/framemanager.h>
#include <wx/persist/toplevel.h>
#include <WinStd/Win.h>
/// \addtogroup EventMonitor
/// @{
///
/// EventMonitor main frame
///
class wxEventMonitorFrame : public wxFrame
{
protected:
enum {
wxID_COPY_ALL = 1000,
wxID_SELECT_ALL,
wxID_SELECT_NONE,
wxID_VIEW_SCROLL_AUTO,
wxID_VIEW_SOURCE_EAPHOST,
wxID_VIEW_SOURCE_SCHANNEL,
wxID_VIEW_SOURCE_PRODUCT,
wxID_VIEW_LEVEL_VERBOSE,
wxID_VIEW_LEVEL_INFORMATION,
wxID_VIEW_LEVEL_WARNING,
wxID_VIEW_LEVEL_ERROR,
wxID_VIEW_TOOLBAR_EDIT,
wxID_VIEW_TOOLBAR_VIEW,
};
public:
///
/// Creates an EventMonitor frame window
///
/// \param[in] parent The window parent. This may be \c NULL. If it is non-NULL, the frame will always be displayed on top of the parent window on Windows.
/// \param[in] id The window identifier. It may take a value of \c wxID_ANY to indicate a default value.
/// \param[in] title The caption to be displayed on the frame's title bar.
/// \param[in] pos The window position. The value \c wxDefaultPosition indicates a default position, chosen by either the windowing system or wxWidgets, depending on platform.
/// \param[in] size The window size. The value \c wxDefaultSize indicates a default size, chosen by either the windowing system or wxWidgets, depending on platform.
/// \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, long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL, const wxString& name = wxT("EventMonitor"));
///
/// Destructor
///
~wxEventMonitorFrame();
friend class wxPersistentEventMonitorFrame;
protected:
/// \cond internal
void OnExit(wxCommandEvent& event);
void OnEditCopyUpdate(wxUpdateUIEvent& event);
void OnEditCopy(wxCommandEvent& event);
void OnEditCopyAllUpdate(wxUpdateUIEvent& event);
void OnEditCopyAll(wxCommandEvent& event);
void OnEditClearUpdate(wxUpdateUIEvent& event);
void OnEditClear(wxCommandEvent& event);
void OnEditSelectAllUpdate(wxUpdateUIEvent& event);
void OnEditSelectAll(wxCommandEvent& event);
void OnEditSelectNoneUpdate(wxUpdateUIEvent& event);
void OnEditSelectNone(wxCommandEvent& event);
void OnViewScrollUpdate(wxUpdateUIEvent& event);
void OnViewScroll(wxCommandEvent& event);
void OnViewSourceUpdate(wxUpdateUIEvent& event);
void OnViewSource(wxCommandEvent& event);
void OnViewLevelUpdate(wxUpdateUIEvent& event);
void OnViewLevel(wxCommandEvent& event);
void OnViewToolbarUpdate(wxUpdateUIEvent& event);
void OnViewToolbar(wxCommandEvent& event);
/// \endcond
protected:
/// \cond internal
wxMenuBar* m_menubar;
wxMenu* m_menuProgram;
wxMenu* m_menuEdit;
wxMenu* m_menuView;
wxMenuItem* m_menuViewSourceProduct;
wxMenuItem* m_menuViewLevelVerbose;
wxMenuItem* m_menuViewLevelInformation;
wxMenuItem* m_menuViewLevelWarning;
wxMenuItem* m_menuViewLevelError;
wxAuiToolBar* m_toolbarEdit;
wxAuiToolBarItem* m_toolEditCopy;
wxAuiToolBarItem* m_toolEditCopyAll;
wxAuiToolBarItem* m_toolEditClear;
wxAuiToolBar* m_toolbarView;
wxAuiToolBarItem* m_toolViewScrollAuto;
wxAuiToolBarItem* m_toolViewSourceEapHost;
wxAuiToolBarItem* m_toolViewSourceSchannel;
wxAuiToolBarItem* m_toolViewSourceProduct;
wxAuiToolBarItem* m_toolViewLevelVerbose;
wxAuiToolBarItem* m_toolViewLevelInformation;
wxAuiToolBarItem* m_toolViewLevelWarning;
wxAuiToolBarItem* m_toolViewLevelError;
wxStatusBar* m_statusBar;
wxEventMonitorLogPanel* m_panel;
wxAuiManager m_mgr;
/// \endcond
};
///
/// Supports saving/restoring `wxEventMonitorFrame` GUI state
///
class wxPersistentEventMonitorFrame : public wxPersistentTLW
{
public:
///
/// Constructor for a persistent window object
///
/// \param[in] wnd Window this object will save/restore
///
wxPersistentEventMonitorFrame(wxEventMonitorFrame *wnd);
///
/// Saves the object properties
///
virtual void Save() const;
///
/// Restores the object properties
///
/// \returns
/// - \c true if the properties were successfully restored;
/// - \c false otherwise.
///
virtual bool Restore();
};
///
/// Creates persistent window object for `wxETWListCtrl` class window
///
inline wxPersistentObject *wxCreatePersistentObject(wxEventMonitorFrame *wnd)
{
return new wxPersistentEventMonitorFrame(wnd);
}
/// @}

65
EventMonitor/LogPanel.cpp Normal file
View File

@@ -0,0 +1,65 @@
/*
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"
//////////////////////////////////////////////////////////////////////////
// wxEventMonitorLogPanel
//////////////////////////////////////////////////////////////////////////
wxEventMonitorLogPanel::wxEventMonitorLogPanel(wxWindow* parent) : wxEventMonitorLogPanelBase(parent)
{
// Set focus.
m_log->SetFocus();
}
//////////////////////////////////////////////////////////////////////////
// wxPersistentEventMonitorLogPanel
//////////////////////////////////////////////////////////////////////////
wxPersistentEventMonitorLogPanel::wxPersistentEventMonitorLogPanel(wxEventMonitorLogPanel *wnd) : wxPersistentWindow<wxEventMonitorLogPanel>(wnd)
{
}
wxString wxPersistentEventMonitorLogPanel::GetKind() const
{
return wxT(wxPERSIST_TLW_KIND);
}
void wxPersistentEventMonitorLogPanel::Save() const
{
const wxEventMonitorLogPanel * const wnd = static_cast<const wxEventMonitorLogPanel*>(GetWindow());
wxPersistentETWListCtrl(wnd->m_log).Save();
}
bool wxPersistentEventMonitorLogPanel::Restore()
{
wxEventMonitorLogPanel * const wnd = static_cast<wxEventMonitorLogPanel*>(GetWindow());
wxPersistentETWListCtrl(wnd->m_log).Restore();
return true;
}

94
EventMonitor/LogPanel.h Normal file
View File

@@ -0,0 +1,94 @@
/*
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/>.
*/
class wxEventMonitorLogPanel;
class wxPersistentEventMonitorLogPanel;
#pragma once
#include "res/wxEventMonitor_UI.h"
#include <wx/persist/window.h>
/// \addtogroup EventMonitor
/// @{
///
/// EventMonitor trace log panel
///
class wxEventMonitorLogPanel : public wxEventMonitorLogPanelBase
{
public:
///
/// Constructs EventMonitor log panel
///
/// \param[in] parent Parent window. Must not be \c NULL.
///
wxEventMonitorLogPanel(wxWindow* parent);
friend class wxPersistentEventMonitorLogPanel; // Allow saving/restoring window state.
};
///
/// Supports saving/restoring `wxEventMonitorLogPanel` state
///
class wxPersistentEventMonitorLogPanel : public wxPersistentWindow<wxEventMonitorLogPanel>
{
public:
///
/// Constructor for a persistent window object
///
/// \param[in] wnd Window this object will save/restore
///
wxPersistentEventMonitorLogPanel(wxEventMonitorLogPanel *wnd);
///
/// Returns the string uniquely identifying the objects supported by this adapter.
///
/// \returns This implementation always returns `wxT(wxPERSIST_TLW_KIND)`
///
virtual wxString GetKind() const;
///
/// Saves the object properties
///
virtual void Save() const;
///
/// Restores the object properties
///
/// \returns
/// - \c true if the properties were successfully restored;
/// - \c false otherwise.
///
virtual bool Restore();
};
///
/// Creates persistent window object for `wxEventMonitorLogPanel` class window
///
inline wxPersistentObject *wxCreatePersistentObject(wxEventMonitorLogPanel *wnd)
{
return new wxPersistentEventMonitorLogPanel(wnd);
}
/// @}

9
EventMonitor/MSIBuild/.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
/*-1.idt
/*-2.idt
/*-2.idtx
/*.Binary-1
/*.Binary-2
/*.Icon-1
/*.Icon-2
/*.lst
/*.msm

Binary file not shown.

21
EventMonitor/StdAfx.cpp Normal file
View File

@@ -0,0 +1,21 @@
/*
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"

53
EventMonitor/StdAfx.h Normal file
View File

@@ -0,0 +1,53 @@
/*
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/>.
*/
#pragma once
#include "App.h"
#include "ETWLog.h"
#include "Frame.h"
#include "LogPanel.h"
#include "../lib/EAPBase_UI/include/EAP_UI.h"
#include "../include/Version.h"
#include <wxex/common.h>
#include <wxex/object.h>
#include <wxex/persist/auimanager.h>
#include <WinStd/COM.h>
#include <WinStd/ETW.h>
#include <WinStd/Win.h>
#include <Windows.h>
#include <Msi.h>
#include <tchar.h>
#include <in6addr.h>
#include <MSTcpIP.h>
#include <Sddl.h>
#include <tchar.h>
#include <utility>
#include <vector>
#include <set>
#include <EventsETW.h> // Must include after <Windows.h>

2
EventMonitor/locale/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/*.mo
/eventmonitor_*.po

View File

@@ -0,0 +1,270 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2016-11-08 11:55+0100\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.11\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: master/EventMonitor\n"
"X-Poedit-SearchPath-1: ver1.0/EventMonitor\n"
#: master/EventMonitor/App.cpp:61 ver1.0/EventMonitor/App.cpp:61
#: master/EventMonitor/Frame.h:75 ver1.0/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
msgid "Event Monitor"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:83 ver1.0/EventMonitor/ETWLog.cpp:83
#, c-format
msgid "Error opening event trace (error %u)."
msgstr ""
#: master/EventMonitor/ETWLog.cpp:171 ver1.0/EventMonitor/ETWLog.cpp:171
msgid "Time"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:172 ver1.0/EventMonitor/ETWLog.cpp:172
msgid "PID"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:173 ver1.0/EventMonitor/ETWLog.cpp:173
msgid "TID"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:174 ver1.0/EventMonitor/ETWLog.cpp:174
msgid "Source"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:175 ver1.0/EventMonitor/ETWLog.cpp:175
msgid "Event"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:232 ver1.0/EventMonitor/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 ""
#: master/EventMonitor/ETWLog.cpp:235 ver1.0/EventMonitor/ETWLog.cpp:235
#, c-format
msgid "The %s event session already exists."
msgstr ""
#: master/EventMonitor/ETWLog.cpp:239 ver1.0/EventMonitor/ETWLog.cpp:239
#, c-format
msgid "Error creating event session (error %u)."
msgstr ""
#: 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
#, c-format
msgid "Error enabling %s event provider (error %u)."
msgstr ""
#: 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
#, c-format
msgid "Toggles display of %s records"
msgstr ""
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
msgid "E&xit"
msgstr ""
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
msgid "Quits this program"
msgstr ""
#: master/EventMonitor/Frame.cpp:69 ver1.0/EventMonitor/Frame.cpp:69
msgid "&Program"
msgstr ""
#: master/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/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
msgid "Copies selected records to clipboard"
msgstr ""
#: master/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/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
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
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
msgid "Clears all records from the log"
msgstr ""
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
msgid "Select &All"
msgstr ""
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
msgid "Selects all visible records"
msgstr ""
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
msgid "Select &None"
msgstr ""
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/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
msgid "&Edit"
msgstr ""
#: master/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/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
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
msgid "Verbose"
msgstr ""
#: master/EventMonitor/Frame.cpp:123 master/EventMonitor/Frame.cpp:176
#: ver1.0/EventMonitor/Frame.cpp:123 ver1.0/EventMonitor/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
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
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
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
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
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
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
#, c-format
msgid "%s toolbar"
msgstr ""
#: master/EventMonitor/Frame.cpp:142 master/EventMonitor/Frame.cpp:146
#: ver1.0/EventMonitor/Frame.cpp:142 ver1.0/EventMonitor/Frame.cpp:146
#, c-format
msgid "Toggles display of %s toolbar"
msgstr ""
#: 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
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
msgid "&View"
msgstr ""
#: master/EventMonitor/Frame.cpp:154 ver1.0/EventMonitor/Frame.cpp:154
msgid "Copy"
msgstr ""
#: master/EventMonitor/Frame.cpp:156 ver1.0/EventMonitor/Frame.cpp:156
msgid "Copy All"
msgstr ""
#: master/EventMonitor/Frame.cpp:161 ver1.0/EventMonitor/Frame.cpp:161
msgid "Edit"
msgstr ""
#: master/EventMonitor/Frame.cpp:164 ver1.0/EventMonitor/Frame.cpp:164
msgid "Auto Scroll"
msgstr ""
#: master/EventMonitor/Frame.cpp:189 ver1.0/EventMonitor/Frame.cpp:189
msgid "Trace Log"
msgstr ""
#: 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
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
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr ""

View File

@@ -0,0 +1,345 @@
# 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-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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bg_BG\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.8.11\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-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
msgid "Event Monitor"
msgstr "Следене на събития"
#: master/EventMonitor/ETWLog.cpp:83 ver1.0/EventMonitor/ETWLog.cpp:83
#: ver1.1/EventMonitor/ETWLog.cpp:83
#, c-format
msgid "Error opening event trace (error %u)."
msgstr "Грешка при отваряне проследяването на събитие (error %u)."
#: master/EventMonitor/ETWLog.cpp:171 ver1.0/EventMonitor/ETWLog.cpp:171
#: ver1.1/EventMonitor/ETWLog.cpp:171
msgid "Time"
msgstr "Време"
#: master/EventMonitor/ETWLog.cpp:172 ver1.0/EventMonitor/ETWLog.cpp:172
#: ver1.1/EventMonitor/ETWLog.cpp:172
msgid "PID"
msgstr "PID"
#: master/EventMonitor/ETWLog.cpp:173 ver1.0/EventMonitor/ETWLog.cpp:173
#: ver1.1/EventMonitor/ETWLog.cpp:173
msgid "TID"
msgstr "TID"
#: master/EventMonitor/ETWLog.cpp:174 ver1.0/EventMonitor/ETWLog.cpp:174
#: ver1.1/EventMonitor/ETWLog.cpp:174
msgid "Source"
msgstr "Източник"
#: master/EventMonitor/ETWLog.cpp:175 ver1.0/EventMonitor/ETWLog.cpp:175
#: ver1.1/EventMonitor/ETWLog.cpp:175
msgid "Event"
msgstr "Събитие"
#: master/EventMonitor/ETWLog.cpp:232 ver1.0/EventMonitor/ETWLog.cpp:232
#: ver1.1/EventMonitor/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 ""
"Достъпът до създаването сесия на събитие е отказан: необходимо е да имате "
"администраторски права (Run As Administrator) или да бъдете член на групата "
"Performance Log Users, за да стартирате сесия за проследяване на събитие."
#: master/EventMonitor/ETWLog.cpp:235 ver1.0/EventMonitor/ETWLog.cpp:235
#: ver1.1/EventMonitor/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
#, c-format
msgid "Error creating event session (error %u)."
msgstr "Грешка при създаване сесията на събитие (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
#, c-format
msgid "Error enabling %s event provider (error %u)."
msgstr "Грешка при разрешаване %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
#, 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
msgid "E&xit"
msgstr "Из&ход"
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
#: ver1.1/EventMonitor/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
msgid "&Program"
msgstr "&Програма"
#: master/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:73
#: ver1.1/EventMonitor/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
msgid "Copies selected records to clipboard"
msgstr "Копиране на избраните записи в клипборда"
#: master/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/Frame.cpp:78
#: ver1.1/EventMonitor/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
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
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
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
msgid "Select &All"
msgstr "Изберете &всичко"
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
#: ver1.1/EventMonitor/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
msgid "Select &None"
msgstr "Изберете &Нищо"
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
#: ver1.1/EventMonitor/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
msgid "&Edit"
msgstr "&Редактиране"
#: master/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:101
#: ver1.1/EventMonitor/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
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
msgid "Verbose"
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
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
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
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
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
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
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
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
#, 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
#, 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
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
msgid "&View"
msgstr "&Изглед"
#: master/EventMonitor/Frame.cpp:154 ver1.0/EventMonitor/Frame.cpp:154
#: ver1.1/EventMonitor/Frame.cpp:154
msgid "Copy"
msgstr "Копиране"
#: master/EventMonitor/Frame.cpp:156 ver1.0/EventMonitor/Frame.cpp:156
#: ver1.1/EventMonitor/Frame.cpp:156
msgid "Copy All"
msgstr "Копиране на всичко"
#: master/EventMonitor/Frame.cpp:161 ver1.0/EventMonitor/Frame.cpp:161
#: ver1.1/EventMonitor/Frame.cpp:161
msgid "Edit"
msgstr "Редактиране"
#: master/EventMonitor/Frame.cpp:164 ver1.0/EventMonitor/Frame.cpp:164
#: ver1.1/EventMonitor/Frame.cpp:164
msgid "Auto Scroll"
msgstr "Автоматичен скрол"
#: master/EventMonitor/Frame.cpp:189 ver1.0/EventMonitor/Frame.cpp:189
#: ver1.1/EventMonitor/Frame.cpp:189
msgid "Trace Log"
msgstr "Лог с проследяване"
#: 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
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
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr "EVENTM~1|GÉANTLink следене на събитие"

View File

@@ -0,0 +1,346 @@
# 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-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"
"Content-Type: text/plain; charset=UTF-8\n"
"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-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-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
msgid "Event Monitor"
msgstr "Monitor de Successos"
#: master/EventMonitor/ETWLog.cpp:83 ver1.0/EventMonitor/ETWLog.cpp:83
#: ver1.1/EventMonitor/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
msgid "Time"
msgstr "Temps"
#: master/EventMonitor/ETWLog.cpp:172 ver1.0/EventMonitor/ETWLog.cpp:172
#: ver1.1/EventMonitor/ETWLog.cpp:172
msgid "PID"
msgstr "PID"
#: master/EventMonitor/ETWLog.cpp:173 ver1.0/EventMonitor/ETWLog.cpp:173
#: ver1.1/EventMonitor/ETWLog.cpp:173
msgid "TID"
msgstr "TID"
#: master/EventMonitor/ETWLog.cpp:174 ver1.0/EventMonitor/ETWLog.cpp:174
#: ver1.1/EventMonitor/ETWLog.cpp:174
msgid "Source"
msgstr "Font"
#: master/EventMonitor/ETWLog.cpp:175 ver1.0/EventMonitor/ETWLog.cpp:175
#: ver1.1/EventMonitor/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
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 ""
"Accés denegat creant sessió de successos: necessiteu privilegis "
"administratius (Executa com Administrador) o bé ser membre del grup "
"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
#, 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
#, 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
#, 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
#, 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
msgid "E&xit"
msgstr "S&ortida"
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
#: ver1.1/EventMonitor/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
msgid "&Program"
msgstr "&Programa"
#: master/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:73
#: ver1.1/EventMonitor/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
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
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
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
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
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
msgid "Select &All"
msgstr "Selecciona-ho &Tot"
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
#: ver1.1/EventMonitor/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
msgid "Select &None"
msgstr "&Esborrar selecció"
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
#: ver1.1/EventMonitor/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
msgid "&Edit"
msgstr "&Edita"
#: master/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:101
#: ver1.1/EventMonitor/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
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
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
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
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
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
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
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
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
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
#, 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
#, 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
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
msgid "&View"
msgstr "&Vista"
#: master/EventMonitor/Frame.cpp:154 ver1.0/EventMonitor/Frame.cpp:154
#: ver1.1/EventMonitor/Frame.cpp:154
msgid "Copy"
msgstr "Copia"
#: master/EventMonitor/Frame.cpp:156 ver1.0/EventMonitor/Frame.cpp:156
#: ver1.1/EventMonitor/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
msgid "Edit"
msgstr "Edita"
#: master/EventMonitor/Frame.cpp:164 ver1.0/EventMonitor/Frame.cpp:164
#: ver1.1/EventMonitor/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
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
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
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr "EVENTM~1|GÉANTLink Monitor de successos"

View File

@@ -0,0 +1,339 @@
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2017-02-02 18:14+0100\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"
"Content-Transfer-Encoding: 8bit\n"
"Language: cs_CZ\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
"X-Generator: Poedit 1.8.11\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-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
msgid "Event Monitor"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:83 ver1.0/EventMonitor/ETWLog.cpp:83
#: ver1.1/EventMonitor/ETWLog.cpp:83
#, c-format
msgid "Error opening event trace (error %u)."
msgstr ""
#: master/EventMonitor/ETWLog.cpp:171 ver1.0/EventMonitor/ETWLog.cpp:171
#: ver1.1/EventMonitor/ETWLog.cpp:171
msgid "Time"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:172 ver1.0/EventMonitor/ETWLog.cpp:172
#: ver1.1/EventMonitor/ETWLog.cpp:172
msgid "PID"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:173 ver1.0/EventMonitor/ETWLog.cpp:173
#: ver1.1/EventMonitor/ETWLog.cpp:173
msgid "TID"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:174 ver1.0/EventMonitor/ETWLog.cpp:174
#: ver1.1/EventMonitor/ETWLog.cpp:174
msgid "Source"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:175 ver1.0/EventMonitor/ETWLog.cpp:175
#: ver1.1/EventMonitor/ETWLog.cpp:175
msgid "Event"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:232 ver1.0/EventMonitor/ETWLog.cpp:232
#: ver1.1/EventMonitor/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 ""
#: master/EventMonitor/ETWLog.cpp:235 ver1.0/EventMonitor/ETWLog.cpp:235
#: ver1.1/EventMonitor/ETWLog.cpp:235
#, c-format
msgid "The %s event session already exists."
msgstr ""
#: master/EventMonitor/ETWLog.cpp:239 ver1.0/EventMonitor/ETWLog.cpp:239
#: ver1.1/EventMonitor/ETWLog.cpp:239
#, c-format
msgid "Error creating event session (error %u)."
msgstr ""
#: 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
#, c-format
msgid "Error enabling %s event provider (error %u)."
msgstr ""
#: 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
#, c-format
msgid "Toggles display of %s records"
msgstr ""
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
#: ver1.1/EventMonitor/Frame.cpp:65
msgid "E&xit"
msgstr ""
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
#: ver1.1/EventMonitor/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
msgid "&Program"
msgstr ""
#: master/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:73
#: ver1.1/EventMonitor/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
msgid "Copies selected records to clipboard"
msgstr ""
#: master/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/Frame.cpp:78
#: ver1.1/EventMonitor/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
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
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
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
msgid "Select &All"
msgstr ""
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
#: ver1.1/EventMonitor/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
msgid "Select &None"
msgstr ""
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
#: ver1.1/EventMonitor/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
msgid "&Edit"
msgstr ""
#: master/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:101
#: ver1.1/EventMonitor/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
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
msgid "Verbose"
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
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
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
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
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
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
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
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
#, c-format
msgid "%s toolbar"
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
#, c-format
msgid "Toggles display of %s toolbar"
msgstr ""
#: 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
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
msgid "&View"
msgstr ""
#: master/EventMonitor/Frame.cpp:154 ver1.0/EventMonitor/Frame.cpp:154
#: ver1.1/EventMonitor/Frame.cpp:154
msgid "Copy"
msgstr ""
#: master/EventMonitor/Frame.cpp:156 ver1.0/EventMonitor/Frame.cpp:156
#: ver1.1/EventMonitor/Frame.cpp:156
msgid "Copy All"
msgstr ""
#: master/EventMonitor/Frame.cpp:161 ver1.0/EventMonitor/Frame.cpp:161
#: ver1.1/EventMonitor/Frame.cpp:161
msgid "Edit"
msgstr ""
#: master/EventMonitor/Frame.cpp:164 ver1.0/EventMonitor/Frame.cpp:164
#: ver1.1/EventMonitor/Frame.cpp:164
msgid "Auto Scroll"
msgstr ""
#: master/EventMonitor/Frame.cpp:189 ver1.0/EventMonitor/Frame.cpp:189
#: ver1.1/EventMonitor/Frame.cpp:189
msgid "Trace Log"
msgstr ""
#: 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
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
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr ""

View File

@@ -0,0 +1,339 @@
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2017-02-02 18:14+0100\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"
"Content-Transfer-Encoding: 8bit\n"
"Language: cy\n"
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"
"X-Generator: Poedit 1.8.11\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-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
msgid "Event Monitor"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:83 ver1.0/EventMonitor/ETWLog.cpp:83
#: ver1.1/EventMonitor/ETWLog.cpp:83
#, c-format
msgid "Error opening event trace (error %u)."
msgstr ""
#: master/EventMonitor/ETWLog.cpp:171 ver1.0/EventMonitor/ETWLog.cpp:171
#: ver1.1/EventMonitor/ETWLog.cpp:171
msgid "Time"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:172 ver1.0/EventMonitor/ETWLog.cpp:172
#: ver1.1/EventMonitor/ETWLog.cpp:172
msgid "PID"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:173 ver1.0/EventMonitor/ETWLog.cpp:173
#: ver1.1/EventMonitor/ETWLog.cpp:173
msgid "TID"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:174 ver1.0/EventMonitor/ETWLog.cpp:174
#: ver1.1/EventMonitor/ETWLog.cpp:174
msgid "Source"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:175 ver1.0/EventMonitor/ETWLog.cpp:175
#: ver1.1/EventMonitor/ETWLog.cpp:175
msgid "Event"
msgstr ""
#: master/EventMonitor/ETWLog.cpp:232 ver1.0/EventMonitor/ETWLog.cpp:232
#: ver1.1/EventMonitor/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 ""
#: master/EventMonitor/ETWLog.cpp:235 ver1.0/EventMonitor/ETWLog.cpp:235
#: ver1.1/EventMonitor/ETWLog.cpp:235
#, c-format
msgid "The %s event session already exists."
msgstr ""
#: master/EventMonitor/ETWLog.cpp:239 ver1.0/EventMonitor/ETWLog.cpp:239
#: ver1.1/EventMonitor/ETWLog.cpp:239
#, c-format
msgid "Error creating event session (error %u)."
msgstr ""
#: 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
#, c-format
msgid "Error enabling %s event provider (error %u)."
msgstr ""
#: 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
#, c-format
msgid "Toggles display of %s records"
msgstr ""
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
#: ver1.1/EventMonitor/Frame.cpp:65
msgid "E&xit"
msgstr ""
#: master/EventMonitor/Frame.cpp:65 ver1.0/EventMonitor/Frame.cpp:65
#: ver1.1/EventMonitor/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
msgid "&Program"
msgstr ""
#: master/EventMonitor/Frame.cpp:73 ver1.0/EventMonitor/Frame.cpp:73
#: ver1.1/EventMonitor/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
msgid "Copies selected records to clipboard"
msgstr ""
#: master/EventMonitor/Frame.cpp:78 ver1.0/EventMonitor/Frame.cpp:78
#: ver1.1/EventMonitor/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
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
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
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
msgid "Select &All"
msgstr ""
#: master/EventMonitor/Frame.cpp:90 ver1.0/EventMonitor/Frame.cpp:90
#: ver1.1/EventMonitor/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
msgid "Select &None"
msgstr ""
#: master/EventMonitor/Frame.cpp:94 ver1.0/EventMonitor/Frame.cpp:94
#: ver1.1/EventMonitor/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
msgid "&Edit"
msgstr ""
#: master/EventMonitor/Frame.cpp:101 ver1.0/EventMonitor/Frame.cpp:101
#: ver1.1/EventMonitor/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
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
msgid "Verbose"
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
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
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
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
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
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
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
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
#, c-format
msgid "%s toolbar"
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
#, c-format
msgid "Toggles display of %s toolbar"
msgstr ""
#: 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
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
msgid "&View"
msgstr ""
#: master/EventMonitor/Frame.cpp:154 ver1.0/EventMonitor/Frame.cpp:154
#: ver1.1/EventMonitor/Frame.cpp:154
msgid "Copy"
msgstr ""
#: master/EventMonitor/Frame.cpp:156 ver1.0/EventMonitor/Frame.cpp:156
#: ver1.1/EventMonitor/Frame.cpp:156
msgid "Copy All"
msgstr ""
#: master/EventMonitor/Frame.cpp:161 ver1.0/EventMonitor/Frame.cpp:161
#: ver1.1/EventMonitor/Frame.cpp:161
msgid "Edit"
msgstr ""
#: master/EventMonitor/Frame.cpp:164 ver1.0/EventMonitor/Frame.cpp:164
#: ver1.1/EventMonitor/Frame.cpp:164
msgid "Auto Scroll"
msgstr ""
#: master/EventMonitor/Frame.cpp:189 ver1.0/EventMonitor/Frame.cpp:189
#: ver1.1/EventMonitor/Frame.cpp:189
msgid "Trace Log"
msgstr ""
#: 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
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
msgid "EVENTM~1|GÉANTLink Event Monitor"
msgstr ""

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