User:Oxguy3/Minecraft.net API/Breaking getversion.jsp - minecraft.fandom.com

Jump to navigation Jump to search
Treść tej podstrony pochodzi z artykułu „User:Oxguy3/Minecraft.net API/Breaking getversion.jsp” w domenie minecraft.fandom.com na licencji CC BY-NC-SA 3.0

The getversion.jsp had (this has been fixed) an uncaught exception (coding bug) that could be seen if the version parameter of the URL was not a number, as with this link:

https://login.minecraft.net/?user=user&password=password&version=LOL

That link returns a 500 Servlet Exception error with this Java stack trace:

[show] java.lang.NumberFormatException: For input string: "LOL"
java.lang.NumberFormatException: For input string: "LOL"
   at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
   at java.lang.Integer.parseInt(Integer.java:449)
   at java.lang.Integer.parseInt(Integer.java:499)
   at net.minecraft.login.controller.Authenticate.doPost(Authenticate.java:58)
   at net.minecraft.login.controller.Authenticate.doGet(Authenticate.java:42)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:119)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:96)
   at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
   at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156)
   at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287)
   at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792)
   at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730)
   at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689)
   at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669)
   at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617)
   at com.caucho.network.listen.AcceptTask.doTask(AcceptTask.java:104)
   at com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
   at com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)
   at com.caucho.network.listen.AcceptTask.run(AcceptTask.java:67)
   at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
   at com.caucho.env.thread.ResinThread.run(ResinThread.java:130)

This stack trace gives us a very small glimpse into the code structure of Minecraft's website, as we see that the package for the website is net.minecraft.login. We also see that there is a sub-package net.minecraft.login.controller and it contains Authenticate.java. Further, it tells us that they are using caucho's Resin web server This does not offer a large amount of info, certainly not anything particularly useful from a developing standpoint, but it is more than has been known before.