From 6b541ce1ffd1d651693e3b22b0e7bd5e41cd9ff1 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Wed, 8 Jun 2016 15:29:30 +0200 Subject: [PATCH] Storing/retrieval of passwords to Windows Credential Manager introduced; UI development continues... --- EAPMethods/EAPTTLS/StdAfx.h | Bin 2572 -> 2784 bytes EAPMethods/EAPTTLSUI/EAPTTLSUI.rc | Bin 5214 -> 6238 bytes EAPMethods/EAPTTLSUI/EAPTTLSUI.vcxproj | 1 + .../EAPTTLSUI/EAPTTLSUI.vcxproj.filters | 3 +++ EAPMethods/EAPTTLSUI/StdAfx.h | Bin 3200 -> 3412 bytes EAPMethods/include/EAP.h | Bin 102912 -> 111544 bytes EAPMethods/include/EAPXML.h | Bin 33546 -> 36490 bytes EAPMethods/include/EAP_UI.h | Bin 17858 -> 17814 bytes EAPMethods/include/TLS.h | Bin 11240 -> 15644 bytes EAPMethods/include/TLS_UI.h | Bin 14138 -> 14094 bytes EAPMethods/include/TTLS_UI.h | Bin 11846 -> 11846 bytes EAPMethods/res/wxEAP_UI.cpp | 10 +++++----- EAPMethods/res/wxEAP_UI.fbp | 8 ++++---- EAPMethods/res/wxEAP_UI.h | 10 +++++----- EAPMethods/res/wxTLS_UI.cpp | 18 +++++++++--------- EAPMethods/res/wxTLS_UI.fbp | 10 +++++----- EAPMethods/res/wxTLS_UI.h | 12 ++++++------ EAPMethods/src/EAP.cpp | Bin 55184 -> 71068 bytes EAPMethods/src/EAP_UI.cpp | Bin 5602 -> 5516 bytes EAPMethods/src/Main.cpp | Bin 73978 -> 73940 bytes EAPMethods/src/Main_UI.cpp | Bin 45904 -> 45866 bytes EAPMethods/src/TLS.cpp | Bin 16774 -> 20624 bytes EAPMethods/src/TLS_UI.cpp | Bin 38746 -> 38630 bytes EAPMethods/src/TTLS_UI.cpp | Bin 15784 -> 15776 bytes lib/WinStd | 2 +- 25 files changed, 39 insertions(+), 35 deletions(-) diff --git a/EAPMethods/EAPTTLS/StdAfx.h b/EAPMethods/EAPTTLS/StdAfx.h index 25861be55d4ba3c9d68916f4ed626b76cb4507be..f634574edce05363af661cac7112b6a911cf5361 100644 GIT binary patch delta 80 zcmeAXc_6ys7dy8TLn1>lLn?zAgUMt?PWj1l9DMA~3`IbZ6d0cq#IIy1U?_o!O#a1g R#OeW5Qvnj$EXVPV5dak96I1{I delta 15 XcmaDL+9R^z7yINn97dZsA20#{Hl7Ad diff --git a/EAPMethods/EAPTTLSUI/EAPTTLSUI.rc b/EAPMethods/EAPTTLSUI/EAPTTLSUI.rc index cabbcdb8715f773a693861a15483ea112e2de7d9..c80b6e1904df86613ecc5073e0ee5c79b6ec8897 100644 GIT binary patch delta 257 zcmcboanE3b8{6a(HlfK}Y+T}*40#O63^@#?3@Hq$3^73H%HYTlu-Tf8pOM!OC{)T& z!cfGJ$dEI+oV}UZkHK~FUv^cXj4MMZLkL34P+ciQ63_#gKyT;)Ss;M1& delta 17 Ycmca-a8F}{8{6g + diff --git a/EAPMethods/EAPTTLSUI/EAPTTLSUI.vcxproj.filters b/EAPMethods/EAPTTLSUI/EAPTTLSUI.vcxproj.filters index 6a0781e..7da1c1c 100644 --- a/EAPMethods/EAPTTLSUI/EAPTTLSUI.vcxproj.filters +++ b/EAPMethods/EAPTTLSUI/EAPTTLSUI.vcxproj.filters @@ -57,6 +57,9 @@ Header Files + + Header Files + diff --git a/EAPMethods/EAPTTLSUI/StdAfx.h b/EAPMethods/EAPTTLSUI/StdAfx.h index 6c1e78df6bf3ea45129ecda81fcd20caa7017e5b..57e25be34ae7619bb5d4a83a63126c3ac1346c8f 100644 GIT binary patch delta 86 zcmZpWydt%sfs@;bA(5e&A(g?5!DRA5ZdLwZh7yJp27Lx+h9aP73WiuEL&0Q6F2%_Y XxY;IGa9Xi?0993hRBc|xd5sAGoWmAm delta 16 Xcmca2)gZZ{fpfAFm(k`nu5(NPG&Kdq diff --git a/EAPMethods/include/EAP.h b/EAPMethods/include/EAP.h index 6b45f0899d0071dad51440deaee0df5d99ee8cd6..0b0a580ad5580e588ee0c3aa68167cac9030fb9a 100644 GIT binary patch delta 2727 zcmds3ZA_C_6uuXck6LP>#SUfg7J*oYiX?17-LQgDq(BSEU{ed&id87cTgr#l0W;h1 z*W&qcH@794EsM*{0_!%G#W{5!Su(S*WLr#@s4dlq zf@dRnvNE4pT)Q5cO|a33^$IItY0RMgR;763*zl#Yv8p4eyUh4*41f# zE13hDg?JXyuVGbYfOTo$oU8$lBl^qIM-sB~V(1%SxfdSVSSMT04zfHtn{2bhXPa3K z7VGk~>@w<1d54ahifJhIG@YMLNei(-)}vtqP8w;?6|V-kky`rDsX)>LXDU-^BqcXmWH^)%J#HFWN+*pkQs}h|u8O)Kw^5PVB);z8t_5T! zno2u1N1nV{%UUE_YW>{1yav{T_;qN3l~cMslX5~A=;{uW_%qD6(AL}e6ihXUsbk#u z`o6IW`t=7hO+^!zd$mNXETmc3A3c1v+eH`lt(VBHl<3{0g+K@U^61=HSo`2ArPtMv zyY)?duKi9Sxocdrb9?EwikRpXPnDJp3?ub=F6iBXJ@+fVJXjqUdMuf`)zN!a8n4}Q z%43dCrPs|G{!~}GezZg%%rpBjjh`NhDMX6&LCl=EG{zH?Rir7zR59Y@Hh`OGF1LkQ zH!|TvLG4FT_>qlXl%9hww`@;t#5XdesasU2=#|E&aM}Bh z&d$s-Y=*k_ejA;vpRxJYfd78=IRv)%TTTrbHI>wvgO5h;W&R_Zf#tiSo8!h8^phIV zi7!BiuLH-plv!xl1%K;n+R#xmXcGQN2}9MGw){is<2T;dg)kd+xdSKKQ6fPHPH3 z8gZ%Fh^Z#&Mw1G>2wDsH=<_+)jKkW;nAAyF5+sy$B7V}#*ehJcyw*yEE)bQ9u3tsb z8L(3I4n#28D&Y~+-`PW@1&IHFR=nFPqDSwmL7}dbCj+wL(5Kbrv#f;)^$}*L*+~{= zCs>re`oXelhz+n27GuZQIE(Ow9m+lP(*gZqZpFAY$c8xFg;}Q=C&wRRvRi{IuiG&3 z!bY#wgB4YF2Nps$+V226+9w1|9+k-J=ZE)nCjc{N)MRkNDJ)dpHw>~dyuRE{(;Fa! z@n9MKRYN0(Y>cuqusXLQ(6%iQRI1@&pf@g%@zJtWx0SvNeL!zrun`kgTg{T`iyNjC z&%5Jls_q0YW!gbR+cT@;`<80J!rtu^mm#lpuqbb0goQD?$wK~4n8m<8iTcw#GI|NR z&`@?O%@dV9E&ttw0!y&~R@Vs_c_|iuc0xr{Oz(y#0m|Qoj$-sYTmuZ6OmyHTILVL$ z8y+&c&>)EPeDODN743821mf;N+KNyn-(~3K4`{4~JXhwShYS}%D)!6+Z;orX(EnYa o&;qnkM+!dt+ka{n>~w#T|AShfR-r_rIdB*KX;{04CKb^90?~NauK)l5 diff --git a/EAPMethods/include/EAPXML.h b/EAPMethods/include/EAPXML.h index 095e8752a651a24170177fad25609adf4b2d417c..ee1b682576be16d7bb21a60048e1ba223b1931ca 100644 GIT binary patch delta 380 zcmeBbW9pjAw4sb`G7lRcs|Q0WL&fAqHu=eAY#Ec2*hF~CfFj8ZB@FotMGSV6`Q=|v z&M@JdJV8Qg^BeYmT$3F{l^820AGDL4yocXpa)7MbCQA z$xYImT)_`_&TbaA-2h75*8h9U+# zAX|+gak8P1@1zou$pw)QCV!CTn|y)40>a%l*-wOPbAdz{$L1+Ylk_HEFp!#TARsY$ qLEsj`rf%No?8>-#LvS4 XGjazo6fxv89$92kk6fRl zA5(l$n&$;2E+g9bVe48jr1yy}9l5UbDJ*(QZ zT%tY6_xPSzmJ9U9Fu^P@#S$_RSG9U^2j}Txd8h`-Q@$oEe3Q}B19EWgt$^2q#>7k| zcGUIiUf|+|IRLk)gWABInYh0$k31XjbbuOg=+iNBoWgTITj6(ooI8_4|33RU#&7v@ zasWyb1P9x$@@6cTTZ61m2SD4vJbWF&-bG#ENFjY*gRzC4craqPKbDAM;m-ux20qdl yR0`pUqY=Xjb{AE|6eHQF+kvZ#R5mzbkXnG?iO&4nXcsaO-lRiN=6tho9sdOjx2N0y delta 17 ZcmbPJ^&))3BDT%9*se%zUS(9o1prbU2s!`& diff --git a/EAPMethods/include/TLS_UI.h b/EAPMethods/include/TLS_UI.h index 6f5e0ae2923c64e94625320f3655e6d3fc2217fe..3f87b921ed57da098c8c14efb86dec42241f249e 100644 GIT binary patch delta 66 zcmdm$*O#}!ihZ(yklbV$cCpP>>}{N2j+USTm@X0Au-QQ90waGALn=cq7$*VAqRIWd Lrkfo^eklO}sWKD4 delta 98 zcmeCn+m*M$ik&l`A&()AA(J6}@<##1$ujI>oAcP)I8lThQFw}z0|Ymqifon>+Qi5m Uz)-}H&ydSdz)-UJzOcSB0IaDTy8r+H diff --git a/EAPMethods/include/TTLS_UI.h b/EAPMethods/include/TTLS_UI.h index 409c102011b7c2556c4f03985ac762fe9959cf54..8430515ea22f74242123787f5cc1ba094ee22199 100644 GIT binary patch delta 28 kcmX>Wb1Y^Wb1Y^Add( sb_credentials_tbl, 0, wxEXPAND|wxALL, 5 ); - m_prompt = new wxCheckBox( sb_credentials->GetStaticBox(), wxID_ANY, _("&Prompt when connecting"), wxDefaultPosition, wxDefaultSize, 0 ); - m_prompt->SetHelpText( _("Check if you would like to enter credentials on every connection") ); + m_remember = new wxCheckBox( sb_credentials->GetStaticBox(), wxID_ANY, _("&Remember credentials"), wxDefaultPosition, wxDefaultSize, 0 ); + m_remember->SetHelpText( _("Check if you would like to save username and password") ); - sb_credentials_vert->Add( m_prompt, 0, wxALL|wxEXPAND, 5 ); + sb_credentials_vert->Add( m_remember, 0, wxALL|wxEXPAND, 5 ); sb_credentials_horiz->Add( sb_credentials_vert, 1, wxEXPAND, 5 ); @@ -128,6 +128,6 @@ wxPasswordConfigCredentialsPanelBase::wxPasswordConfigCredentialsPanelBase( wxWi this->Layout(); } -wxPasswordConfigCredentialsPanelBase::~wxPasswordConfigCredentialsPanelBase() +wxPasswordCredentialsPanelBase::~wxPasswordCredentialsPanelBase() { } diff --git a/EAPMethods/res/wxEAP_UI.fbp b/EAPMethods/res/wxEAP_UI.fbp index ca57e0d..55ee5bc 100644 --- a/EAPMethods/res/wxEAP_UI.fbp +++ b/EAPMethods/res/wxEAP_UI.fbp @@ -446,7 +446,7 @@ wxID_ANY - wxPasswordConfigCredentialsPanelBase + wxPasswordCredentialsPanelBase 500,-1 @@ -1056,7 +1056,7 @@ 0 0 1 - Check if you would like to enter credentials on every connection + Check if you would like to save username and password 1 0 Dock @@ -1069,7 +1069,7 @@ 0 0 wxID_ANY - &Prompt when connecting + &Remember credentials 0 @@ -1077,7 +1077,7 @@ 0 1 - m_prompt + m_remember 1 diff --git a/EAPMethods/res/wxEAP_UI.h b/EAPMethods/res/wxEAP_UI.h index 5d885ed..c30e38a 100644 --- a/EAPMethods/res/wxEAP_UI.h +++ b/EAPMethods/res/wxEAP_UI.h @@ -72,9 +72,9 @@ class wxEAPBannerPanelBase : public wxPanel }; /////////////////////////////////////////////////////////////////////////////// -/// Class wxPasswordConfigCredentialsPanelBase +/// Class wxPasswordCredentialsPanelBase /////////////////////////////////////////////////////////////////////////////// -class wxPasswordConfigCredentialsPanelBase : public wxPanel +class wxPasswordCredentialsPanelBase : public wxPanel { private: @@ -85,12 +85,12 @@ class wxPasswordConfigCredentialsPanelBase : public wxPanel wxTextCtrl* m_identity; wxStaticText* m_password_label; wxTextCtrl* m_password; - wxCheckBox* m_prompt; + wxCheckBox* m_remember; public: - wxPasswordConfigCredentialsPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,-1 ), long style = wxTAB_TRAVERSAL ); - ~wxPasswordConfigCredentialsPanelBase(); + wxPasswordCredentialsPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,-1 ), long style = wxTAB_TRAVERSAL ); + ~wxPasswordCredentialsPanelBase(); }; diff --git a/EAPMethods/res/wxTLS_UI.cpp b/EAPMethods/res/wxTLS_UI.cpp index c9f7ca7..d0d6f52 100644 --- a/EAPMethods/res/wxTLS_UI.cpp +++ b/EAPMethods/res/wxTLS_UI.cpp @@ -114,7 +114,7 @@ wxEAPTLSConfigPanelBase::~wxEAPTLSConfigPanelBase() } -wxTLSConfigCredentialsPanelBase::wxTLSConfigCredentialsPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style ) +wxTLSCredentialsPanelBase::wxTLSCredentialsPanelBase( 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 ); @@ -161,10 +161,10 @@ wxTLSConfigCredentialsPanelBase::wxTLSConfigCredentialsPanelBase( wxWindow* pare sb_credentials_vert->Add( sb_cert_radio, 0, wxEXPAND|wxALL, 5 ); - m_prompt = new wxCheckBox( sb_credentials->GetStaticBox(), wxID_ANY, _("&Prompt when connecting"), wxDefaultPosition, wxDefaultSize, 0 ); - m_prompt->SetHelpText( _("Check if you would like to select certificate on every connection") ); + m_remember = new wxCheckBox( sb_credentials->GetStaticBox(), wxID_ANY, _("&Remember credentials"), wxDefaultPosition, wxDefaultSize, 0 ); + m_remember->SetHelpText( _("Check if you would like to save certificate selection") ); - sb_credentials_vert->Add( m_prompt, 0, wxALL|wxEXPAND, 5 ); + sb_credentials_vert->Add( m_remember, 0, wxALL|wxEXPAND, 5 ); sb_credentials_horiz->Add( sb_credentials_vert, 1, wxEXPAND, 5 ); @@ -177,14 +177,14 @@ wxTLSConfigCredentialsPanelBase::wxTLSConfigCredentialsPanelBase( wxWindow* pare this->Layout(); // Connect Events - m_cert_select->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( wxTLSConfigCredentialsPanelBase::OnCertSelect ), NULL, this ); - m_prompt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( wxTLSConfigCredentialsPanelBase::OnPrompt ), NULL, this ); + m_cert_select->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( wxTLSCredentialsPanelBase::OnCertSelect ), NULL, this ); + m_remember->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( wxTLSCredentialsPanelBase::OnRemember ), NULL, this ); } -wxTLSConfigCredentialsPanelBase::~wxTLSConfigCredentialsPanelBase() +wxTLSCredentialsPanelBase::~wxTLSCredentialsPanelBase() { // Disconnect Events - m_cert_select->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( wxTLSConfigCredentialsPanelBase::OnCertSelect ), NULL, this ); - m_prompt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( wxTLSConfigCredentialsPanelBase::OnPrompt ), NULL, this ); + m_cert_select->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( wxTLSCredentialsPanelBase::OnCertSelect ), NULL, this ); + m_remember->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( wxTLSCredentialsPanelBase::OnRemember ), NULL, this ); } diff --git a/EAPMethods/res/wxTLS_UI.fbp b/EAPMethods/res/wxTLS_UI.fbp index fb7dc35..63f48c7 100644 --- a/EAPMethods/res/wxTLS_UI.fbp +++ b/EAPMethods/res/wxTLS_UI.fbp @@ -1013,7 +1013,7 @@ wxID_ANY - wxTLSConfigCredentialsPanelBase + wxTLSCredentialsPanelBase 500,-1 @@ -1547,7 +1547,7 @@ 0 0 1 - Check if you would like to select certificate on every connection + Check if you would like to save certificate selection 1 0 Dock @@ -1560,7 +1560,7 @@ 0 0 wxID_ANY - &Prompt when connecting + &Remember credentials 0 @@ -1568,7 +1568,7 @@ 0 1 - m_prompt + m_remember 1 @@ -1590,7 +1590,7 @@ - OnPrompt + OnRemember diff --git a/EAPMethods/res/wxTLS_UI.h b/EAPMethods/res/wxTLS_UI.h index e46c8d5..f2ac731 100644 --- a/EAPMethods/res/wxTLS_UI.h +++ b/EAPMethods/res/wxTLS_UI.h @@ -68,9 +68,9 @@ class wxEAPTLSConfigPanelBase : public wxPanel }; /////////////////////////////////////////////////////////////////////////////// -/// Class wxTLSConfigCredentialsPanelBase +/// Class wxTLSCredentialsPanelBase /////////////////////////////////////////////////////////////////////////////// -class wxTLSConfigCredentialsPanelBase : public wxPanel +class wxTLSCredentialsPanelBase : public wxPanel { private: @@ -80,17 +80,17 @@ class wxTLSConfigCredentialsPanelBase : public wxPanel wxRadioButton* m_cert_none; wxRadioButton* m_cert_select; wxChoice* m_cert_select_val; - wxCheckBox* m_prompt; + wxCheckBox* m_remember; // Virtual event handlers, overide them in your derived class virtual void OnCertSelect( wxCommandEvent& event ) { event.Skip(); } - virtual void OnPrompt( wxCommandEvent& event ) { event.Skip(); } + virtual void OnRemember( wxCommandEvent& event ) { event.Skip(); } public: - wxTLSConfigCredentialsPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,-1 ), long style = wxTAB_TRAVERSAL ); - ~wxTLSConfigCredentialsPanelBase(); + wxTLSCredentialsPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,-1 ), long style = wxTAB_TRAVERSAL ); + ~wxTLSCredentialsPanelBase(); }; diff --git a/EAPMethods/src/EAP.cpp b/EAPMethods/src/EAP.cpp index 132b22994dc19f54c0e1041a8d2663d51ba61281..65fe302a3cdbb338c971cd71ccc58406882bead4 100644 GIT binary patch literal 71068 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 R9LmZ0&sOS|^&!ny{vR<))TaOd delta 825 zcma)3L1+^}6rJE2!n)nAZPXB=CSqz^LO0nOW7fDOO>IH2MzJ;_cDt=f)S@+sg4%kZh<*1Zt z6#T4CD2?SP(5#a=)%}#L4O+^KXwZTmH5QlCROyh09n1YCaA_M} zMm#WU0?pnz8bo>4jMZC{crq~4+Qf@u*ss^WDYAYpCpvIFV8>#RM<&z($?m|~2mX&A zxTqDd;TQGqI-v~%d_TdwmEF&m1`3A4r zWD{<+$p(Daq>C6*8FIlm2}l+(C?McuL4NVcVFE&vFYxnBp1?0K*-qGEvID=!<^}w6 zj8H=#fee}?lmXGf_R0H1B_=-*`7yafBxLdiVYSJ6!UB^Q@LK@IfM$vc ZO!gC%1B#nXUI3=0cxoAV8MqiABmh6wKKcLv delta 276 zcmeCtex$v@gOf9#A&()AA(J6}vLKh@7`Zhkzu>(lTfk7nkk63IP{2^apvz##5X_JYWQ8##GUPCnPG%IA-OR;b$B3j6 zVwA+>bAl3+ZwYKdl7Sd01C;SW5(TQ~_XqkU0AbN&f1&M@6$FGPUl0+QJVE5sWHFJD b$$x|;CKm|v0Qq`Q_A)MB1}=tL1`r7V%8^Hm diff --git a/EAPMethods/src/Main.cpp b/EAPMethods/src/Main.cpp index 0680f5f179e6e2f9a4f2b27117cb6f1dd8a5498c..1f1ee8263ec3a1ef9ee91914b2dc445bbef7b5d5 100644 GIT binary patch delta 55 zcmex$kmbrjmJJ2$jPa8V*+eHduyJiZ!7j%{0KME2MgRZ+ diff --git a/EAPMethods/src/Main_UI.cpp b/EAPMethods/src/Main_UI.cpp index 537221e5ddbade252c3dbecbb8afeb4a9c576655..a97cbadadb7f9db1091f02c819d1abe8ed42c924 100644 GIT binary patch delta 41 wcmcccjA_*~rVTRen?u;km?!%QatY=##4}_vEz9qxoTGc03@*uBLDyZ delta 65 zcmZ4WjOoHNrVTRelOJ&i$)_{KGvqSlGo&z-GUPC%GAJMypA(T+Q~SiF_1RFnQ4q;@e3xS5;T&H7E22igizAh6ehK1f}gk& zvJe;6i?|NBv>>=~s~cAl{UbtufYdu_EVR7?QXY>x@8h0(-kI}W_oeivCw=Oc(HG+L z>*Gt(#Wplxh59;lU=5bRhX88y9Y&X09he>16FN?ctj4X~5zdiOb1Y(C6vyktu}!>c z&?J@tG_faZmk-T?4QD_F8M4F1^Z!0}{)imYa)#wtmK}!Uj%?^H;(UlF{*pC~;f8Z@tcxoPOu#}u&XARl`Zuy zixtgsHiBVUPX7nPIflb_yhJJz*(xgx0jq;!eyah)jY-O+%kJ( z;Y|p_^JB|SXDDNz_xDz*x`k6_20yw2-HB*C3BW;$l=t<5Hc|n9IC`Iam&?Kx(z^ol)aIzy;5Nkt ziZ>}P(&z?mrdJCg?@;GDVXx8qvr1WBbj@P{Tm^4fr>{T9-{&l?N%>E}B7K)gIiIrs pF_Ds5@p`BXp;vcb4459g4q4jC-N$9GA&6Lcm6Y-R2X&7n3MM~@kOG>!Zt}hG au*nB}ttJ-$`32#5ll%0AHuFW^umu3#=vFWQ diff --git a/EAPMethods/src/TTLS_UI.cpp b/EAPMethods/src/TTLS_UI.cpp index 392bc39992973fb5c0c14a69e043ac5c387023f5..c85b92fe328e15c82c060b3d2c5cfd67fe4a9af5 100644 GIT binary patch delta 41 vcmZ2cy`Xx79hYz}Lp(z!LmophLkUA7kWOYuoxIRgbaN6{h3e*K`iFP{4h#)E delta 35 rcmZ2by`p-99T#spLp(z+Lq0