From 754f2aad0f4758aa4ddec5786f4530a28f6d29d7 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sat, 5 Aug 2017 16:46:50 +0000 Subject: [PATCH] Removed googleauth library. --- L2J_Mobius_Classic/.classpath | 1 - .../dist/libs/googleauth-1.1.0.jar | Bin 18624 -> 0 bytes .../loginserver/LoginController.java | 13 ------------ .../loginserver/model/data/AccountInfo.java | 20 ------------------ .../clientpackets/RequestAuthLogin.java | 14 ------------ L2J_Mobius_Classic/launcher/Gameserver.launch | 2 +- .../launcher/Loginserver.launch | 2 +- L2J_Mobius_Helios/.classpath | 1 - .../dist/libs/googleauth-1.1.0.jar | Bin 18624 -> 0 bytes .../loginserver/LoginController.java | 13 ------------ .../loginserver/model/data/AccountInfo.java | 20 ------------------ .../clientpackets/RequestAuthLogin.java | 14 ------------ L2J_Mobius_Helios/launcher/Gameserver.launch | 2 +- L2J_Mobius_Helios/launcher/Loginserver.launch | 2 +- L2J_Mobius_Underground/.classpath | 1 - .../dist/libs/googleauth-1.1.0.jar | Bin 18624 -> 0 bytes .../loginserver/LoginController.java | 13 ------------ .../loginserver/model/data/AccountInfo.java | 20 ------------------ .../clientpackets/RequestAuthLogin.java | 14 ------------ .../launcher/Gameserver.launch | 2 +- .../launcher/Loginserver.launch | 2 +- 21 files changed, 6 insertions(+), 150 deletions(-) delete mode 100644 L2J_Mobius_Classic/dist/libs/googleauth-1.1.0.jar delete mode 100644 L2J_Mobius_Helios/dist/libs/googleauth-1.1.0.jar delete mode 100644 L2J_Mobius_Underground/dist/libs/googleauth-1.1.0.jar diff --git a/L2J_Mobius_Classic/.classpath b/L2J_Mobius_Classic/.classpath index d51276f7b2..fc8369b2aa 100644 --- a/L2J_Mobius_Classic/.classpath +++ b/L2J_Mobius_Classic/.classpath @@ -5,7 +5,6 @@ - diff --git a/L2J_Mobius_Classic/dist/libs/googleauth-1.1.0.jar b/L2J_Mobius_Classic/dist/libs/googleauth-1.1.0.jar deleted file mode 100644 index a3ab858bf4a226958b0e596151329a9e8d8298f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18624 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 diff --git a/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/LoginController.java b/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/LoginController.java index 8c6ae19e23..a83b097ee9 100644 --- a/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/LoginController.java +++ b/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/LoginController.java @@ -77,7 +77,6 @@ public class LoginController private static final String ACCOUNT_ACCESS_LEVEL_UPDATE = "UPDATE accounts SET accessLevel = ? WHERE login = ?"; private static final String ACCOUNT_IPS_UPDATE = "UPDATE accounts SET pcIp = ?, hop1 = ?, hop2 = ?, hop3 = ?, hop4 = ? WHERE login = ?"; private static final String ACCOUNT_IPAUTH_SELECT = "SELECT * FROM accounts_ipauth WHERE login = ?"; - private static final String ACCOUNT_OTP_SELECT = "SELECT value FROM account_data WHERE account_name = ? AND var = 'otp'"; private LoginController() throws GeneralSecurityException { @@ -237,18 +236,6 @@ public class LoginController return null; } - try (PreparedStatement otpPs = con.prepareStatement(ACCOUNT_OTP_SELECT)) - { - otpPs.setString(1, login); - try (ResultSet otpRset = otpPs.executeQuery()) - { - if (otpRset.next()) - { - info.setOTP(otpRset.getString(1)); - } - } - } - clearFailedLoginAttemps(addr); return info; } diff --git a/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/model/data/AccountInfo.java b/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/model/data/AccountInfo.java index 18bca937dc..9bebda1653 100644 --- a/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/model/data/AccountInfo.java +++ b/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/model/data/AccountInfo.java @@ -18,8 +18,6 @@ package com.l2jmobius.loginserver.model.data; import java.util.Objects; -import com.warrenstrange.googleauth.GoogleAuthenticator; - /** * @author HorridoJoho */ @@ -29,7 +27,6 @@ public final class AccountInfo private final String _passHash; private final int _accessLevel; private final int _lastServer; - private String _otpKey; public AccountInfo(String login, String passHash, int accessLevel, int lastServer) { @@ -51,23 +48,6 @@ public final class AccountInfo _lastServer = lastServer; } - public void setOTP(String otpKey) - { - _otpKey = otpKey; - } - - public boolean checkOTP(int otp) - { - if (_otpKey == null) - { - // No OTP set - return true; - } - - final GoogleAuthenticator gAuth = new GoogleAuthenticator(); - return gAuth.authorize(_otpKey, otp); - } - public boolean checkPassHash(String passHash) { return _passHash.equals(passHash); diff --git a/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java b/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java index 50874d0e36..f68dbeac9a 100644 --- a/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java +++ b/L2J_Mobius_Classic/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java @@ -34,7 +34,6 @@ import com.l2jmobius.loginserver.network.serverpackets.AccountKicked; import com.l2jmobius.loginserver.network.serverpackets.AccountKicked.AccountKickedReason; import com.l2jmobius.loginserver.network.serverpackets.LoginFail.LoginFailReason; import com.l2jmobius.loginserver.network.serverpackets.LoginOk; -import com.l2jmobius.loginserver.network.serverpackets.LoginOtpFail; import com.l2jmobius.loginserver.network.serverpackets.ServerList; /** @@ -53,7 +52,6 @@ public class RequestAuthLogin extends L2LoginClientPacket private String _user; private String _password; - private int _ncotp; /** * @return @@ -71,11 +69,6 @@ public class RequestAuthLogin extends L2LoginClientPacket return _user; } - public int getOneTimePassword() - { - return _ncotp; - } - @Override public boolean readImpl() { @@ -121,13 +114,11 @@ public class RequestAuthLogin extends L2LoginClientPacket { _user = new String(decrypted, 0x4E, 50).trim() + new String(decrypted, 0xCE, 14).trim(); _password = new String(decrypted, 0xDC, 16).trim(); - _ncotp = (decrypted[0xFC] & 0xFF) | ((decrypted[0xFD] & 0xFF) << 8) | ((decrypted[0xFE] & 0xFF) << 16) | ((decrypted[0xFF] & 0xFF) << 24); } else { _user = new String(decrypted, 0x5E, 14).trim(); _password = new String(decrypted, 0x6C, 16).trim(); - _ncotp = (decrypted[0x7C] & 0xFF) | ((decrypted[0x7D] & 0xFF) << 8) | ((decrypted[0x7E] & 0xFF) << 16) | ((decrypted[0x7F] & 0xFF) << 24); } } catch (Exception e) @@ -145,11 +136,6 @@ public class RequestAuthLogin extends L2LoginClientPacket client.close(LoginFailReason.REASON_USER_OR_PASS_WRONG); return; } - else if (!info.checkOTP(_ncotp)) - { - client.sendPacket(new LoginOtpFail()); - return; - } final AuthLoginResult result = lc.tryCheckinAccount(client, clientAddr, info); switch (result) diff --git a/L2J_Mobius_Classic/launcher/Gameserver.launch b/L2J_Mobius_Classic/launcher/Gameserver.launch index c5a7de41ec..28b44a905c 100644 --- a/L2J_Mobius_Classic/launcher/Gameserver.launch +++ b/L2J_Mobius_Classic/launcher/Gameserver.launch @@ -7,7 +7,7 @@ - + diff --git a/L2J_Mobius_Classic/launcher/Loginserver.launch b/L2J_Mobius_Classic/launcher/Loginserver.launch index dc1e7bcf8f..7dd1fb3c01 100644 --- a/L2J_Mobius_Classic/launcher/Loginserver.launch +++ b/L2J_Mobius_Classic/launcher/Loginserver.launch @@ -7,7 +7,7 @@ - + diff --git a/L2J_Mobius_Helios/.classpath b/L2J_Mobius_Helios/.classpath index d51276f7b2..fc8369b2aa 100644 --- a/L2J_Mobius_Helios/.classpath +++ b/L2J_Mobius_Helios/.classpath @@ -5,7 +5,6 @@ - diff --git a/L2J_Mobius_Helios/dist/libs/googleauth-1.1.0.jar b/L2J_Mobius_Helios/dist/libs/googleauth-1.1.0.jar deleted file mode 100644 index a3ab858bf4a226958b0e596151329a9e8d8298f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18624 zcmbV!1#}!qvaMt>GfNgTv&GCTiUHW@h-BH#<9TJ-cuJZuaT! z>eCr{v$C?HB5y>7tOO7+B*1S)6RSq_e-8fk0rBxIC8WSdEha5YEBm)<-~bvQ)gYn3 zS{*Fgf@X6iyJT=w+ zta%~`9<-~~g-xB;pR=nGNEt*uReBm%`4 zw6Z=zMEz${zx^emMU?Nby`c!jvKSM2O3?Yap9M}G(?yAES)q58o@2U}<_Wv#)|16g zb_WD>*RFN>Il?`0u6JUvOfUQPG!iZ!2o-7Rn)NRTGQO#th`O(ND61?IKq;v7bIus) z56iGA9+Z5UDpuI`9VBtv(d+9Y#4T01mJ8k|>}-i1aOtkHAlK!W3Up^5-X4lV9x5`A zVBuC%F<#6&>+x=Zqiuz&v_at1zi=0asLi-wLLnE}t{Hx_q1cMpJS?k$#(K}!pbtJG zm$6gtm@&h>HP-JScv>khT3I5hthLv)6qditL-#u8KkmEkhiq@bZ0DahS(aOjxL|&` z`A*0rl**8G3v}|5d=Hafc}M9TynW&wRIA=e(IpPpktN8^S{(qHrjnbjB)Z8?u22rk z(aE_>90nQ)x9=Yg0)4`Nj~ZT!)eDBbnsW;nC?biLB>xQc$IShGvOsH9H{T(B+>;al z04)E-WchunWT-)SDBNbezpjn$NRiOq19pM;n5OW8viV^XH2VZ#r$9`B6LXS88yGMk z8I$l@^g&T&&QaVJ^@WS8%OOaF2steLv~0EfdFte>zS3eVN`@6eq zDg+YE!>IfFwexp4uZtyTE&Lpz7r$W4L&C(jgKUc@70$OE{6OxZ-h;1++}APUxS>NK z!#hTIF~KN_I95(AOS_xUNg4MbFK(n z9}sf7L=7jq4APQ#Wp3};Rdw2PooqweI%c|zqD6}*zJ6|rKx=xGr`IO?9Ns&ucd0_~ zSy8nvFuBAdHMrz3mrARD1SAh->p&b%d%U!F8AY#Ud2Ehi!KEqb7~4;vOR0TPHTOyl zt{yT>%{4>C6kZ1lr2ZHr@wiVd{@XVY5o*0@iqBZR+v15UtJt#5KYOs6dj!6zBE(c8 zMwfD}4lRTX6i}^=en*O?=J(RXC^e3KiLYKZhvjTbbWCh4#x|J7BtRfk!kXW<`MSf zFgSSSp+zN}gJqHRu{bv|0DEe|++1bx+T!fmoYGJEh2_<`n(Agy()hfuUP(w|Ibo64sbKIzij+P4<=dc3nYr3q-16fiI(<;pSji2!H!=0JTKNAy& zxPS*q#=A!Zkc-FP9ofh*p^D$|;|lHC&osw4=U`#!O=VNx`3E>U3pW_){lhwJ&%Ieapg- zrd2P5KC9$no;0Q$8U2B_IUe@GrVn%FIu6qlQnm@O4-N-(N8X#|E zup7Z~-`R~q*w(A?B%BI8q3rAy5<)LR~8nQQ4|)GtU5*TofLdOFt@nCcbkp<5!0 z)e9nfQXN2YF@KW^_!0_f5HxD!?(lxM7q<@Br72^+xVYL^SB_p>pT+}-0PTWi z(+x?Y!W@UXP6!b2fIxl;$Kuv;yF<*tTr=qEy`C@nQbb1^D ze7Ry)eDLK+r{!(%VM@LQpA%!@Ncu<#%nwzs4BZ9^lv|WRdz9ktfpdVWv#Lpmwz_wi zDwN3=rw^=Jz)W9XDA6N7=L9pm338t8#RzNXy-v;q61zp-O<77Z#a{GkF~G+Q@53C$iZX5fG;$#X+O)~X+fyq5*_Qx|hf}8bTA>i7SsWqcMsZt> z*@L5^?0E=^yh(9B`DN6z0D9u`O{H%W+(J-}{ges=`(Zx&3H}R+H$t9WWbSI^r6cyt zmvM+lumh_zI=g1C{geTNj@ooQ?l>TU_>UN29!jTjfZ_J4o;E+P=8QVzi ztb67s9M3_AA@sAz*au#3Z>Au>635x1xU%wm_AQv9JvQ*tm9xOX_S)^WCXC^BPaxY+ zN)sUz8{9CLSe7n(f+Hc@ZItq8=T`jV;Ne=3k-9F`T~cN*@ql5DLz+mdLXH>^ChlJC zg$Gma2#>5w)`xGH-r?V;9>94@uk0~-CPcDR81*HvhQ}p!(g!Th7t>LtNz4@F z6R0F%hb;ZlLn#a_3i0vlh{1mlNoB+o937@)VIGNA_jT%U>f+%U&U@CRhcB(iQ{7_si#5t%#P>k;3sD+svzevQ-P|V)Rra6X1CwA2A z?W=f&cOA+WWE5k}yoMQ7`JRV05ucHR>Z1pKIiBxI5#d$@_2Cp`GBW}w{kIu4urj9Z z6Jz?*ak~*CKk!F(%A`Wzm?Ly1c4*)0oS;@mXtDTViA}PmnGC9s+TA?_3`jCjYA`Tl zuzCrHA#f@hs9=eug;`bR3Nze1*sU-q3 z2NlZI&9>7UpYgUC$KY5iBb|Kx^3->atL&=zbCta%p{6)C<%uj>y!d-X&lh1q$X%V! zGHLrW$a2YgoPkc$H13|Pd;VhA$Mo+W(=Sjy{%L}1EAe$+gnO*SW7hpINkksaDeGxW zw4EN-({13CCYn3wFfks4ts|`RTx*73!aqYz(CQY%LlNer{y^&e5ufLvx6wJ_>ZdV4 z4kTf=4`GK}IEqFT<4!z;;qrr5`iaE#KplRVktsB43fe99tS8FIFOPQS)dk7{PUYYX zgdOBO3}RBzBf3T=uCNyG7}&J(iGr#QHq;5U`4Ss5_zqZ8kao%@ zh^X5EU|VAg0b5DoDNGzrJZh3fZI-%MQud5ykbDrQpe>hW0K@LpI7`&Dciqny{i9;p+2e7DL!6 zq2~&u_*apn*668OeWvnREqczFIAi#&BXD!}(`D2}c}-h<%Qjo=Wog zwVo58v@mD3u>HOpcQromEX=2n`596N=HA*+lp`b3QytcyK9}X`QqFd;T)mGsWN6cT zG}-%23d8oa>C9Nd7tBqO;_6wN^uwT%8L-p(F*j~4ai0rGeICt9a!IR?v!xWIWTx~;CyH-4g-?JNqfO_*r3xZufqE%$KxpcclcdT&abHHuWttXz zHoE8fW~O)|#o!h#)dBXy1^hY8M1e{LcT1RMZSF@H5|eTB5vA{nX3eZ-`sRsKAd=!| zbp9a97i6jX#1i5&y$Np5kl}lXc6VHt0F7}%cdn{PRvZy|&$#56;SsWAry!S( zb178$P&`a)u)=UEg#(v)mT z=PpTx+Tj+_HbyClGz?ILz4^S!=a%*C*Y#{^U2O3Ijg0mE&X)ByiBN@RHRD)s4V{rv z1_9{9DXuts>YA2V&w;5;5hh9~3T4lxcPru@RQF%>jEj$fsX5HPvZL4$vJCdMCya3v zh4e55=1!_Z&yo_=mr4qv8q&zVEli_?nXvP3AZ_SCuAa7L&HE-2Jbk{|3ZOKexj(eF zeFIa9VN~`aV;nWVAqH?FI8jadG{b@U|gz(rJGsiV7UF&rd7(*&G^oD;IH%YbIsrc~KYAYp8QnS(Vt~*W$32qV!(qyC@+dTN|L7i-;Ot}kgGVChJ7nlPMK!;BNH3U*J595#^RH0v zgY(al2TB1Lj~x&e_!cn)dMOp!VS@&$g!^?eLtP=O@sM=yY_Hv0)hPEuvV*PQ3VW{I z;9TQ9JCcxoM%Zs+^4R0G)w^QYxmM*nWvKX%$u|Wc9;`-wZ4AsqrGa1z+FGDJzErT$ zZLBooZ7|#3!AxFgcb8a;1J4S>9f^bO4C5&3(5Sp@B>p)^j1cU2r;_OH1V3QZ6v|@E z1xqSFRad_ZHbGwp6OAi;V^jnM>R)d>(5B{fM9t#V?h`W$Y_&kop$smvGgPnrmiaAXhlVI1x#x)cW7TgD((E)bB*Z1?=pOHlz4;`x){&hp!0 z01D->AfEc!&7*h*3auP(c3nbpNNrd!19D_df(3<=oe4v~zHaGgzmkzIQZ8D#U7lbN zbyp7uS*au>tV;iK3dsz$Wc=ZtN-C_;0(aUz-C7FG2nu*wf;@$?>>Bx3)A~3KH>Tw} z7PTPyw4s_BI@jd4G3cTT(qx6NKPq#mRL^j>ceOI}W<0Rmew5F6JVn->-RDU$nj!e^ zc|wg5=80=QoO0SHZWNs0?Ix%apCawpVFRK(7kqTw9cVQzrWnH5IX#f|EQCLsk?D|Ex=>9p$@DZL7Te zVd{phmoMh1IGt8hQ2AFbXo!OwAB( zQK#yAkbmq8nR)RAA+2bbPYk7zMMGPbkrkRq|oGR!)*(@AGK%Ww!C;e3 z@_2}{UJudK0grlFqS1od8JAuORzT2M_c4sFjiMpbB5Vrbjr zL^VftsW8MO!LD37u5^?{NfSE=BVtmbuQpP#&)KH}A7q1y!Fk#18T4jo@6QOm7tnRC zFd}4CUM!TM6l7meaCEOIA==)&cy0mljgJj^!%gu3YgG^27}{Tbq{VC{opU}~)MZOd zG$FQ;Oem=IvUh5PLC0PsiGW(X8^7DSk5MG@PUcH+9Sv0y{!3e~8AqvEzUtxEUSp{Q z*R{>WHkV-I2*vE+-t41RA6F z8|EcQTNOuCT*sBrs^*)eMp&PiwoQxf)SYM>_E=KnYt-Z948lJ1sYXZ}vXI0ngRx&D76FyqY7Pd#G2}j|v(=FSQMt82}U+}X~=_^>1vp5R% z|I!w;fYFaBH5=yPv&4mAl`dYX;$7UHQyiq*GB2#SFvJke9Mnzk2;C!Fc;OtrqG69N z-EW`K*QO7V%S3BE9aCbu+CW-RXpD}UIe8bXEtCp;Dxc?HRl=_BpsGBI`P1Rjfj#z& zS2ISI+HkL9(+Fuvx-9&sFRj>aDIwU~_X+Pxpv*!Mr-0A$!q&t%XmK7yGu65D!pj7l zM1TTAo>e=9H|6I&*GNy^S@qnU``lfgOsG?EFoj}}tS7cXdLvESF4-8ALbWe@Qg0z| z=PQ67XInO=O&7u4E443HxSy6dwzI6ct^rK{xCiA4f_1hPz;t&ldb0% z04X1`RlGRh2+dhUC@(4w`Z>9a4cK(G0NDxN*OyFEPY0nTlKf-~(yS?xD|u7YUno91 zVSJO*HlnqSE4GVI9#NFV)LK>+Zmha`Bbj>3pIT4f5xRY;Pd_EX*SVPBTn=!((DES* zigCU_LKl&ih2GRXNYtZPvxtCN?0U*6TiO9duW8c%9zPOSZtc4)kjHW$>vBIitAQyg{$+GO z?@#}zZ#42b^dvs?%>+0A0Ox8`WQ|ZyIq5>4reL5b zP#mR$9%q-H+KM-{4qVBkgPE|MiF%bpE*$Pw+oSPMs<%8Vpw3m;A`U7dRdVgxHV3&3 zGCpmqqT*Yzh{A89IWaWW{E-z&WtlS0FcFe-K}PW6*D=m9Vpu9U&TV&g$()=lI)4$M z&q!onP+L-oRWWiJw~y%*do0AmKn;|3fCpbVcU6%OQFztmc*vtS0^cM!X1^{Mk&Lc=F90x8)Q#R*sYi#GFX!@1m9sL z?4bt~M?a=;SrFT3>7ePLK3`u>5XXUj)2u2CI)S`eBX~9~4cC6bz(o;b#o`@nzpZxJ z34{bI&I*+TgiNyjv(JxmXfs{*_NEweI_RA@4DtNayYw*#xc*m+rCP^?w$1X%ol3T2 zXmQSXjB&b%lQMUQU`Z*|f&uw2e2pdnXJR0LOXzNpgEWuFn~}GJ{o>Slj%X<-7)xGP z8vG1uv_wA$6COS>hn-o2D^DhZE5eHk4pM}YIT8QhcYOwGT~~z9YvMwwn&3VLSjq*D z0|+O-gWiQ2^cA`9f~X#udW?uSI32oyOi^Q|k^Dm`CbscZWn$Awqw zhO2^!)N42xw=8I*t&;k?un8zS!l7kInpp>q9AYjrL0}QlRA;=nJ@YaW&PAxaC4*VX zs1ruyln*mv260ZokcrH!$T?8c!GLzR*ZVuz>&c9B85);2;6L7^S7gFY(jUHP<4*tp zJpaW_D&(SXXyagNZS^-lW9)=@4=;Sb@iXa^ntFMIAF2CH1A14yFeCv5|Amgk`ASnB z#AgY4D`i^9}a7q*e{kJQ((#+}#gTNr>S-NH}AiwwFefdx?1pT;rJ zH0~jo?)|}@1lv=>2C+=~gm!Qvz!PY8xCmw8nsgdf8H~(C2k0pxd4rff%k@cRgcEaZ zk^}O98*WJz%S+~|;m5hgCdiGN6p*gfOHI%l@?Xc871MkdxGQQ#<_2WdH5Dgp-A*R` zltC=rLEaM@_jS8}nKqb7B6e1ToiB?aCKYlCh4pO38-s(%ha#biK3jNWXWg2p>UnpM zrpK!rRmwyF;XURNl6RClf=0=+49bN);|zK*{IpW1Ol7WTh)|`kjQKmi=a@WpQ8zmS zbZJtpm5m63OykVySk?uSQ&_SG)XKMLY8@+BMpYb^vOX#I)=P+gyi~Z0V1~>e`ZN|4 z0D$ekxKt8`u7A5o3cA)vBJiHa94poIQgrZHzWh*N4M5GjS;&aNL0JlbKm@R$;czDQ zswYs%9JP%FkxwXZFt|mt;Ikz!K5t~bCz%L3+QbU#`xzM-uIFQ;Pj8;@3mgFUO-h1* zR)DUfN8hhqHORXA)7Lacx2Ms)Mz`${cs3ygHrJN76I;z2ljkvpBdOogTLIxXtiFoz zoQyJ_XhwCbT*}tFOrk;eVdanp4kRubRAq+Y1cmPNKgoDpJ<2s9?hGHB z$wLo^>r4BG@np>ZSCVp2>Y*m=d;*+F?7lnMpSB+50H_F&JU z`e%q@T0dkr&8)A%+hte-^Dkhza+=s49=~>)mR87^(K5H0th^>lkQaG~VRxSj%8|mi zRkobb_G=J)4G>rUJfyBCl8g)`1L-Jn-**Rnxs%Mq(H^aEtu4prhUK8Tjgx&=uDLH? zyQ*zYw<_87j48uxdFI4}8kb~+OnKxcuhhN#qF1pi?&wfsES&z%HZh*14n|STemCQ4 zzT>5uNb$2ukMT%CrtG2R+t)+J)TtC=$t^R8ZL&lhHQ| z-jd&SOG_1Ke;l=FB}*_f4jw#SMg%dAn`^OFXs2YnMrO`vu`ZUaJEf0|EGyj_%eNlI z9+_fx%NevtztkdejIW9_0M%H1d3wJoR&{1=2q?T#Aun!#zo6QTGXslx{ODJ&Z_ zZG@42)fBTgUewAS^D;5P{HBP0G|9=_CR2+Z#0_HU0o7fWAJpA6xeNV=?_0tx_^9|- zI!Z?@CU+!9cvUr0+mMqUgLWe9Z}Y{=SXIk6Gz|5*tyN~;Jyze{{ZDA@yeF#z2}z_# z*9!ws#aws;;KT&Kea=eioV+iJr4Q66^2a#lK#ZeLO48f>vV=P^Of-ZU!ogRxz8&ma z=crf9WbR6J4+m*kI&ZNuGv;(>aZMdoDHWuY$SC?l&X!=PQ*7pwWd0((?B~m>zMUZ@dOzeZ+c{JEihV7QjS|&{yt|;5|&^1w`tVL2=r7B;Oh3 z7;*m|PxO0K#ty6yb{Gf%fDjY_0N;OcFUrY_7+M+H{T9vhhk>JRKO>C%#=^=L)!pZ7 zW6lS{kGM|&na}H&jZX}3gD9E~Y=5ezYT-+TVG5IXpEP|(TL;%ZR+n*zB6=3d70{&wpO@O6rXPAS=*v-Utknrs6ZIXWh6daVtd!;_0M90QX~N7R!?%Xz0^LwekV zFUS*L_7ACZjauWO<GW4bakjhF7{Aw$TwuYyifYprCdkU6!(0^vg~ zq*tp2`Ia+FBSI~oBX;H^A+*5#vlJNWG_PMclf^O-V0*GLD~^d~^uYM!9s&lbM<`qD z;`T$e1!8m;uSR{hg;rGI-{|Hbr-mWfh@r$u;(YP7(Zb)$UNEXvzPWwd4F@so$3Z;o zgaZ6ZQ7V_msR~YLO7+AdU_E_ZOG0ZyNjjRI05W4|!ET9~e+o>3Vx<@b5_Axud_zrd zRLZ_``+|t6uz7GGz$0*NVP>%r6XX~54P9?hQ^t_aqMU+3%Cz=+D|D<2eg-~KKL`iC zf;3W*ld#sLEUAL0DCGh36Aq#fPNU5?U1JpQRa?O%4nnVnltPoti(36W4W=LoMg5&{ zU+7nZ0Q@VEX7o?%x{Eioj)J>fdHM*}j5iU%jwULrir`86;#RGoL&gqpj#x@j&#Q6x z3(gl6QTMV2=x?}bZBpkhwS?e)NZRz9;Ap;7J>*59`ngQ8->DDzaM=$697lf!u4;|lD4IIBCR>dvVz za9NfdJUC_Q3do#VZGp2=+Ur_>HeOUIB}TN$i_?;~T8Ssg&3lY!QYESp-1xM4$@?`NbYJxreBcWRO1daV2p7{LK~tlt!18CjOdIFpSU_`WC`>W-tg4-H;s}*0gjf zR@TDb3F(XYX0hz@WL?26LWB92g4{$V^x|Io&{!C=;z1U{RM^=nX3Is z&!vZC=FZ7JXZXVUbB_BZ$Kzq<%p6g2>`NtTYJD@>3Be?oGn9+ske1=?3f&{sr^F{k zqNt3bkuK{DTG_Eo})>i2UN~l2=x#WG0QqmYV#LO zJ@EXa(S<4Dg|zdb;1fS=4$p%!{&@?@p=Q-GIFi+Se)B`EJh0(FoHotRTm}~T%lb<7N8M_-$INxT zD@;S%X+wxYMGxk4r2qkWQz;9Lhzg^XgYcykqLa$AHLkIyX+Yme0p)gXT`142(-rhO z&SNsCWz(i~;a^5Bl%v2?{$tb>KTKBEfA@$K`zNg8-;7oHF6nMwcu#*55I)|(VcgEX z{uEJYQvF$EF}j@3ZRLjL#Pt#l;UVAmep~8Ctcc_Jmc(+Me9OqVC%Jaw;a*<@#LhCy z((5Ejz#dB7B8|Iu$>Q7#4iGM1bLx#})|0=&Q-}khY1F{i_+FdsRyV$Vp%RQRpesHI z#chRnqSiW*nYwEpG^aQXwYpcM29jKAo(-Bz1uepV2fj<>_)S)9urVk6DqV1YlVm3@ zCX^lOu>H!QMze#^Kt>yzTQ(D%AE*_WvA7CFaj(#B{i?u6kTRL13=gKa33D4W0-|CdB{iKf-X0Yz?fcA0UB5^AQu+uosu?5{vrvLwJGI3z zm9EG+c|yl8mP}f*Ko!Bq;!oxyESl-xU8avE#K*+8GqnGhc6@H9zg9Fv!tP5uJ*$HTnzQhSM|S~&O6*gL`Y4i9v? zKj4g*F*U<@&(+BK{{H)U2Y^C#nqQb94%~%oPg#%%J2Y}0eSFG1xv97yeQ3lDCFW;F zq6U_7;al<^v)b+3;qOi7P>r|`tEXXh3)d}C8@e{KUc}rTsJNa}XjYv-EB59+%lqcg z%Xa3qj}5x?3Tv9#V+hXtQ^rN8qm&7yD{JmuF{aBEi!kn%n;n~$!A^BW=WAd=Xn}k9 zJX?mrPl@H7jX$l%($mRTZrE2%ZP$~41yJX9x$y1L&`oMuPM5pb1I}1kaJ;c|7#T`L1? z%incFxstg(k|Mg7bexlbC~bhBEM=LAXxmT^ zjt~!X6Y#J$RHWxl`n>O+;-79TQd`NJ?a3h@q}yTgge{$()!!WAsPVbX3(TR zC1e5r#pcmx51%>}ZnP0Jd^HBh0{;{U{E#KQJ!B0i{0K@v9$F{WYAUh^`7S+pZStlH zJha|O_@oO*aD-I_8_JLszEuPoCJh#-db3L`Ws&?6T#^bfiI;n2Ret-NHd3_*RyCA*x?sC8{aAS&t$qe5f!z0K0lF2p^CUlONI z?ev6@sx&6DU0iZZR)pfs6)O``_G$J(Ag#lXfuOC@s3pID~f$7t;{DlQLN`+MOD6CX$tAA-bJtHUlyELw;o>ng4VLOiT#=fGaUo8`hptR?<58W z4k|x2$vS()=5z>3$0NIk5v1dZ#3OcgrNxu@Af$r1v74@g+@X;_BBv{XJHxCOI(nEJ zEX%A{XI#RtO1ra8!gd6*1i_bob*xi{uuQ`?CJQsQV-q>3K=7d&*XPSoGOzenG;mbZ zCp|kudU+l!vvI$0F#^vX;@BW3Jr5)l^#0`z+S1x4g!|OGDmn*Ze}3u`J41$U5)U#J z?I5lX;rtHM@O zgzZWEIw$PHSNkA3poOVW>?a$4$RuTUCI`5RjZIg<~?%8w%5C^3p&L7kXS1R`FYI#jH$ z=BFMC>8*m)eM=pnjt{p;z{Ww^(QO3c`;(a5$k~ox14Rs+BZsZcqm>R3Iq^bKAkXpn zwDR9xf;v4VvO3HUr{>MH3#6@Xir(P_QSwNTBi?B$_XFBI%{J&QI*oQ^)uXb7ex(ki!|400vZn`4**r@jDpg~;hVMOhISfAI1Mi}7MY~-(3Z3bb&tbh(cW}Ep^9S+f zCZOGCGBPp980Skvh;`+qXi^W``02_b$g3mIAO~TSnxTwKh^gt#6 z8;TOD*apa`7(1w#w@b1YuvkUXawUK)O_O8JdI8TV<3B{|y#X`%2qWoM#FM%P{I;tY zP(jk;ixx151E=GF4f6I#mDbs5&I&xfK=Msz8fP8v{F>>a8(!+uPIQ3)F0fxvCyvMu zG^ZGzGdN=)Z;vHDJm5%D1k5Kwo=-I<({f?;b^B!|cD}+|lO2A__p7*1Q<3won#=?_mOL7O8XD3D@S8C#lYJ+ZFF)zsR>ad;EOV^?c$hXJs=(z8kdGVay905BiLY5iFV?d@}sV5yK-eqjF&S} z(gD4M{pG}h1i7+tRQ#rU+=@%!HgPqE_LrHV!AG6%i=-4#!{3eA+>z^y++AF%aM#R( zX5!h`fFUp%OlXM4^`{NcZX^$u@EJ3<0d9*Tx8#V7CZ`=(+B(im4K+=qiCzVp zD4@BxRvcOSwJ=&hjQfUV+~`Lv$XL?>jH0eV4%z1t@Ow3;*`kP{snFH)1QYuzX3$w2 z?(<)q?>O>n-I(J6UZJ#jHP3(Qt~t(E5@RZ=yL-RNG;=$JZrs=2PO7b+Yl_5UjR%CJ z%p{gM7O&@n9(|GpMnTE--gJ++vGNhPZ{95lJOq`hRTNkFiqO(4GHG3=UUqa(M4A+! z%+$xvNtc<$Iz^QBL+Fbp9a+~%8O113@hyKLB+b*o_Tlq)OP~qYpi1?Nx`mo5O%bUi zZn13pJ-?88)wxMGgVQ$fjqkxgH)}_QDyL>aK@EpxX}N&D$iUYmcWyRlPnyro8H4z~Cd-6rtK%n41#gDgMi$`v75X787+qh| zXVx8#>WfzJO!qU(Gr;I;H+BwL458Ft5hzJu0xW}qt{bqY(2H=$w#vEy-6OE&d9(dO zYe5o^)@d)SRaYq-jo}Q>*pE9Kbz6>^RGiBM-_1eJYYI9f62ra;RL|4TJJ!7#QZYAJ z5~gnlN-qRK#%?F7Fkr->AR*uB%BY)*#D7Ne6Bx@8llTmt2+qIgx2wWkE=f^Tj#Fgk zLY%^{rm);wn{LtrNMlByO%@_4vw11-yJkE*G{BY^NzS!aovD^H$({X zfqrgl;7$9Y+Cgx!$z6Os@}$KN0E`U>+Du?AYfdxIgf{qZB@J0yNRwqM70a`Llgt9* zzE4?(K7n7rUG(!1q}dPVx3tWTksVaB_|19=C#Fi*5X5br?|!00}{Xyn$45F6aUDu3S7Mj4hc z*>~zcTl9^hekGvV-ps{zZ(*!*QkRPip_m_TDv{X1Ms+IXEy>=`&qP|xE}p$pjHwtJA`Bf%&Tz_+>V9=dLtWMK zYqT?BUf#WPJK52qOaI|xj`#*3Pa)E8n2P!*@E z48%YXd{O$QA389xP_9<;7%o!9^Q%80Ou953#Whf>CQv$z1i}Ehk?WH~JCQ3yJE<$6 zc@>vi6KQ&-BZ$rCvzs%G3@GUN$6CT}t4onyKx|Ge=>$+Y^`Rxz?c=3fNcr~c*A~5m z_yK+u{-fF_1g@;4`U+9p)9Vos^zbu2rnHE{%i9Tt_#g%F%*l2SE2%zbE{&> zQ_WAa75YE~(mfW~LdsFw`C4v&%CBi7wb8iqJW2^ny4yuI({5^u8xP}bnxK>S zl1Dtc42{MiPe+{c#lbX%$%<*6sPSn`+0CK)jw{^8LYa7;_N~XHAqg>(-Cm>94LWcT z#T9~jaS~B8W3X+0k!3cL%=E1&?&P%!Kb0Cq)6q1vUs-(4l-80Ad5R{fmBK66LS6@% zkQ`#wQ8ol>E$S75ApoTIW#EfP{G(6@_6xf2_Ql7`D@l$wPb=-l`}gCXP#%sZ2HTb2 z|87r$|4*g?WEK_`s}GCJ_T$a|Usz@~cGfnAb`GY7_Ao=$klnn{0FzwW2nSxPie>T# zLpTAQ!)K&3bF3wJe9fsH{Co8t|Y#e&D>SKHb zfm&fIVj|Cj$Nx6IZocmD1i{0gpSmi_0F(+xd*m@vmL^iLw0;35D*^Zk8R%bUO!zpJ zj{*;H`kRCBPb>LPv45UH;kU}al{{b4kI%mw*Z(V@!k;btHFd#n$qjxlzX6Yb9R8l_ z;Loo9mbKxJI=_AYmh9m7@|(oP$Kh`hzZ&KLTK>1>2fvr! zXTqN#2h{%t@8OFbk#Q*C0ZvcNj=Vc{8K4Rbi08l<&ZeRcabbP=4`hVWm@5KNB diff --git a/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/LoginController.java b/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/LoginController.java index 8c6ae19e23..a83b097ee9 100644 --- a/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/LoginController.java +++ b/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/LoginController.java @@ -77,7 +77,6 @@ public class LoginController private static final String ACCOUNT_ACCESS_LEVEL_UPDATE = "UPDATE accounts SET accessLevel = ? WHERE login = ?"; private static final String ACCOUNT_IPS_UPDATE = "UPDATE accounts SET pcIp = ?, hop1 = ?, hop2 = ?, hop3 = ?, hop4 = ? WHERE login = ?"; private static final String ACCOUNT_IPAUTH_SELECT = "SELECT * FROM accounts_ipauth WHERE login = ?"; - private static final String ACCOUNT_OTP_SELECT = "SELECT value FROM account_data WHERE account_name = ? AND var = 'otp'"; private LoginController() throws GeneralSecurityException { @@ -237,18 +236,6 @@ public class LoginController return null; } - try (PreparedStatement otpPs = con.prepareStatement(ACCOUNT_OTP_SELECT)) - { - otpPs.setString(1, login); - try (ResultSet otpRset = otpPs.executeQuery()) - { - if (otpRset.next()) - { - info.setOTP(otpRset.getString(1)); - } - } - } - clearFailedLoginAttemps(addr); return info; } diff --git a/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/model/data/AccountInfo.java b/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/model/data/AccountInfo.java index 18bca937dc..9bebda1653 100644 --- a/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/model/data/AccountInfo.java +++ b/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/model/data/AccountInfo.java @@ -18,8 +18,6 @@ package com.l2jmobius.loginserver.model.data; import java.util.Objects; -import com.warrenstrange.googleauth.GoogleAuthenticator; - /** * @author HorridoJoho */ @@ -29,7 +27,6 @@ public final class AccountInfo private final String _passHash; private final int _accessLevel; private final int _lastServer; - private String _otpKey; public AccountInfo(String login, String passHash, int accessLevel, int lastServer) { @@ -51,23 +48,6 @@ public final class AccountInfo _lastServer = lastServer; } - public void setOTP(String otpKey) - { - _otpKey = otpKey; - } - - public boolean checkOTP(int otp) - { - if (_otpKey == null) - { - // No OTP set - return true; - } - - final GoogleAuthenticator gAuth = new GoogleAuthenticator(); - return gAuth.authorize(_otpKey, otp); - } - public boolean checkPassHash(String passHash) { return _passHash.equals(passHash); diff --git a/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java b/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java index 50874d0e36..f68dbeac9a 100644 --- a/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java +++ b/L2J_Mobius_Helios/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java @@ -34,7 +34,6 @@ import com.l2jmobius.loginserver.network.serverpackets.AccountKicked; import com.l2jmobius.loginserver.network.serverpackets.AccountKicked.AccountKickedReason; import com.l2jmobius.loginserver.network.serverpackets.LoginFail.LoginFailReason; import com.l2jmobius.loginserver.network.serverpackets.LoginOk; -import com.l2jmobius.loginserver.network.serverpackets.LoginOtpFail; import com.l2jmobius.loginserver.network.serverpackets.ServerList; /** @@ -53,7 +52,6 @@ public class RequestAuthLogin extends L2LoginClientPacket private String _user; private String _password; - private int _ncotp; /** * @return @@ -71,11 +69,6 @@ public class RequestAuthLogin extends L2LoginClientPacket return _user; } - public int getOneTimePassword() - { - return _ncotp; - } - @Override public boolean readImpl() { @@ -121,13 +114,11 @@ public class RequestAuthLogin extends L2LoginClientPacket { _user = new String(decrypted, 0x4E, 50).trim() + new String(decrypted, 0xCE, 14).trim(); _password = new String(decrypted, 0xDC, 16).trim(); - _ncotp = (decrypted[0xFC] & 0xFF) | ((decrypted[0xFD] & 0xFF) << 8) | ((decrypted[0xFE] & 0xFF) << 16) | ((decrypted[0xFF] & 0xFF) << 24); } else { _user = new String(decrypted, 0x5E, 14).trim(); _password = new String(decrypted, 0x6C, 16).trim(); - _ncotp = (decrypted[0x7C] & 0xFF) | ((decrypted[0x7D] & 0xFF) << 8) | ((decrypted[0x7E] & 0xFF) << 16) | ((decrypted[0x7F] & 0xFF) << 24); } } catch (Exception e) @@ -145,11 +136,6 @@ public class RequestAuthLogin extends L2LoginClientPacket client.close(LoginFailReason.REASON_USER_OR_PASS_WRONG); return; } - else if (!info.checkOTP(_ncotp)) - { - client.sendPacket(new LoginOtpFail()); - return; - } final AuthLoginResult result = lc.tryCheckinAccount(client, clientAddr, info); switch (result) diff --git a/L2J_Mobius_Helios/launcher/Gameserver.launch b/L2J_Mobius_Helios/launcher/Gameserver.launch index f7c408a8f5..80cbc1f92f 100644 --- a/L2J_Mobius_Helios/launcher/Gameserver.launch +++ b/L2J_Mobius_Helios/launcher/Gameserver.launch @@ -7,7 +7,7 @@ - + diff --git a/L2J_Mobius_Helios/launcher/Loginserver.launch b/L2J_Mobius_Helios/launcher/Loginserver.launch index b3e09d15b8..90839a1cd7 100644 --- a/L2J_Mobius_Helios/launcher/Loginserver.launch +++ b/L2J_Mobius_Helios/launcher/Loginserver.launch @@ -7,7 +7,7 @@ - + diff --git a/L2J_Mobius_Underground/.classpath b/L2J_Mobius_Underground/.classpath index d51276f7b2..fc8369b2aa 100644 --- a/L2J_Mobius_Underground/.classpath +++ b/L2J_Mobius_Underground/.classpath @@ -5,7 +5,6 @@ - diff --git a/L2J_Mobius_Underground/dist/libs/googleauth-1.1.0.jar b/L2J_Mobius_Underground/dist/libs/googleauth-1.1.0.jar deleted file mode 100644 index a3ab858bf4a226958b0e596151329a9e8d8298f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18624 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 diff --git a/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/LoginController.java b/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/LoginController.java index 8c6ae19e23..a83b097ee9 100644 --- a/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/LoginController.java +++ b/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/LoginController.java @@ -77,7 +77,6 @@ public class LoginController private static final String ACCOUNT_ACCESS_LEVEL_UPDATE = "UPDATE accounts SET accessLevel = ? WHERE login = ?"; private static final String ACCOUNT_IPS_UPDATE = "UPDATE accounts SET pcIp = ?, hop1 = ?, hop2 = ?, hop3 = ?, hop4 = ? WHERE login = ?"; private static final String ACCOUNT_IPAUTH_SELECT = "SELECT * FROM accounts_ipauth WHERE login = ?"; - private static final String ACCOUNT_OTP_SELECT = "SELECT value FROM account_data WHERE account_name = ? AND var = 'otp'"; private LoginController() throws GeneralSecurityException { @@ -237,18 +236,6 @@ public class LoginController return null; } - try (PreparedStatement otpPs = con.prepareStatement(ACCOUNT_OTP_SELECT)) - { - otpPs.setString(1, login); - try (ResultSet otpRset = otpPs.executeQuery()) - { - if (otpRset.next()) - { - info.setOTP(otpRset.getString(1)); - } - } - } - clearFailedLoginAttemps(addr); return info; } diff --git a/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/model/data/AccountInfo.java b/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/model/data/AccountInfo.java index 18bca937dc..9bebda1653 100644 --- a/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/model/data/AccountInfo.java +++ b/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/model/data/AccountInfo.java @@ -18,8 +18,6 @@ package com.l2jmobius.loginserver.model.data; import java.util.Objects; -import com.warrenstrange.googleauth.GoogleAuthenticator; - /** * @author HorridoJoho */ @@ -29,7 +27,6 @@ public final class AccountInfo private final String _passHash; private final int _accessLevel; private final int _lastServer; - private String _otpKey; public AccountInfo(String login, String passHash, int accessLevel, int lastServer) { @@ -51,23 +48,6 @@ public final class AccountInfo _lastServer = lastServer; } - public void setOTP(String otpKey) - { - _otpKey = otpKey; - } - - public boolean checkOTP(int otp) - { - if (_otpKey == null) - { - // No OTP set - return true; - } - - final GoogleAuthenticator gAuth = new GoogleAuthenticator(); - return gAuth.authorize(_otpKey, otp); - } - public boolean checkPassHash(String passHash) { return _passHash.equals(passHash); diff --git a/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java b/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java index 50874d0e36..f68dbeac9a 100644 --- a/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java +++ b/L2J_Mobius_Underground/java/com/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java @@ -34,7 +34,6 @@ import com.l2jmobius.loginserver.network.serverpackets.AccountKicked; import com.l2jmobius.loginserver.network.serverpackets.AccountKicked.AccountKickedReason; import com.l2jmobius.loginserver.network.serverpackets.LoginFail.LoginFailReason; import com.l2jmobius.loginserver.network.serverpackets.LoginOk; -import com.l2jmobius.loginserver.network.serverpackets.LoginOtpFail; import com.l2jmobius.loginserver.network.serverpackets.ServerList; /** @@ -53,7 +52,6 @@ public class RequestAuthLogin extends L2LoginClientPacket private String _user; private String _password; - private int _ncotp; /** * @return @@ -71,11 +69,6 @@ public class RequestAuthLogin extends L2LoginClientPacket return _user; } - public int getOneTimePassword() - { - return _ncotp; - } - @Override public boolean readImpl() { @@ -121,13 +114,11 @@ public class RequestAuthLogin extends L2LoginClientPacket { _user = new String(decrypted, 0x4E, 50).trim() + new String(decrypted, 0xCE, 14).trim(); _password = new String(decrypted, 0xDC, 16).trim(); - _ncotp = (decrypted[0xFC] & 0xFF) | ((decrypted[0xFD] & 0xFF) << 8) | ((decrypted[0xFE] & 0xFF) << 16) | ((decrypted[0xFF] & 0xFF) << 24); } else { _user = new String(decrypted, 0x5E, 14).trim(); _password = new String(decrypted, 0x6C, 16).trim(); - _ncotp = (decrypted[0x7C] & 0xFF) | ((decrypted[0x7D] & 0xFF) << 8) | ((decrypted[0x7E] & 0xFF) << 16) | ((decrypted[0x7F] & 0xFF) << 24); } } catch (Exception e) @@ -145,11 +136,6 @@ public class RequestAuthLogin extends L2LoginClientPacket client.close(LoginFailReason.REASON_USER_OR_PASS_WRONG); return; } - else if (!info.checkOTP(_ncotp)) - { - client.sendPacket(new LoginOtpFail()); - return; - } final AuthLoginResult result = lc.tryCheckinAccount(client, clientAddr, info); switch (result) diff --git a/L2J_Mobius_Underground/launcher/Gameserver.launch b/L2J_Mobius_Underground/launcher/Gameserver.launch index 1bdbc2d187..5f498a8388 100644 --- a/L2J_Mobius_Underground/launcher/Gameserver.launch +++ b/L2J_Mobius_Underground/launcher/Gameserver.launch @@ -7,7 +7,7 @@ - + diff --git a/L2J_Mobius_Underground/launcher/Loginserver.launch b/L2J_Mobius_Underground/launcher/Loginserver.launch index 28fb5e4d8e..9e704b61d9 100644 --- a/L2J_Mobius_Underground/launcher/Loginserver.launch +++ b/L2J_Mobius_Underground/launcher/Loginserver.launch @@ -7,7 +7,7 @@ - +