diff --git a/EAPMethods/EAPTTLS/EAPTTLS.vcxproj b/EAPMethods/EAPTTLS/EAPTTLS.vcxproj index 7d63be6..aba09d7 100644 --- a/EAPMethods/EAPTTLS/EAPTTLS.vcxproj +++ b/EAPMethods/EAPTTLS/EAPTTLS.vcxproj @@ -103,6 +103,9 @@ {d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b} + + {114a70bb-8698-4a0c-8c90-58f22edd8129} + {86a6d6a0-4b7d-4134-be81-a5755c77584d} diff --git a/EAPMethods/EAPTTLSUI/EAPTTLSUI.vcxproj b/EAPMethods/EAPTTLSUI/EAPTTLSUI.vcxproj index 3a8beaa..c91a9c2 100644 --- a/EAPMethods/EAPTTLSUI/EAPTTLSUI.vcxproj +++ b/EAPMethods/EAPTTLSUI/EAPTTLSUI.vcxproj @@ -109,6 +109,12 @@ {d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b} + + {114a70bb-8698-4a0c-8c90-58f22edd8129} + + + {34680813-3a52-46fb-b5a8-1e4bbf770855} + {86a6d6a0-4b7d-4134-be81-a5755c77584d} diff --git a/EAPMethods/locale/EAPMethods.pot b/EAPMethods/locale/EAPMethods.pot index c7f2853..7fa751b 100644 --- a/EAPMethods/locale/EAPMethods.pot +++ b/EAPMethods/locale/EAPMethods.pot @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: EAPMethods\n" -"POT-Creation-Date: 2016-12-07 13:55+0100\n" +"POT-Creation-Date: 2017-01-30 13:34+0100\n" "PO-Revision-Date: 2016-06-02 12:27+0200\n" "Last-Translator: Simon Rozman \n" "Language-Team: Amebis, d. o. o., Kamnik \n" @@ -15,68 +15,87 @@ msgstr "" "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-2: master/lib/MSCHAPv2_UI\n" -"X-Poedit-SearchPath-3: master/lib/PAP_UI\n" -"X-Poedit-SearchPath-4: master/lib/TLS_UI\n" -"X-Poedit-SearchPath-5: master/lib/TTLS_UI\n" -"X-Poedit-SearchPath-6: master/EAPMethods\n" -"X-Poedit-SearchPath-7: ver1.0/lib/EAPBase_UI\n" -"X-Poedit-SearchPath-8: ver1.0/lib/MSCHAPv2_UI\n" -"X-Poedit-SearchPath-9: ver1.0/lib/PAP_UI\n" -"X-Poedit-SearchPath-10: ver1.0/lib/TLS_UI\n" -"X-Poedit-SearchPath-11: ver1.0/lib/TTLS_UI\n" -"X-Poedit-SearchPath-12: ver1.0/EAPMethods\n" +"X-Poedit-SearchPath-2: master/lib/GTC_UI\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-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-20: ver1.0/EAPMethods\n" #: 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:229 #: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:229 +#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:229 #: master/lib/EAPBase_UI/include/EAP_UI.h:665 #: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:605 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:665 #, c-format msgid "%s User Credentials" 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 "" @@ -84,21 +103,26 @@ msgstr "" #: 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." @@ -108,6 +132,8 @@ msgstr "" #: 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 "" @@ -115,503 +141,621 @@ msgstr "" #: 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 #: 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 #: 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:424 #: 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:435 #: 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:442 #: 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:447 #: 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:451 #: 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:461 #: 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:471 #: 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:478 #: 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:482 #: 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:489 #: 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:493 #: 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:500 #: 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:528 #: 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:539 #: 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:546 #: 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:550 #: 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 "" #: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:550 #: ver1.0/lib/EAPBase_UI/res/wxEAP_UI.cpp:550 +#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.cpp:550 msgid "urn:uuid" msgstr "" #: master/lib/EAPBase_UI/res/wxEAP_UI.cpp:562 #: 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:567 #: 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:592 #: 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:603 #: 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:610 #: 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:613 #: 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/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/res/wxGTC_UI.cpp:17 +msgid "GTC Settings" +msgstr "" + +#: master/lib/GTC_UI/res/wxGTC_UI.cpp:28 +msgid "This method requires no additional configuration." +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:59 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:59 +#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:59 msgid "Removes selected certificate authorities from the list" msgstr "" #: master/lib/TLS_UI/res/wxTLS_UI.cpp:72 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:72 +#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:72 msgid "Acceptable server &names:" msgstr "" #: master/lib/TLS_UI/res/wxTLS_UI.cpp:77 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:77 +#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:77 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:81 ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:81 +#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:81 msgid "(Example: foo.bar.com;server2.bar.com)" msgstr "" #: master/lib/TLS_UI/res/wxTLS_UI.cpp:119 master/lib/TLS_UI/src/TLS_UI.cpp:325 #: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:119 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:317 +#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:119 ver1.1/lib/TLS_UI/src/TLS_UI.cpp:325 msgid "User Certificate" msgstr "" #: master/lib/TLS_UI/res/wxTLS_UI.cpp:129 #: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:129 +#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:129 msgid "Please select your &certificate to use for authentication." msgstr "" #: master/lib/TLS_UI/res/wxTLS_UI.cpp:136 #: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:136 +#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:136 msgid "Client certificate to use for authentication" msgstr "" #: master/lib/TLS_UI/res/wxTLS_UI.cpp:143 #: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:143 +#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:143 msgid "Custom &identity:" msgstr "" #: master/lib/TLS_UI/res/wxTLS_UI.cpp:148 #: ver1.0/lib/TLS_UI/res/wxTLS_UI.cpp:148 +#: ver1.1/lib/TLS_UI/res/wxTLS_UI.cpp:148 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:61 ver1.0/lib/TLS_UI/src/TLS_UI.cpp:59 +#: ver1.1/lib/TLS_UI/src/TLS_UI.cpp:61 #: master/lib/EAPBase_UI/include/EAP_UI.h:861 #: master/lib/EAPBase_UI/include/EAP_UI.h:870 #: 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:861 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:870 msgid "" 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 (RFC 4822)" 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:262 master/lib/TTLS_UI/src/Module.cpp:318 #: ver1.0/lib/TTLS_UI/src/Module.cpp:274 ver1.0/lib/TTLS_UI/src/Module.cpp:284 +#: ver1.1/lib/TTLS_UI/src/Module.cpp:262 ver1.1/lib/TTLS_UI/src/Module.cpp:318 #: master/lib/EAPBase_UI/include/EAP_UI.h:784 #: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:724 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:784 #, c-format msgid "Error writing credentials to Credential Manager: %hs (error %u)" msgstr "" #: master/lib/TTLS_UI/src/Module.cpp:264 master/lib/TTLS_UI/src/Module.cpp:320 #: ver1.0/lib/TTLS_UI/src/Module.cpp:276 ver1.0/lib/TTLS_UI/src/Module.cpp:286 +#: ver1.1/lib/TTLS_UI/src/Module.cpp:264 ver1.1/lib/TTLS_UI/src/Module.cpp:320 #: master/lib/EAPBase_UI/include/EAP_UI.h:787 #: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:727 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:787 msgid "Writing credentials failed." msgstr "" -#: master/lib/TTLS_UI/src/Module.cpp:355 +#: master/lib/TTLS_UI/src/Module.cpp:355 ver1.1/lib/TTLS_UI/src/Module.cpp:355 #, c-format msgid "Invoking EAP identity UI failed (error %u, %s, %s)." msgstr "" -#: master/lib/TTLS_UI/src/Module.cpp:357 +#: master/lib/TTLS_UI/src/Module.cpp:357 ver1.1/lib/TTLS_UI/src/Module.cpp:357 #, c-format msgid "Invoking EAP identity UI failed (error %u)." msgstr "" -#: master/lib/TTLS_UI/src/TTLS_UI.cpp:117 ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:36 +#: 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:123 +#: 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:125 +#: 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 "" -#: master/lib/TTLS_UI/src/TTLS_UI.cpp:127 +#: 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 "" -#: master/lib/TTLS_UI/src/TTLS_UI.cpp:129 +#: master/lib/TTLS_UI/src/TTLS_UI.cpp:130 +#: ver1.1/lib/TTLS_UI/src/TTLS_UI.cpp:129 msgid "EAP-MSCHAPv2" msgstr "" #: master/lib/TTLS_UI/src/TTLS_UI.cpp:132 +msgid "EAP-GTC" +msgstr "" + +#: 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:138 ver1.0/lib/TTLS_UI/src/TTLS_UI.cpp:61 +#: 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 "" @@ -621,39 +765,47 @@ msgstr "" #: 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.1/lib/EAPBase_UI/include/EAP_UI.h:362 +#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:119 msgid "EAP Credentials" msgstr "" #: master/lib/EAPBase_UI/include/EAP_UI.h:284 #: 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:284 #: 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:632 #: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:576 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:632 msgid "Provider Settings" msgstr "" #: master/lib/EAPBase_UI/include/EAP_UI.h:807 #: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:747 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:807 #, c-format msgid "Deleting credentials failed (error %u)." msgstr "" #: master/lib/EAPBase_UI/include/EAP_UI.h:846 #: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:788 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:846 #, c-format msgid "" msgstr "" #: master/lib/EAPBase_UI/include/EAP_UI.h:850 #: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:792 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:850 msgid "" msgstr "" @@ -661,30 +813,37 @@ msgstr "" #: master/lib/EAPBase_UI/include/EAP_UI.h:870 #: 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:861 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:870 msgid "" msgstr "" #: master/lib/EAPBase_UI/include/EAP_UI.h:910 #: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:854 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:910 msgid "&Remember" msgstr "" #: master/lib/EAPBase_UI/include/EAP_UI.h:911 #: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:855 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:911 msgid "Check if you would like to save credentials" msgstr "" #: master/lib/EAPBase_UI/include/EAP_UI.h:1069 #: ver1.0/lib/EAPBase_UI/include/EAP_UI.h:1000 +#: ver1.1/lib/EAPBase_UI/include/EAP_UI.h:1069 msgid "" 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:314 +#: ver1.1/lib/EAPBase_UI/res/wxEAP_UI.h:314 msgid "EAP Identity Provider" msgstr "" @@ -696,6 +855,10 @@ msgstr "" #: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4 #: ver1.0/EAPMethods/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4 #: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4 +#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4 +#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4 +#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4 +#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4 msgid "EAP Methods" msgstr "" @@ -707,6 +870,10 @@ msgstr "" #: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4 #: ver1.0/EAPMethods/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4 #: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4 +#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4 +#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4 +#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Debug.Feature-2.idtx:4 +#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:4 msgid "Modules to support individual EAP methods" msgstr "" @@ -718,6 +885,10 @@ msgstr "" #: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5 #: ver1.0/EAPMethods/MSIBuild/en_US.x64.Debug.Feature-2.idtx:5 #: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5 +#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:5 +#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5 +#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Debug.Feature-2.idtx:5 +#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5 msgid "TTLS" msgstr "" @@ -729,5 +900,9 @@ msgstr "" #: ver1.0/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5 #: ver1.0/EAPMethods/MSIBuild/en_US.x64.Debug.Feature-2.idtx:5 #: ver1.0/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5 +#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Debug.Feature-2.idtx:5 +#: ver1.1/EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:5 +#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Debug.Feature-2.idtx:5 +#: ver1.1/EAPMethods/MSIBuild/en_US.x64.Release.Feature-2.idtx:5 msgid "Tunneled Transport Layer Security" msgstr "" diff --git a/EventMonitor/locale/EventMonitor.pot b/EventMonitor/locale/EventMonitor.pot index 279d794..45f0d30 100644 --- a/EventMonitor/locale/EventMonitor.pot +++ b/EventMonitor/locale/EventMonitor.pot @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: EventMonitor\n" -"POT-Creation-Date: 2016-11-08 11:55+0100\n" +"POT-Creation-Date: 2017-01-30 13:35+0100\n" "PO-Revision-Date: 2016-06-02 12:27+0200\n" "Last-Translator: Simon Rozman \n" "Language-Team: Amebis, d. o. o., Kamnik \n" @@ -16,10 +16,12 @@ msgstr "" "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" +"X-Poedit-SearchPath-1: ver1.1/EventMonitor\n" +"X-Poedit-SearchPath-2: 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 +#: 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 @@ -28,44 +30,57 @@ msgstr "" #: 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 "" @@ -73,6 +88,8 @@ 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 "" @@ -82,128 +99,157 @@ msgstr "" #: 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 "" @@ -211,31 +257,39 @@ 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 "" @@ -255,6 +309,14 @@ msgstr "" #: 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 "" @@ -266,5 +328,9 @@ msgstr "" #: 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 "" diff --git a/MSI/Base/locale/MSIBase.pot b/MSI/Base/locale/MSIBase.pot index 0078670..e006961 100644 --- a/MSI/Base/locale/MSIBase.pot +++ b/MSI/Base/locale/MSIBase.pot @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: GÉANTLink MSI\n" -"POT-Creation-Date: 2016-11-08 11:55+0100\n" +"POT-Creation-Date: 2017-01-30 13:35+0100\n" "PO-Revision-Date: 2016-06-02 12:27+0200\n" "Last-Translator: Simon Rozman \n" "Language-Team: Amebis, d. o. o., Kamnik \n" @@ -16,7 +16,8 @@ msgstr "" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: _\n" "X-Poedit-SearchPath-0: master/MSI/Base/Main\n" -"X-Poedit-SearchPath-1: ver1.0/MSI/Base/Main\n" +"X-Poedit-SearchPath-1: ver1.1/MSI/Base/Main\n" +"X-Poedit-SearchPath-2: ver1.0/MSI/Base/Main\n" #: master/MSI/Base/Main/en_US.Win32.Debug.LaunchCondition-2.idtx:4 #: master/MSI/Base/Main/en_US.Win32.Release.LaunchCondition-2.idtx:4 @@ -26,6 +27,10 @@ msgstr "" #: ver1.0/MSI/Base/Main/en_US.Win32.Release.LaunchCondition-2.idtx:4 #: ver1.0/MSI/Base/Main/en_US.x64.Debug.LaunchCondition-2.idtx:4 #: ver1.0/MSI/Base/Main/en_US.x64.Release.LaunchCondition-2.idtx:4 +#: ver1.1/MSI/Base/Main/en_US.Win32.Debug.LaunchCondition-2.idtx:4 +#: ver1.1/MSI/Base/Main/en_US.Win32.Release.LaunchCondition-2.idtx:4 +#: ver1.1/MSI/Base/Main/en_US.x64.Debug.LaunchCondition-2.idtx:4 +#: ver1.1/MSI/Base/Main/en_US.x64.Release.LaunchCondition-2.idtx:4 msgid "[ProductName] requires Windows Vista or later version of Windows." msgstr "" @@ -45,6 +50,14 @@ msgstr "" #: ver1.0/MSI/Base/Main/en_US.x64.Debug.Property-2.idtx:5 #: ver1.0/MSI/Base/Main/en_US.x64.Release.Property-2.idtx:4 #: ver1.0/MSI/Base/Main/en_US.x64.Release.Property-2.idtx:5 +#: ver1.1/MSI/Base/Main/en_US.Win32.Debug.Property-2.idtx:4 +#: ver1.1/MSI/Base/Main/en_US.Win32.Debug.Property-2.idtx:5 +#: ver1.1/MSI/Base/Main/en_US.Win32.Release.Property-2.idtx:4 +#: ver1.1/MSI/Base/Main/en_US.Win32.Release.Property-2.idtx:5 +#: ver1.1/MSI/Base/Main/en_US.x64.Debug.Property-2.idtx:4 +#: ver1.1/MSI/Base/Main/en_US.x64.Debug.Property-2.idtx:5 +#: ver1.1/MSI/Base/Main/en_US.x64.Release.Property-2.idtx:4 +#: ver1.1/MSI/Base/Main/en_US.x64.Release.Property-2.idtx:5 msgid "http://www.geant.org/" msgstr "" @@ -56,5 +69,9 @@ msgstr "" #: ver1.0/MSI/Base/Main/en_US.Win32.Release.Property-2.idtx:6 #: ver1.0/MSI/Base/Main/en_US.x64.Debug.Property-2.idtx:6 #: ver1.0/MSI/Base/Main/en_US.x64.Release.Property-2.idtx:6 +#: ver1.1/MSI/Base/Main/en_US.Win32.Debug.Property-2.idtx:6 +#: ver1.1/MSI/Base/Main/en_US.Win32.Release.Property-2.idtx:6 +#: ver1.1/MSI/Base/Main/en_US.x64.Debug.Property-2.idtx:6 +#: ver1.1/MSI/Base/Main/en_US.x64.Release.Property-2.idtx:6 msgid "https://github.com/Amebis/GEANTLink/releases" msgstr "" diff --git a/VS10Solution.sln b/VS10Solution.sln index 59358c1..004f58a 100644 --- a/VS10Solution.sln +++ b/VS10Solution.sln @@ -55,6 +55,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EapHost", "lib\EapHost\buil EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EapHost_UI", "lib\EapHost_UI\build\EapHost_UI.vcxproj", "{13D2D8B5-F6AA-459D-B5F7-29B95DD9D583}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GTC", "lib\GTC\build\GTC.vcxproj", "{114A70BB-8698-4A0C-8C90-58F22EDD8129}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GTC_UI", "lib\GTC_UI\build\GTC_UI.vcxproj", "{34680813-3A52-46FB-B5A8-1E4BBF770855}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -231,6 +235,22 @@ Global {13D2D8B5-F6AA-459D-B5F7-29B95DD9D583}.Release|Win32.Build.0 = Release|Win32 {13D2D8B5-F6AA-459D-B5F7-29B95DD9D583}.Release|x64.ActiveCfg = Release|x64 {13D2D8B5-F6AA-459D-B5F7-29B95DD9D583}.Release|x64.Build.0 = Release|x64 + {114A70BB-8698-4A0C-8C90-58F22EDD8129}.Debug|Win32.ActiveCfg = Debug|Win32 + {114A70BB-8698-4A0C-8C90-58F22EDD8129}.Debug|Win32.Build.0 = Debug|Win32 + {114A70BB-8698-4A0C-8C90-58F22EDD8129}.Debug|x64.ActiveCfg = Debug|x64 + {114A70BB-8698-4A0C-8C90-58F22EDD8129}.Debug|x64.Build.0 = Debug|x64 + {114A70BB-8698-4A0C-8C90-58F22EDD8129}.Release|Win32.ActiveCfg = Release|Win32 + {114A70BB-8698-4A0C-8C90-58F22EDD8129}.Release|Win32.Build.0 = Release|Win32 + {114A70BB-8698-4A0C-8C90-58F22EDD8129}.Release|x64.ActiveCfg = Release|x64 + {114A70BB-8698-4A0C-8C90-58F22EDD8129}.Release|x64.Build.0 = Release|x64 + {34680813-3A52-46FB-B5A8-1E4BBF770855}.Debug|Win32.ActiveCfg = Debug|Win32 + {34680813-3A52-46FB-B5A8-1E4BBF770855}.Debug|Win32.Build.0 = Debug|Win32 + {34680813-3A52-46FB-B5A8-1E4BBF770855}.Debug|x64.ActiveCfg = Debug|x64 + {34680813-3A52-46FB-B5A8-1E4BBF770855}.Debug|x64.Build.0 = Debug|x64 + {34680813-3A52-46FB-B5A8-1E4BBF770855}.Release|Win32.ActiveCfg = Release|Win32 + {34680813-3A52-46FB-B5A8-1E4BBF770855}.Release|Win32.Build.0 = Release|Win32 + {34680813-3A52-46FB-B5A8-1E4BBF770855}.Release|x64.ActiveCfg = Release|x64 + {34680813-3A52-46FB-B5A8-1E4BBF770855}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -253,6 +273,8 @@ Global {7AF5B922-7C17-428A-97E0-09E3B41A684D} = {E66A3FE1-4EE4-401F-8EAD-BE518B230393} {B385EC2B-C3F4-48BB-9BAC-8B996DE7F754} = {E66A3FE1-4EE4-401F-8EAD-BE518B230393} {13D2D8B5-F6AA-459D-B5F7-29B95DD9D583} = {E66A3FE1-4EE4-401F-8EAD-BE518B230393} + {114A70BB-8698-4A0C-8C90-58F22EDD8129} = {E66A3FE1-4EE4-401F-8EAD-BE518B230393} + {34680813-3A52-46FB-B5A8-1E4BBF770855} = {E66A3FE1-4EE4-401F-8EAD-BE518B230393} {2D3CE079-7EB1-4F47-B79E-F0310671ECCB} = {7B5EC9B7-208C-426A-941D-DAF9271BD4A4} {679D03C5-CD70-4FFA-93F8-A4AB3637509B} = {7B5EC9B7-208C-426A-941D-DAF9271BD4A4} {E0D0725B-B2FC-4225-9481-CA9B1B6306F2} = {7B5EC9B7-208C-426A-941D-DAF9271BD4A4} diff --git a/WLANManager/locale/WLANManager.pot b/WLANManager/locale/WLANManager.pot index 356900a..3cfc918 100644 --- a/WLANManager/locale/WLANManager.pot +++ b/WLANManager/locale/WLANManager.pot @@ -16,7 +16,8 @@ msgstr "" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: _\n" "X-Poedit-SearchPath-0: master/WLANManager\n" -"X-Poedit-SearchPath-1: ver1.0/WLANManager\n" +"X-Poedit-SearchPath-1: ver1.1/WLANManager\n" +"X-Poedit-SearchPath-2: ver1.0/WLANManager\n" #: MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4 #: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4 diff --git a/lib/GTC/build/.gitignore b/lib/GTC/build/.gitignore new file mode 100644 index 0000000..9c8716a --- /dev/null +++ b/lib/GTC/build/.gitignore @@ -0,0 +1,2 @@ +/temp +/*.user diff --git a/lib/GTC/build/GTC.props b/lib/GTC/build/GTC.props new file mode 100644 index 0000000..4997b71 --- /dev/null +++ b/lib/GTC/build/GTC.props @@ -0,0 +1,12 @@ + + + + + + + + ..\..\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\..\WinStd\include;%(AdditionalIncludeDirectories) + + + + \ No newline at end of file diff --git a/lib/GTC/build/GTC.vcxproj b/lib/GTC/build/GTC.vcxproj new file mode 100644 index 0000000..c96fd13 --- /dev/null +++ b/lib/GTC/build/GTC.vcxproj @@ -0,0 +1,104 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {114A70BB-8698-4A0C-8C90-58F22EDD8129} + GTC + + + + StaticLibrary + true + Unicode + + + StaticLibrary + true + Unicode + + + StaticLibrary + false + true + Unicode + + + StaticLibrary + false + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + + + + + {d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b} + + + + + + \ No newline at end of file diff --git a/lib/GTC/build/GTC.vcxproj.filters b/lib/GTC/build/GTC.vcxproj.filters new file mode 100644 index 0000000..8b77249 --- /dev/null +++ b/lib/GTC/build/GTC.vcxproj.filters @@ -0,0 +1,35 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/lib/GTC/include/Config.h b/lib/GTC/include/Config.h new file mode 100644 index 0000000..8e72da9 --- /dev/null +++ b/lib/GTC/include/Config.h @@ -0,0 +1,110 @@ +/* + 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 . +*/ + +#include + +namespace eap +{ + class config_method_eapgtc; +} + +#pragma once + +#include "../../EAPBase/include/Config.h" + +#include +#include +#include + + +namespace eap +{ + /// \addtogroup EAPBaseConfig + /// @{ + + /// + /// EAP-GTC configuration + /// + class config_method_eapgtc : public config_method + { + public: + /// + /// Constructs configuration + /// + /// \param[in] mod EAP module to use for global services + /// \param[in] level Config level (0=outer, 1=inner, 2=inner-inner...) + /// + config_method_eapgtc(_In_ module &mod, _In_ unsigned int level); + + /// + /// Copies configuration + /// + /// \param[in] other Configuration to copy from + /// + config_method_eapgtc(_In_ const config_method_eapgtc &other); + + /// + /// Moves configuration + /// + /// \param[in] other Configuration to move from + /// + config_method_eapgtc(_Inout_ config_method_eapgtc &&other); + + /// + /// Copies configuration + /// + /// \param[in] other Configuration to copy from + /// + /// \returns Reference to this object + /// + config_method_eapgtc& operator=(_In_ const config_method_eapgtc &other); + + /// + /// Moves configuration + /// + /// \param[in] other Configuration to move from + /// + /// \returns Reference to this object + /// + config_method_eapgtc& operator=(_Inout_ config_method_eapgtc &&other); + + virtual config* clone() const; + + /// + /// @copydoc eap::config_method::get_method_id() + /// \returns This implementation always returns `winstd::eap_type_gtc` + /// + virtual winstd::eap_type_t get_method_id() const; + + /// + /// @copydoc eap::config_method::get_method_str() + /// \returns This implementation always returns `L"EAP-GTC"` + /// + virtual const wchar_t* get_method_str() const; + + /// + /// @copydoc eap::config_method::make_credentials() + /// \returns This implementation always returns `NULL` + /// + virtual credentials* make_credentials() const; + }; + + /// @} +} diff --git a/lib/GTC/include/Method.h b/lib/GTC/include/Method.h new file mode 100644 index 0000000..a94d057 --- /dev/null +++ b/lib/GTC/include/Method.h @@ -0,0 +1,106 @@ +/* + 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 . +*/ + +namespace eap +{ + class method_gtc; +} + +#pragma once + +#include "Config.h" + +#include "../../EAPBase/include/Method.h" + +#include + + +namespace eap +{ + /// \addtogroup EAPBaseMethod + /// @{ + + /// + /// GTC method + /// + class method_gtc : public method + { + WINSTD_NONCOPYABLE(method_gtc) + + public: + /// + /// Constructs a GTC method + /// + /// \param[in] mod GTC module to use for global services + /// \param[in] cfg Method configuration + /// + method_gtc(_In_ module &mod, _In_ config_method_eapgtc &cfg); + + /// + /// Moves a GTC method + /// + /// \param[in] other GTC method to move from + /// + method_gtc(_Inout_ method_gtc &&other); + + /// + /// Moves a GTC method + /// + /// \param[in] other GTC method to move from + /// + /// \returns Reference to this object + /// + method_gtc& operator=(_Inout_ method_gtc &&other); + + /// \name Session management + /// @{ + + virtual void begin_session( + _In_ DWORD dwFlags, + _In_ const EapAttributes *pAttributeArray, + _In_ HANDLE hTokenImpersonateUser, + _In_opt_ DWORD dwMaxSendPacketSize = MAXDWORD); + + /// @} + + /// \name Packet processing + /// @{ + + virtual EapPeerMethodResponseAction process_request_packet( + _In_bytecount_(dwReceivedPacketSize) const void *pReceivedPacket, + _In_ DWORD dwReceivedPacketSize); + + virtual void get_response_packet( + _Out_ sanitizing_blob &packet, + _In_opt_ DWORD size_max = MAXDWORD); + + /// @} + + virtual void get_result( + _In_ EapPeerMethodResultReason reason, + _Out_ EapPeerMethodResult *pResult); + + protected: + config_method_eapgtc &m_cfg; ///< Method configuration + sanitizing_blob m_packet_res; ///< Response packet + }; + + /// @} +} diff --git a/lib/GTC/src/Config.cpp b/lib/GTC/src/Config.cpp new file mode 100644 index 0000000..1c8cf39 --- /dev/null +++ b/lib/GTC/src/Config.cpp @@ -0,0 +1,87 @@ +/* + 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 . +*/ + +#include "StdAfx.h" + +using namespace std; +using namespace winstd; + + +////////////////////////////////////////////////////////////////////// +// eap::config_method_eapgtc +////////////////////////////////////////////////////////////////////// + +eap::config_method_eapgtc::config_method_eapgtc(_In_ module &mod, _In_ unsigned int level) : config_method(mod, level) +{ +} + + +eap::config_method_eapgtc::config_method_eapgtc(_In_ const config_method_eapgtc &other) : + config_method(other) +{ +} + + +eap::config_method_eapgtc::config_method_eapgtc(_Inout_ config_method_eapgtc &&other) : + config_method(std::move(other)) +{ +} + + +eap::config_method_eapgtc& eap::config_method_eapgtc::operator=(_In_ const config_method_eapgtc &other) +{ + if (this != &other) + (config_method&)*this = other; + + return *this; +} + + +eap::config_method_eapgtc& eap::config_method_eapgtc::operator=(_Inout_ config_method_eapgtc &&other) +{ + if (this != &other) + (config_method&&)*this = std::move(other); + + return *this; +} + + +eap::config* eap::config_method_eapgtc::clone() const +{ + return new config_method_eapgtc(*this); +} + + +eap_type_t eap::config_method_eapgtc::get_method_id() const +{ + return eap_type_gtc; +} + + +const wchar_t* eap::config_method_eapgtc::get_method_str() const +{ + return L"EAP-GTC"; +} + + +eap::credentials* eap::config_method_eapgtc::make_credentials() const +{ + return NULL; +} diff --git a/lib/GTC/src/Method.cpp b/lib/GTC/src/Method.cpp new file mode 100644 index 0000000..6cc0725 --- /dev/null +++ b/lib/GTC/src/Method.cpp @@ -0,0 +1,190 @@ +/* + 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 . +*/ + +#include "StdAfx.h" + +using namespace std; +using namespace winstd; + + +////////////////////////////////////////////////////////////////////// +// eap::method_gtc +////////////////////////////////////////////////////////////////////// + +eap::method_gtc::method_gtc(_In_ module &mod, _In_ config_method_eapgtc &cfg) : + m_cfg(cfg), + method(mod) +{ +} + + +eap::method_gtc::method_gtc(_Inout_ method_gtc &&other) : + m_cfg ( other.m_cfg ), + m_packet_res(std::move(other.m_packet_res)), + method (std::move(other )) +{ +} + + +eap::method_gtc& eap::method_gtc::operator=(_Inout_ method_gtc &&other) +{ + if (this != std::addressof(other)) { + assert(std::addressof(m_cfg ) == std::addressof(other.m_cfg )); // Move method within same configuration only! + (method&)*this = std::move(other ); + m_packet_res = std::move(other.m_packet_res); + } + + return *this; +} + + +void eap::method_gtc::begin_session( + _In_ DWORD dwFlags, + _In_ const EapAttributes *pAttributeArray, + _In_ HANDLE hTokenImpersonateUser, + _In_opt_ DWORD dwMaxSendPacketSize) +{ + method::begin_session(dwFlags, pAttributeArray, hTokenImpersonateUser, dwMaxSendPacketSize); + + // Presume authentication will fail with generic protocol failure. (Pesimist!!!) + // We will reset once we get get_result(Success) call. + m_cfg.m_last_status = config_method::status_auth_failed; + m_cfg.m_last_msg.clear(); +} + + +EapPeerMethodResponseAction eap::method_gtc::process_request_packet( + _In_bytecount_(dwReceivedPacketSize) const void *pReceivedPacket, + _In_ DWORD dwReceivedPacketSize) +{ + assert(pReceivedPacket || dwReceivedPacketSize == 0); + + //for (const unsigned char *pck = reinterpret_cast(pReceivedPacket), *pck_end = pck + dwReceivedPacketSize; pck < pck_end; ) { + // if (pck + sizeof(chap_header) > pck_end) + // throw win_runtime_error(EAP_E_EAPHOST_METHOD_INVALID_PACKET, __FUNCTION__ " Incomplete CHAP header."); + // auto hdr = reinterpret_cast(pck); + // unsigned short length = ntohs(*reinterpret_cast(hdr->length)); + // const unsigned char + // *msg = reinterpret_cast(hdr + 1), + // *msg_end = pck + length; + // if (msg_end > pck_end) + // throw win_runtime_error(EAP_E_EAPHOST_METHOD_INVALID_PACKET, __FUNCTION__ " Incomplete CHAP data."); + + // // Save packet ident. + // m_ident = hdr->ident; + + // switch (hdr->code) { + // case chap_packet_code_challenge: { + // m_module.log_event(&EAPMETHOD_METHOD_HANDSHAKE_START2, event_data((unsigned int)eap_type_gtc), event_data::blank); + + // if (msg + 1 > msg_end) + // throw win_runtime_error(EAP_E_EAPHOST_METHOD_INVALID_PACKET, __FUNCTION__ " Incomplete CHAP challenge packet."); + + // // Read server challenge. + // if (msg + 1 + msg[0] > msg_end) + // throw win_runtime_error(EAP_E_EAPHOST_METHOD_INVALID_PACKET, __FUNCTION__ " Incomplete CHAP server challenge."); + // m_challenge_server.assign(msg + 1, msg + 1 + msg[0]); + + // // Randomize Peer-Challenge. + // m_challenge_client.randomize(m_cp); + + // // Calculate NT-Response. + // sanitizing_string identity_utf8; + // WideCharToMultiByte(CP_UTF8, 0, m_cred.m_identity, identity_utf8, NULL, NULL); + // m_nt_resp = nt_response(m_cp, m_challenge_server, m_challenge_client, identity_utf8.c_str(), m_cred.m_password.c_str()); + + // // Prepare CHAP response value. + // sanitizing_blob value; + // value.reserve( + // sizeof(m_challenge_client) + // Peer-Challenge + // 8 + // Reserved + // sizeof(m_nt_resp) + // NT-Response + // 1); // Flags + // value.insert(value.end(), reinterpret_cast(&m_challenge_client), reinterpret_cast(&m_challenge_client + 1)); // Peer-Challenge + // value.insert(value.end(), 8, 0); // Reserved (must be zero) + // value.insert(value.end(), reinterpret_cast(&m_nt_resp), reinterpret_cast(&m_nt_resp + 1)); // NT-Response + // value.push_back(0); // Flags + + // chap_header hdr_resp; + // hdr_resp.code = chap_packet_code_response; + // hdr_resp.ident = m_ident; + // size_t size_value = value.size(); + // *reinterpret_cast(hdr_resp.length) = htons((unsigned short)(sizeof(chap_header) + 1 + size_value + identity_utf8.length())); + // assert(size_value <= 0xff); // CHAP value can be 255B max + + // // Append response. + // m_packet_res.assign(reinterpret_cast(&hdr_resp), reinterpret_cast(&hdr_resp + 1)); + // m_packet_res.insert(m_packet_res.end(), 1, (unsigned char)size_value); + // m_packet_res.insert(m_packet_res.end(), value.begin(), value.end()); + // m_packet_res.insert(m_packet_res.end(), identity_utf8.begin(), identity_utf8.end()); + + // m_cfg.m_last_status = config_method::status_cred_invalid; // Blame credentials if we fail beyond this point. + // return EapPeerMethodResponseActionSend; + // } + + // case chap_packet_code_success: + // process_success(parse_response(reinterpret_cast(msg), reinterpret_cast(msg_end) - reinterpret_cast(msg))); + // if (m_cfg.m_last_status == config_method::status_success) { + // // Acknowledge the authentication by sending a "3" (chap_packet_code_success). + // m_packet_res.assign(1, chap_packet_code_success); + // m_cfg.m_last_status = config_method::status_auth_failed; // Blame protocol if we fail beyond this point. + // return EapPeerMethodResponseActionSend; + // } else + // return EapPeerMethodResponseActionDiscard; + + // case chap_packet_code_failure: + // process_error(parse_response(reinterpret_cast(msg), reinterpret_cast(msg_end) - reinterpret_cast(msg))); + // return EapPeerMethodResponseActionDiscard; + // } + + // pck = msg_end; + //} + + return EapPeerMethodResponseActionNone; +} + + +void eap::method_gtc::get_response_packet( + _Out_ sanitizing_blob &packet, + _In_opt_ DWORD size_max) +{ + if (m_packet_res.size() > size_max) + throw invalid_argument(string_printf(__FUNCTION__ " This method does not support packet fragmentation, but the data size is too big to fit in one packet (packet: %u, maximum: %u).", m_packet_res.size(), size_max)); + + packet.assign(m_packet_res.begin(), m_packet_res.end()); +} + + +void eap::method_gtc::get_result( + _In_ EapPeerMethodResultReason reason, + _Inout_ EapPeerMethodResult *pResult) +{ + assert(pResult); + + method::get_result(reason, pResult); + + if (reason == EapPeerMethodResultSuccess) + m_cfg.m_last_status = config_method::status_success; + + // Always ask EAP host to save the connection data. And it will save it *only* when we report "success". + // Don't worry. EapHost is well aware of failed authentication condition. + pResult->fSaveConnectionData = TRUE; + pResult->fIsSuccess = TRUE; +} diff --git a/lib/GTC/src/StdAfx.cpp b/lib/GTC/src/StdAfx.cpp new file mode 100644 index 0000000..4af5ec1 --- /dev/null +++ b/lib/GTC/src/StdAfx.cpp @@ -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 . +*/ + +#include "StdAfx.h" diff --git a/lib/GTC/src/StdAfx.h b/lib/GTC/src/StdAfx.h new file mode 100644 index 0000000..c31ca15 --- /dev/null +++ b/lib/GTC/src/StdAfx.h @@ -0,0 +1,30 @@ +/* + 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 . +*/ + +#pragma once + +#include "../include/Config.h" +#include "../include/Method.h" + +#include + +#include +#include // include after Windows.h +#include diff --git a/lib/GTC_UI/build/.gitignore b/lib/GTC_UI/build/.gitignore new file mode 100644 index 0000000..9c8716a --- /dev/null +++ b/lib/GTC_UI/build/.gitignore @@ -0,0 +1,2 @@ +/temp +/*.user diff --git a/lib/GTC_UI/build/GTC_UI.props b/lib/GTC_UI/build/GTC_UI.props new file mode 100644 index 0000000..4997b71 --- /dev/null +++ b/lib/GTC_UI/build/GTC_UI.props @@ -0,0 +1,12 @@ + + + + + + + + ..\..\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\..\WinStd\include;%(AdditionalIncludeDirectories) + + + + \ No newline at end of file diff --git a/lib/GTC_UI/build/GTC_UI.vcxproj b/lib/GTC_UI/build/GTC_UI.vcxproj new file mode 100644 index 0000000..48f72ca --- /dev/null +++ b/lib/GTC_UI/build/GTC_UI.vcxproj @@ -0,0 +1,107 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {34680813-3A52-46FB-B5A8-1E4BBF770855} + GTC_UI + + + + StaticLibrary + true + Unicode + + + StaticLibrary + true + Unicode + + + StaticLibrary + false + true + Unicode + + + StaticLibrary + false + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + + + + + {d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b} + + + + + + + + + \ No newline at end of file diff --git a/lib/GTC_UI/build/GTC_UI.vcxproj.filters b/lib/GTC_UI/build/GTC_UI.vcxproj.filters new file mode 100644 index 0000000..6bdbb43 --- /dev/null +++ b/lib/GTC_UI/build/GTC_UI.vcxproj.filters @@ -0,0 +1,44 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + + + Resource Files + + + \ No newline at end of file diff --git a/lib/GTC_UI/include/GTC_UI.h b/lib/GTC_UI/include/GTC_UI.h new file mode 100644 index 0000000..ee32e3a --- /dev/null +++ b/lib/GTC_UI/include/GTC_UI.h @@ -0,0 +1,85 @@ +/* + 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 . +*/ + +#include "../../EAPBase_UI/include/EAP_UI.h" +#include "../../GTC/include/Config.h" + +class wxGTCMethodConfigPanel; +class wxGTCConfigPanel; + +#pragma once + +#include "../res/wxGTC_UI.h" + +#include +#include + +#include + + +/// \addtogroup EAPBaseGUI +/// @{ + +/// +/// Inner EAP method config panel +/// +class wxGTCMethodConfigPanel : public wxGTCMethodConfigPanelBase +{ +public: + /// + /// Constructs an inner EAP method config panel + /// + /// \param[in ] prov Provider configuration data + /// \param[inout] cfg Method configuration data + /// \param[in ] parent Parent window + /// + wxGTCMethodConfigPanel(const eap::config_provider &prov, eap::config_method_eapgtc &cfg, wxWindow *parent); + +protected: + eap::config_method_eapgtc &m_cfg; ///< Method configuration +}; + + +/// +/// GTC configuration panel +/// +class wxGTCConfigPanel : public wxPanel +{ +public: + /// + /// Constructs a configuration panel + /// + wxGTCConfigPanel(const eap::config_provider &prov, eap::config_method_eapgtc &cfg, wxWindow* parent); + + /// + /// Destructs the configuration panel + /// + virtual ~wxGTCConfigPanel(); + +protected: + /// \cond internal + virtual void OnInitDialog(wxInitDialogEvent& event); + /// \endcond + +protected: + wxGTCMethodConfigPanel *m_method; ///< Method configuration panel +}; + +/// @} diff --git a/lib/GTC_UI/res/wxGTC_UI.cpp b/lib/GTC_UI/res/wxGTC_UI.cpp new file mode 100644 index 0000000..265a990 --- /dev/null +++ b/lib/GTC_UI/res/wxGTC_UI.cpp @@ -0,0 +1,51 @@ +/////////////////////////////////////////////////////////////////////////// +// C++ code generated with wxFormBuilder (version Jun 17 2015) +// http://www.wxformbuilder.org/ +// +// PLEASE DO "NOT" EDIT THIS FILE! +/////////////////////////////////////////////////////////////////////////// + +#include + +#include "wxGTC_UI.h" + +/////////////////////////////////////////////////////////////////////////// + +wxGTCMethodConfigPanelBase::wxGTCMethodConfigPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style ) +{ + wxStaticBoxSizer* sb_method; + sb_method = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("GTC Settings") ), wxVERTICAL ); + + wxBoxSizer* sb_method_horiz; + sb_method_horiz = new wxBoxSizer( wxHORIZONTAL ); + + m_method_icon = new wxStaticBitmap( sb_method->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); + sb_method_horiz->Add( m_method_icon, 0, wxALL, 5 ); + + wxBoxSizer* sb_method_vert; + sb_method_vert = new wxBoxSizer( wxVERTICAL ); + + m_method_label = new wxStaticText( sb_method->GetStaticBox(), wxID_ANY, _("This method requires no additional configuration."), wxDefaultPosition, wxDefaultSize, 0 ); + m_method_label->Wrap( 440 ); + sb_method_vert->Add( m_method_label, 0, wxALL|wxEXPAND, 5 ); + + + sb_method_horiz->Add( sb_method_vert, 1, wxEXPAND, 5 ); + + + sb_method->Add( sb_method_horiz, 1, wxEXPAND, 5 ); + + + this->SetSizer( sb_method ); + this->Layout(); + + // Connect Events + this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxGTCMethodConfigPanelBase::OnUpdateUI ) ); +} + +wxGTCMethodConfigPanelBase::~wxGTCMethodConfigPanelBase() +{ + // Disconnect Events + this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( wxGTCMethodConfigPanelBase::OnUpdateUI ) ); + +} diff --git a/lib/GTC_UI/res/wxGTC_UI.fbp b/lib/GTC_UI/res/wxGTC_UI.fbp new file mode 100644 index 0000000..9bdd719 --- /dev/null +++ b/lib/GTC_UI/res/wxGTC_UI.fbp @@ -0,0 +1,278 @@ + + + + + ; + C++ + 1 + source_name + 0 + 0 + . + UTF-8 + connect + wxGTC_UI + 1000 + none + 1 + wxGTC_UI + + . + #include <StdAfx.h> + 1 + 1 + 1 + 1 + UI + 1 + 1 + + 0 + wxAUI_MGR_DEFAULT + + + 1 + 1 + impl_virtual + + + 0 + wxID_ANY + + + wxGTCMethodConfigPanelBase + + 500,-1 + + + + + wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OnUpdateUI + + wxID_ANY + GTC Settings + + sb_method + wxVERTICAL + none + + + 5 + wxEXPAND + 1 + + + sb_method_horiz + wxHORIZONTAL + none + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + Load From Icon Resource; ; [32; 32] + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_method_icon + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 1 + + + sb_method_vert + wxVERTICAL + none + + 5 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + This method requires no additional configuration. + + 0 + + + 0 + + 1 + m_method_label + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + 440 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/GTC_UI/res/wxGTC_UI.h b/lib/GTC_UI/res/wxGTC_UI.h new file mode 100644 index 0000000..c06e63e --- /dev/null +++ b/lib/GTC_UI/res/wxGTC_UI.h @@ -0,0 +1,52 @@ +/////////////////////////////////////////////////////////////////////////// +// C++ code generated with wxFormBuilder (version Jun 17 2015) +// http://www.wxformbuilder.org/ +// +// PLEASE DO "NOT" EDIT THIS FILE! +/////////////////////////////////////////////////////////////////////////// + +#ifndef __WXGTC_UI_H__ +#define __WXGTC_UI_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////// +/// Class wxGTCMethodConfigPanelBase +/////////////////////////////////////////////////////////////////////////////// +class wxGTCMethodConfigPanelBase : public wxPanel +{ + private: + + protected: + wxStaticBitmap* m_method_icon; + wxStaticText* m_method_label; + + // Virtual event handlers, overide them in your derived class + virtual void OnUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); } + + + public: + + wxGTCMethodConfigPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,-1 ), long style = wxTAB_TRAVERSAL ); + ~wxGTCMethodConfigPanelBase(); + +}; + +#endif //__WXGTC_UI_H__ diff --git a/lib/GTC_UI/src/GTC_UI.cpp b/lib/GTC_UI/src/GTC_UI.cpp new file mode 100644 index 0000000..b3f4f53 --- /dev/null +++ b/lib/GTC_UI/src/GTC_UI.cpp @@ -0,0 +1,75 @@ +/* + 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 . +*/ + +#include "StdAfx.h" + + +////////////////////////////////////////////////////////////////////// +// wxGTCMethodConfigPanel +////////////////////////////////////////////////////////////////////// + +wxGTCMethodConfigPanel::wxGTCMethodConfigPanel(const eap::config_provider &prov, eap::config_method_eapgtc &cfg, wxWindow *parent) : + m_cfg(cfg), + wxGTCMethodConfigPanelBase(parent) +{ + UNREFERENCED_PARAMETER(prov); + + // Load and set icon. + winstd::library lib_shell32; + if (lib_shell32.load(_T("shell32.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE)) + m_method_icon->SetIcon(wxLoadIconFromResource(lib_shell32, MAKEINTRESOURCE(153))); +} + + +////////////////////////////////////////////////////////////////////// +// wxGTCConfigPanel +////////////////////////////////////////////////////////////////////// + +wxGTCConfigPanel::wxGTCConfigPanel(const eap::config_provider &prov, eap::config_method_eapgtc &cfg, wxWindow* parent) : wxPanel(parent) +{ + wxBoxSizer* sb_content; + sb_content = new wxBoxSizer( wxVERTICAL ); + + m_method = new wxGTCMethodConfigPanel(prov, cfg, this); + sb_content->Add(m_method, 0, wxEXPAND, 5); + + this->SetSizer(sb_content); + this->Layout(); + + // Connect Events + this->Connect(wxEVT_INIT_DIALOG, wxInitDialogEventHandler(wxGTCConfigPanel::OnInitDialog)); +} + + +wxGTCConfigPanel::~wxGTCConfigPanel() +{ + // Disconnect Events + this->Disconnect(wxEVT_INIT_DIALOG, wxInitDialogEventHandler(wxGTCConfigPanel::OnInitDialog)); +} + + +/// \cond internal +void wxGTCConfigPanel::OnInitDialog(wxInitDialogEvent& event) +{ + // Forward the event to child panels. + if (m_method) + m_method->GetEventHandler()->ProcessEvent(event); +} +/// \endcond diff --git a/lib/GTC_UI/src/StdAfx.cpp b/lib/GTC_UI/src/StdAfx.cpp new file mode 100644 index 0000000..4af5ec1 --- /dev/null +++ b/lib/GTC_UI/src/StdAfx.cpp @@ -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 . +*/ + +#include "StdAfx.h" diff --git a/lib/GTC_UI/src/StdAfx.h b/lib/GTC_UI/src/StdAfx.h new file mode 100644 index 0000000..86eb4e9 --- /dev/null +++ b/lib/GTC_UI/src/StdAfx.h @@ -0,0 +1,25 @@ +/* + 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 . +*/ + +#pragma once + +#define _CRT_SECURE_NO_WARNINGS // Prevent warnings from wxWidgets headers + +#include "../include/GTC_UI.h" diff --git a/lib/TTLS/src/Config.cpp b/lib/TTLS/src/Config.cpp index 07da9b8..a41f3d0 100644 --- a/lib/TTLS/src/Config.cpp +++ b/lib/TTLS/src/Config.cpp @@ -268,6 +268,7 @@ eap::config_method* eap::config_method_ttls::make_config_method(_In_ winstd::eap case eap_type_legacy_pap : return new config_method_pap (m_module, m_level + 1); case eap_type_legacy_mschapv2: return new config_method_mschapv2 (m_module, m_level + 1); case eap_type_mschapv2 : return new config_method_eapmschapv2(m_module, m_level + 1); + case eap_type_gtc : return new config_method_eapgtc (m_module, m_level + 1); #ifdef EAP_INNER_EAPHOST default : return new config_method_eaphost (m_module, m_level + 1); // EapHost peer method handles all other method types #endif @@ -281,6 +282,7 @@ eap::config_method* eap::config_method_ttls::make_config_method(_In_ const wchar if (_wcsicmp(eap_type, L"PAP" ) == 0) return new config_method_pap (m_module, m_level + 1); else if (_wcsicmp(eap_type, L"MSCHAPv2" ) == 0) return new config_method_mschapv2 (m_module, m_level + 1); else if (_wcsicmp(eap_type, L"EAP-MSCHAPv2") == 0) return new config_method_eapmschapv2(m_module, m_level + 1); + else if (_wcsicmp(eap_type, L"EAP-GTC" ) == 0) return new config_method_eapgtc (m_module, m_level + 1); #ifdef EAP_INNER_EAPHOST else if (_wcsicmp(eap_type, L"EapHost" ) == 0) return new config_method_eaphost (m_module, m_level + 1); #endif diff --git a/lib/TTLS/src/Module.cpp b/lib/TTLS/src/Module.cpp index b3be419..fc9259e 100644 --- a/lib/TTLS/src/Module.cpp +++ b/lib/TTLS/src/Module.cpp @@ -252,6 +252,10 @@ EAP_SESSION_HANDLE eap::peer_ttls::begin_session( new method_eapmsg (*this, cred_inner->get_identity().c_str(), new method_eap (*this, eap_type_mschapv2, new method_mschapv2(*this, dynamic_cast(*cfg_inner), dynamic_cast(*cred_inner))))); break; + case eap_type_gtc : meth_inner.reset( + new method_eapmsg (*this, cred_inner->get_identity().c_str(), + new method_eap (*this, eap_type_gtc, + new method_gtc (*this, dynamic_cast(*cfg_inner))))); break; default: throw invalid_argument(__FUNCTION__ " Unsupported inner authentication method."); } } diff --git a/lib/TTLS/src/StdAfx.h b/lib/TTLS/src/StdAfx.h index a58249a..bcf2e82 100644 --- a/lib/TTLS/src/StdAfx.h +++ b/lib/TTLS/src/StdAfx.h @@ -32,6 +32,9 @@ #include "../../MSCHAPv2/include/Method.h" #include "../../MSCHAPv2/include/MSCHAPv2.h" +#include "../../GTC/include/Config.h" +#include "../../GTC/include/Method.h" + #include "../../EapHost/include/Config.h" #include "../../EapHost/include/Method.h" diff --git a/lib/TTLS_UI/include/TTLS_UI.h b/lib/TTLS_UI/include/TTLS_UI.h index 5a90e1d..23875e7 100644 --- a/lib/TTLS_UI/include/TTLS_UI.h +++ b/lib/TTLS_UI/include/TTLS_UI.h @@ -31,6 +31,7 @@ class wxTTLSConfigWindow; #include "../../EapHost/include/Config.h" #include "../../PAP/include/Config.h" #include "../../MSCHAPv2/include/Config.h" +#include "../../GTC/include/Config.h" #include @@ -107,6 +108,7 @@ protected: eap::config_method_pap m_cfg_pap; ///< PAP configuration eap::config_method_mschapv2 m_cfg_mschapv2; ///< MSCHAPv2 configuration eap::config_method_eapmschapv2 m_cfg_eapmschapv2; ///< EAP-MSCHAPv2 configuration + eap::config_method_eapgtc m_cfg_eapgtc; ///< EAP-GTC configuration #ifdef EAP_INNER_EAPHOST eap::config_method_eaphost m_cfg_eaphost; ///< Inner EAP configuration #endif diff --git a/lib/TTLS_UI/src/StdAfx.h b/lib/TTLS_UI/src/StdAfx.h index 3f8b959..f06eb5f 100644 --- a/lib/TTLS_UI/src/StdAfx.h +++ b/lib/TTLS_UI/src/StdAfx.h @@ -28,6 +28,7 @@ #include "../../EapHost_UI/include/EapHost_UI.h" #include "../../PAP_UI/include/PAP_UI.h" #include "../../MSCHAPv2_UI/include/MSCHAPv2_UI.h" +#include "../../GTC_UI/include/GTC_UI.h" #include "../../EapHost/include/Credentials.h" diff --git a/lib/TTLS_UI/src/TTLS_UI.cpp b/lib/TTLS_UI/src/TTLS_UI.cpp index b44cec2..90e8deb 100644 --- a/lib/TTLS_UI/src/TTLS_UI.cpp +++ b/lib/TTLS_UI/src/TTLS_UI.cpp @@ -103,6 +103,7 @@ wxTTLSConfigWindow::wxTTLSConfigWindow(eap::config_provider &prov, eap::config_m m_cfg_pap (cfg.m_module, cfg.m_level + 1), m_cfg_mschapv2 (cfg.m_module, cfg.m_level + 1), m_cfg_eapmschapv2(cfg.m_module, cfg.m_level + 1), + m_cfg_eapgtc (cfg.m_module, cfg.m_level + 1), #ifdef EAP_INNER_EAPHOST m_cfg_eaphost (cfg.m_module, cfg.m_level + 1), #endif @@ -127,6 +128,8 @@ wxTTLSConfigWindow::wxTTLSConfigWindow(eap::config_provider &prov, eap::config_m m_inner_type->AddPage(panel_mschapv2, _("MSCHAPv2")); wxMSCHAPv2ConfigPanel *panel_eapmschapv2 = new wxMSCHAPv2ConfigPanel(m_prov, m_cfg_eapmschapv2, m_inner_type); m_inner_type->AddPage(panel_eapmschapv2, _("EAP-MSCHAPv2")); + wxGTCConfigPanel *panel_eapgtc = new wxGTCConfigPanel(m_prov, m_cfg_eapgtc, m_inner_type); + m_inner_type->AddPage(panel_eapgtc, _("EAP-GTC")); #ifdef EAP_INNER_EAPHOST wxEapHostConfigPanel *panel_eaphost = new wxEapHostConfigPanel(m_prov, m_cfg_eaphost, m_inner_type); m_inner_type->AddPage(panel_eaphost, _("Other EAP methods...")); @@ -198,6 +201,11 @@ bool wxTTLSConfigWindow::TransferDataToWindow() m_inner_type->SetSelection(2); // 2=EAP-MSCHAPv2 break; + case winstd::eap_type_gtc: + m_cfg_eapgtc = dynamic_cast(*cfg_ttls.m_inner); + m_inner_type->SetSelection(3); // 3=EAP-GTC + break; + default: wxFAIL_MSG(wxT("Unsupported inner authentication method type.")); } @@ -206,7 +214,7 @@ bool wxTTLSConfigWindow::TransferDataToWindow() else { // EapHost inner method m_cfg_eaphost = *cfg_inner_eaphost; - m_inner_type->SetSelection(3); // 3=EapHost + m_inner_type->SetSelection(4); // 4=EapHost } #endif @@ -237,8 +245,12 @@ bool wxTTLSConfigWindow::TransferDataFromWindow() cfg_ttls.m_inner.reset(new eap::config_method_eapmschapv2(m_cfg_eapmschapv2)); break; + case 3: // 3=EAP-GTC + cfg_ttls.m_inner.reset(new eap::config_method_eapgtc(m_cfg_eapgtc)); + break; + #ifdef EAP_INNER_EAPHOST - case 3: // 3=EapHost + case 4: // 4=EapHost cfg_ttls.m_inner.reset(new eap::config_method_eaphost(m_cfg_eaphost)); break; #endif